6429e2f58534a4062c9bb72d4a2579ecdf05a83d
[gnulib.git] / ChangeLog
1 2010-08-23  Eric Blake  <eblake@redhat.com>
2
3         stdbool: avoid rejecting clang
4         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
5         * tests/test-stdbool.c: Enable more tests if using the system
6         <stdbool.h> instead of the gnulib replacement.
7         (main): Move xlc bug test to a runtime test for all compilers.
8         Reported by Anders Kaseorg.
9
10         argz: fix shell quoting issue
11         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
12         Reported by Charles Wilson.
13
14 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
15             Erik Faye-Lund <kusmabite@gmail.com>
16
17         poll, select: handle ERROR_BROKEN_PIPE.
18         * lib/poll.c (win32_compute_revents): Return POLLHUP when
19         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20         * lib/select.c (win32_compute_revents): Do not mark a pipe
21         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
22
23 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24
25         fts: allow compilation with C++
26         * lib/fts_.h: Specify extern "C" linkage with C++.
27
28 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29
30         Fix gnulib-tool sed script de-commentation for AIX sed.
31         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
32         sed.
33
34 2010-08-17  Eric Blake  <eblake@redhat.com>
35
36         test-stddef: test for (some) offsetof bugs
37         * tests/test-stddef.c: Enhance test to ensure correct type of
38         offsetof.
39         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
40         that we are not fixing at this time.
41
42 2010-08-15  Bruno Haible  <bruno@clisp.org>
43
44         stpncpy: Allow stpncpy to be defined as a macro.
45         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
46         if it's already correctly declared.
47         * lib/string.in.h (stpncpy): Undefine before redefining.
48         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
49
50 2010-08-14  Bruno Haible  <bruno@clisp.org>
51
52         Rename module 'memxfrm' to 'amemxfrm'.
53         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
54         (amemxfrm): Renamed from memxfrm.
55         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
56         (amemxfrm): Renamed from memxfrm.
57         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
58         * NEWS: Mention the change.
59         * MODULES.html.sh (String handling <string.h>): Update.
60         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
61         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
62         * lib/unicase/u16-casexfrm.c: Likewise.
63         * lib/unicase/u32-casexfrm.c: Likewise.
64         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
65         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66         * lib/uninorm/u16-normxfrm.c: Likewise.
67         * lib/uninorm/u32-normxfrm.c: Likewise.
68         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
69         memxfrm.
70         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
71         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
72         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
73         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
74         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
75         Suggested by Paul Eggert.
76
77 2010-08-14  Bruno Haible  <bruno@clisp.org>
78
79         Tests for module 'astrxfrm'.
80         * modules/astrxfrm-tests: New file.
81         * tests/test-astrxfrm.c: New file.
82
83         New module 'astrxfrm'.
84         * lib/astrxfrm.h: New file.
85         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
86         * modules/astrxfrm: New file.
87
88 2010-08-14  Reuben Thomas <rrt@sc3d.org>
89
90         regex: Tweak doc.
91         * doc/regex.texi (Overview): Don't mention regex.c.
92         (GNU Regular Expression Compiling): Likewise.
93         (Match-end-of-line Operator): Mention 'not_eol'.
94
95 2010-08-14  Brian Gough  <bjg@gnu.org>
96             Bruno Haible  <bruno@clisp.org>
97
98         git-merge-changelog: add doc relating to use with bzr and hg.
99         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
100
101 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
102
103         pthread: fix pthread.h creation for srcdir != builddir
104         * modules/pthread (Makefile.am): Fix the rule to work also in a
105         non-srcdir build.
106
107 2010-08-13  Karl Berry  <karl@gnu.org>
108
109         * doc/regex.texi (Predefined Syntaxes): @smallexample.
110         * doc/posix-*/*: force line break before @url of POSIX
111         specifications.
112         Suggested by Werner Lemberg.
113
114 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115
116         strtod: fix const diagnostic
117         * lib/strtod.c (strtod): Don't assign const char * to char *,
118         as this elicits a warning from GCC when warnings are enabled.
119
120 2010-08-10  Pádraig Brady <P@draigbrady.com>
121         and Eric Blake  <eblake@redhat.com>
122
123         copy-acl: ignore ENOTSUP on HP-UX
124         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
125         so that it is available for HP-UX.
126         * lib/copy-acl.c (qcopy_acl): Use it.
127         Reported by Patrick M. Callahan.
128
129 2010-08-10  Eric Blake  <eblake@redhat.com>
130
131         open, chown: relax license
132         * modules/open (License): Change to LGPLv2+, with consent by all
133         authors, for use in augeas.
134         * modules/chown (License): Likewise.
135         * modules/lchown (Likewise): Likewise.
136         Requested by Adam Stokes.
137
138 2010-08-09  Karl Berry  <karl@gnu.org>
139
140         * build-aux/ar-lib: new file, import from Automake.
141         * config/srclist.txt: autocheck for updates.
142
143 2010-08-09  Eric Blake  <eblake@redhat.com>
144
145         readlinkat: adjust client modules
146         * modules/areadlinkat (Depends-on): Use readlinkat, not
147         symlinkat.
148         * modules/areadlinkat-with-size (Depends-on): Likewise.
149
150         mknod: be more vocal about danger of running tests as root
151         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
152         root, since that is just asking for problems.
153         Suggested by Bruno Haible, based on a report by Rainer Tammer.
154
155         readlinkat: split into its own module
156         * modules/symlinkat: Split readlinkat...
157         * modules/readlinkat: ...into separate module.
158         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
159         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
160         * lib/symlinkat.c (readlinkat): Move...
161         * lib/readlinkat.c: ...into new file.
162         * modules/symlinkat-tests: Split readlinkat test...
163         * modules/readlinkat-tests: ...into separate module.
164         * tests/test-symlinkat.c: Split...
165         * tests/test-readlinkat.c: ...into new file.
166         * NEWS: Document the split.
167         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
168         * lib/unistd.in.h (readlinkat): Likewise.
169         Suggested by Bruno Haible.
170
171 2010-08-08  Bruno Haible  <bruno@clisp.org>
172
173         memxfrm: Speed up.
174         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
175         that usually only one call to strxfrm is necessary for each string
176         part.
177         Reported by Paul Eggert <eggert@cs.ucla.edu>.
178
179 2010-08-07  Karl Berry  <karl@gnu.org>
180
181         * doc/posix-headers/limits.texi,
182         * doc/posix-functions/malloc.texi,
183         * doc/posix-functions/strsignal.texi: missing @item.
184         * doc/ld-version-script.texi: spurious leading i.
185         * doc/regex.texi (Interval Operators): no commas inside @var.
186
187 2010-08-01  Bruno Haible  <bruno@clisp.org>
188
189         Integrate the regex documentation.
190         * doc/gnulib.texi: Define 'cn' index.
191         (Regular expressions): New a chapter that includes regex.texi and
192         regexprops-generic.texi.
193         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
194         syntax.
195
196         Whitespace cleanup.
197         * doc/regex.texi: Remove trailing spaces.
198
199         Add regex documentation.
200         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
201         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
202         Written by Kathy A. Hargreaves and Karl Berry.
203
204 2010-08-01  Bruno Haible  <bruno@clisp.org>
205
206         link: Update documentation.
207         * doc/posix-functions/link.texi: Update regarding Solaris.
208
209 2010-07-31  Bruno Haible  <bruno@clisp.org>
210
211         Update modules list.
212         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
213         (String handling <string.h>): Add memcmp2, memxfrm.
214         (Container data structures): Add xlist, xsublist, xoset.
215         (Core language properties): Add alignof, unused-parameter.
216         (Process control, Numeric conversion functions <stdlib.h>): Renamed
217         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
218         (Unibyte characters <ctype.h>): New section.
219         (String handling <string.h>): New section.
220         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
221         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
222         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
223         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
224         tan, tanh, tanl, y0, y1, yn.
225         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
226         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
227         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
228         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
229         unlockpt, vdprintf, vdprintf-posix.
230         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
231         (File system functions): Add concat-filename, sys_file, sys_ioctl,
232         xconcat-filename.
233         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
234         getdtablesize, pipe2, pipe2-safer.
235         (Security): New section.
236         (Networking functions): Add accept4.
237         (Signal handling): Add sigpipe.
238         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
239         mbmemcasecoll.
240         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
241         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
242         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
243         pipe-filter-ii.
244         (Misc): Add argp-version-etc, login_tty, parse-duration.
245
246 2010-07-31  Bruno Haible  <bruno@clisp.org>
247
248         Improve doc in MODULES.html.
249         * modules/linkat (Description): Add the word "function".
250         * modules/mkfifo (Description): Likewise.
251         * modules/mknod (Description): Likewise.
252         * modules/remove (Description): Likewise.
253         * modules/renameat (Description): Likewise.
254         * modules/stat (Description): Likewise.
255         * modules/symlink (Description): Likewise.
256         * modules/unlink (Description): Likewise.
257
258 2010-07-31  Bruno Haible  <bruno@clisp.org>
259
260         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
261         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
262         option --enable/disable-c++ instead of --enable/disable-cxx.
263         * NEWS: Mention the change.
264
265 2010-07-31  Bruno Haible  <bruno@clisp.org>
266
267         readlink, areadlink: Relax test a bit.
268         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
269         alternative to ENOTDIR.
270         * tests/test-areadlink.h (test_areadlink): Likewise.
271         Reported by Rainer Tammer.
272
273 2010-07-31  Bruno Haible  <bruno@clisp.org>
274
275         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
276         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
277         character, perform the search using U_STRCHR.
278         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
279         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
280         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
281         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
282         Suggested by Paolo Bonzini.
283
284 2010-07-31  Bruno Haible  <bruno@clisp.org>
285
286         unistr/u*-strstr: Fix dependencies.
287         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
288         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
289         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
290
291 2010-07-31  Bruno Haible  <bruno@clisp.org>
292
293         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
294         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
295         the beginning of the loop.
296         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
297         cases in 'switch' statement.
298
299         unistr/u8-strchr: Fix several bugs.
300         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
301         the string. When not found, return NULL, not a pointer near the end.
302
303         More tests for unistr/u8-strchr.
304         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
305         that the function does not read past the first occurrence of the byte
306         being searched.
307         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
308         * tests/unistr/test-u16-strchr.c (main): New function.
309         * tests/unistr/test-u32-strchr.c (main): New function.
310
311 2010-07-31  Bruno Haible  <bruno@clisp.org>
312
313         posix-modules: Ignore backup files of documentation files.
314         * posix-modules: grep only through files named *.texi.
315
316 2010-07-31  Bruno Haible  <bruno@clisp.org>
317
318         symlinkat: Fix documentation.
319         * doc/posix-functions/readlinkat.texi: Fix module name.
320
321 2010-07-31  Bruno Haible  <bruno@clisp.org>
322
323         fchownat: Replace also when chown has the trailing slash bug.
324         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
325         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
326         introduced on 2010-04-10.
327         Reported by Rainer Tammer.
328
329 2010-07-31  Bruno Haible  <bruno@clisp.org>
330
331         linkat: Work around AIX 7.1 bug.
332         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
333         whether linkat handles trailing slash correctly. If not, replace linkat
334         and define LINKAT_TRAILING_SLASH_BUG.
335         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
336         check whether (fd1,file1) points to a directory if file1 or file2 ends
337         in a slash. Code taken from lib/link.c.
338         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
339         Reported by Rainer Tammer.
340
341 2010-07-31  Bruno Haible  <bruno@clisp.org>
342
343         Correctly determine whether pow is available in libc on AIX 7 with xlc.
344         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
345         This disables an xlc optimization that was causing wrong test results.
346         Reported by Rainer Tammer.
347
348 2010-07-31  Bruno Haible  <bruno@clisp.org>
349
350         iconv: Work around AIX 6.1..7.1 bug.
351         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
352         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
353         cross-compiling, guess no on all versions of AIX.
354         Reported by Rainer Tammer.
355
356 2010-07-31  Bruno Haible  <bruno@clisp.org>
357
358         readlink: Relax test a bit.
359         * tests/test-readlink.h (test_readlink): Allow different errno value
360         when readlink is called with a file name that ends in / and refers to
361         a file.
362         Suggested by Eric Blake.
363         Reported by Rainer Tammer.
364
365 2010-07-31  Bruno Haible  <bruno@clisp.org>
366
367         copysign: Does not require -lm on glibc systems.
368         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
369         gl_COMMON_DOUBLE_MATHFUNC.
370         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
371
372 2010-07-31  Bruno Haible  <bruno@clisp.org>
373
374         duplocale: Work around AIX 7.1 bug.
375         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
376         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
377         * lib/duplocale.c (rpl_duplocale): Update comment.
378         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
379         Reported by Rainer Tammer.
380
381 2010-07-30  Bruno Haible  <bruno@clisp.org>
382
383         dirfd: Avoid link error on AIX 7.1.
384         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
385         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
386         exist, set REPLACE_DIRFD.
387         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
388         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
389         * doc/posix-functions/dirfd.texi: Update.
390         Reported by Rainer Tammer.
391
392 2010-07-30  Eric Blake  <eblake@redhat.com>
393
394         strtod: next round of AIX fixes
395         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
396         exponent.
397         * tests/test-strtod.c (main): Enhance tests.
398         * doc/posix-functions/strtod.texi (strtod): Document next bug.
399         Reported by Rainer Tammer.
400
401         futimens: fix configure check
402         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
403         Reported by Bruno Haible.
404
405 2010-07-30  Bruno Haible  <bruno@clisp.org>
406
407         getline: Update regarding AIX.
408         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
409         Reported by Rainer Tammer.
410
411 2010-07-30  Bruno Haible  <bruno@clisp.org>
412
413         wcwidth: Drop replacement on AIX 7.
414         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
415         AIX 7.
416         Reported by Rainer Tammer.
417
418 2010-07-30  Bruno Haible  <bruno@clisp.org>
419
420         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
421         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
422         a 'char *'.
423         Reported by Rainer Tammer.
424
425 2010-07-30  Bruno Haible  <bruno@clisp.org>
426
427         unlink: Update regarding AIX.
428         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
429         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
430         Reported by Rainer Tammer.
431
432 2010-07-30  Bruno Haible  <bruno@clisp.org>
433
434         symlink: Update regarding AIX.
435         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
436         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
437         Reported by Rainer Tammer.
438
439 2010-07-30  Bruno Haible  <bruno@clisp.org>
440
441         strndup: Update regarding AIX.
442         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
443         AIX 7.
444         Reported by Rainer Tammer.
445
446 2010-07-30  Bruno Haible  <bruno@clisp.org>
447
448         stat: Update regarding AIX.
449         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
450         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
451         Reported by Rainer Tammer.
452
453 2010-07-30  Bruno Haible  <bruno@clisp.org>
454
455         truncl: Fix autoconf test.
456         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
457         whether truncl works.
458         Reported by Rainer Tammer.
459
460 2010-07-30  Bruno Haible  <bruno@clisp.org>
461
462         round: Update regarding AIX.
463         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
464         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
465         Reported by Rainer Tammer.
466
467 2010-07-30  Bruno Haible  <bruno@clisp.org>
468
469         rename: Update regarding AIX.
470         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
471         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
472         Reported by Rainer Tammer.
473
474 2010-07-30  Bruno Haible  <bruno@clisp.org>
475
476         printf.m4: Update regarding AIX.
477         * m4/printf.m4: Update comments regarding AIX.
478         Reported by Rainer Tammer.
479
480 2010-07-30  Bruno Haible  <bruno@clisp.org>
481
482         iconv: Update regarding AIX.
483         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
484         AIX 7.
485         Reported by Rainer Tammer.
486
487 2010-07-30  Bruno Haible  <bruno@clisp.org>
488
489         getopt: Update regarding AIX.
490         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
491         no on AIX.
492         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
493         Reported by Rainer Tammer.
494
495 2010-07-30  Bruno Haible  <bruno@clisp.org>
496
497         ldexpl; Update regarding AIX.
498         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
499         on AIX 7.
500         Reported by Rainer Tammer.
501
502 2010-07-30  Bruno Haible  <bruno@clisp.org>
503
504         frexpl: Update regarding AIX.
505         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
506         on AIX 7.
507         Reported by Rainer Tammer.
508
509 2010-07-30  Bruno Haible  <bruno@clisp.org>
510
511         open, fopen: Update regarding AIX.
512         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
513         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
514         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
515         * doc/posix-functions/fopen.texi: Likewise.
516         Reported by Rainer Tammer.
517
518 2010-07-30  Bruno Haible  <bruno@clisp.org>
519
520         chown: Update doc regarding AIX.
521         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
522         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
523         Reported by Rainer Tammer.
524
525 2010-07-30  Eric Blake  <eblake@redhat.com>
526
527         strtod: fix bug in replacement function on AIX
528         * lib/strtod.c (strtod): Special case broken "0x" parse in
529         underlying strtod.
530         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
531         * doc/posix-functions/strtod.texi (strtod): Likewise.
532         Reported by Rainer Tammer.
533
534 2010-07-30  Bruno Haible  <bruno@clisp.org>
535
536         mbrlen: Fix cross-compilation guess for AIX.
537         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
538         guess. Leftover from 2008-12-22.
539
540 2010-07-30  Bruno Haible  <bruno@clisp.org>
541
542         mbrtowc: Fix cross-compilation guess for AIX.
543         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
544         guess. Leftover from 2008-12-21.
545
546 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
547
548         init.sh: work around trap limitation of some shells
549         * tests/init.sh (setup_): Move exit trap outside of shell function.
550
551 2010-07-29  Eric Blake  <eblake@redhat.com>
552
553         strtod: aid debugging
554         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
555         understanding why strtod is rejected.
556
557 2010-07-28  Bruno Haible  <bruno@clisp.org>
558
559         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
560         * lib/unistr/u8-chr.c: Include <string.h>.
561         * tests/unistr/test-u8-chr.c: Likewise.
562         * tests/unistr/test-u16-chr.c: Likewise.
563         * tests/unistr/test-u32-chr.c: Likewise.
564         * tests/unistr/test-u8-strchr.c: Likewise.
565         * tests/unistr/test-u16-strchr.c: Likewise.
566         * tests/unistr/test-u32-strchr.c: Likewise.
567         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
568         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
569         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
570         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
571
572 2010-07-28  Bruno Haible  <bruno@clisp.org>
573
574         Use spaces for indentation, not tabs.
575         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
576
577 2010-07-27  Bruno Haible  <bruno@clisp.org>
578
579         mbspcasecmp: Fix function specification.
580         * lib/string.in.h (mbspcasecmp): Fix specification comment.
581         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
582         Reported by Eric Blake <eblake@redhat.com>.
583
584 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
585
586         timespec: use cast and not conditional, as truncation isn't possible
587         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
588         instead of a conditional.  Comment about the situation in more detail.
589         This undoes most of the 2009-10-29 patch.
590
591 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
592
593         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
594         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
595         * lib/unistr/u8-strchr.c: Likewise.
596         * modules/unistr/u8-chr: Depend on memchr.
597
598         unistr/u*-strchr: add tests
599         * modules/unistr/u8-strchr-tests: New file.
600         * modules/unistr/u16-strchr-tests: New file.
601         * modules/unistr/u32-strchr-tests: New file.
602         * tests/unistr/test-strchr.h: New file.
603         * tests/unistr/test-u8-strchr.c: New file.
604         * tests/unistr/test-u16-strchr.c: New file.
605         * tests/unistr/test-u32-strchr.c: New file.
606
607         unistr/u*-chr: test multibyte sequences more
608         * tests/unistr/test-chr.h: Do complete testing of the characters in the
609         test vector.
610         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
611         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
612         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
613
614         unistr/u*-chr: test multibyte sequences
615         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
616
617         unistr/u*-chr: prepare for multibyte tests
618         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
619         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
620         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
621         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
622         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
623         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
624
625 2010-07-18  Bruno Haible  <bruno@clisp.org>
626
627         unistr/u8-strchr: Optimize non-ASCII argument case.
628         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
629         because the first byte often matches anyway.
630         Reported by Pádraig Brady <P@draigbrady.com>.
631
632 2010-07-15  Karl Berry  <karl@gnu.org>
633
634         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
635
636 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
637
638         getcwd: on Solaris, work better if ancestors are inaccessible
639         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
640         buffer and size, try again with a large buffer.  This works better
641         on Solaris, since its getcwd succeeds even if the path to the root
642         is inaccessible, and this is helpful in common cases such as .zfs
643         hidden directories.  Problem reported by J Chapman Flack in
644         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
645         Use system getcwd if it's declared, not merely if it's partly
646         working; use the partly-working test only to avoid needless effort
647         if the system getcwd fails.
648         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
649         comment that was already obsolete and is now even more obsolete.
650         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
651         now might call strdup.
652
653 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
654
655         pthread: Add enough so that coreutils/src/sort.c compiles.
656         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
657         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
658         gnulib. Include <sched.h> and <time.h>, as per POSIX.
659         Include <sys/types.h>, in case it defines pthread_t.
660         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
661         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
662         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
663         (pthread_rwlockattr_t, pthread_spinlock_t):
664         New typedefs, if HAVE_PTHREAD_T is not defined.
665         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
666         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
667         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
668         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
669         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
670         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
671         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
672         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
673         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
674         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
675         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
676         New macros.
677         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
678         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
679         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
680         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
681         (pthread_spin_unlock): New dummy functions.
682         (pthread_create): Return EAGAIN; don't set errno.
683         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
684         require AC_C_INLINE.
685         * modules/pthread (Depends-on): Add sched, time.
686         (pthread.h): Use AM_V_GEN.
687
688 2010-07-13  Bruno Haible  <bruno@clisp.org>
689
690         striconveh: Don't malloc memory if the result buffer is sufficient.
691         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
692         buffer if its size is sufficient.
693         Reported by Ludovic Courtès <ludo@gnu.org>.
694
695 2010-07-13  Bruno Haible  <bruno@clisp.org>
696
697         strtod: Add safety check.
698         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
699
700 2010-07-12  Bruno Haible  <bruno@clisp.org>
701
702         Unify tests that set gl_cv_func_ldexpl_no_libm.
703         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
704         gl_FUNC_LDEXPL.
705         (gl_FUNC_LDEXPL): Invoke it.
706         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
707
708 2010-07-12  Bruno Haible  <bruno@clisp.org>
709
710         Unify tests that set gl_cv_func_ldexp_no_libm.
711         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
712         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
713         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
714         (configure.ac): Simply invoke gl_FUNC_LDEXP.
715         * modules/strtod (Files): Add m4/ldexp.m4.
716
717 2010-07-12  Bruno Haible  <bruno@clisp.org>
718
719         Unify tests that set gl_cv_func_frexpl_no_libm.
720         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
721         gl_FUNC_FREXPL_NO_LIBM.
722         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
723         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
724
725 2010-07-12  Bruno Haible  <bruno@clisp.org>
726
727         Unify tests that set gl_cv_func_frexp_no_libm.
728         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
729         gl_FUNC_FREXP_NO_LIBM.
730         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
731         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
732
733 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
734
735         memcoll: clarify sizes versus lengths, document better, and tweak perf
736         * lib/memcoll.c (strcoll_loop, memcoll0):
737         Improve quality of descriptive comments.  Name variables
738         consistently as to whether they are lengths (which do not include
739         terminating null) versus sizes (which do).
740         * lib/xmemcoll.c (xmemcoll0): Likewise.
741         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
742         returned when s1size == 0; this is easier to compile and saves
743         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
744
745 2010-07-12  Bruno Haible  <bruno@clisp.org>
746
747         Tests for module '_Exit'.
748         * modules/_Exit-tests: New file.
749         * tests/test-_Exit.sh: New file.
750         * tests/test-_Exit.c: New file.
751
752         New module '_Exit'.
753         * lib/stdlib.in.h (__attribute__): New macro.
754         (_Exit): New declaration.
755         * lib/_Exit.c: New file.
756         * m4/_Exit.m4: New file.
757         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
758         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
759         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
760         * modules/_Exit: New file.
761         * tests/test-stdlib-c++.cc (_Exit): Check signature.
762         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
763
764 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
765
766         strtod: make it more-accurate typically, and don't require libm
767         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
768         Include limits.h.  Don't include string.h.
769         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
770         (locale_isspace): New function, so that no casts are needed to
771         check whether *s is a space.
772         (ldexp): Provide an unused dummy if not available.
773         (scale_radix_exp, parse_number, underlying_strtod): New functions.
774         (strtod): Use them.  This implementation prefers to use the
775         underlying strtod if available, falling back on our own code
776         only to fix known bugs.  This is more likely to produce an
777         accurate result.  Also, it avoids the use of libm functions.
778         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
779         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
780         was absent, but it caused a test failure with coreutils.
781         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
782         with libm.
783         * modules/strtod (Makefile.am, Link): libm is no longer needed.
784         * modules/strtod-tests (Makefile.am): Likewise.
785
786 2010-07-11  Pádraig Brady  <P@draigBrady.com>
787             Bruno Haible  <bruno@clisp.org>
788
789         unistr/u8-strchr: Optimize ASCII argument case.
790         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
791
792 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
793
794         (x)memcoll: minor tweaks
795         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
796         is after the type that it qualifies.
797         (memcoll0): Likewise.
798         * lib/memcoll.h (memcoll0): Likewise.
799         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
800         * lib/xmemcoll.h (xmemcoll0): Likewise.
801         * lib/memcoll.c (memcoll0): Correct the comment.  This function
802         differs from memcoll in that the NUL byte is part of the argument.
803         Omit the abort-checks, as performance is a real issue here.  Plus,
804         the checks were wrong anyway (an off-by-one error).  Omit local
805         variable 'diff', as it's a bit clearer that way.
806         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
807         no longer needed.
808
809 2010-07-08  Chen Guo <chenguo4@yahoo.com>
810
811         (x)memcoll: speedup when input is known to be NUL delimited
812         * lib/memcoll.c: Include stdlib.
813         (memcoll0) New function.
814         (strcoll_loop) New function, refactored for use in both memcoll
815         and memcoll0.
816         * lib/memcoll.h: Add prototype for memcoll0.
817         * lib/xmemcoll.c: (xmemcoll0) New function.
818         (collate_error) New function, refactored for use in both xmemcoll
819         and xmemcoll0.
820         * lib/xmemcoll.h: Add prototype for xmemcoll0.
821         * m4/memcoll.m4: add inline invocation.
822
823 2010-07-06  Pádraig Brady  <P@draigBrady.com>
824
825         * build-aux/bootstrap: Remove any local translations
826         from the translation project synchronization directory,
827         so that local only translations are not distributed.
828
829 2010-07-04  Bruno Haible  <bruno@clisp.org>
830
831         fsusage: Clarify which code applies to which platforms.
832         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
833         platform.
834         * lib/fsusage.c (get_fs_usage): Likewise.
835
836 2010-07-04  Bruno Haible  <bruno@clisp.org>
837
838         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
839         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
840         Reported by Martin Lambers <marlam@marlam.de>.
841
842 2010-07-04  Jim Meyering  <meyering@redhat.com>
843
844         hash: once again explicitly disallow insertion of NULL
845         * lib/hash.c (hash_insert0): Reinstate just-removed test:
846         inserting a NULL pointer cannot work with these functions.
847         Add a comment with details.
848         This reverts part of the 2010-07-01 commit, 5bef1a35
849         "hash: extend module to deal with non-pointer keys".
850
851 2010-07-01  Bruno Haible  <bruno@clisp.org>
852
853         stdbool: Update doc.
854         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
855         Info from Christian Weisgerber <naddy@mips.inka.de>.
856
857 2010-07-01  Jim Meyering  <meyering@redhat.com>
858
859         hash: extend module to deal with non-pointer keys
860         * lib/hash.c (hash_insert0): New interface, much like hash_insert
861         but that allows insertion of non-pointer entries.
862         Do not disallow an ENTRY value of NULL.
863         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
864         * lib/hash.h (hash_insert0): Declare.
865
866 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
867
868         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
869         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
870         not present (i.e. with autoconf 2.59 and when using gettextize, not
871         gnulib), require AC_GNU_SOURCE instead.
872
873 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
874
875         idpriv-drop: Fix tests.
876         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
877         not to the test-idpriv-droptemp program.
878
879 2010-06-29  Bruno Haible  <bruno@clisp.org>
880
881         string: Fix syntax error with g++ 2.96.
882         * lib/string.in.h (__pure__): Remove definition.
883         (_GL_ATTRIBUTE_PURE): New macro.
884         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
885         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
886         Reported by Christian Weisgerber <naddy@mips.inka.de>.
887
888 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
889
890         unitypes: Fix bug introduced on 2010-05-18.
891         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
892
893 2010-06-22  Eric Blake  <eblake@redhat.com>
894
895         memmem: slight optimization
896         * lib/str-two-way.h (critical_factorization): Update comments.
897         Reduce work during factorization phase.
898         Reported by Carlos Bueno <carlos@bueno.org>.
899
900 2010-06-21  Bruno Haible  <bruno@clisp.org>
901
902         Fix HAVE_CALLOC_POSIX misnomer.
903         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
904         !HAVE_CALLOC_POSIX.
905         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
906         HAVE_CALLOC_POSIX.
907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
908         instead of HAVE_CALLOC_POSIX.
909         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
910         HAVE_CALLOC_POSIX.
911
912         Use modern idiom for calloc() replacement.
913         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
914         AC_FUNC_CALLOC.
915         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
916         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
917         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
918         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
919         (gl_REPLACE_CALLOC): New macro.
920
921 2010-06-21  Bruno Haible  <bruno@clisp.org>
922
923         Fix HAVE_REALLOC_POSIX misnomer.
924         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
925         !HAVE_REALLOC_POSIX.
926         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
927         HAVE_REALLOC_POSIX.
928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
929         instead of HAVE_REALLOC_POSIX.
930         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
931         HAVE_REALLOC_POSIX.
932
933         Use modern idiom for realloc() replacement.
934         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
935         AC_FUNC_REALLOC.
936         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
937         Autoconf's AC_FUNC_REALLOC.
938         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
939         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
940         (gl_REPLACE_REALLOC): New macro.
941         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
942
943 2010-06-21  Bruno Haible  <bruno@clisp.org>
944
945         Fix HAVE_MALLOC_POSIX misnomer.
946         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
947         !HAVE_MALLOC_POSIX.
948         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
949         HAVE_MALLOC_POSIX.
950         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
951         instead of HAVE_MALLOC_POSIX.
952         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
953         HAVE_MALLOC_POSIX.
954
955         Use modern idiom for malloc() replacement.
956         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
957         AC_FUNC_MALLOC.
958         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
959         Autoconf's AC_FUNC_MALLOC.
960         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
961         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
962         (gl_REPLACE_MALLOC): New macro.
963         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
964
965 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
966
967         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
968         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
969         This macro takes 3 arguments, not 4.
970
971 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
972
973         ipv6: fix detection under mingw
974         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
975         in6_addr.
976
977 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
978
979         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
980         that strtod() works when cross-compiling to a glibc version known
981         to work.
982
983 2010-06-15  Bruno Haible  <bruno@clisp.org>
984
985         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
986
987 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
988
989         select: Correct timeout.
990         * lib/select.c (rpl_select): Compute wait_timeout correctly.
991
992 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
993
994         git-version-gen: init shell var to avoid env var influence
995         * build-aux/git-version-gen (v): Init shell var to empty.
996
997 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
998
999         priv-set: Don't assume that priv.h exists merely because getppriv does.
1000         See Jan Andersen's bug report about AIX 5L in
1001         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
1002         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
1003         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
1004         * lib/priv-set.h: Likewise.
1005         * tests/test-priv-set.c: Likewise.
1006
1007 2010-06-13  Bruno Haible  <bruno@clisp.org>
1008
1009         relocatable: Make it easier to test whether to install wrappers.
1010         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
1011         RELOCATABLE_VIA_WRAPPER.
1012
1013 2010-06-13  Bruno Haible  <bruno@clisp.org>
1014
1015         gnulib-tool: Display specified modules and dependencies differently.
1016         * gnulib-tool (func_show_module_list): New function.
1017         (func_import, func_create_testdir): Invoke it.
1018         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
1019
1020 2010-06-13  Bruno Haible  <bruno@clisp.org>
1021
1022         gnulib-tool: Align code of func_import and func_create_testdir.
1023         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
1024         specified_modules.
1025
1026 2010-06-12  Jim Meyering  <meyering@redhat.com>
1027
1028         test-inttostr: avoid spurious failure on Solaris 9
1029         * tests/test-inttostr.c (main): Skip the test when snprintf fails
1030         to accept "%ju".  Reported by Bruno Haible.
1031
1032 2010-06-11  Jim Meyering  <meyering@redhat.com>
1033
1034         test-sys_socket: mark variables as used more readably
1035         * tests/test-sys_socket.c (main): Mark otherwise unused variables
1036         as "used" explicitly via (void) statement casts.  This is more
1037         readable than using them in an artificial return expression.
1038         Suggestion from Bruno Haible.
1039
1040 2010-06-11  Bruno Haible  <bruno@clisp.org>
1041
1042         Avoid some more warnings from "gcc -Wwrite-strings".
1043         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
1044         to 'const char *'.
1045         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
1046         * tests/test-c-strcasestr.c (main): Likewise.
1047         * tests/test-mbscasestr1.c (main): Likewise.
1048         * tests/test-mbscasestr2.c (main): Likewise.
1049         * tests/test-memmem.c (main): Likewise.
1050         * tests/test-strstr.c (main): Likewise.
1051         * tests/test-strcasestr.c (main): Likewise.
1052
1053 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1054
1055         init.sh: change framework_failure_ to fail with status 99, not 1
1056         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
1057         automake's parallel-tests rule that this is an unexpected failure,
1058         even if the test is listed in XFAIL_TESTS.
1059
1060 2010-06-11  Jim Meyering  <meyering@redhat.com>
1061
1062         test-inttostr: avoid warnings about 4-6KB literal strings
1063         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
1064         Include "macros.h", for its definition of ASSERT.
1065         (CK): s/assert/ASSERT/
1066         * modules/inttostr-tests (Files): Add macros.h.
1067
1068         init.sh: don't use $ME_ or skip_ before they are defined
1069         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
1070         their first uses.  Also hoist their companions: warn_, fail_,
1071         framework_failure_, $stderr_fileno.  Prompted by a patch from
1072         Stefano Lattarini.
1073
1074         test-sys_socket: avoid set-but-not-used warnings from gcc
1075         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
1076         avoid warning about set-but-not-used variables.
1077
1078         test-xvasprintf: avoid 'const' discard warnings
1079         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
1080         "const" when assigning from literal strings.
1081         (test_xasprintf): Add "void" in function argument list to placate
1082         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
1083
1084         tests: avoid compilation warnings in argmatch and exclude tests...
1085         in packages that define ARGMATCH_DIE_DECL, like coreutils.
1086         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
1087         Since it always exits, declare with the "noreturn" attribute.
1088         * tests/test-argmatch.c: Likewise.
1089
1090         tests: avoid 'const' discard warnings in mbsstr tests
1091         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
1092         * tests/test-mbsstr2.c (main): Likewise.
1093
1094         test-verify: avoid warning from gcc's -Wmissing-declarations
1095         * tests/test-verify.c (function): Declare to be static.
1096
1097         test-inttostr.c: include <string.h> for use of strcmp
1098         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
1099
1100         test-linkat: avoid failed assertion on "other" architectures
1101         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
1102         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
1103         sparc: https://bugs.launchpad.net/bugs/591968
1104
1105 2010-06-11  Jim Meyering  <meyering@redhat.com>
1106
1107         printf.m4: avoid autoconf's "Expanded Before Required" warning
1108         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
1109         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
1110         autoconf warning.
1111
1112 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
1113
1114         Replacement header templates are now named with ".in", not "_".
1115         * doc/gnulib-intro.texi: Correct.
1116
1117 2010-06-10  Jim Meyering  <meyering@redhat.com>
1118
1119         inttostr-tests: depend on snprintf, not snprintf-posix
1120         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
1121         snprintf-posix, to avoid this aclocal failure:
1122           missing file gnulib-tests/vasnprintf.c
1123           configure.ac:45: error: expected source file, required through \
1124           AC_LIBSOURCES, not found
1125
1126 2010-06-10  Jim Meyering  <meyering@redhat.com>
1127
1128         inttostr: add a new function, inttostr, and tests
1129         The namesake function was not available.  The existence of the
1130         template file, inttostr.c makes its addition nontrivial.
1131         * lib/anytostr.c: Rename from inttostr.c.
1132         (anytostr): Rename from inttostr.
1133         * lib/inttostr.c: New file.
1134         * modules/inttostr (Files): Add anytostr.c.
1135         (Makefile.am): Set lib_SOURCES instead of ...
1136         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
1137         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
1138         * lib/offtostr.c: Likewise.
1139         * lib/uinttostr.c: Likewise.
1140         * lib/umaxtostr.c: Likewise.
1141         * modules/inttostr-tests: New file.
1142         * tests/test-inttostr.c: New file.  Test these functions.
1143
1144 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
1145             Bruno Haible  <bruno@clisp.org>
1146
1147         Add "Extending Gnulib" chapter to manual.
1148         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
1149         chapter.
1150         (Extending Gnulib): New chapter.
1151         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
1152         chapter.
1153
1154 2010-06-09  Bruno Haible  <bruno@clisp.org>
1155
1156         Avoid relocwrapper link errors due to gnulib replacement functions.
1157         * lib/areadlink.c: Use the system's malloc, realloc functions.
1158         (areadlink): Set errno to ENOMEM explicitly.
1159         * modules/areadlink (Depends-on): Remove malloc-posix.
1160         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1161
1162 2010-06-09  Bruno Haible  <bruno@clisp.org>
1163
1164         Avoid relocwrapper link errors due to gnulib replacement functions.
1165         * lib/canonicalize-lgpl.c: Use the system's malloc function.
1166         * lib/malloca.c: Likewise.
1167         * lib/relocatable.c: Likewise.
1168         * lib/progreloc.c: Use the system's malloc, sprintf functions.
1169         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
1170         * lib/setenv.c: Use the system's malloc, realloc functions.
1171         * lib/strerror.c: Use the system's sprintf function.
1172         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1173
1174 2010-06-04  Bruno Haible  <bruno@clisp.org>
1175
1176         Prefer documented low-level autoconf macro names.
1177         * m4/lib-link.m4: Use m4_translit instead of translit.
1178         * m4/environ.m4: Likewise.
1179         * m4/mathfunc.m4: Likewise.
1180         * m4/onceonly.m4: Likewise.
1181         * m4/stdint.m4: Likewise.
1182         Suggested by Eric Blake.
1183
1184 2010-06-04  Martin Lambers  <marlam@marlam.de>
1185             Bruno Haible  <bruno@clisp.org>
1186
1187         havelib: Allow library names with '+' characters.
1188         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1189         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
1190
1191 2010-06-09  Bruno Haible  <bruno@clisp.org>
1192
1193         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
1194         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
1195         realloc failed.
1196
1197 2010-06-08  Peter Simons  <simons@cryp.to>
1198
1199         maint.mk: make the news-check rule more configurable
1200         * top/maint.mk (news-check-lines-spec) New variable.
1201         (news-check): Use "sed -n 1,10p" in place of "head".
1202
1203 2010-06-07  Jim Meyering  <meyering@redhat.com>
1204
1205         do-release-commit-and-tag: fix typo in --help
1206         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
1207
1208         regex: avoid new dead-code warning with gcc-4.6.0
1209         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
1210         if-block containing a while-loop.  It's been unused for at least
1211         5 years.
1212
1213 2010-06-05  Bruno Haible  <bruno@clisp.org>
1214
1215         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
1216         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
1217
1218 2010-06-04  Bruno Haible  <bruno@clisp.org>
1219
1220         Update to GNU gettext 0.18.1.
1221         * modules/gettext (configure.ac): Require gettext infrastructure from
1222         version 0.18.1.
1223
1224 2010-06-03  Bruno Haible  <bruno@clisp.org>
1225
1226         Don't use AC_LIBOBJ with file names in subdirectories.
1227         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
1228         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
1229         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
1230         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
1231         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
1232         gl_LIBUNISTRING_LIBSOURCE.
1233         (Makefile.am): Augment lib_SOURCES here, conditionally.
1234         * NEWS: Drop requirement for Automake option 'subdir-objects'.
1235
1236 2010-06-03  Bruno Haible  <bruno@clisp.org>
1237
1238         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
1239         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
1240         expansion does not end with a newline.
1241         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
1242         unnecessary newline.
1243
1244 2010-06-03  Bruno Haible  <bruno@clisp.org>
1245
1246         Reduce dependencies.
1247         * tests/test-quotearg.h: New file, extracted from
1248         tests/test-quotearg.c.
1249         * tests/test-quotearg-simple.c: New file, extracted from
1250         tests/test-quotearg.c.
1251         * tests/test-quotearg.c: Don't include <ctype.h>.
1252         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
1253         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
1254         use_quote_double_quotes, use_quotearg_colon): Moved to
1255         tests/test-quotearg.h.
1256         (results_g, flag_results, custom_quotes, custom_results): Moved
1257         to tests/test-quotearg-simple.c.
1258         (main): Moved the part that does not depend on gettext to
1259         tests/test-quotearg-simple.c. Return 77 if the test cannot be
1260         performed.
1261         * modules/quotearg-simple: New file.
1262         * modules/quotearg-simple-tests: New file.
1263         * modules/quotearg (Depends-on): Add quotearg-simple.
1264         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
1265         (Files): Add tests/test-quotearg.h.
1266         Reported by Paolo Bonzini.
1267
1268 2010-06-03  Bruno Haible  <bruno@clisp.org>
1269
1270         Reduce dependencies.
1271         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
1272
1273 2010-06-03  Bruno Haible  <bruno@clisp.org>
1274
1275         time: Undefine more broken macros.
1276         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
1277         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
1278         Reported by Eric Blake.
1279
1280 2010-06-03  Bruno Haible  <bruno@clisp.org>
1281
1282         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
1283         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
1284         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
1285         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
1286         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
1287         Reported by Ludovic Courtès <ludo@gnu.org>.
1288
1289 2010-06-02  Eric Blake  <eblake@redhat.com>
1290
1291         time: work with mingw + pthreads-win32 library
1292         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
1293         if timespec is defined only in pthread.h.
1294         * modules/time (Makefile.am): Substitute it.
1295         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
1296         <pthread.h>, when needed.
1297         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
1298         from the library.
1299
1300 2010-05-31  Bruno Haible  <bruno@clisp.org>
1301
1302         Avoid expanding two macros in the wrong order.
1303         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
1304         gl_LIBUNISTRING if it is defined.
1305         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
1306         autoconf >= 2.64.
1307         Reported by Ludovic Courtès <ludo@gnu.org>.
1308
1309 2010-05-27  Jim Meyering  <meyering@redhat.com>
1310
1311         maint.mk: also prohibit "#undef" of always-defined symbols
1312         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
1313         Allow more than one space before the symbol name.
1314         (sc_prohibit_always-defined_macros): Use grep's -E, now that
1315         the regexp uses alternation.
1316
1317 2010-05-26  Eric Blake  <eblake@redhat.com>
1318
1319         maint.mk: avoid echo -e
1320         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
1321         Convert all uses of echo -* to printf.
1322         Reported by Matthias Bolte.
1323
1324 2010-05-25  Bruno Haible  <bruno@clisp.org>
1325
1326         Update to GNU gettext 0.18, part 2.
1327         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
1328         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
1329
1330 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1331
1332         Add missing include in test-pwrite.c.
1333         * tests/test-pwrite.c: Include string.h, for strcmp.
1334
1335 2010-05-24  Bruno Haible  <bruno@clisp.org>
1336
1337         * NEWS: Mention requirement for Automake option 'subdir-objects'.
1338
1339 2010-05-24  Bruno Haible  <bruno@clisp.org>
1340
1341         Don't use conversion with transliteration in u{8,16,32}_strcoll.
1342         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
1343         iconveh_error argument.
1344         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
1345         U_STRCONV_TO_LOCALE.
1346         * lib/unistr/u16-strcoll.c: Likewise.
1347         * lib/unistr/u32-strcoll.c: Likewise.
1348         * modules/unistr/u8-strcoll (Depends-on): Add
1349         uniconv/u8-strconv-to-enc, localcharset. Remove
1350         uniconv/u8-strconv-to-locale.
1351         (configure.ac): Bump version number.
1352         * modules/unistr/u16-strcoll (Depends-on): Add
1353         uniconv/u16-strconv-to-enc, localcharset. Remove
1354         uniconv/u16-strconv-to-locale.
1355         (configure.ac): Bump version number.
1356         * modules/unistr/u32-strcoll (Depends-on): Add
1357         uniconv/u32-strconv-to-enc, localcharset. Remove
1358         uniconv/u32-strconv-to-locale.
1359         (configure.ac): Bump version number.
1360
1361 2010-05-24  Bruno Haible  <bruno@clisp.org>
1362
1363         Avoid a test failure on NetBSD 5.0.
1364         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
1365         an iconv() bug.
1366
1367 2010-05-24  Bruno Haible  <bruno@clisp.org>
1368
1369         Adjust #include directive style.
1370         * modules/regex (Includes): Recommend to write <regex.h>.
1371
1372 2010-05-24  Bruno Haible  <bruno@clisp.org>
1373
1374         regex: Don't require alloca.
1375         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
1376         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
1377         only inside if (0).
1378
1379 2010-05-23  Jim Meyering  <meyering@redhat.com>
1380
1381         test-renameat.c: include <sys/stat.h>
1382         * tests/test-renameat.c: Include <sys/stat.h>; required for
1383         definition of S_IS* macros.
1384
1385 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
1386
1387         Update maintainer documentation for 'relocatable-prog' module.
1388         * doc/relocatable-maint.texi: Update.
1389         Comments by Bruno Haible.
1390
1391 2010-05-23  Bruno Haible  <bruno@clisp.org>
1392
1393         git-merge-changelog: Enable --split-merged-entry by default.
1394         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
1395         (usage): Don't mention this option any more.
1396         Reported by Ralf Wildenhues.
1397
1398 2010-05-23  Jim Meyering  <meyering@redhat.com>
1399
1400         test-pwrite: do not leave behind a test file named "out"
1401         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
1402         The trivial-looking use of init.sh is really necessary.
1403         It ensures that the temporary file, "out", is created in
1404         a temporary directory, and removed upon termination.
1405         * tests/test-pwrite.sh: Re-add file.
1406         * modules/pwrite-tests: Reference it.
1407
1408 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1409
1410         Fix output redirection buglet in init.sh.
1411         * tests/init.sh: Fix redirection of stderr.
1412
1413 2010-05-20  Simon Josefsson  <simon@josefsson.org>
1414
1415         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
1416
1417 2010-05-17  Simon Josefsson  <simon@josefsson.org>
1418
1419         * modules/valgrind-tests: New file.
1420         * m4/valgrind-tests.m4: New file.
1421         * doc/valgrind-tests.texi: New file.
1422         * doc/gnulib.texi (Running self-tests under valgrind): New
1423         section.
1424
1425 2010-05-19  Bruno Haible  <bruno@clisp.org>
1426
1427         Clean up dead code in recent commit.
1428         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
1429         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
1430         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
1431         Suggested by Paolo Bonzini.
1432
1433 2010-05-19  Bruno Haible  <bruno@clisp.org>
1434
1435         Avoid valgrind error reports from libunistring.
1436         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
1437         * modules/libunistring (Files): Add it.
1438         * modules/libunistring-optional (Files): Likewise.
1439
1440 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
1441             Bruno Haible  <bruno@clisp.org>
1442
1443         New module 'libunistring-optional'.
1444         * modules/libunistring-optional: New file.
1445         * m4/libunistring-base.m4: New file.
1446         * m4/libunistring-optional.m4: New file.
1447         * lib/unicase.in.h: Renamed from lib/unicase.h.
1448         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
1449         * lib/unictype.in.h: Renamed from lib/unictype.h.
1450         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
1451         * lib/uniname.in.h: Renamed from lib/uniname.h.
1452         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
1453         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
1454         * lib/unistr.in.h: Renamed from lib/unistr.h.
1455         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
1456         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
1457         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
1458         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
1459         gl_LIBUNISTRING. If the library was found, determine the installed
1460         version and set LIBUNISTRING_VERSION.
1461         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
1462         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
1463         handle a configuration option --with-included-libunistring.
1464         * modules/libunistring (Files): Add m4/absolute-header.m4.
1465         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
1466         Add m4/libunistring-base.m4.
1467         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1468         (Makefile.am): Build unicase.h from unicase.in.h.
1469         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
1470         Add m4/libunistring-base.m4.
1471         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1472         (Makefile.am): Build uniconv.h from uniconv.in.h.
1473         * modules/unictype/base (Files): Use unictype.in.h instead of
1474         unictype.h. Add m4/libunistring-base.m4.
1475         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1476         (Makefile.am): Build unictype.h from unictype.in.h.
1477         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
1478         Add m4/libunistring-base.m4.
1479         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1480         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
1481         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
1482         Add m4/libunistring-base.m4.
1483         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1484         (Makefile.am): Build uniname.h from uniname.in.h.
1485         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
1486         Add m4/libunistring-base.m4.
1487         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1488         (Makefile.am): Build uninorm.h from uninorm.in.h.
1489         * modules/unistdio/base (Files): Use unistdio.in.h instead of
1490         unistdio.h. Add m4/libunistring-base.m4.
1491         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1492         (Makefile.am): Build unistdio.h from unistdio.in.h.
1493         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
1494         Add m4/libunistring-base.m4.
1495         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1496         (Makefile.am): Build unistr.h from unistr.in.h.
1497         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
1498         Add m4/libunistring-base.m4.
1499         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1500         (Makefile.am): Build unitypes.h from unitypes.in.h.
1501         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
1502         Add m4/libunistring-base.m4.
1503         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1504         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
1505         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
1506         uniwidth.h. Add m4/libunistring-base.m4.
1507         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1508         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
1509         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
1510         instead of augmenting lib_SOURCES.
1511         * modules/unicase/empty-suffix-context: Likewise.
1512         * modules/unicase/locale-language: Likewise.
1513         * modules/unicase/tolower: Likewise.
1514         * modules/unicase/totitle: Likewise.
1515         * modules/unicase/toupper: Likewise.
1516         * modules/unicase/u8-casecmp: Likewise.
1517         * modules/unicase/u8-casecoll: Likewise.
1518         * modules/unicase/u8-casefold: Likewise.
1519         * modules/unicase/u8-casexfrm: Likewise.
1520         * modules/unicase/u8-ct-casefold: Likewise.
1521         * modules/unicase/u8-ct-tolower: Likewise.
1522         * modules/unicase/u8-ct-totitle: Likewise.
1523         * modules/unicase/u8-ct-toupper: Likewise.
1524         * modules/unicase/u8-is-cased: Likewise.
1525         * modules/unicase/u8-is-casefolded: Likewise.
1526         * modules/unicase/u8-is-lowercase: Likewise.
1527         * modules/unicase/u8-is-titlecase: Likewise.
1528         * modules/unicase/u8-is-uppercase: Likewise.
1529         * modules/unicase/u8-prefix-context: Likewise.
1530         * modules/unicase/u8-suffix-context: Likewise.
1531         * modules/unicase/u8-tolower: Likewise.
1532         * modules/unicase/u8-totitle: Likewise.
1533         * modules/unicase/u8-toupper: Likewise.
1534         * modules/unicase/u16-casecmp: Likewise.
1535         * modules/unicase/u16-casecoll: Likewise.
1536         * modules/unicase/u16-casefold: Likewise.
1537         * modules/unicase/u16-casexfrm: Likewise.
1538         * modules/unicase/u16-ct-casefold: Likewise.
1539         * modules/unicase/u16-ct-tolower: Likewise.
1540         * modules/unicase/u16-ct-totitle: Likewise.
1541         * modules/unicase/u16-ct-toupper: Likewise.
1542         * modules/unicase/u16-is-cased: Likewise.
1543         * modules/unicase/u16-is-casefolded: Likewise.
1544         * modules/unicase/u16-is-lowercase: Likewise.
1545         * modules/unicase/u16-is-titlecase: Likewise.
1546         * modules/unicase/u16-is-uppercase: Likewise.
1547         * modules/unicase/u16-prefix-context: Likewise.
1548         * modules/unicase/u16-suffix-context: Likewise.
1549         * modules/unicase/u16-tolower: Likewise.
1550         * modules/unicase/u16-totitle: Likewise.
1551         * modules/unicase/u16-toupper: Likewise.
1552         * modules/unicase/u32-casecmp: Likewise.
1553         * modules/unicase/u32-casecoll: Likewise.
1554         * modules/unicase/u32-casefold: Likewise.
1555         * modules/unicase/u32-casexfrm: Likewise.
1556         * modules/unicase/u32-ct-casefold: Likewise.
1557         * modules/unicase/u32-ct-tolower: Likewise.
1558         * modules/unicase/u32-ct-totitle: Likewise.
1559         * modules/unicase/u32-ct-toupper: Likewise.
1560         * modules/unicase/u32-is-cased: Likewise.
1561         * modules/unicase/u32-is-casefolded: Likewise.
1562         * modules/unicase/u32-is-lowercase: Likewise.
1563         * modules/unicase/u32-is-titlecase: Likewise.
1564         * modules/unicase/u32-is-uppercase: Likewise.
1565         * modules/unicase/u32-prefix-context: Likewise.
1566         * modules/unicase/u32-suffix-context: Likewise.
1567         * modules/unicase/u32-tolower: Likewise.
1568         * modules/unicase/u32-totitle: Likewise.
1569         * modules/unicase/u32-toupper: Likewise.
1570         * modules/unicase/ulc-casecmp: Likewise.
1571         * modules/unicase/ulc-casecoll: Likewise.
1572         * modules/unicase/ulc-casexfrm: Likewise.
1573         * modules/uniconv/u8-conv-from-enc: Likewise.
1574         * modules/uniconv/u8-conv-to-enc: Likewise.
1575         * modules/uniconv/u8-strconv-from-enc: Likewise.
1576         * modules/uniconv/u8-strconv-from-locale: Likewise.
1577         * modules/uniconv/u8-strconv-to-enc: Likewise.
1578         * modules/uniconv/u8-strconv-to-locale: Likewise.
1579         * modules/uniconv/u16-conv-from-enc: Likewise.
1580         * modules/uniconv/u16-conv-to-enc: Likewise.
1581         * modules/uniconv/u16-strconv-from-enc: Likewise.
1582         * modules/uniconv/u16-strconv-from-locale: Likewise.
1583         * modules/uniconv/u16-strconv-to-enc: Likewise.
1584         * modules/uniconv/u16-strconv-to-locale: Likewise.
1585         * modules/uniconv/u32-conv-from-enc: Likewise.
1586         * modules/uniconv/u32-conv-to-enc: Likewise.
1587         * modules/uniconv/u32-strconv-from-enc: Likewise.
1588         * modules/uniconv/u32-strconv-from-locale: Likewise.
1589         * modules/uniconv/u32-strconv-to-enc: Likewise.
1590         * modules/uniconv/u32-strconv-to-locale: Likewise.
1591         * modules/unictype/bidicategory-byname: Likewise.
1592         * modules/unictype/bidicategory-name: Likewise.
1593         * modules/unictype/bidicategory-of: Likewise.
1594         * modules/unictype/bidicategory-test: Likewise.
1595         * modules/unictype/block-list: Likewise.
1596         * modules/unictype/block-test: Likewise.
1597         * modules/unictype/category-C: Likewise.
1598         * modules/unictype/category-Cc: Likewise.
1599         * modules/unictype/category-Cf: Likewise.
1600         * modules/unictype/category-Cn: Likewise.
1601         * modules/unictype/category-Co: Likewise.
1602         * modules/unictype/category-Cs: Likewise.
1603         * modules/unictype/category-L: Likewise.
1604         * modules/unictype/category-Ll: Likewise.
1605         * modules/unictype/category-Lm: Likewise.
1606         * modules/unictype/category-Lo: Likewise.
1607         * modules/unictype/category-Lt: Likewise.
1608         * modules/unictype/category-Lu: Likewise.
1609         * modules/unictype/category-M: Likewise.
1610         * modules/unictype/category-Mc: Likewise.
1611         * modules/unictype/category-Me: Likewise.
1612         * modules/unictype/category-Mn: Likewise.
1613         * modules/unictype/category-N: Likewise.
1614         * modules/unictype/category-Nd: Likewise.
1615         * modules/unictype/category-Nl: Likewise.
1616         * modules/unictype/category-No: Likewise.
1617         * modules/unictype/category-P: Likewise.
1618         * modules/unictype/category-Pc: Likewise.
1619         * modules/unictype/category-Pd: Likewise.
1620         * modules/unictype/category-Pe: Likewise.
1621         * modules/unictype/category-Pf: Likewise.
1622         * modules/unictype/category-Pi: Likewise.
1623         * modules/unictype/category-Po: Likewise.
1624         * modules/unictype/category-Ps: Likewise.
1625         * modules/unictype/category-S: Likewise.
1626         * modules/unictype/category-Sc: Likewise.
1627         * modules/unictype/category-Sk: Likewise.
1628         * modules/unictype/category-Sm: Likewise.
1629         * modules/unictype/category-So: Likewise.
1630         * modules/unictype/category-Z: Likewise.
1631         * modules/unictype/category-Zl: Likewise.
1632         * modules/unictype/category-Zp: Likewise.
1633         * modules/unictype/category-Zs: Likewise.
1634         * modules/unictype/category-and: Likewise.
1635         * modules/unictype/category-and-not: Likewise.
1636         * modules/unictype/category-byname: Likewise.
1637         * modules/unictype/category-name: Likewise.
1638         * modules/unictype/category-none: Likewise.
1639         * modules/unictype/category-of: Likewise.
1640         * modules/unictype/category-or: Likewise.
1641         * modules/unictype/category-test: Likewise.
1642         * modules/unictype/combining-class: Likewise.
1643         * modules/unictype/ctype-alnum: Likewise.
1644         * modules/unictype/ctype-alpha: Likewise.
1645         * modules/unictype/ctype-blank: Likewise.
1646         * modules/unictype/ctype-cntrl: Likewise.
1647         * modules/unictype/ctype-digit: Likewise.
1648         * modules/unictype/ctype-graph: Likewise.
1649         * modules/unictype/ctype-lower: Likewise.
1650         * modules/unictype/ctype-print: Likewise.
1651         * modules/unictype/ctype-punct: Likewise.
1652         * modules/unictype/ctype-space: Likewise.
1653         * modules/unictype/ctype-upper: Likewise.
1654         * modules/unictype/ctype-xdigit: Likewise.
1655         * modules/unictype/decimal-digit: Likewise.
1656         * modules/unictype/digit: Likewise.
1657         * modules/unictype/mirror: Likewise.
1658         * modules/unictype/numeric: Likewise.
1659         * modules/unictype/property-alphabetic: Likewise.
1660         * modules/unictype/property-ascii-hex-digit: Likewise.
1661         * modules/unictype/property-bidi-arabic-digit: Likewise.
1662         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
1663         * modules/unictype/property-bidi-block-separator: Likewise.
1664         * modules/unictype/property-bidi-boundary-neutral: Likewise.
1665         * modules/unictype/property-bidi-common-separator: Likewise.
1666         * modules/unictype/property-bidi-control: Likewise.
1667         * modules/unictype/property-bidi-embedding-or-override: Likewise.
1668         * modules/unictype/property-bidi-eur-num-separator: Likewise.
1669         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
1670         * modules/unictype/property-bidi-european-digit: Likewise.
1671         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
1672         * modules/unictype/property-bidi-left-to-right: Likewise.
1673         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
1674         * modules/unictype/property-bidi-other-neutral: Likewise.
1675         * modules/unictype/property-bidi-pdf: Likewise.
1676         * modules/unictype/property-bidi-segment-separator: Likewise.
1677         * modules/unictype/property-bidi-whitespace: Likewise.
1678         * modules/unictype/property-byname: Likewise.
1679         * modules/unictype/property-combining: Likewise.
1680         * modules/unictype/property-composite: Likewise.
1681         * modules/unictype/property-currency-symbol: Likewise.
1682         * modules/unictype/property-dash: Likewise.
1683         * modules/unictype/property-decimal-digit: Likewise.
1684         * modules/unictype/property-default-ignorable-code-point: Likewise.
1685         * modules/unictype/property-deprecated: Likewise.
1686         * modules/unictype/property-diacritic: Likewise.
1687         * modules/unictype/property-extender: Likewise.
1688         * modules/unictype/property-format-control: Likewise.
1689         * modules/unictype/property-grapheme-base: Likewise.
1690         * modules/unictype/property-grapheme-extend: Likewise.
1691         * modules/unictype/property-grapheme-link: Likewise.
1692         * modules/unictype/property-hex-digit: Likewise.
1693         * modules/unictype/property-hyphen: Likewise.
1694         * modules/unictype/property-id-continue: Likewise.
1695         * modules/unictype/property-id-start: Likewise.
1696         * modules/unictype/property-ideographic: Likewise.
1697         * modules/unictype/property-ids-binary-operator: Likewise.
1698         * modules/unictype/property-ids-trinary-operator: Likewise.
1699         * modules/unictype/property-ignorable-control: Likewise.
1700         * modules/unictype/property-iso-control: Likewise.
1701         * modules/unictype/property-join-control: Likewise.
1702         * modules/unictype/property-left-of-pair: Likewise.
1703         * modules/unictype/property-line-separator: Likewise.
1704         * modules/unictype/property-logical-order-exception: Likewise.
1705         * modules/unictype/property-lowercase: Likewise.
1706         * modules/unictype/property-math: Likewise.
1707         * modules/unictype/property-non-break: Likewise.
1708         * modules/unictype/property-not-a-character: Likewise.
1709         * modules/unictype/property-numeric: Likewise.
1710         * modules/unictype/property-other-alphabetic: Likewise.
1711         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
1712         * modules/unictype/property-other-grapheme-extend: Likewise.
1713         * modules/unictype/property-other-id-continue: Likewise.
1714         * modules/unictype/property-other-id-start: Likewise.
1715         * modules/unictype/property-other-lowercase: Likewise.
1716         * modules/unictype/property-other-math: Likewise.
1717         * modules/unictype/property-other-uppercase: Likewise.
1718         * modules/unictype/property-paired-punctuation: Likewise.
1719         * modules/unictype/property-paragraph-separator: Likewise.
1720         * modules/unictype/property-pattern-syntax: Likewise.
1721         * modules/unictype/property-pattern-white-space: Likewise.
1722         * modules/unictype/property-private-use: Likewise.
1723         * modules/unictype/property-punctuation: Likewise.
1724         * modules/unictype/property-quotation-mark: Likewise.
1725         * modules/unictype/property-radical: Likewise.
1726         * modules/unictype/property-sentence-terminal: Likewise.
1727         * modules/unictype/property-soft-dotted: Likewise.
1728         * modules/unictype/property-space: Likewise.
1729         * modules/unictype/property-terminal-punctuation: Likewise.
1730         * modules/unictype/property-test: Likewise.
1731         * modules/unictype/property-titlecase: Likewise.
1732         * modules/unictype/property-unassigned-code-value: Likewise.
1733         * modules/unictype/property-unified-ideograph: Likewise.
1734         * modules/unictype/property-uppercase: Likewise.
1735         * modules/unictype/property-variation-selector: Likewise.
1736         * modules/unictype/property-white-space: Likewise.
1737         * modules/unictype/property-xid-continue: Likewise.
1738         * modules/unictype/property-xid-start: Likewise.
1739         * modules/unictype/property-zero-width: Likewise.
1740         * modules/unictype/scripts: Likewise.
1741         * modules/unictype/syntax-c-ident: Likewise.
1742         * modules/unictype/syntax-c-whitespace: Likewise.
1743         * modules/unictype/syntax-java-ident: Likewise.
1744         * modules/unictype/syntax-java-whitespace: Likewise.
1745         * modules/unilbrk/u8-possible-linebreaks: Likewise.
1746         * modules/unilbrk/u8-width-linebreaks: Likewise.
1747         * modules/unilbrk/u16-possible-linebreaks: Likewise.
1748         * modules/unilbrk/u16-width-linebreaks: Likewise.
1749         * modules/unilbrk/u32-possible-linebreaks: Likewise.
1750         * modules/unilbrk/u32-width-linebreaks: Likewise.
1751         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
1752         * modules/unilbrk/ulc-width-linebreaks: Likewise.
1753         * modules/uniname/uniname: Likewise.
1754         * modules/uninorm/canonical-decomposition: Likewise.
1755         * modules/uninorm/composition: Likewise.
1756         * modules/uninorm/decomposing-form: Likewise.
1757         * modules/uninorm/decomposition: Likewise.
1758         * modules/uninorm/filter: Likewise.
1759         * modules/uninorm/nfc: Likewise.
1760         * modules/uninorm/nfd: Likewise.
1761         * modules/uninorm/nfkc: Likewise.
1762         * modules/uninorm/nfkd: Likewise.
1763         * modules/uninorm/u8-normalize: Likewise.
1764         * modules/uninorm/u8-normcmp: Likewise.
1765         * modules/uninorm/u8-normcoll: Likewise.
1766         * modules/uninorm/u8-normxfrm: Likewise.
1767         * modules/uninorm/u16-normalize: Likewise.
1768         * modules/uninorm/u16-normcmp: Likewise.
1769         * modules/uninorm/u16-normcoll: Likewise.
1770         * modules/uninorm/u16-normxfrm: Likewise.
1771         * modules/uninorm/u32-normalize: Likewise.
1772         * modules/uninorm/u32-normcmp: Likewise.
1773         * modules/uninorm/u32-normcoll: Likewise.
1774         * modules/uninorm/u32-normxfrm: Likewise.
1775         * modules/unistdio/u8-asnprintf: Likewise.
1776         * modules/unistdio/u8-asprintf: Likewise.
1777         * modules/unistdio/u8-snprintf: Likewise.
1778         * modules/unistdio/u8-sprintf: Likewise.
1779         * modules/unistdio/u8-u8-asnprintf: Likewise.
1780         * modules/unistdio/u8-u8-asprintf: Likewise.
1781         * modules/unistdio/u8-u8-snprintf: Likewise.
1782         * modules/unistdio/u8-u8-sprintf: Likewise.
1783         * modules/unistdio/u8-u8-vasnprintf: Likewise.
1784         * modules/unistdio/u8-u8-vasprintf: Likewise.
1785         * modules/unistdio/u8-u8-vsnprintf: Likewise.
1786         * modules/unistdio/u8-u8-vsprintf: Likewise.
1787         * modules/unistdio/u8-vasnprintf: Likewise.
1788         * modules/unistdio/u8-vasprintf: Likewise.
1789         * modules/unistdio/u8-vsnprintf: Likewise.
1790         * modules/unistdio/u8-vsprintf: Likewise.
1791         * modules/unistdio/u16-asnprintf: Likewise.
1792         * modules/unistdio/u16-asprintf: Likewise.
1793         * modules/unistdio/u16-snprintf: Likewise.
1794         * modules/unistdio/u16-sprintf: Likewise.
1795         * modules/unistdio/u16-u16-asnprintf: Likewise.
1796         * modules/unistdio/u16-u16-asprintf: Likewise.
1797         * modules/unistdio/u16-u16-snprintf: Likewise.
1798         * modules/unistdio/u16-u16-sprintf: Likewise.
1799         * modules/unistdio/u16-u16-vasnprintf: Likewise.
1800         * modules/unistdio/u16-u16-vasprintf: Likewise.
1801         * modules/unistdio/u16-u16-vsnprintf: Likewise.
1802         * modules/unistdio/u16-u16-vsprintf: Likewise.
1803         * modules/unistdio/u16-vasnprintf: Likewise.
1804         * modules/unistdio/u16-vasprintf: Likewise.
1805         * modules/unistdio/u16-vsnprintf: Likewise.
1806         * modules/unistdio/u16-vsprintf: Likewise.
1807         * modules/unistdio/u32-asnprintf: Likewise.
1808         * modules/unistdio/u32-asprintf: Likewise.
1809         * modules/unistdio/u32-snprintf: Likewise.
1810         * modules/unistdio/u32-sprintf: Likewise.
1811         * modules/unistdio/u32-u32-asnprintf: Likewise.
1812         * modules/unistdio/u32-u32-asprintf: Likewise.
1813         * modules/unistdio/u32-u32-snprintf: Likewise.
1814         * modules/unistdio/u32-u32-sprintf: Likewise.
1815         * modules/unistdio/u32-u32-vasnprintf: Likewise.
1816         * modules/unistdio/u32-u32-vasprintf: Likewise.
1817         * modules/unistdio/u32-u32-vsnprintf: Likewise.
1818         * modules/unistdio/u32-u32-vsprintf: Likewise.
1819         * modules/unistdio/u32-vasnprintf: Likewise.
1820         * modules/unistdio/u32-vasprintf: Likewise.
1821         * modules/unistdio/u32-vsnprintf: Likewise.
1822         * modules/unistdio/u32-vsprintf: Likewise.
1823         * modules/unistdio/ulc-asnprintf: Likewise.
1824         * modules/unistdio/ulc-asprintf: Likewise.
1825         * modules/unistdio/ulc-fprintf: Likewise.
1826         * modules/unistdio/ulc-snprintf: Likewise.
1827         * modules/unistdio/ulc-sprintf: Likewise.
1828         * modules/unistdio/ulc-vasnprintf: Likewise.
1829         * modules/unistdio/ulc-vasprintf: Likewise.
1830         * modules/unistdio/ulc-vfprintf: Likewise.
1831         * modules/unistdio/ulc-vsnprintf: Likewise.
1832         * modules/unistdio/ulc-vsprintf: Likewise.
1833         * modules/unistr/u8-check: Likewise.
1834         * modules/unistr/u8-chr: Likewise.
1835         * modules/unistr/u8-cmp: Likewise.
1836         * modules/unistr/u8-cmp2: Likewise.
1837         * modules/unistr/u8-cpy: Likewise.
1838         * modules/unistr/u8-cpy-alloc: Likewise.
1839         * modules/unistr/u8-endswith: Likewise.
1840         * modules/unistr/u8-mblen: Likewise.
1841         * modules/unistr/u8-mbsnlen: Likewise.
1842         * modules/unistr/u8-mbtouc: Likewise.
1843         * modules/unistr/u8-mbtouc-unsafe: Likewise.
1844         * modules/unistr/u8-mbtoucr: Likewise.
1845         * modules/unistr/u8-move: Likewise.
1846         * modules/unistr/u8-next: Likewise.
1847         * modules/unistr/u8-prev: Likewise.
1848         * modules/unistr/u8-set: Likewise.
1849         * modules/unistr/u8-startswith: Likewise.
1850         * modules/unistr/u8-stpcpy: Likewise.
1851         * modules/unistr/u8-stpncpy: Likewise.
1852         * modules/unistr/u8-strcat: Likewise.
1853         * modules/unistr/u8-strchr: Likewise.
1854         * modules/unistr/u8-strcmp: Likewise.
1855         * modules/unistr/u8-strcoll: Likewise.
1856         * modules/unistr/u8-strcpy: Likewise.
1857         * modules/unistr/u8-strcspn: Likewise.
1858         * modules/unistr/u8-strdup: Likewise.
1859         * modules/unistr/u8-strlen: Likewise.
1860         * modules/unistr/u8-strmblen: Likewise.
1861         * modules/unistr/u8-strmbtouc: Likewise.
1862         * modules/unistr/u8-strncat: Likewise.
1863         * modules/unistr/u8-strncmp: Likewise.
1864         * modules/unistr/u8-strncpy: Likewise.
1865         * modules/unistr/u8-strnlen: Likewise.
1866         * modules/unistr/u8-strpbrk: Likewise.
1867         * modules/unistr/u8-strrchr: Likewise.
1868         * modules/unistr/u8-strspn: Likewise.
1869         * modules/unistr/u8-strstr: Likewise.
1870         * modules/unistr/u8-strtok: Likewise.
1871         * modules/unistr/u8-to-u16: Likewise.
1872         * modules/unistr/u8-to-u32: Likewise.
1873         * modules/unistr/u8-uctomb: Likewise.
1874         * modules/unistr/u16-check: Likewise.
1875         * modules/unistr/u16-chr: Likewise.
1876         * modules/unistr/u16-cmp: Likewise.
1877         * modules/unistr/u16-cmp2: Likewise.
1878         * modules/unistr/u16-cpy: Likewise.
1879         * modules/unistr/u16-cpy-alloc: Likewise.
1880         * modules/unistr/u16-endswith: Likewise.
1881         * modules/unistr/u16-mblen: Likewise.
1882         * modules/unistr/u16-mbsnlen: Likewise.
1883         * modules/unistr/u16-mbtouc: Likewise.
1884         * modules/unistr/u16-mbtouc-unsafe: Likewise.
1885         * modules/unistr/u16-mbtoucr: Likewise.
1886         * modules/unistr/u16-move: Likewise.
1887         * modules/unistr/u16-next: Likewise.
1888         * modules/unistr/u16-prev: Likewise.
1889         * modules/unistr/u16-set: Likewise.
1890         * modules/unistr/u16-startswith: Likewise.
1891         * modules/unistr/u16-stpcpy: Likewise.
1892         * modules/unistr/u16-stpncpy: Likewise.
1893         * modules/unistr/u16-strcat: Likewise.
1894         * modules/unistr/u16-strchr: Likewise.
1895         * modules/unistr/u16-strcmp: Likewise.
1896         * modules/unistr/u16-strcoll: Likewise.
1897         * modules/unistr/u16-strcpy: Likewise.
1898         * modules/unistr/u16-strcspn: Likewise.
1899         * modules/unistr/u16-strdup: Likewise.
1900         * modules/unistr/u16-strlen: Likewise.
1901         * modules/unistr/u16-strmblen: Likewise.
1902         * modules/unistr/u16-strmbtouc: Likewise.
1903         * modules/unistr/u16-strncat: Likewise.
1904         * modules/unistr/u16-strncmp: Likewise.
1905         * modules/unistr/u16-strncpy: Likewise.
1906         * modules/unistr/u16-strnlen: Likewise.
1907         * modules/unistr/u16-strpbrk: Likewise.
1908         * modules/unistr/u16-strrchr: Likewise.
1909         * modules/unistr/u16-strspn: Likewise.
1910         * modules/unistr/u16-strstr: Likewise.
1911         * modules/unistr/u16-strtok: Likewise.
1912         * modules/unistr/u16-to-u32: Likewise.
1913         * modules/unistr/u16-to-u8: Likewise.
1914         * modules/unistr/u16-uctomb: Likewise.
1915         * modules/unistr/u32-check: Likewise.
1916         * modules/unistr/u32-chr: Likewise.
1917         * modules/unistr/u32-cmp: Likewise.
1918         * modules/unistr/u32-cmp2: Likewise.
1919         * modules/unistr/u32-cpy: Likewise.
1920         * modules/unistr/u32-cpy-alloc: Likewise.
1921         * modules/unistr/u32-endswith: Likewise.
1922         * modules/unistr/u32-mblen: Likewise.
1923         * modules/unistr/u32-mbsnlen: Likewise.
1924         * modules/unistr/u32-mbtouc: Likewise.
1925         * modules/unistr/u32-mbtouc-unsafe: Likewise.
1926         * modules/unistr/u32-mbtoucr: Likewise.
1927         * modules/unistr/u32-move: Likewise.
1928         * modules/unistr/u32-next: Likewise.
1929         * modules/unistr/u32-prev: Likewise.
1930         * modules/unistr/u32-set: Likewise.
1931         * modules/unistr/u32-startswith: Likewise.
1932         * modules/unistr/u32-stpcpy: Likewise.
1933         * modules/unistr/u32-stpncpy: Likewise.
1934         * modules/unistr/u32-strcat: Likewise.
1935         * modules/unistr/u32-strchr: Likewise.
1936         * modules/unistr/u32-strcmp: Likewise.
1937         * modules/unistr/u32-strcoll: Likewise.
1938         * modules/unistr/u32-strcpy: Likewise.
1939         * modules/unistr/u32-strcspn: Likewise.
1940         * modules/unistr/u32-strdup: Likewise.
1941         * modules/unistr/u32-strlen: Likewise.
1942         * modules/unistr/u32-strmblen: Likewise.
1943         * modules/unistr/u32-strmbtouc: Likewise.
1944         * modules/unistr/u32-strncat: Likewise.
1945         * modules/unistr/u32-strncmp: Likewise.
1946         * modules/unistr/u32-strncpy: Likewise.
1947         * modules/unistr/u32-strnlen: Likewise.
1948         * modules/unistr/u32-strpbrk: Likewise.
1949         * modules/unistr/u32-strrchr: Likewise.
1950         * modules/unistr/u32-strspn: Likewise.
1951         * modules/unistr/u32-strstr: Likewise.
1952         * modules/unistr/u32-strtok: Likewise.
1953         * modules/unistr/u32-to-u16: Likewise.
1954         * modules/unistr/u32-to-u8: Likewise.
1955         * modules/unistr/u32-uctomb: Likewise.
1956         * modules/uniwbrk/u8-wordbreaks: Likewise.
1957         * modules/uniwbrk/u16-wordbreaks: Likewise.
1958         * modules/uniwbrk/u32-wordbreaks: Likewise.
1959         * modules/uniwbrk/ulc-wordbreaks: Likewise.
1960         * modules/uniwbrk/wordbreak-property: Likewise.
1961         * modules/uniwidth/u8-strwidth: Likewise.
1962         * modules/uniwidth/u8-width: Likewise.
1963         * modules/uniwidth/u16-strwidth: Likewise.
1964         * modules/uniwidth/u16-width: Likewise.
1965         * modules/uniwidth/u32-strwidth: Likewise.
1966         * modules/uniwidth/u32-width: Likewise.
1967         * modules/uniwidth/width: Likewise.
1968         * modules/unicase/cased-tests (Makefile.am): Link all test programs
1969         with $(LIBUNISTRING).
1970         * modules/unicase/ignorable-tests: Likewise.
1971         * modules/unicase/locale-language-tests: Likewise.
1972         * modules/unicase/tolower-tests: Likewise.
1973         * modules/unicase/totitle-tests: Likewise.
1974         * modules/unicase/toupper-tests: Likewise.
1975         * modules/unicase/u8-casecmp-tests: Likewise.
1976         * modules/unicase/u8-casecoll-tests: Likewise.
1977         * modules/unicase/u8-casefold-tests: Likewise.
1978         * modules/unicase/u8-is-cased-tests: Likewise.
1979         * modules/unicase/u8-is-casefolded-tests: Likewise.
1980         * modules/unicase/u8-is-lowercase-tests: Likewise.
1981         * modules/unicase/u8-is-titlecase-tests: Likewise.
1982         * modules/unicase/u8-is-uppercase-tests: Likewise.
1983         * modules/unicase/u8-tolower-tests: Likewise.
1984         * modules/unicase/u8-totitle-tests: Likewise.
1985         * modules/unicase/u8-toupper-tests: Likewise.
1986         * modules/unicase/u16-casecmp-tests: Likewise.
1987         * modules/unicase/u16-casecoll-tests: Likewise.
1988         * modules/unicase/u16-casefold-tests: Likewise.
1989         * modules/unicase/u16-is-cased-tests: Likewise.
1990         * modules/unicase/u16-is-casefolded-tests: Likewise.
1991         * modules/unicase/u16-is-lowercase-tests: Likewise.
1992         * modules/unicase/u16-is-titlecase-tests: Likewise.
1993         * modules/unicase/u16-is-uppercase-tests: Likewise.
1994         * modules/unicase/u16-tolower-tests: Likewise.
1995         * modules/unicase/u16-totitle-tests: Likewise.
1996         * modules/unicase/u16-toupper-tests: Likewise.
1997         * modules/unicase/u32-casecmp-tests: Likewise.
1998         * modules/unicase/u32-casecoll-tests: Likewise.
1999         * modules/unicase/u32-casefold-tests: Likewise.
2000         * modules/unicase/u32-is-cased-tests: Likewise.
2001         * modules/unicase/u32-is-casefolded-tests: Likewise.
2002         * modules/unicase/u32-is-lowercase-tests: Likewise.
2003         * modules/unicase/u32-is-titlecase-tests: Likewise.
2004         * modules/unicase/u32-is-uppercase-tests: Likewise.
2005         * modules/unicase/u32-tolower-tests: Likewise.
2006         * modules/unicase/u32-totitle-tests: Likewise.
2007         * modules/unicase/u32-toupper-tests: Likewise.
2008         * modules/unicase/ulc-casecmp-tests: Likewise.
2009         * modules/unicase/ulc-casecoll-tests: Likewise.
2010         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
2011         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
2012         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
2013         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
2014         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
2015         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
2016         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
2017         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
2018         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
2019         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
2020         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
2021         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
2022         * modules/unictype/bidicategory-byname-tests: Likewise.
2023         * modules/unictype/bidicategory-name-tests: Likewise.
2024         * modules/unictype/bidicategory-of-tests: Likewise.
2025         * modules/unictype/bidicategory-test-tests: Likewise.
2026         * modules/unictype/block-list-tests: Likewise.
2027         * modules/unictype/block-of-tests: Likewise.
2028         * modules/unictype/block-test-tests: Likewise.
2029         * modules/unictype/category-C-tests: Likewise.
2030         * modules/unictype/category-Cc-tests: Likewise.
2031         * modules/unictype/category-Cf-tests: Likewise.
2032         * modules/unictype/category-Cn-tests: Likewise.
2033         * modules/unictype/category-Co-tests: Likewise.
2034         * modules/unictype/category-Cs-tests: Likewise.
2035         * modules/unictype/category-L-tests: Likewise.
2036         * modules/unictype/category-Ll-tests: Likewise.
2037         * modules/unictype/category-Lm-tests: Likewise.
2038         * modules/unictype/category-Lo-tests: Likewise.
2039         * modules/unictype/category-Lt-tests: Likewise.
2040         * modules/unictype/category-Lu-tests: Likewise.
2041         * modules/unictype/category-M-tests: Likewise.
2042         * modules/unictype/category-Mc-tests: Likewise.
2043         * modules/unictype/category-Me-tests: Likewise.
2044         * modules/unictype/category-Mn-tests: Likewise.
2045         * modules/unictype/category-N-tests: Likewise.
2046         * modules/unictype/category-Nd-tests: Likewise.
2047         * modules/unictype/category-Nl-tests: Likewise.
2048         * modules/unictype/category-No-tests: Likewise.
2049         * modules/unictype/category-P-tests: Likewise.
2050         * modules/unictype/category-Pc-tests: Likewise.
2051         * modules/unictype/category-Pd-tests: Likewise.
2052         * modules/unictype/category-Pe-tests: Likewise.
2053         * modules/unictype/category-Pf-tests: Likewise.
2054         * modules/unictype/category-Pi-tests: Likewise.
2055         * modules/unictype/category-Po-tests: Likewise.
2056         * modules/unictype/category-Ps-tests: Likewise.
2057         * modules/unictype/category-S-tests: Likewise.
2058         * modules/unictype/category-Sc-tests: Likewise.
2059         * modules/unictype/category-Sk-tests: Likewise.
2060         * modules/unictype/category-Sm-tests: Likewise.
2061         * modules/unictype/category-So-tests: Likewise.
2062         * modules/unictype/category-Z-tests: Likewise.
2063         * modules/unictype/category-Zl-tests: Likewise.
2064         * modules/unictype/category-Zp-tests: Likewise.
2065         * modules/unictype/category-Zs-tests: Likewise.
2066         * modules/unictype/category-and-not-tests: Likewise.
2067         * modules/unictype/category-and-tests: Likewise.
2068         * modules/unictype/category-byname-tests: Likewise.
2069         * modules/unictype/category-name-tests: Likewise.
2070         * modules/unictype/category-none-tests: Likewise.
2071         * modules/unictype/category-of-tests: Likewise.
2072         * modules/unictype/category-or-tests: Likewise.
2073         * modules/unictype/category-test-withtable-tests: Likewise.
2074         * modules/unictype/combining-class-tests: Likewise.
2075         * modules/unictype/ctype-alnum-tests: Likewise.
2076         * modules/unictype/ctype-alpha-tests: Likewise.
2077         * modules/unictype/ctype-blank-tests: Likewise.
2078         * modules/unictype/ctype-cntrl-tests: Likewise.
2079         * modules/unictype/ctype-digit-tests: Likewise.
2080         * modules/unictype/ctype-graph-tests: Likewise.
2081         * modules/unictype/ctype-lower-tests: Likewise.
2082         * modules/unictype/ctype-print-tests: Likewise.
2083         * modules/unictype/ctype-punct-tests: Likewise.
2084         * modules/unictype/ctype-space-tests: Likewise.
2085         * modules/unictype/ctype-upper-tests: Likewise.
2086         * modules/unictype/ctype-xdigit-tests: Likewise.
2087         * modules/unictype/decimal-digit-tests: Likewise.
2088         * modules/unictype/digit-tests: Likewise.
2089         * modules/unictype/mirror-tests: Likewise.
2090         * modules/unictype/numeric-tests: Likewise.
2091         * modules/unictype/property-alphabetic-tests: Likewise.
2092         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
2093         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
2094         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
2095         * modules/unictype/property-bidi-block-separator-tests: Likewise.
2096         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
2097         * modules/unictype/property-bidi-common-separator-tests: Likewise.
2098         * modules/unictype/property-bidi-control-tests: Likewise.
2099         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
2100         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
2101         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
2102         * modules/unictype/property-bidi-european-digit-tests: Likewise.
2103         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
2104         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
2105         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
2106         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
2107         * modules/unictype/property-bidi-pdf-tests: Likewise.
2108         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
2109         * modules/unictype/property-bidi-whitespace-tests: Likewise.
2110         * modules/unictype/property-byname-tests: Likewise.
2111         * modules/unictype/property-combining-tests: Likewise.
2112         * modules/unictype/property-composite-tests: Likewise.
2113         * modules/unictype/property-currency-symbol-tests: Likewise.
2114         * modules/unictype/property-dash-tests: Likewise.
2115         * modules/unictype/property-decimal-digit-tests: Likewise.
2116         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
2117         * modules/unictype/property-deprecated-tests: Likewise.
2118         * modules/unictype/property-diacritic-tests: Likewise.
2119         * modules/unictype/property-extender-tests: Likewise.
2120         * modules/unictype/property-format-control-tests: Likewise.
2121         * modules/unictype/property-grapheme-base-tests: Likewise.
2122         * modules/unictype/property-grapheme-extend-tests: Likewise.
2123         * modules/unictype/property-grapheme-link-tests: Likewise.
2124         * modules/unictype/property-hex-digit-tests: Likewise.
2125         * modules/unictype/property-hyphen-tests: Likewise.
2126         * modules/unictype/property-id-continue-tests: Likewise.
2127         * modules/unictype/property-id-start-tests: Likewise.
2128         * modules/unictype/property-ideographic-tests: Likewise.
2129         * modules/unictype/property-ids-binary-operator-tests: Likewise.
2130         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
2131         * modules/unictype/property-ignorable-control-tests: Likewise.
2132         * modules/unictype/property-iso-control-tests: Likewise.
2133         * modules/unictype/property-join-control-tests: Likewise.
2134         * modules/unictype/property-left-of-pair-tests: Likewise.
2135         * modules/unictype/property-line-separator-tests: Likewise.
2136         * modules/unictype/property-logical-order-exception-tests: Likewise.
2137         * modules/unictype/property-lowercase-tests: Likewise.
2138         * modules/unictype/property-math-tests: Likewise.
2139         * modules/unictype/property-non-break-tests: Likewise.
2140         * modules/unictype/property-not-a-character-tests: Likewise.
2141         * modules/unictype/property-numeric-tests: Likewise.
2142         * modules/unictype/property-other-alphabetic-tests: Likewise.
2143         * modules/unictype/property-other-default-ignorable-code-point-tests:
2144         Likewise.
2145         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
2146         * modules/unictype/property-other-id-continue-tests: Likewise.
2147         * modules/unictype/property-other-id-start-tests: Likewise.
2148         * modules/unictype/property-other-lowercase-tests: Likewise.
2149         * modules/unictype/property-other-math-tests: Likewise.
2150         * modules/unictype/property-other-uppercase-tests: Likewise.
2151         * modules/unictype/property-paired-punctuation-tests: Likewise.
2152         * modules/unictype/property-paragraph-separator-tests: Likewise.
2153         * modules/unictype/property-pattern-syntax-tests: Likewise.
2154         * modules/unictype/property-pattern-white-space-tests: Likewise.
2155         * modules/unictype/property-private-use-tests: Likewise.
2156         * modules/unictype/property-punctuation-tests: Likewise.
2157         * modules/unictype/property-quotation-mark-tests: Likewise.
2158         * modules/unictype/property-radical-tests: Likewise.
2159         * modules/unictype/property-sentence-terminal-tests: Likewise.
2160         * modules/unictype/property-soft-dotted-tests: Likewise.
2161         * modules/unictype/property-space-tests: Likewise.
2162         * modules/unictype/property-terminal-punctuation-tests: Likewise.
2163         * modules/unictype/property-test-tests: Likewise.
2164         * modules/unictype/property-titlecase-tests: Likewise.
2165         * modules/unictype/property-unassigned-code-value-tests: Likewise.
2166         * modules/unictype/property-unified-ideograph-tests: Likewise.
2167         * modules/unictype/property-uppercase-tests: Likewise.
2168         * modules/unictype/property-variation-selector-tests: Likewise.
2169         * modules/unictype/property-white-space-tests: Likewise.
2170         * modules/unictype/property-xid-continue-tests: Likewise.
2171         * modules/unictype/property-xid-start-tests: Likewise.
2172         * modules/unictype/property-zero-width-tests: Likewise.
2173         * modules/unictype/scripts-tests: Likewise.
2174         * modules/unictype/syntax-c-ident-tests: Likewise.
2175         * modules/unictype/syntax-c-whitespace-tests: Likewise.
2176         * modules/unictype/syntax-java-ident-tests: Likewise.
2177         * modules/unictype/syntax-java-whitespace-tests: Likewise.
2178         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
2179         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
2180         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
2181         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
2182         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
2183         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
2184         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
2185         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
2186         * modules/uniname/uniname-tests: Likewise.
2187         * modules/uninorm/canonical-decomposition-tests: Likewise.
2188         * modules/uninorm/compat-decomposition-tests: Likewise.
2189         * modules/uninorm/composition-tests: Likewise.
2190         * modules/uninorm/decomposing-form-tests: Likewise.
2191         * modules/uninorm/decomposition-tests: Likewise.
2192         * modules/uninorm/filter-tests: Likewise.
2193         * modules/uninorm/nfc-tests: Likewise.
2194         * modules/uninorm/nfd-tests: Likewise.
2195         * modules/uninorm/nfkc-tests: Likewise.
2196         * modules/uninorm/nfkd-tests: Likewise.
2197         * modules/uninorm/u8-normcmp-tests: Likewise.
2198         * modules/uninorm/u8-normcoll-tests: Likewise.
2199         * modules/uninorm/u16-normcmp-tests: Likewise.
2200         * modules/uninorm/u16-normcoll-tests: Likewise.
2201         * modules/uninorm/u32-normcmp-tests: Likewise.
2202         * modules/uninorm/u32-normcoll-tests: Likewise.
2203         * modules/unistdio/u8-asnprintf-tests: Likewise.
2204         * modules/unistdio/u8-vasnprintf-tests: Likewise.
2205         * modules/unistdio/u8-vasprintf-tests: Likewise.
2206         * modules/unistdio/u8-vsnprintf-tests: Likewise.
2207         * modules/unistdio/u8-vsprintf-tests: Likewise.
2208         * modules/unistdio/u16-asnprintf-tests: Likewise.
2209         * modules/unistdio/u16-vasnprintf-tests: Likewise.
2210         * modules/unistdio/u16-vasprintf-tests: Likewise.
2211         * modules/unistdio/u16-vsnprintf-tests: Likewise.
2212         * modules/unistdio/u16-vsprintf-tests: Likewise.
2213         * modules/unistdio/u32-asnprintf-tests: Likewise.
2214         * modules/unistdio/u32-vasnprintf-tests: Likewise.
2215         * modules/unistdio/u32-vasprintf-tests: Likewise.
2216         * modules/unistdio/u32-vsnprintf-tests: Likewise.
2217         * modules/unistdio/u32-vsprintf-tests: Likewise.
2218         * modules/unistdio/ulc-asnprintf-tests: Likewise.
2219         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
2220         * modules/unistdio/ulc-vasprintf-tests: Likewise.
2221         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
2222         * modules/unistdio/ulc-vsprintf-tests: Likewise.
2223         * modules/unistr/u8-check-tests: Likewise.
2224         * modules/unistr/u8-chr-tests: Likewise.
2225         * modules/unistr/u8-cmp-tests: Likewise.
2226         * modules/unistr/u8-cmp2-tests: Likewise.
2227         * modules/unistr/u8-cpy-alloc-tests: Likewise.
2228         * modules/unistr/u8-cpy-tests: Likewise.
2229         * modules/unistr/u8-mblen-tests: Likewise.
2230         * modules/unistr/u8-mbsnlen-tests: Likewise.
2231         * modules/unistr/u8-mbtouc-tests: Likewise.
2232         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
2233         * modules/unistr/u8-mbtoucr-tests: Likewise.
2234         * modules/unistr/u8-move-tests: Likewise.
2235         * modules/unistr/u8-next-tests: Likewise.
2236         * modules/unistr/u8-prev-tests: Likewise.
2237         * modules/unistr/u8-set-tests: Likewise.
2238         * modules/unistr/u8-stpcpy-tests: Likewise.
2239         * modules/unistr/u8-stpncpy-tests: Likewise.
2240         * modules/unistr/u8-strcat-tests: Likewise.
2241         * modules/unistr/u8-strcmp-tests: Likewise.
2242         * modules/unistr/u8-strcoll-tests: Likewise.
2243         * modules/unistr/u8-strcpy-tests: Likewise.
2244         * modules/unistr/u8-strdup-tests: Likewise.
2245         * modules/unistr/u8-strlen-tests: Likewise.
2246         * modules/unistr/u8-strmblen-tests: Likewise.
2247         * modules/unistr/u8-strmbtouc-tests: Likewise.
2248         * modules/unistr/u8-strncat-tests: Likewise.
2249         * modules/unistr/u8-strncmp-tests: Likewise.
2250         * modules/unistr/u8-strncpy-tests: Likewise.
2251         * modules/unistr/u8-strnlen-tests: Likewise.
2252         * modules/unistr/u8-to-u16-tests: Likewise.
2253         * modules/unistr/u8-to-u32-tests: Likewise.
2254         * modules/unistr/u8-uctomb-tests: Likewise.
2255         * modules/unistr/u16-check-tests: Likewise.
2256         * modules/unistr/u16-chr-tests: Likewise.
2257         * modules/unistr/u16-cmp-tests: Likewise.
2258         * modules/unistr/u16-cmp2-tests: Likewise.
2259         * modules/unistr/u16-cpy-alloc-tests: Likewise.
2260         * modules/unistr/u16-cpy-tests: Likewise.
2261         * modules/unistr/u16-mblen-tests: Likewise.
2262         * modules/unistr/u16-mbsnlen-tests: Likewise.
2263         * modules/unistr/u16-mbtouc-tests: Likewise.
2264         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
2265         * modules/unistr/u16-mbtoucr-tests: Likewise.
2266         * modules/unistr/u16-move-tests: Likewise.
2267         * modules/unistr/u16-next-tests: Likewise.
2268         * modules/unistr/u16-prev-tests: Likewise.
2269         * modules/unistr/u16-set-tests: Likewise.
2270         * modules/unistr/u16-stpcpy-tests: Likewise.
2271         * modules/unistr/u16-stpncpy-tests: Likewise.
2272         * modules/unistr/u16-strcat-tests: Likewise.
2273         * modules/unistr/u16-strcmp-tests: Likewise.
2274         * modules/unistr/u16-strcoll-tests: Likewise.
2275         * modules/unistr/u16-strcpy-tests: Likewise.
2276         * modules/unistr/u16-strdup-tests: Likewise.
2277         * modules/unistr/u16-strlen-tests: Likewise.
2278         * modules/unistr/u16-strmblen-tests: Likewise.
2279         * modules/unistr/u16-strmbtouc-tests: Likewise.
2280         * modules/unistr/u16-strncat-tests: Likewise.
2281         * modules/unistr/u16-strncmp-tests: Likewise.
2282         * modules/unistr/u16-strncpy-tests: Likewise.
2283         * modules/unistr/u16-strnlen-tests: Likewise.
2284         * modules/unistr/u16-to-u32-tests: Likewise.
2285         * modules/unistr/u16-to-u8-tests: Likewise.
2286         * modules/unistr/u16-uctomb-tests: Likewise.
2287         * modules/unistr/u32-check-tests: Likewise.
2288         * modules/unistr/u32-chr-tests: Likewise.
2289         * modules/unistr/u32-cmp-tests: Likewise.
2290         * modules/unistr/u32-cmp2-tests: Likewise.
2291         * modules/unistr/u32-cpy-alloc-tests: Likewise.
2292         * modules/unistr/u32-cpy-tests: Likewise.
2293         * modules/unistr/u32-mblen-tests: Likewise.
2294         * modules/unistr/u32-mbsnlen-tests: Likewise.
2295         * modules/unistr/u32-mbtouc-tests: Likewise.
2296         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
2297         * modules/unistr/u32-mbtoucr-tests: Likewise.
2298         * modules/unistr/u32-move-tests: Likewise.
2299         * modules/unistr/u32-next-tests: Likewise.
2300         * modules/unistr/u32-prev-tests: Likewise.
2301         * modules/unistr/u32-set-tests: Likewise.
2302         * modules/unistr/u32-stpcpy-tests: Likewise.
2303         * modules/unistr/u32-stpncpy-tests: Likewise.
2304         * modules/unistr/u32-strcat-tests: Likewise.
2305         * modules/unistr/u32-strcmp-tests: Likewise.
2306         * modules/unistr/u32-strcoll-tests: Likewise.
2307         * modules/unistr/u32-strcpy-tests: Likewise.
2308         * modules/unistr/u32-strdup-tests: Likewise.
2309         * modules/unistr/u32-strlen-tests: Likewise.
2310         * modules/unistr/u32-strmblen-tests: Likewise.
2311         * modules/unistr/u32-strmbtouc-tests: Likewise.
2312         * modules/unistr/u32-strncat-tests: Likewise.
2313         * modules/unistr/u32-strncmp-tests: Likewise.
2314         * modules/unistr/u32-strncpy-tests: Likewise.
2315         * modules/unistr/u32-strnlen-tests: Likewise.
2316         * modules/unistr/u32-to-u16-tests: Likewise.
2317         * modules/unistr/u32-to-u8-tests: Likewise.
2318         * modules/unistr/u32-uctomb-tests: Likewise.
2319         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
2320         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
2321         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
2322         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
2323         * modules/uniwidth/u8-strwidth-tests: Likewise.
2324         * modules/uniwidth/u8-width-tests: Likewise.
2325         * modules/uniwidth/u16-strwidth-tests: Likewise.
2326         * modules/uniwidth/u16-width-tests: Likewise.
2327         * modules/uniwidth/u32-strwidth-tests: Likewise.
2328         * modules/uniwidth/u32-width-tests: Likewise.
2329         * modules/uniwidth/width-tests: Likewise.
2330
2331 2010-05-18  Richard Jones  <rjones@redhat.com>
2332
2333         doc: users.txt: list hivex
2334         * users.txt: Add hivex.
2335
2336 2010-05-18  Richard Jones  <rjones@redhat.com>
2337
2338         doc: users.txt: list febootstrap
2339         * users.txt: Add febootstrap.
2340
2341 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
2342
2343         bootstrap: fix an error when gnulib is not used as a git submodule
2344         * build-aux/bootstrap (gnulib_path): If its length is zero then
2345         assign "gnulib" to it.
2346         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
2347
2348 2010-05-16  Bruno Haible  <bruno@clisp.org>
2349
2350         Avoid autoconf warnings about AM_ICONV.
2351         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
2352         2.64.
2353
2354 2010-05-16  Bruno Haible  <bruno@clisp.org>
2355
2356         absolute-header: Make the macro usable in more situations.
2357         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
2358         from gl_ABSOLUTE_HEADER.
2359         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
2360
2361 2010-05-16  James Youngman  <jay@gnu.org>
2362
2363         doc: update users.txt
2364         * users.txt: Add CSSC.
2365
2366 2010-05-16  Jim Meyering  <meyering@redhat.com>
2367
2368         init.sh: fix an error in the previous change; add more comments
2369         * tests/init.sh: Compare exit code in loop against 9, not 2.
2370         Patch by Bruno Haible.
2371         Make the two tests more similar by adding an empty "then" clause.
2372         Add comments.
2373
2374         init.sh: avoid unnecessary shell re-exec
2375         * tests/init.sh: Improve the re-exec-required check to first test the
2376         current shell.  If it passes the test, do not search for a shell that
2377         does pass, and do not re-exec.  This test is particularly contorted to
2378         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
2379         of $(...) evokes a syntax error and causes immediate shell exit with
2380         status 2.  Bruno Haible reported that the re-exec made it impossible
2381         to single-step through any init.sh-using script.
2382
2383 2010-05-16  Bruno Haible  <bruno@clisp.org>
2384
2385         Fix collision between gnulib's and libintl's printf replacements.
2386         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
2387         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
2388         (printf): When using GNU C, map the __printf__ function to rpl_printf
2389         via __asm__. When not using GNU C, define rpl_printf instead of
2390         __printf__.
2391         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
2392         commit.
2393         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
2394         commit.
2395         * m4/asm-underscore.m4: New file.
2396         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
2397         * modules/stdio (Files): Add m4/asm-underscore.m4.
2398         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
2399         Reported by Ben Pfaff.
2400
2401 2010-05-16  Bruno Haible  <bruno@clisp.org>
2402
2403         verify: Avoid skipping the test on openSUSE 11.0.
2404         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
2405
2406 2010-05-13  Bruno Haible  <bruno@clisp.org>
2407
2408         Avoid useless warnings from G++.
2409         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
2410         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
2411         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2412
2413 2010-05-11  Jim Meyering  <meyering@redhat.com>
2414
2415         maint.mk: tweak preceding change
2416         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
2417         regexps tighter by anchoring at EOL, and make the new group "shy"
2418         for slightly decreased overhead.
2419
2420 2010-05-11  Eric Blake  <eblake@redhat.com>
2421
2422         maint.mk: gnulib doesn't guarantee NSIG
2423         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
2424
2425 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2426
2427         test-pwrite.c: Remove unused variable declaration.
2428         * tests/test-pwrite.c (main): Remove read_buf declaration.
2429
2430         Remove useless test-pwrite.sh file.
2431         * tests/test-pwrite.sh: Delete file.
2432         * modules/pwrite-tests: Remove references.
2433         Reported by Bruno Haible.
2434
2435 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2436
2437         init.sh: fix a typo
2438         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
2439
2440 2010-05-10  Jim Meyering  <meyering@redhat.com>
2441
2442         maint.mk: avoid using a temporary file in the always-defined-macros check
2443         * top/maint.mk (.re-defmac): Remove rule.
2444         (gl_trap_): Remove definition.
2445         (sc_prohibit_always-defined_macros): Rewrite not to create and
2446         depend on a temporary file.  Instead, depend on GNU grep's ability
2447         to read a list of regular expressions from stdin when given "-f -".
2448
2449 2010-05-09  Bruno Haible  <bruno@clisp.org>
2450
2451         Update to GNU gettext 0.18, part 1.
2452         * m4/gettext.m4: Update to GNU gettext 0.18.
2453         * m4/intl.m4: Likewise.
2454         * m4/po.m4: Likewise.
2455         * modules/gettext (Files): Add m4/fcntl-o.m4.
2456         (configure.ac): Require gettext infrastructure from version 0.18.
2457
2458 2010-05-09  Jim Meyering  <meyering@redhat.com>
2459
2460         init.sh: enable MALLOC_PERTURB_
2461         * tests/init.sh: Enable glibc's malloc-perturbing option.
2462
2463         maint.mk: improve sc_cross_check_PATH_usage_in_tests
2464         With my recent change in init.sh from the two-line form:
2465             -#   : ${srcdir=.}
2466             -#   . "$srcdir/init.sh"; path_prepend_ .
2467             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
2468         I noticed that using the one-line form would cause this test
2469         to fail with a false-positive, or to stop working altogether,
2470         depending on whether help-version changed or all the tests did.
2471         * top/maint.mk (_hv_regex): Remove this definition.
2472         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
2473         (_hv_regex_strong): Use a stronger regex to check for conformance.
2474         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
2475         Give a separate diagnostic for lack of conforming use.
2476
2477         maint.mk: prohibit definition of symbols defined by gnulib
2478         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
2479         definition of symbols defined by gnulib.
2480
2481 2010-05-09  Bruno Haible  <bruno@clisp.org>
2482
2483         acl: Avoid test failure on Cygwin-hosted mingw.
2484         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
2485
2486 2010-05-09  Bruno Haible  <bruno@clisp.org>
2487
2488         error: Use system's fcntl function.
2489         * lib/error.c (fcntl): Undefine.
2490
2491 2010-05-09  Jim Meyering  <meyering@redhat.com>
2492
2493         verify: adjust formatting to be more consistent
2494         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
2495         argument-list '('s, and after one comma.
2496
2497 2010-05-09  Bruno Haible  <bruno@clisp.org>
2498
2499         error: More reliable output on mingw.
2500         * lib/error.c: Include <windows.h>.
2501         (is_open): New function.
2502         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
2503         defined.
2504
2505 2010-05-09  Bruno Haible  <bruno@clisp.org>
2506
2507         vasnprintf: Fix syntax errors in libintl build on mingw.
2508         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
2509         pad_ourselves and prec_ourselves after use.
2510
2511 2010-05-08  Bruno Haible  <bruno@clisp.org>
2512
2513         * lib/config.charset: Update comments for Cygwin 1.7.
2514         * lib/localcharset.c: Likewise.
2515
2516 2010-05-07  Jim Meyering  <meyering@redhat.com>
2517
2518         init.sh: improve comments
2519         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
2520         . "${srcdir=.}/init.sh"; path_prepend_ .
2521         Add a note about path_prepend_ and the alternative of using
2522         TESTS_ENVIRONMENT.
2523
2524 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2525
2526         exclude: Unescape hashed patterns in wildcard mode.
2527         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
2528         to the hash list.
2529         * tests/test-exclude8.sh: New test case.
2530         * modules/exclude-tests: Add new test.
2531
2532 2010-05-05  Eric Blake  <eblake@redhat.com>
2533
2534         verify: automate tests
2535         * modules/verify-tests: New module.
2536         * tests/test-verify.sh: New file.
2537         * tests/test-verify.c: Guard each negative test with a unique id.
2538         Also avoid warning about unused left hand of comma expressions.
2539
2540 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2541
2542         Further improvements to verify.h, suggested by Eric Blake.
2543         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
2544         the GL_* versions, to avoid collision with OpenGL.
2545         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
2546         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
2547         than testing merely whether it's defined.
2548
2549         Modify verify.h to pacify gcc -Wredundant_decls.
2550         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
2551         These use the prefix "GL_" since they're likely to be useful elsewhere.
2552         We may need to break them out into a different .h file.
2553         (__COUNTER__): Define to 0 if the compiler doesn't support it.
2554         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
2555         of verify_function__.
2556
2557 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2558
2559         Tests for module pwrite.
2560         * modules/pwrite-tests: New file.
2561         * tests/test-pwrite.sh: New file.
2562         * tests/test-pwrite.c: New file.
2563
2564         New module pwrite.
2565         * lib/unistd.in.h (pwrite): New declaration.
2566         * lib/pwrite.c: New file, from glibc with modifications.
2567         * m4/pwrite.m4: New file.
2568         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
2569         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
2570         REPLACE_PWRITE.
2571         * modules/pwrite: New file.
2572         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
2573         REPLACE_PWRITE.
2574         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
2575         * doc/posix-functions/pwrite.texi: Mention the new module.
2576
2577 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2578
2579         pread: Update documentation.
2580         * doc/posix-functions/pread.texi: Mention the 'pread' module.
2581
2582 2010-05-04  Eric Blake  <eblake@redhat.com>
2583
2584         docs: update cygwin progress
2585         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
2586         this bug.
2587         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
2588         Added in cygwin 1.7.2.
2589         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
2590         Likewise.
2591         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
2592         Likewise.
2593         * doc/glibc-functions/dup3.texi (dup3): Likewise.
2594         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2595         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2596         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
2597         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
2598         Mention nproc module.
2599         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
2600         bug in cygwin 1.7.5 addition.
2601         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
2602         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
2603         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
2604         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
2605         1.7.5.
2606         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
2607         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
2608         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
2609         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
2610         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
2611         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
2612         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
2613         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
2614         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
2615         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
2616         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
2617         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
2618         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
2619         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
2620         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
2621         Likewise.
2622         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
2623         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
2624         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
2625         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
2626         Likewise.
2627         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
2628         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
2629         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
2630         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
2631         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
2632         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
2633         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
2634         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
2635         Likewise.
2636         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
2637         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
2638         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
2639         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
2640         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
2641         Likewise.
2642         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
2643         Likewise.
2644         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
2645         Likewise.
2646         * doc/glibc-functions/xdrrec_endofrecord.texi
2647         (xdrrec_endofrecord): Likewise.
2648         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
2649         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
2650         Likewise.
2651         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
2652         Likewise.
2653
2654 2010-05-04  Jim Meyering  <meyering@redhat.com>
2655
2656         gendocs.sh: make its "-s FILE" option more useful
2657         * build-aux/gendocs.sh: When honoring the -s FILE option, update
2658         $PACKAGE to reflect the probably-different basename of "FILE".
2659
2660 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2661
2662         bootstrap: don't ignore download_po_files failure
2663         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
2664         failure.
2665
2666 2010-05-03  Jim Meyering  <meyering@redhat.com>
2667
2668         maint.mk: allow to pass options to gendocs.sh
2669         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
2670         (gendocs_options_): New overridable variable.
2671
2672         gnu-web-doc-update: don't ignore configure or build failure
2673         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
2674
2675         announce-gen: backslash-escape '@'s in --help output
2676         * build-aux/announce-gen: Fix syntax errors.
2677
2678         maint.mk, announce-gen: allow project-specific announcement mail headers
2679         * top/maint.mk (translation_project_): Define default.
2680         (announcement_Cc_, announcement_mail_headers_): Likewise.
2681         (announcement): Invoke announce-gen with new --mail-headers option.
2682         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
2683
2684         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
2685         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
2686         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
2687         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
2688         line in the "err2" output file when running "make check" in verbose
2689         mode (i.e., with set -x enabled).
2690
2691 2010-05-03  Bruno Haible  <bruno@clisp.org>
2692
2693         wctob: Fix for weird platforms.
2694         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
2695         argument value.
2696
2697 2010-05-03  Jim Meyering  <meyering@redhat.com>
2698
2699         maint.mk: prohibit unwarranted use of <strings.h>
2700         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
2701         strings.h in a file that does not also use strcasecmp, strncasecmp,
2702         ffs or ffsll.
2703
2704         maint.mk: remove obsolete comments
2705         * top/maint.mk: Remove stale, commented-out rules.
2706
2707 2010-05-02  Bruno Haible  <bruno@clisp.org>
2708
2709         wcwidth: Declare also when it's aliased.
2710         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
2711         macro.
2712
2713 2010-05-02  Bruno Haible  <bruno@clisp.org>
2714
2715         Fix regression from 2010-04-25.
2716         * gnulib-tool (func_modules_transitive_closure): Check the status of
2717         all modules, not only of the tests that are of the form foo-tests where
2718         foo is a module.
2719
2720 2010-05-02  Bruno Haible  <bruno@clisp.org>
2721
2722         wctob: Work around nasty Cygwin 1.7.2 bug.
2723         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
2724         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
2725
2726 2010-05-01  Bruno Haible  <bruno@clisp.org>
2727
2728         fpurge: Sharper test.
2729         * tests/test-fpurge.c (main): Add one more ftell check.
2730         * modules/fpurge-tests (Depends-on): Add ftell.
2731         Suggested by Eric Blake.
2732
2733 2010-05-01  Bruno Haible  <bruno@clisp.org>
2734
2735         ftello: Another test.
2736         * tests/test-ftello3.c: New file.
2737         * modules/ftello-tests (Files): Add it.
2738         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2739         MOSTLYCLEANFILES.
2740
2741         ftell: Another test.
2742         * tests/test-ftell3.c: New file.
2743         * modules/ftell-tests (Files): Add it.
2744         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2745         MOSTLYCLEANFILES.
2746
2747 2010-05-01  Bruno Haible  <bruno@clisp.org>
2748
2749         ftell, ftello: Work around Solaris bug.
2750         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
2751         * lib/ftello.c: Include stdio-impl.h.
2752         (ftello): On Solaris, when _IOWRT is set, compute the result without
2753         looking at _IOREAD.
2754         * modules/ftello (Files): Add lib/stdio-impl.h.
2755         * doc/posix-functions/ftell.texi: Mention Solaris bug.
2756         * doc/posix-functions/ftello.texi: Likewise.
2757         Reported by Eric Blake.
2758
2759 2010-05-01  Bruno Haible  <bruno@clisp.org>
2760
2761         freading: Adapt to special meaning of _IOREAD flag on Solaris.
2762         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
2763         the _IOWRT flag is also set.
2764
2765 2010-05-01  Bruno Haible  <bruno@clisp.org>
2766
2767         Fix doc about a HP-UX stdio bug.
2768         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
2769         * doc/posix-functions/ftello.texi: Likewise.
2770
2771 2010-05-01  Bruno Haible  <bruno@clisp.org>
2772
2773         lseek test: Fix failure on Solaris.
2774         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
2775         output.
2776
2777 2010-04-30  Jim Meyering  <meyering@redhat.com>
2778
2779         bootstrap: don't ignore failure to generate po*/Makevars
2780         * build-aux/bootstrap (with_gettext): Don't ignore failure
2781         to create po/Makevars or runtime-po/Makevars.
2782
2783 2010-04-29  Eric Blake  <eblake@redhat.com>
2784
2785         headers: relax license to LGPLv2+
2786         * modules/fcntl-h (License): Relax license.
2787         * modules/getopt-posix (License): Likewise.
2788         * modules/locale (License): Likewise.
2789         * modules/math (License): Likewise.
2790         * modules/pty (License): Likewise.
2791         * modules/sched (License): Likewise.
2792         * modules/search (License): Likewise.
2793         * modules/spawn (License): Likewise.
2794         * modules/stdarg (License): Likewise.
2795         * modules/sysexits (License): Likewise.
2796
2797 2010-04-29  Jim Meyering  <meyering@redhat.com>
2798
2799         inttypes: relax license to LGPLv2+
2800         * modules/inttypes (License): Relax license.
2801
2802 2010-04-29  Simon Josefsson  <simon@josefsson.org>
2803
2804         * top/maint.mk (indent): Run twice to produce idempotent results.
2805
2806 2010-04-28  Bruno Haible  <bruno@clisp.org>
2807
2808         getdate: Generate getdate.c in the source directory.
2809         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
2810         MOSTLYCLEANFILES.
2811         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
2812
2813 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
2814
2815         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
2816         is not declared as a const *; avoid warnings in that case.
2817
2818 2010-04-28  Eric Blake  <eblake@redhat.com>
2819
2820         canonicalize-lgpl: avoid compiler warning
2821         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
2822         declaration' / 'extraneous semicolon' warning with some compilers.
2823         Reported by Andreas Gruenbacher.
2824
2825 2010-04-28  Jim Meyering  <meyering@redhat.com>
2826
2827         init.sh: ensure a more reliable exit status when exiting via trap
2828         * tests/init.sh (setup_): Don't rely on $? in signal handler.
2829         Inspired by patches from Dmitry V. Levin.
2830         Also trap on signal 3 (SIGQUIT).
2831
2832 2010-04-27  Bruno Haible  <bruno@clisp.org>
2833
2834         Update doc about utimes().
2835         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
2836         'utimens' module.
2837         Reported by Andreas Gruenbacher <agruen@suse.de>.
2838
2839 2010-04-27  Eric Blake  <eblake@redhat.com>
2840
2841         full-read, full-write: relax license
2842         * modules/full-read (License): Drop to LGPLv2+.
2843         * modules/full-write (License): Likewise.
2844         * modules/safe-read (License): Likewise.
2845         * modules/safe-write (License): Likewise.
2846
2847         pthread: mention library for linking
2848         * modules/pthread (Link): Mention $(LIB_PTHREAD).
2849
2850 2010-04-27  Jim Meyering  <meyering@redhat.com>
2851
2852         maint.mk: fix a bug introduced in last change
2853         * top/maint.mk (gl_assured_headers_): Now that all names are on
2854         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
2855         is not anchored to end of word, it should be adequate.
2856
2857         maint.mk: avoid side-effect in latest syntax-check
2858         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
2859         to run commands via $(shell...), and hence to incur cost only when
2860         the new rule is actually run.
2861
2862         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
2863         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
2864         and use that to create a regexp used to detect all #if HAVE_..._H uses.
2865         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
2866         (gl_assured_headers_, az_, AZ_): Define.
2867         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
2868
2869 2010-04-26  Jim Meyering  <jim@meyering.net>
2870             Bruno Haible  <bruno@clisp.org>
2871
2872         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
2873         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
2874         Prompted by an exchange with Gilles Espinasse.
2875
2876 2010-04-26  Jim Meyering  <meyering@redhat.com>
2877
2878         git-version-gen: aesthetic tweak
2879         * build-aux/git-version-gen: Use "$nl" rather than a literal,
2880         so that the command remains on a single line.
2881
2882 2010-04-26  Eric Blake  <eblake@redhat.com>
2883
2884         git-version-gen: allow use on EBCDIC hosts
2885         * build-aux/git-version-gen (dirty): Use literal rather than tying
2886         ourselves to ascii.
2887         Reported by Steve Goetze.
2888
2889 2010-04-25  Bruno Haible  <bruno@clisp.org>
2890
2891         netdb: Add support for GNULIB_POSIXCHECK.
2892         * lib/netdb.in.h: Include warn-on-use.h.
2893         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
2894         functions are used when GNULIB_POSIXCHECK is defined and the
2895         getaddrinfo module is not in use.
2896         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
2897         freeaddrinfo, gai_strerror, getnameinfo are declared.
2898         * modules/netdb (Depends-on): Add warn-on-use.
2899         (Makefile.am): Include warn-on-use.h in netdb.h.
2900
2901 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
2902
2903         build: avoid "make check" failure without .git/ directory
2904         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
2905         there is no .git/ directory.
2906
2907 2010-04-25  Bruno Haible  <bruno@clisp.org>
2908
2909         ptsname: Fix misuse of ttyname_r.
2910         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
2911         of errno.
2912
2913 2010-04-25  Bruno Haible  <bruno@clisp.org>
2914
2915         ttyname_r: Make it work on Solaris 10.
2916         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
2917         if the system function has the POSIX declaration. Test whether the
2918         function fails if the buffer is less than 128 bytes large.
2919         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
2920         system's ttyname_r function. Provide a reasonably large buffer.
2921         * modules/ttyname_r (Depends-on): Add extensions.
2922         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
2923
2924 2010-04-25  Bruno Haible  <bruno@clisp.org>
2925
2926         Use the 'extensions' module for some more functions on Solaris.
2927         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
2928         module.
2929         * doc/posix-functions/ctime_r.texi: Likewise.
2930         * doc/posix-functions/getgrgid_r.texi: Likewise.
2931         * doc/posix-functions/getgrnam_r.texi: Likewise.
2932         * doc/posix-functions/getpwnam_r.texi: Likewise.
2933         * doc/posix-functions/getpwuid_r.texi: Likewise.
2934         * doc/posix-functions/readdir_r.texi: Likewise.
2935         * doc/posix-functions/sigwait.texi: Likewise.
2936         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
2937         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
2938
2939 2010-04-25  Bruno Haible  <bruno@clisp.org>
2940
2941         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
2942         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
2943         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
2944         * lib/ttyname_r.c: Include <limits.h>.
2945         (ttyname_r): Define using the system's ttyname_r function, if it exists
2946         and not on Solaris.
2947         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
2948         set.
2949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
2950         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
2951         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
2952         Reported by Simon Josefsson.
2953
2954 2010-04-25  Bruno Haible  <bruno@clisp.org>
2955
2956         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
2957         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
2958         * doc/posix-functions/ctime_r.texi: Likewise.
2959         * doc/posix-functions/getgrgid_r.texi: Likewise.
2960         * doc/posix-functions/getgrnam_r.texi: Likewise.
2961         * doc/posix-functions/getlogin_r.texi: Likewise.
2962         * doc/posix-functions/getpwnam_r.texi: Likewise.
2963         * doc/posix-functions/getpwuid_r.texi: Likewise.
2964         * doc/posix-functions/readdir_r.texi: Likewise.
2965         * doc/posix-functions/sigwait.texi: Likewise.
2966         * doc/posix-functions/ttyname_r.texi: Likewise.
2967         Reported by Simon Josefsson.
2968
2969 2010-04-25  Bruno Haible  <bruno@clisp.org>
2970
2971         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
2972         * gnulib-tool (func_usage): Document that --with-*-tests options apply
2973         also to --create-testdir.
2974         (func_acceptable): Don't consider the status of *-tests modules here.
2975         (func_modules_transitive_closure): Consider it here, before including a
2976         test module.
2977         (func_import, func_create_testdir): Set inc_all_direct_tests,
2978         inc_all_indirect_tests.
2979         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
2980         --create-testdir and --create-megatestdir.
2981
2982 2010-04-25  Bruno Haible  <bruno@clisp.org>
2983
2984         gnulib-tool: Add --without-*-tests options.
2985         * gnulib-tool (func_usage): Document the --without-*-tests options.
2986         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
2987         excl_unportable_tests): New variables.
2988         Fail if they are specified with --import or --update.
2989         (func_acceptable): Respect the excl_*_tests variables.
2990         (func_import): Set the excl_*_tests variables to empty.
2991
2992 2010-04-25  Simon Josefsson  <simon@josefsson.org>
2993             Bruno Haible  <bruno@clisp.org>
2994
2995         Work around a MacOS X 10.4 bug with openpty.
2996         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
2997         * tests/test-openpty.c (main): Close the master side explicitly.
2998
2999 2010-04-25  Bruno Haible  <bruno@clisp.org>
3000
3001         strnlen: Fix a C++ test error on MacOS X and Solaris.
3002         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
3003         the function is not declared.
3004         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
3005         Simon Josefsson.
3006
3007 2010-04-24  Bruno Haible  <bruno@clisp.org>
3008
3009         Avoid a gcc warning.
3010         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
3011         of correct type for %08lx directive.
3012         Reported by Eric Blake.
3013
3014 2010-04-24  Bruno Haible  <bruno@clisp.org>
3015
3016         vasnprintf: Correct errno value in case of out-of-memory.
3017         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
3018         or sprintf. Use the errno value from SNPRINTF or sprintf.
3019         Reported by Ian Beckwith <ianb@erislabs.net>.
3020
3021 2010-04-24  Bruno Haible  <bruno@clisp.org>
3022
3023         ansi-c++-opt: Find correct compiler when cross-compiling.
3024         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
3025         AC_CHECK_PROGS.
3026         Reported by Simon Josefsson.
3027
3028 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
3029
3030         vc-list-files: Add support for subversion
3031         * build-aux/vc-list-files: Use "svn list" to generate the list of
3032         files controlled by subversion.
3033
3034 2010-04-23  Jim Meyering  <meyering@redhat.com>
3035
3036         vc-list-files tests: convert to use init.sh
3037         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
3038         path_prepend_.
3039         Use Exit, not exit.
3040         Use skip_ rather than open coding it.
3041         Remove trap set-up and compare definitions.
3042         * tests/test-vc-list-files-git.sh: Likewise.
3043         * modules/vc-list-files-tests (Files): Add tests/init.sh.
3044
3045 2010-04-22  Simon Josefsson  <simon@josefsson.org>
3046
3047         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
3048         backup files.
3049
3050 2010-04-21  Simon Josefsson  <simon@josefsson.org>
3051
3052         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
3053
3054 2010-04-20  Eric Blake  <eblake@redhat.com>
3055
3056         tests: be robust to ignored SIGPIPE
3057         * tests/test-select-in.sh: Consume all output.
3058         * tests/test-lseek.sh: Check correct exit status, while avoiding
3059         EPIPE.
3060
3061 2010-04-20  Simon Josefsson  <simon@josefsson.org>
3062             Bruno Haible  <bruno@clisp.org>
3063
3064         visibility: Don't use -fvisibility if it leads to a warning.
3065         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
3066         yes, don't pretend that visibility works if it leads to a warning.
3067         Reported by Mike Gran <spk121@yahoo.com>.
3068
3069 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
3070
3071         * build-aux/bootstrap: Use "git -h" for testing for supported options
3072         instead of "git --help".  The short-form option only shows a summary,
3073         and doesn't layout the full man page.  Grep for the full option name
3074         in the summary, too.
3075
3076 2010-04-19  Bruno Haible  <bruno@clisp.org>
3077
3078         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
3079         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
3080         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
3081         mention of RELOCATABLE_STRIP.
3082         Reported by Sylvain Beucler <beuc@beuc.net>.
3083
3084 2010-04-19  Bruno Haible  <bruno@clisp.org>
3085
3086         * lib/diffseq.h: Fix typo in comment.
3087         Reported by Eric Blake.
3088
3089 2010-04-19  Bruno Haible  <bruno@clisp.org>
3090
3091         ioctl: Move autoconf macro to a .m4 file.
3092         * m4/ioctl.m4: New file, extracted from modules/ioctl.
3093         * modules/ioctl (Files): Add it.
3094         (configure.ac): Simply invoke gl_FUNC_IOCTL.
3095         Reported by Ian Beckwith <ianb@erislabs.net>.
3096
3097 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
3098             Bruno Haible  <bruno@clisp.org>
3099
3100         diffseq: Accommodate use-case with abstract arrays.
3101         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
3102         is not defined.
3103         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
3104         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
3105
3106 2010-04-18  Bruno Haible  <bruno@clisp.org>
3107
3108         * doc/posix-headers/stdbool.texi: More precise wording.
3109
3110 2010-04-17  Jim Meyering  <meyering@redhat.com>
3111
3112         maint.mk: use gnu-style indentation in an embedded perl script
3113         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
3114         Rename variable: s/two/last_two_bytes/
3115
3116 2010-04-16  Eric Blake  <eblake@redhat.com>
3117
3118         test-stdbool: skip test that fails with Solaris CC
3119         * tests/test-stdbool.c (f): Skip test that causes compilation
3120         error under buggy C++ compiler.
3121         * lib/stdbool.in.h: Document the limitation.
3122         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
3123
3124         setenv: allow compilation with C++
3125         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
3126         register keyword.
3127
3128         stdint: allow test to pass with C++
3129         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
3130
3131         getopt: allow compilation with C++
3132         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
3133         struct.
3134         * lib/getopt.c (_getopt_internal_r): Use correct type.
3135         Reported by Dagobert Michelson, via Joel E. Denny.
3136
3137 2010-04-16  Bruno Haible  <bruno@clisp.org>
3138
3139         Override netdb.h always.
3140         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
3141         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
3142         Reported by Ludovic Courtès <ludo@gnu.org>.
3143
3144 2010-04-15  Bruno Haible  <bruno@clisp.org>
3145
3146         openpty: Fix mistake from 2010-03-21.
3147         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
3148         Reported by Simon Josefsson.
3149
3150 2010-04-15  Eric Blake  <eblake@redhat.com>
3151
3152         test-forkpty: fix expected signature
3153         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
3154         Reported by Simon Josefsson.
3155
3156 2010-04-15  Jim Meyering  <meyering@redhat.com>
3157
3158         maint.mk: texinfo_suffix_re_: correct the default regexp
3159         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
3160
3161         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
3162         make it configurable via texinfo_suffix_re_.
3163
3164 2010-04-14  Eric Blake  <eblake@redhat.com>
3165
3166         strtok_r: relax license to LGPLv2+
3167         * modules/strtok_r (License): Relax license.
3168         Reported by Matthias Bolte.
3169
3170 2010-04-14  Simon Josefsson  <simon@josefsson.org>
3171
3172         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
3173         version 1.4.4 by default instead of requiring the libgcrypt
3174         version used during build.  This makes it possible to use the
3175         application with older but still binary compatible libgcrypt
3176         versions.
3177
3178 2010-04-13  Eric Blake  <eblake@redhat.com>
3179
3180         getopt-gnu: match recent glibc fixes and posix ruling
3181         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
3182         '+' handling, when requesting extensions.
3183         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
3184         'W;' handling.
3185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
3186         * doc/posix-functions/getopt.texi (getopt): Document this.
3187         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3188         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3189         Likewise.
3190
3191         getopt: merge bug fixes from glibc
3192         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
3193         diagnostics.  Honor '+:' correctly.  Reject ';'.
3194
3195         getopt-posix: detect MacOS bug
3196         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
3197         optind when missing a required argument.
3198         * doc/posix-functions/getopt.texi (getopt): Document the bug.
3199         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3200         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3201         Likewise.
3202
3203         getopt-posix: avoid spurious failure on Solaris
3204         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
3205         an indicator that setting optind=1 is sufficient for reset.
3206
3207         getopt-posix: avoid spurious failure on FreeBSD
3208         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
3209         in POSIX mode, since the m4 test uses it.
3210
3211         gnulib-tool: silence warning on BSD sh
3212         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
3213
3214 2010-04-13  Jim Meyering  <meyering@redhat.com>
3215
3216         doc: users.txt: GNU patch now uses gnulib
3217         * users.txt: Add patch.
3218
3219 2010-04-12  Jim Meyering  <meyering@redhat.com>
3220
3221         maint.mk: generate more concise timing data for syntax-check rules
3222         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
3223         " done" from each line that reports a syntax-check test duration.
3224
3225 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
3226
3227         git-version-gen: use "git update-index..." rather than "git status"
3228         * build-aux/git-version-gen: Use git update-index --refresh, not
3229         "git status".  With some versions of git, "git status" would fail
3230         to update the index and result in an unwarranted "-dirty" suffix.
3231
3232 2010-04-11  Jim Meyering  <meyering@redhat.com>
3233
3234         openat: correct formatting (no semantic change)
3235         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
3236         Suggested by Bruno Haible.
3237
3238 2010-04-11  Bruno Haible  <bruno@clisp.org>
3239
3240         Stricter declaration checking in testdirs.
3241         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3242         If for_tests is true, augment AM_CPPFLAGS to define
3243         GNULIB_STRICT_CHECKING.
3244         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
3245         GNULIB_STRICT_CHECKING is defined, verify that the function is
3246         declared.
3247
3248 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
3249             Bruno Haible  <bruno@clisp.org>
3250
3251         libunistring: Improve configure output.
3252         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
3253         Don't say "consider installing GNU libunistring" when checking again
3254         with libiconv.
3255
3256 2010-04-11  Bruno Haible  <bruno@clisp.org>
3257
3258         libunistring: Correct value of $LTLIBUNISTRING.
3259         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
3260         correct the value of $LTLIBUNISTRING.
3261
3262 2010-04-11  Bruno Haible  <bruno@clisp.org>
3263
3264         havelib: Add static libraries to LIBS in the right order.
3265         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
3266         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
3267
3268 2010-04-11  Bruno Haible  <bruno@clisp.org>
3269
3270         libunistring: Detect libunistring also when it depends on libiconv.
3271         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
3272         the second AC_LIB_HAVE_LINKFLAGS invocation.
3273
3274 2010-04-11  James Youngman  <jay@gnu.org>
3275
3276         close-stream: declare local scalars to be "const"
3277         * lib/close-stream.c (close_stream): Make boolean variables const
3278         to document the fact that we set but do not change them.
3279
3280 2010-04-11  Bruno Haible  <bruno@clisp.org>
3281
3282         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
3283
3284 2010-04-11  Jim Meyering  <meyering@redhat.com>
3285
3286         maint.mk: don't include dist-check.mk
3287         * top/maint.mk: Remove bogus include directive.
3288
3289         maint.mk: improve empty-line-at-EOF check
3290         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
3291         solution, rather than tail+Perl-based one.  The latter would read
3292         a few kilobytes from the end of each file, and did not handle empty
3293         files properly.
3294
3295         maint.mk: print the elapsed time for each syntax-check rule
3296         * top/maint.mk (sc_m_rules_): Save start time in a file.
3297         (sc_z_rules_): New rules: remove temp file and print elapsed time.
3298         (local-check): Interpose the .z rules
3299
3300 2010-04-11  Jim Meyering  <meyering@redhat.com>
3301
3302         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
3303         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
3304         empty file with one that ends in an empty line.
3305
3306 2010-04-10  Bruno Haible  <bruno@clisp.org>
3307
3308         mkdir: Make it work on mingw64.
3309         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
3310         * lib/mkdir.c: Update comment.
3311         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
3312
3313 2010-04-10  Bruno Haible  <bruno@clisp.org>
3314
3315         Don't override improved macro from newer autoconf.
3316         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
3317         autoconf >= 2.62.
3318         Reported by Joel E. Denny <jdenny@clemson.edu>.
3319
3320 2010-04-10  Jim Meyering  <meyering@redhat.com>
3321
3322         maint.mk: new syntax-check rule: prohibit empty lines at end of file
3323         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
3324
3325         maint.mk: correct a diagnostic
3326         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
3327         in diagnostic; now use $prohibit.
3328
3329 2010-04-10  Bruno Haible  <address@hidden>
3330
3331         fchownat: Fix a C++ test error on Solaris 8.
3332         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
3333         the function does not exist.
3334
3335 2010-04-10  Bruno Haible  <bruno@clisp.org>
3336
3337         vasnprintf: Add more tests.
3338         * tests/test-vasnprintf-posix.c: Include <errno.h>.
3339         (test_function): Test converting an invalid wide string.
3340
3341         vasnprintf: Correct handling of unconvertible wide string arguments.
3342         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
3343         VASNPRINTF.
3344         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
3345         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
3346         smaller than the expected maximum need for the directive. Set errno to
3347         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
3348         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
3349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
3350         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
3351         * modules/vasnprintf (Files): Add m4/printf.m4.
3352         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3353
3354 2010-04-10  Bruno Haible  <bruno@clisp.org>
3355
3356         vasnprintf: Fix crash in %ls directive.
3357         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
3358         string is passed as argument to %ls, with no precision and no width.
3359         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3360
3361 2010-04-10  Bruno Haible  <bruno@clisp.org>
3362
3363         vasnprintf: Fix multiple test failures on mingw.
3364         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
3365         _snprintf, or snwprintf, not _snwprintf.
3366
3367 2010-04-10  Bruno Haible  <bruno@clisp.org>
3368
3369         write: Fix a C++ test error on mingw.
3370         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
3371
3372 2010-04-10  Bruno Haible  <bruno@clisp.org>
3373
3374         vasnprintf test: Reduce code duplication.
3375         * tests/test-vasnprintf.c (test_function): New function, extracted from
3376         test_vasnprintf.
3377         (test_vasnprintf, test_asnprintf): Invoke it.
3378
3379 2010-04-10  Bruno Haible  <bruno@clisp.org>
3380
3381         strnlen: Fix warning in C++ mode on MacOS X.
3382         * lib/string.in.h (strnlen): Use the modern idiom.
3383         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
3384         defining strnlen as a macro already in <config.h>.
3385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3386         REPLACE_STRNLEN.
3387         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
3388         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3389
3390 2010-04-08  James Youngman  <jay@gnu.org>
3391
3392         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
3393         the example.
3394
3395 2010-04-09  Jim Meyering  <meyering@redhat.com>
3396
3397         maint.mk: print better diagnostic when there is no $(_hv_file)
3398         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
3399         announce that when $(_hv_file) (aka help-version) does not exist.
3400
3401         init.sh: run tr in the "C" locale to avoid multibyte interpretation
3402         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
3403         not try to interpret its random input bytes.  Jarno Rajahalme reported
3404         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
3405         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
3406         (mktempd_): Likewise, just in case.
3407
3408         ftruncate: add two years to projected module removal date: 2012
3409         * m4/ftruncate.m4: Adjust comments.
3410
3411         ftruncate: mark module as obsolete; even MinGW provides it, now
3412         * modules/ftruncate (Status): Obsolete.
3413         (Notice): Say that.
3414         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
3415         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
3416
3417 2010-04-08  Bruno Haible  <bruno@clisp.org>
3418
3419         Fix side effects from tests-related modules.
3420         * modules/dprintf-posix (Comment): New section.
3421         * modules/fprintf-posix (Comment): Likewise.
3422         * modules/obstack-printf-posix (Comment): Likewise.
3423         * modules/printf-posix (Comment): Likewise.
3424         * modules/snprintf-posix (Comment): Likewise.
3425         * modules/sprintf-posix (Comment): Likewise.
3426         * modules/vasnprintf-posix (Comment): Likewise.
3427         * modules/vasprintf-posix (Comment): Likewise.
3428         * modules/vdprintf-posix (Comment): Likewise.
3429         * modules/vfprintf-posix (Comment): Likewise.
3430         * modules/vprintf-posix (Comment): Likewise.
3431         * modules/vsnprintf-posix (Comment): Likewise.
3432         * modules/vsprintf-posix (Comment): Likewise.
3433         * modules/xprintf-posix (Comment): Likewise.
3434         * modules/xvasprintf-posix (Comment): Likewise.
3435         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
3436         * modules/floorf-tests (Depends-on): Likewise.
3437         * modules/round-tests (Depends-on): Likewise.
3438         * modules/roundf-tests (Depends-on): Likewise.
3439         * modules/trunc-tests (Depends-on): Likewise.
3440         * modules/truncf-tests (Depends-on): Likewise.
3441         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
3442         'fprintf-posix' module is not present.
3443         * tests/test-floorf2.c (check): Likewise.
3444         * tests/test-trunc2.c (check): Likewise.
3445         * tests/test-truncf2.c (check): Likewise.
3446         * tests/test-round2.c (equal): Likewise.
3447         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3448
3449 2010-04-07  Karl Berry  <karl@gnu.org>
3450
3451         * config/srclist.txt,
3452         * config/srclistvars.sh,
3453         * config/srclist-update: doc fixes.
3454
3455 2010-04-07  Jim Meyering  <meyering@redhat.com>
3456
3457         maint.mk: add a PATH crosschecking syntax-check rule
3458         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
3459         Useful if you use a test like the one in help-version (coreutils,
3460         diffutils, grep, gzip) that ensures $(VERSION) matches what is
3461         printed by prog --version.
3462
3463 2010-04-06  Bruno Haible  <bruno@clisp.org>
3464
3465         Fix link error on mingw.
3466         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
3467         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
3468
3469 2010-04-06  Bruno Haible  <bruno@clisp.org>
3470
3471         Assume rmdir exists.
3472         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
3473
3474 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
3475
3476         doc: update users.txt
3477         * users.txt: Add gcal.
3478
3479 2010-04-06  Jim Meyering  <meyering@redhat.com>
3480
3481         init.sh: simply unset TMPDIR rather than risking env -i
3482         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
3483         although it probably works fine on all Unix-based systems, some
3484         systems (Cygwin?) cannot tolerate a totally cleared environment.
3485         Suggestion from Eric Blake.
3486
3487 2010-04-06  Jim Meyering  <meyering@redhat.com>
3488
3489         init.sh: portability fix: use env's POSIX-specified -i option not -u
3490         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
3491         than unportable env -u.  Solaris 5.11's env lacks support for -u.
3492
3493 2010-04-05  Bruno Haible  <bruno@clisp.org>
3494
3495         btowc: Work around Cygwin 1.7.2 bug.
3496         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
3497         does not map NUL to 0.
3498         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
3499
3500 2010-04-05  Bruno Haible  <bruno@clisp.org>
3501
3502         Make the multithread modules work on Cygwin 1.7.2.
3503         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
3504         imported symbols can be declared weak, so that it returns "no" on
3505         Cygwin 1.7.2.
3506
3507 2010-04-05  Bruno Haible  <bruno@clisp.org>
3508
3509         Use the module 'strncat'.
3510         * modules/unistr/u8-strncat (Depends-on): Add strncat.
3511
3512         Tests for module 'strncat'.
3513         * modules/strncat-tests: New file.
3514         * tests/test-strncat.c: New file.
3515
3516         New module 'strncat'.
3517         * lib/string.in.h (strncat): New declaration.
3518         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
3519         * m4/strncat.m4: New file, based on m4/memchr.m4.
3520         * modules/strncat: New file.
3521         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
3522         is declared.
3523         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
3524         REPLACE_STRNCAT.
3525         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
3526         REPLACE_STRNCAT.
3527         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
3528         module.
3529         * tests/test-string-c++.cc: Check signature of strncat.
3530
3531 2010-04-05  Jim Meyering  <meyering@redhat.com>
3532
3533         xstrtoumax-tests: convert to use init.sh
3534         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
3535         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3536         Use Exit, not exit.
3537         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3538
3539         xstrtoimax-tests: convert to use init.sh
3540         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
3541         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3542         Use Exit, not exit.
3543         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3544
3545 2010-04-05  Bruno Haible  <bruno@clisp.org>
3546
3547         sys_socket: Avoid #define replacements in C++ mode.
3548         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
3549         warning to the function if possible, rather than #defining the symbol
3550         to a dysfunctional alias.
3551
3552 2010-04-05  Bruno Haible  <bruno@clisp.org>
3553
3554         fseeko: Fix C++ test error on mingw.
3555         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
3556         gl_FUNC_FSEEKO.
3557         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
3558         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
3559         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
3560         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
3561
3562 2010-04-05  Bruno Haible  <bruno@clisp.org>
3563
3564         duplocale: Improve test output.
3565         * tests/test-duplocale.c (main): Print reason for skipped test.
3566
3567 2010-04-05  Bruno Haible  <bruno@clisp.org>
3568
3569         Assume rmdir exists.
3570         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
3571         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
3572
3573 2010-04-05  Bruno Haible  <bruno@clisp.org>
3574
3575         Fix link error on Solaris 8 with cc.
3576         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
3577
3578 2010-04-05  Bruno Haible  <bruno@clisp.org>
3579
3580         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3581         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
3582
3583 2010-04-05  Bruno Haible  <bruno@clisp.org>
3584
3585         vasprintf: Update documentation.
3586         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
3587
3588 2010-04-05  Bruno Haible  <bruno@clisp.org>
3589
3590         ptsname: Improve test.
3591         * tests/test-ptsname.c (main): Also try the various master names of BSD
3592         systems.
3593
3594 2010-04-05  Bruno Haible  <bruno@clisp.org>
3595
3596         memchr: Avoid a possible C++ test error.
3597         * lib/string.in.h (memchr): Provide declaration if function is missing.
3598         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
3599         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
3600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
3601         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
3602
3603 2010-04-05  Bruno Haible  <bruno@clisp.org>
3604
3605         strtok_r: Improve idiom.
3606         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
3607         AC_LIBOBJ is used.
3608
3609 2010-04-05  Bruno Haible  <bruno@clisp.org>
3610
3611         strdup: Improve idiom.
3612         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
3613         AC_LIBOBJ is used.
3614         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
3615         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
3616         when AC_LIBOBJ is used.
3617
3618 2010-04-05  Bruno Haible  <bruno@clisp.org>
3619
3620         mbsinit, mbrtowc, wcrtomb: Improve idioms.
3621         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
3622         don't set REPLACE_MBSINIT to 1.
3623         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
3624         don't set REPLACE_MBRTOWC to 1.
3625         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
3626         exist, don't set REPLACE_MBSRTOWCS to 1.
3627         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
3628         exist, don't set REPLACE_MBSNRTOWCS to 1.
3629         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
3630         don't set REPLACE_WCRTOMB to 1.
3631         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
3632         exist, don't set REPLACE_WCSRTOMBS to 1.
3633         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
3634         exist, don't set REPLACE_WCSNRTOMBS to 1.
3635
3636 2010-04-05  Bruno Haible  <bruno@clisp.org>
3637
3638         ldexpl: Improve idiom.
3639         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
3640         make sure to set HAVE_DECL_LDEXPL to 0.
3641
3642 2010-04-05  Jim Meyering  <meyering@redhat.com>
3643
3644         xstrtol-tests: convert to use init.sh
3645         * modules/xstrtol-tests (Files): Add tests/init.sh.
3646         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3647         Use Exit, not exit.
3648         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3649
3650         atexit-tests: convert to use init.sh
3651         * modules/atexit-tests (Files): Add tests/init.sh.
3652         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3653         Use Exit, not exit.
3654         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3655
3656         init.sh: fix typo
3657         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
3658
3659         init.sh: make it easier for a test script to write to the tty, ...
3660         when using automake's parallel-tests mode.
3661         * tests/init.sh (stderr_fileno_): Define overridable variable.
3662         (warn_): New function, to use it.
3663         (fail_, skip_, framework_failure_): Use warn_.
3664
3665 2010-04-04  Bruno Haible  <bruno@clisp.org>
3666
3667         btowc: Avoid warning.
3668         * lib/btowc.c: Include <stdlib.h>.
3669         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
3670
3671 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3672             Bruno Haible  <bruno@clisp.org>
3673
3674         wchar: Port to NetBSD 1.5.
3675         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
3676         * lib/wctype.in.h (WEOF): Likewise.
3677
3678 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3679             Bruno Haible  <bruno@clisp.org>
3680
3681         Port extended stdio to NetBSD 1.5.
3682         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
3683         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
3684         older.
3685
3686 2010-04-04  Bruno Haible  <bruno@clisp.org>
3687
3688         string: Remove unused substitution.
3689         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3690         HAVE_DECL_STRERROR.
3691         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
3692
3693 2010-04-04  Bruno Haible  <bruno@clisp.org>
3694
3695         strtod: Avoid a possible C++ test error.
3696         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
3697         set REPLACE_STRTOD.
3698
3699 2010-04-04  Bruno Haible  <bruno@clisp.org>
3700
3701         strerror: Update documentation.
3702         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
3703
3704 2010-04-04  Bruno Haible  <bruno@clisp.org>
3705
3706         stdio: Fix some C++ test errors on Solaris 8 with GCC.
3707         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
3708         _GL_CXXALIAS_SYS_CAST.
3709
3710 2010-04-04  Bruno Haible  <bruno@clisp.org>
3711
3712         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3713         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
3714         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
3715         REPLACE_FREXPL to 1.
3716         * doc/posix-functions/frexpl.texi: Update documentation.
3717
3718 2010-04-04  Bruno Haible  <bruno@clisp.org>
3719
3720         math: Fix some C++ test errors on Solaris 8 and Cygwin.
3721         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
3722
3723 2010-04-04  Bruno Haible  <bruno@clisp.org>
3724
3725         Implement nanosleep for native Windows.
3726         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
3727
3728 2010-04-04  Bruno Haible  <bruno@clisp.org>
3729
3730         math: Fix some C++ test errors on Solaris 8.
3731         * lib/math.in.h (truncf, trunc): Use simpler idiom.
3732
3733 2010-04-04  Bruno Haible  <bruno@clisp.org>
3734
3735         math: Fix some C++ test errors on Cygwin.
3736         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
3737         truncl): Provide declaration if the system does not have it.
3738         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
3739         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
3740         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
3741         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
3742         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
3743         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
3744         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
3745         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
3746         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
3747         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
3748         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
3749         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
3750         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
3751         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
3752         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
3753         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
3754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
3755         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3756         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3757         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
3758         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3759         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3760
3761 2010-04-04  Bruno Haible  <bruno@clisp.org>
3762
3763         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
3764         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3765         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3766         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3767         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3768         * m4/isinf.m4 (gl_ISINF): Likewise.
3769         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3770
3771 2010-04-04  Bruno Haible  <bruno@clisp.org>
3772
3773         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
3774         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3775
3776 2010-04-04  Bruno Haible  <bruno@clisp.org>
3777
3778         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
3779         * modules/tmpfile (configure.ac): Update.
3780
3781         tmpfile: Fix C++ test error on mingw.
3782         * lib/stdio.in.h (tmpfile): New declaration.
3783         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
3784         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
3785         * modules/tmpfile (Depends-on): Add stdio.
3786         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
3787         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
3788         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
3789         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
3790         REPLACE_TMPFILE.
3791         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
3792
3793 2010-04-04  Bruno Haible  <bruno@clisp.org>
3794
3795         ioctl: Fix C++ test error on mingw.
3796         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
3797         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
3798         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
3799
3800 2010-04-03  Bruno Haible  <bruno@clisp.org>
3801
3802         wcwidth: Fix C++ test error on mingw.
3803         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
3804         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
3805         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
3806
3807 2010-04-03  Bruno Haible  <bruno@clisp.org>
3808
3809         nanosleep: Fix C++ test error on mingw.
3810         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
3811         * lib/time.in.h (nanosleep): Use modern idiom.
3812         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
3813         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
3814         REPLACE_NANOSLEEP to 1.
3815         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
3816         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
3817
3818 2010-04-03  Bruno Haible  <bruno@clisp.org>
3819
3820         strptime: Fix C++ test error on mingw.
3821         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
3822         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
3823         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
3824         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
3825         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
3826         not REPLACE_STRPTIME.
3827         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
3828         REPLACE_STRPTIME.
3829
3830 2010-04-03  Bruno Haible  <bruno@clisp.org>
3831
3832         timegm: Fix C++ test error on mingw.
3833         * lib/time.in.h (timegm): Use modern idiom.
3834         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
3835         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
3836         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
3837         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
3838
3839 2010-04-03  Bruno Haible  <bruno@clisp.org>
3840
3841         timegm: Assume declaration if function exists.
3842         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
3843         if it exists. Don't clobber ac_cv_func_timegm.
3844
3845 2010-04-03  Bruno Haible  <bruno@clisp.org>
3846
3847         time_r: Fix C++ test error on mingw.
3848         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
3849         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
3850         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
3851         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
3852         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
3853
3854 2010-04-03  Bruno Haible  <bruno@clisp.org>
3855
3856         time_r: Minor updates.
3857         * modules/time_r (Description): Mention the provided functions.
3858         * lib/time_r.c: Don't include <string.h>.
3859         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
3860         * doc/posix-functions/localtime_r.texi: Likewise.
3861
3862 2010-04-03  Bruno Haible  <bruno@clisp.org>
3863
3864         time: Fix regression introduced on 2010-03-08.
3865         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
3866         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
3867
3868 2010-04-03  Jim Meyering  <meyering@redhat.com>
3869
3870         maint.mk: don't silently disable project-specific syntax-check rules
3871         * top/maint.mk (_prohibit_regexp): Define, to help people realize
3872         that they need to convert their project-specific syntax-check rules
3873         to use the new _sc_search_regexp.
3874
3875 2010-04-03  Bruno Haible  <bruno@clisp.org>
3876
3877         fchdir: Fix regression introduced on 2010-03-08.
3878         * lib/unistd.in.h (fchdir): Fix declaration.
3879         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
3880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
3881         REPLACE_FCHDIR.
3882         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
3883         REPLACE_FCHDIR.
3884
3885 2010-04-03  Bruno Haible  <bruno@clisp.org>
3886
3887         getpagesize: Fix C++ test error on mingw.
3888         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
3889         system does not declare the function.
3890         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
3891         declared.
3892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3893         HAVE_DECL_GETPAGESIZE.
3894         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
3895
3896 2010-04-03  Bruno Haible  <bruno@clisp.org>
3897
3898         stdio: Make C++ tests work on mingw.
3899         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
3900         does not declare the function.
3901
3902 2010-04-03  Bruno Haible  <bruno@clisp.org>
3903
3904         ftello: Fix C++ test error on mingw.
3905         * lib/stdio.in.h (ftello): Use modern idiom.
3906         * lib/ftello.c (ftello): Renamed from rpl_ftello.
3907         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
3908         is missing and that it needs to be replaced.
3909         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
3910         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
3911         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
3912
3913 2010-04-03  Bruno Haible  <bruno@clisp.org>
3914
3915         fseeko: Fix C++ test error on mingw.
3916         * lib/stdio.in.h (fseeko): Use modern idiom.
3917         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
3918         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
3919         is missing and that it needs to be replaced.
3920         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
3921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
3922         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
3923
3924 2010-04-03  Bruno Haible  <bruno@clisp.org>
3925
3926         mkstemp: Fix C++ test error on mingw.
3927         * lib/stdlib.in.h (mkstemp): Use modern idiom.
3928         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
3929         function is missing and that it needs to be replaced.
3930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
3931         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
3932
3933 2010-04-03  Bruno Haible  <bruno@clisp.org>
3934
3935         stpncpy: Fix C++ test error on mingw.
3936         * lib/string.in.h (stpncpy): Use modern idiom.
3937         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
3938         function is missing and that it needs to be replaced.
3939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3940         REPLACE_STPNCPY.
3941         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
3942
3943 2010-04-03  Bruno Haible  <bruno@clisp.org>
3944
3945         sys_stat: Fix C++ test error on mingw.
3946         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
3947         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
3948
3949 2010-04-03  Bruno Haible  <bruno@clisp.org>
3950
3951         pty: Update doc.
3952         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
3953
3954 2010-04-03  Bruno Haible  <bruno@clisp.org>
3955
3956         unistd: Fix C++ test error on mingw.
3957         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
3958
3959 2010-04-03  Bruno Haible  <bruno@clisp.org>
3960
3961         Update doc regarding mingw.
3962         * doc/glibc-functions/openpty.texi: Update regarding mingw.
3963         * doc/glibc-functions/login_tty.texi: Likewise.
3964         * doc/glibc-functions/forkpty.texi: Likewise.
3965
3966 2010-04-03  Bruno Haible  <bruno@clisp.org>
3967
3968         stdlib: Avoid compilation failure of c-strtold on mingw.
3969         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
3970
3971 2010-04-03  Bruno Haible  <bruno@clisp.org>
3972
3973         locale: Make C++ tests work on Cygwin and mingw.
3974         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
3975         cannot provide the function.
3976         Reported by Simon Josefsson.
3977
3978 2010-04-03  Bruno Haible  <bruno@clisp.org>
3979
3980         localename: Port to MacOS X 10.6.
3981         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
3982         memory layout of the locales in MacOS X 10.6 as well.
3983         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
3984
3985 2010-04-02  Bruno Haible  <bruno@clisp.org>
3986
3987         gnulib-tool: Ensure that long-running tests are executed last.
3988         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
3989         running tests after the one for the other tests.
3990
3991 2010-04-02  Bruno Haible  <bruno@clisp.org>
3992
3993         gnulib-tool: Ensure the tests in the main directory are executed first.
3994         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
3995         start with the current directory.
3996
3997 2010-04-02  Bruno Haible  <bruno@clisp.org>
3998
3999         Tests for module 'havelib', moved here from GNU gettext.
4000         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
4001         modifications.
4002         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
4003         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
4004         with modifications.
4005         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
4006         modifications.
4007         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
4008         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
4009         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
4010         with modifications.
4011         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
4012         with modifications.
4013         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
4014         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
4015         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
4016         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
4017         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
4018         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
4019         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
4020         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
4021         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
4022         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
4023         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
4024         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
4025         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
4026         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
4027         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
4028         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
4029         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
4030         with modifications.
4031         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
4032         with modifications.
4033         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
4034         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
4035         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
4036         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
4037         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
4038         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
4039         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
4040         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
4041         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
4042         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
4043         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
4044         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
4045         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
4046         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
4047         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
4048         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
4049         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
4050         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
4051         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
4052         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
4053         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
4054         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
4055         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
4056         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
4057         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
4058         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
4059         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
4060         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
4061         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
4062         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
4063         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
4064         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
4065         * tests/havelib/rpathx/rpathx.c: New file, from
4066         gettext/autoconf-lib-link.
4067         * tests/havelib/rpathx/Makefile.am: New file, from
4068         gettext/autoconf-lib-link.
4069         * tests/havelib/rpathx/configure.ac: New file, from
4070         gettext/autoconf-lib-link with modifications.
4071         * tests/havelib/rpathy/rpathy.c: New file, from
4072         gettext/autoconf-lib-link.
4073         * tests/havelib/rpathy/Makefile.am: New file, from
4074         gettext/autoconf-lib-link.
4075         * tests/havelib/rpathy/configure.ac: New file, from
4076         gettext/autoconf-lib-link with modifications.
4077         * tests/havelib/rpathz/rpathz.c: New file, from
4078         gettext/autoconf-lib-link.
4079         * tests/havelib/rpathz/Makefile.am: New file, from
4080         gettext/autoconf-lib-link.
4081         * tests/havelib/rpathz/configure.ac: New file, from
4082         gettext/autoconf-lib-link with modifications.
4083         * tests/havelib/rpathlx/usex.c: New file, from
4084         gettext/autoconf-lib-link.
4085         * tests/havelib/rpathlx/Makefile.am: New file, from
4086         gettext/autoconf-lib-link.
4087         * tests/havelib/rpathlx/configure.ac: New file, from
4088         gettext/autoconf-lib-link with modifications.
4089         * tests/havelib/rpathly/usey.c: New file, from
4090         gettext/autoconf-lib-link.
4091         * tests/havelib/rpathly/Makefile.am: New file, from
4092         gettext/autoconf-lib-link.
4093         * tests/havelib/rpathly/configure.ac: New file, from
4094         gettext/autoconf-lib-link with modifications.
4095         * tests/havelib/rpathlz/usez.c: New file, from
4096         gettext/autoconf-lib-link.
4097         * tests/havelib/rpathlz/Makefile.am: New file, from
4098         gettext/autoconf-lib-link.
4099         * tests/havelib/rpathlz/configure.ac: New file, from
4100         gettext/autoconf-lib-link with modifications.
4101         * tests/havelib/rpathlyx/usey.c: New file, from
4102         gettext/autoconf-lib-link.
4103         * tests/havelib/rpathlyx/Makefile.am: New file, from
4104         gettext/autoconf-lib-link.
4105         * tests/havelib/rpathlyx/configure.ac: New file, from
4106         gettext/autoconf-lib-link with modifications.
4107         * tests/havelib/rpathlzyx/usez.c: New file, from
4108         gettext/autoconf-lib-link.
4109         * tests/havelib/rpathlzyx/Makefile.am: New file, from
4110         gettext/autoconf-lib-link.
4111         * tests/havelib/rpathlzyx/configure.ac: New file, from
4112         gettext/autoconf-lib-link with modifications.
4113         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
4114         with modifications.
4115
4116 2010-04-02  Bruno Haible  <bruno@clisp.org>
4117
4118         gnulib-tool: Create distributed built sources also for the tests.
4119         * gnulib-tool (func_create_testdir): Also generate distributed built
4120         sources in the tests directory.
4121
4122 2010-04-02  Bruno Haible  <bruno@clisp.org>
4123
4124         gnulib-tool: Obey user's environment variables.
4125         * gnulib-tool (func_create_testdir): When creating built sources,
4126         respect the environment variables for autoconf, automake, etc. given by
4127         the user.
4128
4129 2010-04-02  Bruno Haible  <bruno@clisp.org>
4130
4131         gnulib-tool: Provide the value of --m4-base to modules.
4132         * gnulib-tool (func_import, func_create_testdir): Emit a definition
4133         of gl_m4_base.
4134
4135 2010-04-02  Eric Blake  <eblake@redhat.com>
4136
4137         maint.mk: fix some fallout
4138         * NEWS: Document the incompatible change, and its effect on cfg.mk.
4139         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
4140
4141 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4142
4143         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
4144         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
4145         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
4146         (sc_cast_of_x_alloc_return_value): Likewise.
4147         (sc_cast_of_alloca_return_value): Likewise.
4148         (sc_space_tab): Likewise.
4149         (sc_prohibit_atoi_atof): Likewise.
4150         (sc_prohibit_magic_number_exit): Likewise.
4151         (sc_error_exit_success): Likewise.
4152         (sc_file_system): Likewise.
4153         (sc_prohibit_have_config_h): Likewise.
4154         (sc_require_config_h): Likewise.
4155         (sc_prohibit_HAVE_MBRTOWC): Likewise.
4156         (sc_obsolete_symbols): Likewise.
4157         (sc_changelog): Likewise.
4158         (sc_program_name): Likewise.
4159         (sc_the_the): Likewise.
4160         (sc_trailing_blank): Likewise.
4161         (sc_two_space_separator_in_usage): Likewise.
4162         (sc_useless_cpp_parens): Likewise.
4163         (sc_GPL_version): Likewise.
4164         (sc_GFDL_version): Likewise.
4165         (sc_texinfo_acronym): Likewise.
4166         (sc_prohibit_cvs_keyword): Likewise.
4167         (sc_prohibit_stat_st_blocks): Likewise.
4168         (sc_prohibit_S_IS_definition): Likewise.
4169         (sc_redundant_const): Likewise.
4170         (sc_makefile_TAB_only_indentation): Likewise.
4171         (sc_m4_quote_check): Likewise.
4172         (sc_makefile_path_separator_check): Likewise.
4173         (sc_copyright_check): Likewise.
4174         (sc_Wundef_boolean): Likewise.
4175         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
4176
4177         maint.mk: match 0 or more whitespace-before-function-call '('
4178         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
4179         that have zero or two-and-more spaces between the function name
4180         and the open parenthesis.
4181         (sc_error_message_warn_fatal): Likewise.
4182         (sc_error_message_uppercase): Likewise.
4183         (sc_error_message_period): Likewise.
4184
4185 2010-03-31  Eric Blake  <eblake@redhat.com>
4186
4187         maint.mk: check for [ as well as test
4188         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
4189         Based on a libvirt report by Matthias Bolte.
4190
4191         gnumakefile: don't squelch _version output
4192         * top/GNUmakefile (_version): Create one-shot dependency rather
4193         than using $(shell) when version must be regenerated.
4194         (_autoreconf): Run verbosely, by default.
4195
4196         sys_time: avoid compiler warnings
4197         * lib/sys_time.in.h (includes): Ensure gcc pragma is
4198         unconditional, fixing regression from 2010-03-29.
4199         Reported by Simon Josefsson.
4200
4201 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4202
4203         maint.mk: s/_header_without_use/_sc_header_without_use/
4204         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
4205         (sc_prohibit_assert_without_use): Use the new name.
4206         (sc_prohibit_close_stream_without_use): Likewise.
4207         (sc_prohibit_getopt_without_use): Likewise.
4208         (sc_prohibit_quotearg_without_use): Likewise.
4209         (sc_prohibit_quote_without_use): Likewise.
4210         (sc_prohibit_long_options_without_use): Likewise.
4211         (sc_prohibit_inttostr_without_use): Likewise.
4212         (sc_prohibit_ignore_value_without_use): Likewise.
4213         (sc_prohibit_error_without_use): Likewise.
4214         (sc_prohibit_xalloc_without_use): Likewise.
4215         (sc_prohibit_hash_without_use): Likewise.
4216         (sc_prohibit_hash_pjw_without_use): Likewise.
4217         (sc_prohibit_safe_read_without_use): Likewise.
4218         (sc_prohibit_argmatch_without_use): Likewise.
4219         (sc_prohibit_canonicalize_without_use): Likewise.
4220         (sc_prohibit_root_dev_ino_without_use): Likewise.
4221         (sc_prohibit_openat_without_use): Likewise.
4222         (sc_prohibit_c_ctype_without_use): Likewise.
4223         (sc_prohibit_signal_without_use): Likewise.
4224         (sc_prohibit_intprops_without_use): Likewise.
4225
4226 2010-03-30  Eric Blake  <eblake@redhat.com>
4227
4228         maint: improve module indicators
4229         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
4230         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
4231         columns, and avoid extra macro expansion.
4232
4233         fdopendir: work around FreeBSD bug
4234         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
4235         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
4236         * modules/dirent (Makefile.am): Substitute it.
4237         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
4238         declaration.
4239         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
4240         fix.
4241         Reported by Christian Weisgerber <naddy@mips.inka.de>.
4242
4243 2010-03-29  Bruno Haible  <bruno@clisp.org>
4244
4245         Emit #pragma system_header after the inclusion guard, not before.
4246         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
4247         guard that spans the entire file, not before. This enables an
4248         optimization in GCC's preprocessor.
4249         * lib/ctype.in.h: Likewise.
4250         * lib/dirent.in.h: Likewise.
4251         * lib/errno.in.h: Likewise.
4252         * lib/float.in.h: Likewise.
4253         * lib/getopt.in.h: Likewise.
4254         * lib/iconv.in.h: Likewise.
4255         * lib/langinfo.in.h: Likewise.
4256         * lib/locale.in.h: Likewise.
4257         * lib/math.in.h: Likewise.
4258         * lib/netdb.in.h: Likewise.
4259         * lib/netinet_in.in.h: Likewise.
4260         * lib/pty.in.h: Likewise.
4261         * lib/sched.in.h: Likewise.
4262         * lib/se-selinux.in.h: Likewise.
4263         * lib/search.in.h: Likewise.
4264         * lib/spawn.in.h: Likewise.
4265         * lib/stdarg.in.h: Likewise.
4266         * lib/stdint.in.h: Likewise.
4267         * lib/string.in.h: Likewise.
4268         * lib/strings.in.h: Likewise.
4269         * lib/sys_file.in.h: Likewise.
4270         * lib/sys_ioctl.in.h: Likewise.
4271         * lib/sys_time.in.h: Likewise.
4272         * lib/sys_times.in.h: Likewise.
4273         * lib/sys_utsname.in.h: Likewise.
4274         * lib/sys_wait.in.h: Likewise.
4275         * lib/sysexits.in.h: Likewise.
4276         * lib/wctype.in.h: Likewise.
4277
4278 2010-03-28  James Youngman  <jay@gnu.org>
4279
4280         save-cwd: don't leak a file descriptor when the caller execs.
4281         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
4282         saved file descriptor.
4283         * modules/save-cwd (Depends-on): Depend on cloexec.
4284
4285 2010-03-29  Bruno Haible  <bruno@clisp.org>
4286
4287         Remove vestiges of fts-lgpl module.
4288         * lib/fts_.h: Assume GNULIB_FTS is 1.
4289         * lib/fts.c: Likewise.
4290         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4291
4292 2010-03-28  Bruno Haible  <bruno@clisp.org>
4293
4294         Fix definition of tests witness macro.
4295         * gnulib-tool (func_import): Fix definition of witness macro.
4296
4297 2010-03-28  Bruno Haible  <bruno@clisp.org>
4298
4299         Fix ioctl's protoype on glibc systems.
4300         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
4301         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
4302         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
4303         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
4304         signature. If not, arrange to replace the ioctl function.
4305         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4306         REPLACE_IOCTL.
4307         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
4308         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
4309         Reported by Ludovic Courtès <ludo@gnu.org>.
4310
4311 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
4312
4313         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
4314         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
4315         made it so grep -r --include=GLOB* ... did not work.
4316
4317 2010-03-26  Jim Meyering  <meyering@redhat.com>
4318             Eric Blake  <eblake@redhat.com>
4319
4320         maint.mk: prohibit use of test's -o and -a operators
4321         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
4322
4323 2010-03-28  Bruno Haible  <bruno@clisp.org>
4324
4325         Remove unused GNULIB_XYZ macro definitions.
4326         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
4327         invocation.
4328
4329 2010-03-28  Bruno Haible  <bruno@clisp.org>
4330
4331         Mark privileged tests modules.
4332         * modules/idpriv-drop-tests (Status): New section.
4333         * modules/idpriv-droptemp-tests (Status): New section.
4334
4335 2010-03-28  Bruno Haible  <bruno@clisp.org>
4336
4337         Split C++ tests into separate tests modules.
4338         * modules/dirent-c++-tests: New file, extracted from
4339         modules/dirent-tests.
4340         * modules/dirent-tests: Depend on it.
4341         * modules/fcntl-h-c++-tests: New file, extracted from
4342         modules/fcntl-h-tests.
4343         * modules/fcntl-h-tests: Depend on it.
4344         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
4345         * modules/glob-tests: Depend on it.
4346         * modules/iconv-h-c++-tests: New file, extracted from
4347         modules/iconv-h-tests.
4348         * modules/iconv-h-tests: Depend on it.
4349         * modules/langinfo-c++-tests: New file, extracted from
4350         modules/langinfo-tests.
4351         * modules/langinfo-tests: Depend on it.
4352         * modules/locale-c++-tests: New file, extracted from
4353         modules/locale-tests.
4354         * modules/locale-tests: Depend on it.
4355         * modules/math-c++-tests: New file, extracted from modules/math-tests.
4356         * modules/math-tests: Depend on it.
4357         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
4358         * modules/pty-tests: Depend on it.
4359         * modules/search-c++-tests: New file, extracted from
4360         modules/search-tests.
4361         * modules/search-tests: Depend on it.
4362         * modules/signal-c++-tests: New file, extracted from
4363         modules/signal-tests.
4364         * modules/signal-tests: Depend on it.
4365         * modules/spawn-c++-tests: New file, extracted from
4366         modules/spawn-tests.
4367         * modules/spawn-tests: Depend on it.
4368         * modules/stdio-c++-tests: New file, extracted from
4369         modules/stdio-tests.
4370         * modules/stdio-tests: Depend on it.
4371         * modules/stdlib-c++-tests: New file, extracted from
4372         modules/stdlib-tests.
4373         * modules/stdlib-tests: Depend on it.
4374         * modules/string-c++-tests: New file, extracted from
4375         modules/string-tests.
4376         * modules/string-tests: Depend on it.
4377         * modules/sys_ioctl-c++-tests: New file, extracted from
4378         modules/sys_ioctl-tests.
4379         * modules/sys_ioctl-tests: Depend on it.
4380         * modules/sys_select-c++-tests: New file, extracted from
4381         modules/sys_select-tests.
4382         * modules/sys_select-tests: Depend on it.
4383         * modules/sys_socket-c++-tests: New file, extracted from
4384         modules/sys_socket-tests.
4385         * modules/sys_socket-tests: Depend on it.
4386         * modules/sys_stat-c++-tests: New file, extracted from
4387         modules/sys_stat-tests.
4388         * modules/sys_stat-tests: Depend on it.
4389         * modules/sys_time-c++-tests: New file, extracted from
4390         modules/sys_time-tests.
4391         * modules/sys_time-tests: Depend on it.
4392         * modules/time-c++-tests: New file, extracted from modules/time-tests.
4393         * modules/time-tests: Depend on it.
4394         * modules/unistd-c++-tests: New file, extracted from
4395         modules/unistd-tests.
4396         * modules/unistd-tests: Depend on it.
4397         * modules/wchar-c++-tests: New file, extracted from
4398         modules/wchar-tests.
4399         * modules/wchar-tests: Depend on it.
4400         * modules/wctype-c++-tests: New file, extracted from
4401         modules/wctype-tests.
4402         * modules/wctype-tests: Depend on it.
4403         Reported by Simon Josefsson.
4404
4405 2010-03-28  Bruno Haible  <bruno@clisp.org>
4406
4407         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
4408         * gnulib-tool (func_exists_module): New function, extracted from
4409         func_verify_module.
4410         (func_verify_module): Use it.
4411         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
4412         'foo' only if 'foo' exists.
4413         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
4414         module.
4415
4416 2010-03-28  Bruno Haible  <bruno@clisp.org>
4417
4418         gnulib-tool: Add support for special categories of tests.
4419         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
4420         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
4421         (func_usage): Document them.
4422         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
4423         inc_unportable_tests, inc_all_tests): New variables.
4424         (func_acceptable): Consider these variables.
4425         (func_modules_transitive_closure): Make it work when the 'Status' field
4426         consists of multiple words.
4427         (func_import): Store and restore the values of inc_cxx_tests,
4428         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
4429         inc_all_tests in gnulib-comp.m4.
4430         (func_create_testdir): Set inc_all_tests to true.
4431         * doc/gnulib.texi (Extra tests modules): New section.
4432         Suggested by Jim Meyering.
4433
4434 2010-03-28  Bruno Haible  <bruno@clisp.org>
4435
4436         ansi-c++-opt: Allow turning off the C++ build by default.
4437         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
4438         gl_CXX_CHOICE_DEFAULT_NO is defined.
4439         Requested by Eric Blake.
4440
4441 2010-03-28  Bruno Haible  <bruno@clisp.org>
4442
4443         unistd: Avoid #define replacements in C++ mode.
4444         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
4445         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
4446         setsockopt, shutdown, select): In C++, attach a warning to the function
4447         if possible, rather than #defining the symbol to a dysfunctional alias.
4448         Reported by John W. Eaton <jwe@gnu.org>.
4449
4450 2010-03-28  Bruno Haible  <bruno@clisp.org>
4451
4452         Fix link errors on mingw.
4453         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
4454         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
4455         $(LIBSOCKET).
4456         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
4457         $(LIBSOCKET).
4458
4459 2010-03-28  Bruno Haible  <bruno@clisp.org>
4460             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4461
4462         lib-ignore: Determine different options for different compilers.
4463         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
4464         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
4465         Add comments.
4466         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
4467         * NEWS: Mention the change.
4468
4469 2010-03-27  Bruno Haible  <bruno@clisp.org>
4470
4471         Remove unused GNULIB_XYZ macro definitions.
4472         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4473         * modules/fseek (configure.ac): Likewise.
4474         * modules/ioctl (configure.ac): Likewise.
4475         * modules/open (configure.ac): Likewise.
4476         * modules/stdlib-safer (configure.ac): Likewise.
4477
4478 2010-03-27  Bruno Haible  <bruno@clisp.org>
4479
4480         Add a remark about certain modules.
4481         * modules/malloc (Comment): New section.
4482         * modules/realloc (Comment): Likewise.
4483         * modules/sigpipe (Comment): Likewise.
4484
4485 2010-03-27  Bruno Haible  <bruno@clisp.org>
4486
4487         Resolve conflict between the two kinds of module indicators.
4488         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
4489         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
4490         * modules/canonicalize (configure.ac): Invoke
4491         gl_MODULE_INDICATOR_FOR_TESTS.
4492         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
4493         GNULIB_XYZ.
4494         * tests/test-dirent-c++.cc: Likewise.
4495         * tests/test-dirent-safer.c: Likewise.
4496         * tests/test-dup2.c: Likewise.
4497         * tests/test-fchdir.c: Likewise.
4498         * tests/test-fcntl-h-c++.cc: Likewise.
4499         * tests/test-getopt.c: Likewise.
4500         * tests/test-getopt.h: Likewise.
4501         * tests/test-langinfo-c++.cc: Likewise.
4502         * tests/test-locale-c++.cc: Likewise.
4503         * tests/test-math-c++.cc: Likewise.
4504         * tests/test-pty-c++.cc: Likewise.
4505         * tests/test-search-c++.cc: Likewise.
4506         * tests/test-signal-c++.cc: Likewise.
4507         * tests/test-spawn-c++.cc: Likewise.
4508         * tests/test-stdio-c++.cc: Likewise.
4509         * tests/test-stdlib-c++.cc: Likewise.
4510         * tests/test-string-c++.cc: Likewise.
4511         * tests/test-sys_ioctl-c++.cc: Likewise.
4512         * tests/test-sys_select-c++.cc: Likewise.
4513         * tests/test-sys_socket-c++.cc: Likewise.
4514         * tests/test-sys_stat-c++.cc: Likewise.
4515         * tests/test-sys_time-c++.cc: Likewise.
4516         * tests/test-time-c++.cc: Likewise.
4517         * tests/test-unistd-c++.cc: Likewise.
4518         * tests/test-wchar-c++.cc: Likewise.
4519         * tests/uninorm/test-u8-nfc.c: Likewise.
4520         * tests/uninorm/test-u8-nfd.c: Likewise.
4521         * tests/uninorm/test-u8-nfkc.c: Likewise.
4522         * tests/uninorm/test-u8-nfkd.c: Likewise.
4523         * tests/uninorm/test-u16-nfc.c: Likewise.
4524         * tests/uninorm/test-u16-nfd.c: Likewise.
4525         * tests/uninorm/test-u16-nfkc.c: Likewise.
4526         * tests/uninorm/test-u16-nfkd.c: Likewise.
4527         * tests/uninorm/test-u32-nfc.c: Likewise.
4528         * tests/uninorm/test-u32-nfc-big.c: Likewise.
4529         * tests/uninorm/test-u32-nfd.c: Likewise.
4530         * tests/uninorm/test-u32-nfd-big.c: Likewise.
4531         * tests/uninorm/test-u32-nfkc.c: Likewise.
4532         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
4533         * tests/uninorm/test-u32-nfkd.c: Likewise.
4534         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
4535         * tests/uninorm/test-u32-normalize-big.c: Likewise.
4536
4537 2010-03-27  Bruno Haible  <bruno@clisp.org>
4538
4539         Distinguish two kinds of module indicators.
4540         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
4541         gl_MODULE_INDICATOR.
4542         (gl_MODULE_INDICATOR): New macro.
4543         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4544         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
4545         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4546         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4547         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4548         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4549         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4550         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4551         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4552         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4553         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4554         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4555         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4556         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4557         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4558         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4559         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4560         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4561         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4562         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4563         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4564         * modules/cloexec (configure.ac): Likewise.
4565         * modules/getopt-gnu (configure.ac): Likewise.
4566         * modules/uninorm/u8-normalize (configure.ac): Likewise.
4567         * modules/uninorm/u16-normalize (configure.ac): Likewise.
4568         * modules/uninorm/u32-normalize (configure.ac): Likewise.
4569         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
4570
4571 2010-03-27  Bruno Haible  <bruno@clisp.org>
4572
4573         New module description field 'Comment'.
4574         * gnulib-tool: New option --extract-comment.
4575         (func_usage): Document it.
4576         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
4577         (func_get_comment): New function.
4578         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
4579
4580 2010-03-27  Bruno Haible  <bruno@clisp.org>
4581
4582         Addendum to 2010-02-07 commit.
4583         * gnulib-tool (func_usage): Document --extract-applicability option.
4584
4585 2010-03-27  Bruno Haible  <bruno@clisp.org>
4586
4587         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
4588         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
4589         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
4590         rather than link errors.
4591
4592 2010-03-27  Bruno Haible  <bruno@clisp.org>
4593
4594         Avoid side effects from tests-related modules on the compilation of lib.
4595         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
4596         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
4597         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
4598         parameter. Emit into AM_CPPFLAGS a definition of the designated C
4599         macro.
4600         (func_import): Define a witness macro. Assign it a value that depends
4601         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
4602         tests-related modules.
4603         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
4604         Reported by Jim Meyering.
4605
4606 2010-03-27  Bruno Haible  <bruno@clisp.org>
4607
4608         Factorize common .m4 code.
4609         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
4610         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
4611         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
4612         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
4613         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4614         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
4615         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
4616         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4617         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4618         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4619         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
4620         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4621         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4622         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4623         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4624         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
4625         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4626         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4627         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4628         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
4629         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
4630         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4631         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4632         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4633         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4634         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4635         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
4636         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
4637         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
4638         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4639         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4640         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4641
4642 2010-03-27  Bruno Haible  <bruno@clisp.org>
4643
4644         Fix a compilation error on Cygwin with g++ >= 4.3.
4645         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
4646         if it is undefined or if we alias it to chmod.
4647         (lstat): Don't warn about the use of this function if it is undefined
4648         or if we alias it to stat.
4649         Reported by Simon Josefsson.
4650
4651 2010-03-27  Bruno Haible  <bruno@clisp.org>
4652
4653         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
4654         * modules/getlogin (configure.ac): Update.
4655
4656         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
4657         * modules/getlogin_r (configure.ac): Update.
4658
4659         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
4660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
4661         * modules/inet_ntop (configure.ac): Update.
4662
4663         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
4664         * modules/inet_pton (configure.ac): Update.
4665
4666         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
4667         * modules/mbslen (configure.ac): Update.
4668
4669         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
4670         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
4671         * modules/forkpty (configure.ac): Update.
4672         * modules/openpty (configure.ac): Update.
4673
4674 2010-03-26  Simon Josefsson  <simon@josefsson.org>
4675
4676         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
4677         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
4678
4679 2010-03-25  Eric Blake  <eblake@redhat.com>
4680
4681         maint: use pragma consistently across replacement headers
4682         * lib/ctype.in.h (system_header): Hoist for consistent placement.
4683         * lib/dirent.in.h (system_header): Likewise.
4684         * lib/errno.in.h (system_header): Likewise.
4685         * lib/float.in.h (system_header): Likewise.
4686         * lib/getopt.in.h (system_header): Likewise.
4687         * lib/iconv.in.h (system_header): Likewise.
4688         * lib/inttypes.in.h (system_header): Likewise.
4689         * lib/langinfo.in.h (system_header): Likewise.
4690         * lib/locale.in.h (system_header): Likewise.
4691         * lib/math.in.h (system_header): Likewise.
4692         * lib/netdb.in.h (system_header): Likewise.
4693         * lib/netinet_in.in.h (system_header): Likewise.
4694         * lib/pty.in.h (system_header): Likewise.
4695         * lib/sched.in.h (system_header): Likewise.
4696         * lib/se-selinux.in.h (system_header): Likewise.
4697         * lib/search.in.h (system_header): Likewise.
4698         * lib/spawn.in.h (system_header): Likewise.
4699         * lib/stdarg.in.h (system_header): Likewise.
4700         * lib/stdint.in.h (system_header): Likewise.
4701         * lib/string.in.h (system_header): Likewise.
4702         * lib/strings.in.h (system_header): Likewise.
4703         * lib/sys_file.in.h (system_header): Likewise.
4704         * lib/sys_ioctl.in.h (system_header): Likewise.
4705         * lib/sys_socket.in.h (system_header): Likewise.
4706         * lib/sys_times.in.h (system_header): Likewise.
4707         * lib/sys_utsname.in.h (system_header): Likewise.
4708         * lib/sys_wait.in.h (system_header): Likewise.
4709         * lib/sysexits.in.h (system_header): Likewise.
4710         * lib/unistd.in.h (system_header): Likewise.
4711         * lib/wctype.in.h (system_header): Likewise.
4712
4713         arpa/inet: fix mingw compilation warning
4714         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
4715         Reported by Matthew Bolte.
4716
4717 2010-03-25  Bruno Haible  <bruno@clisp.org>
4718
4719         Avoid collision between gnulib wrapper and libintl wrapper.
4720         * lib/printf.c (printf): Don't define if a printf wrapper is already
4721         defined in intl/printf.c.
4722         Reported by Michel Boaventura <michel@michelboaventura.com>.
4723
4724 2010-03-25  Bruno Haible  <bruno@clisp.org>
4725
4726         Use ANSI C.
4727         * lib/readutmp.h (getutent): Provide ANSI C prototype.
4728
4729 2010-03-25  Bruno Haible  <bruno@clisp.org>
4730
4731         Minor formatting changes.
4732         * lib/acosl.c: Insert space before function argument list.
4733         * lib/argz.c: Likewise.
4734         * lib/asinl.c: Likewise.
4735         * lib/expl.c: Likewise.
4736         * lib/gen-uni-tables.c: Likewise.
4737         * lib/gettext.h: Likewise.
4738         * lib/glthread/lock.h: Likewise.
4739         * lib/tanl.c: Likewise.
4740         * lib/uniname/uniname.c: Likewise.
4741         * tests/test-idpriv-drop.c: Likewise.
4742         * tests/test-idpriv-droptemp.c: Likewise.
4743         * tests/test-lock.c: Likewise.
4744         * tests/test-tls.c: Likewise.
4745         * lib/argp-help.c: Insert space before function-like macro argument
4746         list.
4747         * lib/memcmp.c: Likewise.
4748         * tests/test-base64.c: Likewise.
4749         * lib/localename.c: Insert space before sizeof's argument list.
4750         * lib/safe-alloc.h: Likewise.
4751         * lib/file-set.h: Insert space before macro argument list.
4752         * tests/test-argp.c: Likewise.
4753         * lib/argp-namefrob.h: Insert space before function parameter list.
4754         * lib/getaddrinfo.c: Likewise.
4755         * lib/netdb.in.h: Likewise.
4756         * lib/parse-duration.h: Likewise.
4757         * lib/parse-duration.c: Likewise.
4758         * lib/poll.c: Likewise.
4759         * lib/select.c: Likewise.
4760         * lib/trim.h: Likewise.
4761         * tests/test-usleep.c: Likewise.
4762         * lib/ldexpl.c: Insert space before function parameter list and before
4763         function argument list.
4764         * lib/logl.c: Likewise.
4765         * lib/sqrtl.c: Likewise.
4766         * lib/trim.c: Likewise.
4767         * lib/cosl.c: Use GNU style indentation. Insert space before function
4768         argument list.
4769         * lib/sinl.c: Likewise.
4770         * lib/tsearch.c: Insert space after 'for'.
4771         Reported by Jim Meyering.
4772
4773 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
4774
4775         * maint.mk (sc_Wundef_boolean): Check for the presence of the
4776         config header before grepping, as it's not present before
4777         autoreconf/configure are run.  Reported by Simon Josefsson.
4778
4779 2010-03-23  Bruno Haible  <bruno@clisp.org>
4780
4781         pt_chown: Make it work with automake < 1.11.
4782         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
4783         Reported by Simon Josefsson.
4784
4785 2010-03-23  Bruno Haible  <bruno@clisp.org>
4786
4787         pt_chown: Don't depend on GPLed modules.
4788         * lib/pt_chown.c: Don't include idpriv.h.
4789         (main): Don't drop privileges.
4790         * modules/pt_chown (Depends-on): Remove idpriv-drop.
4791         Reported by Simon Josefsson.
4792
4793 2010-03-24  Simon Josefsson  <simon@josefsson.org>
4794
4795         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
4796         suggestions from karl@freefriends.org (Karl Berry).
4797
4798 2010-03-22  Eric Blake  <eblake@redhat.com>
4799
4800         gethostname: further tweaks
4801         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
4802         are overriding gethostname.
4803         Suggested by Bruno Haible.
4804
4805 2010-03-21  Bruno Haible  <bruno@clisp.org>
4806
4807         Fix comments.
4808         * lib/forkpty.c (rpl_forkpty): Fix comment.
4809         * lib/openpty.c (rpl_openpty): Likewise.
4810         Reported by Eric Blake.
4811
4812 2010-03-22  Eric Blake  <eblake@redhat.com>
4813
4814         gethostname: fix build on mingw
4815         * lib/unistd.in.h (includes): Work around fact that mingw
4816         <winsock2.h> re-includes <unistd.h>, by avoiding any
4817         redeclarations if we are being included by <winsock2.h>.
4818         Reported by Matthias Bolte.
4819
4820 2010-03-21  Bruno Haible  <bruno@clisp.org>
4821
4822         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4823         * lib/forkpty.c (forkpty): New replacement function, from glibc with
4824         modifications.
4825         * lib/pty.in.h (forkpty): Update declaration. Add comments.
4826         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
4827         provide the replacement.
4828         * modules/forkpty (Depends-on): Add openpty, login_tty.
4829         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
4830         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
4831         * doc/glibc-functions/forkpty.texi: More supported platforms.
4832         * config/srclist.txt: Add forkpty.c (commented).
4833
4834 2010-03-21  Bruno Haible  <bruno@clisp.org>
4835
4836         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
4837         (Makefile.am): Verify that PTY_LIB is defined.
4838
4839         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
4840
4841 2010-03-21  Bruno Haible  <bruno@clisp.org>
4842
4843         Tests for module 'login_tty'.
4844         * modules/login_tty-tests: New file.
4845         * tests/test-login_tty.c: New file.
4846
4847         New module 'login_tty'.
4848         * lib/login_tty.c: New file.
4849         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
4850         * modules/login_tty: New file.
4851         * doc/glibc-functions/login_tty.texi: Mention the new module.
4852
4853 2010-03-21  Bruno Haible  <bruno@clisp.org>
4854
4855         login_tty: Documentation.
4856         * doc/glibc-functions/login_tty.texi: New file.
4857         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
4858
4859 2010-03-21  Bruno Haible  <bruno@clisp.org>
4860
4861         pty: Consistent macro naming.
4862         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
4863         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
4864         * modules/pty (configure.ac): Update.
4865
4866 2010-03-21  Bruno Haible  <bruno@clisp.org>
4867
4868         Tests for openpty: Make stricter.
4869         * tests/test-openpty.c (main): Add test of canonical processing and
4870         erase.
4871         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
4872
4873         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4874         * lib/openpty.c (openpty): New replacement function.
4875         * lib/pty.in.h: Include <termios.h>.
4876         (openpty): Update declaration. Add comments.
4877         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
4878         is not declared, arrange to provide the replacement. Check for _getpty
4879         and posix_openpt.
4880         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
4881         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
4882         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
4883         * modules/pty-tests (test_pty_c___LDADD): New variable.
4884         * doc/glibc-functions/openpty.texi: More supported platforms.
4885
4886 2010-03-21  Bruno Haible  <bruno@clisp.org>
4887
4888         setenv: Tweaks.
4889         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
4890         the test program.
4891         * doc/posix-functions/setenv.texi: Update platforms list.
4892
4893 2010-03-21  Bruno Haible  <bruno@clisp.org>
4894
4895         New module 'unlockpt'.
4896         * lib/unlockpt.c: New file, from glibc with modifications.
4897         * m4/unlockpt.m4: New file.
4898         * modules/unlockpt: New file.
4899         * lib/stdlib.in.h (unlockpt): New declaration.
4900         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
4901         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
4902         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
4903         HAVE_UNLOCKPT.
4904         * doc/posix-functions/unlockpt.texi: Mention the new module.
4905         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
4906         * config/srclist.txt: Add unlockpt.c (commented).
4907
4908 2010-03-21  Jim Meyering  <meyering@redhat.com>
4909
4910         maint.mk: prohibit inclusion of "intprops.h" without use
4911         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
4912
4913 2010-03-21  Bruno Haible  <bruno@clisp.org>
4914
4915         New module 'grantpt'.
4916         * lib/grantpt.c: New file, from glibc with modifications.
4917         * m4/grantpt.m4: New file.
4918         * modules/grantpt: New file.
4919         * lib/stdlib.in.h (grantpt): New declaration.
4920         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
4921         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
4922         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
4923         HAVE_GRANTPT.
4924         * doc/posix-functions/grantpt.texi: Mention the new module.
4925         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
4926         * config/srclist.txt: Add grantpt.c (commented).
4927
4928 2010-03-21  Bruno Haible  <bruno@clisp.org>
4929
4930         New module 'pt_chown'.
4931         * lib/pt_chown.c: New file, from glibc with modifications.
4932         * lib/pty-private.h: New file, from glibc with modifications.
4933         * modules/pt_chown: New file.
4934         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
4935
4936 2010-03-21  Bruno Haible  <bruno@clisp.org>
4937
4938         Tests for module 'ptsname'.
4939         * modules/ptsname-tests: New file.
4940         * tests/test-ptsname.c: New file.
4941
4942         New module 'ptsname'.
4943         * lib/ptsname.c: New file, from glibc with modifications.
4944         * m4/ptsname.m4: New file.
4945         * modules/ptsname: New file.
4946         * lib/stdlib.in.h (ptsname): New declaration.
4947         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
4948         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
4949         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
4950         HAVE_PTSNAME.
4951         * doc/posix-functions/ptsname.texi: Mention the new module.
4952         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
4953         * config/srclist.txt: Add ptsname.c (commented).
4954
4955 2010-03-21  Bruno Haible  <bruno@clisp.org>
4956
4957         Tests for module 'ttyname_r'.
4958         * modules/ttyname_r-tests: New file.
4959         * tests/test-ttyname_r.c: New file.
4960
4961         New module 'ttyname_r'.
4962         * lib/ttyname_r.c: New file.
4963         * m4/ttyname_r.m4: New file.
4964         * modules/ttyname_r: New file.
4965         * lib/unistd.in.h (ttyname_r): New declaration.
4966         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
4967         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
4968         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
4969         HAVE_TTYNAME_R.
4970         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
4971         * doc/posix-functions/ttyname_r.texi: Mention the new module.
4972
4973 2010-03-20  Bruno Haible  <bruno@clisp.org>
4974
4975         signal: Undefine macro definitions in C++ mode.
4976         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
4977         sigfillset): Undefine macro definitions from the system header in C++
4978         mode.
4979         Reported by John W. Eaton <jwe@gnu.org>.
4980
4981 2010-03-20  Bruno Haible  <bruno@clisp.org>
4982
4983         Ensure no #include statements inside extern "C" { ... }.
4984         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
4985         contain #include statements.
4986         * lib/time.in.h: Likewise.
4987
4988 2010-03-20  Bruno Haible  <bruno@clisp.org>
4989
4990         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
4991         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
4992         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
4993         Reported by John W. Eaton <jwe@gnu.org>.
4994
4995 2010-03-20  Bruno Haible  <bruno@clisp.org>
4996
4997         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
4998         Reported by Jim Meyering.
4999
5000 2010-03-20  Bruno Haible  <bruno@clisp.org>
5001
5002         pipe: Set errno upon failure.
5003         * lib/pipe.h: Specify that when -1 is returned, errno is set.
5004         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
5005         errno value in error message.
5006
5007 2010-03-20  Bruno Haible  <bruno@clisp.org>
5008             Jim Meyering  <meyering@redhat.com>
5009
5010         lchown: Avoid "unused variable" warning.
5011         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
5012
5013 2010-03-20  Bruno Haible  <bruno@clisp.org>
5014
5015         Work around unlink() bug on MacOS X 10.5.6.
5016         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
5017         attempting to unlink a parent directory.
5018         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
5019         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
5020         activate for the replacement function.
5021         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
5022
5023 2010-03-20  Bruno Haible  <bruno@clisp.org>
5024
5025         Fix link errors on Solaris 8.
5026         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
5027         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
5028
5029 2010-03-19  Jim Meyering  <meyering@redhat.com>
5030
5031         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
5032         The _LIBC implementation of build_range_exp correctly honors the
5033         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
5034         However, the non-_LIBC implementation would ignore that syntax-bit
5035         flag and return REG_ERANGE unconditionally.
5036         This change makes it honor that flag.
5037         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
5038         Make two pointer parameters "const".
5039         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
5040         (parse_bracket_exp): Update caller.
5041
5042         regex.m4: correct the reversed range endpoint ([b-a]) test
5043         * m4/regex.m4: When requiring that [b-a] evoke failure,
5044         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
5045         test pass once again for x86-based systems.
5046
5047 2010-03-19  Bruno Haible  <bruno@clisp.org>
5048
5049         scandir: Fix link error on Solaris 8.
5050         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
5051         macros.
5052
5053 2010-03-19  Bruno Haible  <bruno@clisp.org>
5054
5055         getusershell: Fix documentation.
5056         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
5057         module.
5058         * doc/glibc-functions/setusershell.texi: Likewise.
5059
5060         getusershell: Provide declaration, missing on Solaris 9.
5061         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
5062         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
5063         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
5064         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
5065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5066         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
5067         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
5068         HAVE_GETUSERSHELL.
5069         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
5070
5071 2010-03-19  Bruno Haible  <bruno@clisp.org>
5072
5073         wctype: Provide iswblank function.
5074         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
5075         exists and is fine.
5076         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
5077         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
5078         * tests/test-wctype.c (main): Re-enable the iswblank tests.
5079         * doc/posix-functions/iswblank.texi: Update.
5080
5081 2010-03-19  Bruno Haible  <bruno@clisp.org>
5082
5083         Tests of module 'pty' in C++ mode.
5084         * modules/pty-tests: New file.
5085         * tests/test-pty-c++.cc: New file.
5086         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5087
5088 2010-03-19  Eric Blake  <eblake@redhat.com>
5089
5090         logb: fix documentation
5091         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
5092         1.5 declaration bug.
5093
5094         forkpty, openpty: prefer glibc's const-safe prototype
5095         * lib/forkpty.c (rpl_forkpty): New file.
5096         * lib/openpty.c (rpl_openpty): Likewise.
5097         * modules/forkpty (Files): Distribute it.
5098         * modules/openpty (Files): Likewise.
5099         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
5100         check...
5101         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
5102         replacement for for non-const BSD signature.
5103         * modules/pty (Makefile.am): Substitute witnesses.
5104         * lib/pty.in.h (forkpty, openpty): Declare replacements.
5105         * tests/test-forkpty.c: Update signature check.
5106         * tests/test-openpty.c: Likewise.
5107         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
5108         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5109
5110         forkpty, openpty: split functions into new modules
5111         * modules/pty (Makefile.am): Substitute new witnesses.
5112         (Libraries): Move library detection...
5113         * modules/forkpty: ...into new module.
5114         * modules/openpty: Another new module.
5115         * modules/pty-tests: Rename and split...
5116         * modules/forkpty-tests: ...to this...
5117         * modules/openpty-tests: ...and this.
5118         * tests/test-pty.c: Rename and split...
5119         * tests/test-forkpty.c: ...to this...
5120         * tests/test-openpty.c: ...and this.
5121         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
5122         (gl_PTY): Split library searching...
5123         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
5124         (gl_FORKPTY, gl_OPENPTY): New macros.
5125         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
5126         * NEWS: Mention the split.
5127         * MODULES.html.sh (Misc): Document the modules.
5128         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
5129         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5130
5131         pty: improve replacement header
5132         * lib/pty.in.h: New file.
5133         * modules/pty (Files): Ship it.
5134         (Makefile.am): Always build replacement.
5135         * m4/pty.m4: Rename...
5136         * m4/pty_h.m4: ...to this.
5137         (gl_PTY): Modernize setting of witness macros; update check of
5138         forkpty to take proper advantage of cache.
5139         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
5140
5141         getopt: avoid compiler warning
5142         * lib/getopt.c (attribute_hidden): Remove unused macro.
5143
5144 2010-03-18  Bruno Haible  <bruno@clisp.org>
5145
5146         Fix link errors on Solaris 8.
5147         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
5148         * modules/search-tests (test_search_c___LDADD): Likewise.
5149         * modules/signal-tests (test_signal_c___LDADD): Likewise.
5150         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
5151         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
5152         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
5153         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
5154         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
5155         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
5156
5157 2010-03-18  Bruno Haible  <bruno@clisp.org>
5158
5159         Fix bug introduced on 2010-03-14.
5160         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
5161         (gl_SPAWN_H): Require it.
5162         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
5163         Reported by Simon Josefsson.
5164
5165 2010-03-18  Bruno Haible  <bruno@clisp.org>
5166
5167         Fix typo introduced on 2009-12-31.
5168         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
5169         posix_spawn_file_actions_adddup2.
5170
5171 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
5172         and Eric Blake  <eblake@redhat.com>
5173
5174         test-vc-list-files-git: make more robust
5175         * tests/test-vc-list-files-git.sh: Unset problematic environment
5176         variables.  Chain commands together.
5177
5178 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
5179
5180         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
5181         `AC_CHECK_DECL' invocation.
5182
5183 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
5184
5185         * lib/inttostr.c (inttostr): Make sure the invocation of verify
5186         appears before executable statements. Suggested by Petr Sumbera
5187         <Petr.Sumbera@Sun.COM>.
5188
5189 2010-03-14  Bruno Haible  <bruno@clisp.org>
5190
5191         * tests/test-flock.c (test_exclusive): Comment out a test that causes
5192         portability problems. Instead use a simpler test.
5193         (main): Check that invalid arguments are rejected only on Linux.
5194
5195 2010-03-14  Bruno Haible  <bruno@clisp.org>
5196
5197         Fix bug introduced on 2009-12-31.
5198         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5199         gl_PREREQ_SYS_H_WINSOCK2 always.
5200         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
5201         SYS_SOCKET_H variable.
5202         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
5203         Update comments.
5204         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
5205         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5206         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5207         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5208         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
5209
5210 2010-03-14  Bruno Haible  <bruno@clisp.org>
5211
5212         Fix values returned by sinl, cosl.
5213         * lib/trigl.h: Add specification comments.
5214         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
5215         that combines the values from the precomputed table with the values of
5216         the Chebyshev polynomials.
5217
5218 2010-03-14  Bruno Haible  <bruno@clisp.org>
5219
5220         Fix compilation error when modules 'posix_spawn[p]' are not used.
5221         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
5222         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
5223
5224 2010-03-14  Bruno Haible  <bruno@clisp.org>
5225
5226         Fix compilation error on mingw when module 'time_r' is not used.
5227         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
5228         is 1.
5229         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
5230         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5231         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
5232         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
5233
5234 2010-03-14  Bruno Haible  <bruno@clisp.org>
5235
5236         Fix compilation error with Sun C.
5237         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
5238         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
5239         instead of GCC specific ULONG_LONG_MAX.
5240         * lib/xstrtoll.c: Likewise.
5241         * lib/xstrtoull.c: Likewise.
5242
5243 2010-03-13  Bruno Haible  <bruno@clisp.org>
5244
5245         Allow the user to disable C++ code and tests.
5246         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
5247         (gl_PROG_ANSI_CXX): Require it.
5248
5249 2010-03-13  Bruno Haible  <bruno@clisp.org>
5250
5251         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
5252         cases.
5253
5254 2010-03-13  Bruno Haible  <bruno@clisp.org>
5255
5256         Test that gnulib does not break the standard C++ headers.
5257         * tests/test-locale-c++2.cc: New file.
5258         * modules/locale-tests (Files): Add it.
5259         (Makefile.am): Compile it for test-locale-c++.
5260         * tests/test-math-c++2.cc: New file.
5261         * modules/math-tests (Files): Add it.
5262         (Makefile.am): Compile it for test-math-c++.
5263         * tests/test-signal-c++2.cc: New file.
5264         * modules/signal-tests (Files): Add it.
5265         (Makefile.am): Compile it for test-signal-c++.
5266         * tests/test-stdio-c++2.cc: New file.
5267         * modules/stdio-tests (Files): Add it.
5268         (Makefile.am): Compile it for test-stdio-c++.
5269         * tests/test-stdlib-c++2.cc: New file.
5270         * modules/stdlib-tests (Files): Add it.
5271         (Makefile.am): Compile it for test-stdlib-c++.
5272         * tests/test-string-c++2.cc: New file.
5273         * modules/string-tests (Files): Add it.
5274         (Makefile.am): Compile it for test-string-c++.
5275         * tests/test-time-c++2.cc: New file.
5276         * modules/time-tests (Files): Add it.
5277         (Makefile.am): Compile it for test-time-c++.
5278         Reported by John W. Eaton <jwe@gnu.org>.
5279
5280 2010-03-13  Bruno Haible  <bruno@clisp.org>
5281
5282         * gnulib-tool (func_usage): Clarify which options are available for
5283         --create-testdir and --create-megatestdir.
5284
5285 2010-03-13  Bruno Haible  <bruno@clisp.org>
5286
5287         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
5288         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
5289         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
5290         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
5291         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
5292         when appropriate.
5293         Reported by Jim Meyering.
5294
5295 2010-03-12  Simon Josefsson  <simon@josefsson.org>
5296
5297         * gnulib-tool (func_import): Explain origin of code.
5298
5299 2010-03-12  Bruno Haible  <bruno@clisp.org>
5300
5301         Fix problem with automake's definition of CXXLINK.
5302         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
5303         Reported by Simon Josefsson and Ludovic Courtès.
5304
5305 2010-03-12  Bruno Haible  <bruno@clisp.org>
5306
5307         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
5308         stable releases.
5309
5310 2010-03-11  Bruno Haible  <bruno@clisp.org>
5311
5312         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
5313         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
5314         whether the system provides one variant or multiple variants of the
5315         function.
5316         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
5317         C++ compilers.
5318         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
5319         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
5320         Reported by Jim Meyering.
5321
5322 2010-03-09  Simon Josefsson  <simon@josefsson.org>
5323
5324         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
5325
5326 2010-03-08  Bruno Haible  <bruno@clisp.org>
5327
5328         gnulib-tool: Add support for --libtool in --create-testdir.
5329         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
5330         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
5331
5332 2010-03-08  Eric Blake  <eblake@redhat.com>
5333
5334         gnulib-tool.texi: mention possibility of git submodule
5335         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
5336         submodules.
5337         * doc/.gitignore: Ignore another generated file.
5338
5339 2010-03-08  Karl Berry  <karl@gnu.org>
5340
5341         * doc/gnulib-tool.texi (VCS Issues): Mention third option
5342         of committing gnulib files while skipping others.
5343
5344 2010-03-07  Bruno Haible  <bruno@clisp.org>
5345
5346         Tests of module 'wctype' in C++ mode.
5347         * tests/test-wctype-c++.cc: New file.
5348         * modules/wctype-tests (Files): Add it and tests/signature.h.
5349         (Depends-on): Add ansi-c++-opt.
5350         (Makefile.am): Arrange to compile and run test-wctype-c++.
5351
5352         Tests of module 'wchar' in C++ mode.
5353         * tests/test-wchar-c++.cc: New file.
5354         * modules/wchar-tests (Files): Add it and tests/signature.h.
5355         (Depends-on): Add ansi-c++-opt.
5356         (Makefile.am): Arrange to compile and run test-wchar-c++.
5357         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
5358         gl_MODULE_INDICATOR.
5359
5360         Tests of module 'unistd' in C++ mode.
5361         * tests/test-unistd-c++.cc: New file.
5362         * modules/unistd-tests (Files): Add it and tests/signature.h.
5363         (Depends-on): Add ansi-c++-opt.
5364         (Makefile.am): Arrange to compile and run test-unistd-c++.
5365         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
5366         gl_MODULE_INDICATOR.
5367
5368         Tests of module 'time' in C++ mode.
5369         * tests/test-time-c++.cc: New file.
5370         * modules/time-tests (Files): Add it and tests/signature.h.
5371         (Depends-on): Add ansi-c++-opt.
5372         (Makefile.am): Arrange to compile and run test-time-c++.
5373         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5374
5375         Tests of module 'sys_time' in C++ mode.
5376         * tests/test-sys_time-c++.cc: New file.
5377         * modules/sys_time-tests (Files): Add it and tests/signature.h.
5378         (Depends-on): Add ansi-c++-opt.
5379         (Makefile.am): Arrange to compile and run test-sys_time-c++.
5380         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
5381         gl_MODULE_INDICATOR.
5382
5383         Tests of module 'sys_stat' in C++ mode.
5384         * tests/test-sys_stat-c++.cc: New file.
5385         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
5386         (Depends-on): Add ansi-c++-opt.
5387         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
5388         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
5389         gl_MODULE_INDICATOR.
5390
5391         Tests of module 'sys_socket' in C++ mode.
5392         * tests/test-sys_socket-c++.cc: New file.
5393         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
5394         (Depends-on): Add ansi-c++-opt.
5395         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
5396         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
5397         gl_MODULE_INDICATOR.
5398
5399         Tests of module 'sys_select' in C++ mode.
5400         * tests/test-sys_select-c++.cc: New file.
5401         * modules/sys_select-tests (Files): Add it and tests/signature.h.
5402         (Depends-on): Add ansi-c++-opt.
5403         (Makefile.am): Arrange to compile and run test-sys_select-c++.
5404         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
5405         gl_MODULE_INDICATOR.
5406
5407         Tests of module 'sys_ioctl' in C++ mode.
5408         * tests/test-sys_ioctl-c++.cc: New file.
5409         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
5410         (Depends-on): Add ansi-c++-opt.
5411         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
5412         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
5413         gl_MODULE_INDICATOR.
5414
5415         Tests of module 'string' in C++ mode.
5416         * tests/test-string-c++.cc: New file.
5417         * modules/string-tests (Files): Add it and tests/signature.h.
5418         (Depends-on): Add ansi-c++-opt.
5419         (Makefile.am): Arrange to compile and run test-string-c++.
5420         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
5421         gl_MODULE_INDICATOR.
5422
5423         Tests of module 'stdlib' in C++ mode.
5424         * tests/test-stdlib-c++.cc: New file.
5425         * modules/stdlib-tests (Files): Add it and tests/signature.h.
5426         (Depends-on): Add ansi-c++-opt.
5427         (Makefile.am): Arrange to compile and run test-stdlib-c++.
5428         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
5429         gl_MODULE_INDICATOR.
5430
5431         Tests of module 'stdio' in C++ mode.
5432         * tests/test-stdio-c++.cc: New file.
5433         * modules/stdio-tests (Files): Add it and tests/signature.h.
5434         (Depends-on): Add ansi-c++-opt.
5435         (Makefile.am): Arrange to compile and run test-stdio-c++.
5436         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
5437         gl_MODULE_INDICATOR.
5438
5439         Tests of module 'spawn' in C++ mode.
5440         * tests/test-spawn-c++.cc: New file.
5441         * modules/spawn-tests (Files): Add it and tests/signature.h.
5442         (Depends-on): Add ansi-c++-opt.
5443         (Makefile.am): Arrange to compile and run test-spawn-c++.
5444         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
5445         gl_MODULE_INDICATOR.
5446
5447         Tests of module 'signal' in C++ mode.
5448         * tests/test-signal-c++.cc: New file.
5449         * modules/signal-tests (Files): Add it and tests/signature.h.
5450         (Depends-on): Add ansi-c++-opt.
5451         (Makefile.am): Arrange to compile and run test-signal-c++.
5452         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
5453         gl_MODULE_INDICATOR.
5454
5455         Tests of module 'search' in C++ mode.
5456         * tests/test-search-c++.cc: New file.
5457         * modules/search-tests (Files): Add it and tests/signature.h.
5458         (Depends-on): Add ansi-c++-opt.
5459         (Makefile.am): Arrange to compile and run test-search-c++.
5460         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
5461         gl_MODULE_INDICATOR.
5462
5463         Tests of module 'math' in C++ mode.
5464         * tests/test-math-c++.cc: New file.
5465         * modules/math-tests (Files): Add it and tests/signature.h.
5466         (Depends-on): Add ansi-c++-opt.
5467         (Makefile.am): Arrange to compile and run test-math-c++.
5468         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5469
5470         Tests of module 'locale' in C++ mode.
5471         * tests/test-locale-c++.cc: New file.
5472         * modules/locale-tests (Files): Add it and tests/signature.h.
5473         (Depends-on): Add ansi-c++-opt.
5474         (Makefile.am): Arrange to compile and run test-locale-c++.
5475         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
5476         gl_MODULE_INDICATOR.
5477
5478         Tests of module 'langinfo' in C++ mode.
5479         * tests/test-langinfo-c++.cc: New file.
5480         * modules/langinfo-tests (Files): Add it and tests/signature.h.
5481         (Depends-on): Add ansi-c++-opt.
5482         (Makefile.am): Arrange to compile and run test-langinfo-c++.
5483         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
5484         gl_MODULE_INDICATOR.
5485
5486         Tests of module 'iconv-h' in C++ mode.
5487         * tests/test-iconv-h-c++.cc: New file.
5488         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
5489         (Depends-on): Add ansi-c++-opt.
5490         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
5491
5492         Tests of module 'glob' in C++ mode.
5493         * tests/test-glob-c++.cc: New file.
5494         * modules/glob-tests (Files): Add it.
5495         (Depends-on): Add ansi-c++-opt.
5496         (Makefile.am): Arrange to compile and run test-glob-c++.
5497
5498         Tests of module 'fcntl-h' in C++ mode.
5499         * tests/test-fcntl-h-c++.cc: New file.
5500         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
5501         (Depends-on): Add ansi-c++-opt.
5502         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
5503         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
5504         gl_MODULE_INDICATOR.
5505
5506         Tests of module 'dirent' in C++ mode.
5507         * tests/test-dirent-c++.cc: New file.
5508         * modules/dirent-tests (Files): Add it and tests/signature.h.
5509         (Depends-on): Add ansi-c++-opt.
5510         (Makefile.am): Arrange to compile and run test-dirent-c++.
5511         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5512         gl_MODULE_INDICATOR.
5513
5514         New module 'ansi-c++-opt'.
5515         * modules/ansi-c++-opt: New file.
5516         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
5517
5518         Document C++ namespace mode.
5519         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
5520
5521         wctype: Avoid #define replacements in C++ mode.
5522         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
5523         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
5524         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
5525         In C++, define a namespaced alias symbol.
5526         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
5527         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
5528         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
5529         rule.
5530
5531         wchar: Avoid #define replacements in C++ mode.
5532         * lib/wchar.in.h: Include c++defs.h.
5533         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
5534         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
5535         symbol.
5536         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
5537         * modules/wchar (Depends-on): Add c++defs.
5538         (Makefile.am): Update wchar.h rule.
5539
5540         unistd: Avoid #define replacements in C++ mode.
5541         * lib/unistd.in.h: Include c++defs.h.
5542         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
5543         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
5544         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
5545         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
5546         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
5547         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
5548         symbol.
5549         (environ): Update.
5550         * modules/unistd (Depends-on): Add c++defs.
5551         (Makefile.am): Update unistd.h rule.
5552
5553         time: Avoid #define replacements in C++ mode.
5554         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
5555         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
5556         define a namespaced alias symbol.
5557         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
5558         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
5559         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
5560         * modules/time (Depends-on): Add c++defs, warn-on-use.
5561         (Makefile.am): Update time.h rule.
5562         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5563         * modules/nanosleep (configure.ac): Likewise.
5564         * modules/strptime (configure.ac): Likewise.
5565         * modules/timegm (configure.ac): Likewise.
5566
5567         sys_time: Avoid #define replacements in C++ mode.
5568         * lib/sys_time.in.h: Include c++defs.h.
5569         (gettimeofday): In C++, define a namespaced alias symbol.
5570         * modules/sys_time (Depends-on): Add c++defs.
5571         (Makefile.am): Update sys/time.h rule.
5572
5573         sys_stat: Avoid #define replacements in C++ mode.
5574         * lib/sys_stat.in.h: Include c++defs.h.
5575         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
5576         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
5577         namespaced alias symbol.
5578         In C++, define a namespaced alias symbol.
5579         * modules/sys_stat (Depends-on): Add c++defs.
5580         (Makefile.am): Update sys/stat.h rule.
5581
5582         sys_socket: Avoid #define replacements in C++ mode.
5583         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
5584         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
5585         definitions also when the system has a <sys/socket.h>.
5586         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5587         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
5588         In C++, define a namespaced alias symbol.
5589         * modules/sys_socket (Depends-on): Add c++defs.
5590         (Makefile.am): Update sys/socket.h rule.
5591
5592         sys_select: Avoid #define replacements in C++ mode.
5593         * lib/sys_select.in.h: Include c++defs.h. Enable the function
5594         definitions also when the system has a <sys/select.h>.
5595         (select): In C++, define a namespaced alias symbol.
5596         * modules/sys_select (Depends-on): Add c++defs.
5597         (Makefile.am): Update sys/select.h rule.
5598
5599         sys_ioctl: Avoid #define replacements in C++ mode.
5600         * lib/sys_ioctl.in.h: Include c++defs.h.
5601         (ioctl): In C++, define a namespaced alias symbol.
5602         * modules/sys_ioctl (Depends-on): Add c++defs.
5603         (Makefile.am): Update sys/ioctl.h rule.
5604
5605         string: Avoid #define replacements in C++ mode.
5606         * lib/string.in.h: Include c++defs.h.
5607         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
5608         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5609         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5610         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
5611         strsignal, strverscmp): In C++, define a namespaced alias symbol.
5612         * modules/string (Depends-on): Add c++defs.
5613         (Makefile.am): Update string.h rule.
5614
5615         stdlib: Avoid #define replacements in C++ mode.
5616         * lib/stdlib.in.h: Include c++defs.h.
5617         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
5618         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
5619         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
5620         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
5621         symbol.
5622         * modules/stdlib (Depends-on): Add c++defs.
5623         (Makefile.am): Update stdlib.h rule.
5624
5625         stdio: Avoid #define replacements in C++ mode.
5626         * lib/stdio.in.h: Include c++defs.h.
5627         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
5628         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
5629         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
5630         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
5631         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
5632         namespaced alias symbol.
5633         * modules/stdio (Depends-on): Add c++defs.
5634         (Makefile.am): Update stdio.h rule.
5635
5636         spawn: Avoid #define replacements in C++ mode.
5637         * lib/spawn.in.h: Include c++defs.h.
5638         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5639         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5640         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5641         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5642         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5643         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5644         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5645         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5646         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5647         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5648         In C++, define a namespaced alias symbol.
5649         * modules/spawn (Depends-on): Add c++defs.
5650         (Makefile.am): Update spawn.h rule.
5651
5652         signal: Avoid #define replacements in C++ mode.
5653         * lib/signal.in.h: Include c++defs.h.
5654         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5655         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
5656         namespaced alias symbol.
5657         * modules/signal (Depends-on): Add c++defs.
5658         (Makefile.am): Update signal.h rule.
5659
5660         search: Avoid #define replacements in C++ mode.
5661         * lib/search.in.h: Include c++defs.h.
5662         (_gl_search_compar_fn, _gl_search_action_fn): New types.
5663         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
5664         symbol.
5665         * modules/search (Depends-on): Add c++defs.
5666         (Makefile.am): Update search.h rule.
5667
5668         math: Avoid #define replacements in C++ mode.
5669         * lib/math.in.h: Include c++defs.h.
5670         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
5671         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
5672         trunc, truncl): In C++, define a namespaced alias symbol.
5673         * modules/math (Depends-on): Add c++defs.
5674         (Makefile.am): Update math.h rule.
5675
5676         locale: Avoid #define replacements in C++ mode.
5677         * lib/locale.in.h: Include c++defs.h.
5678         (duplocale): In C++, define a namespaced alias symbol.
5679         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
5680         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
5681         * modules/locale (Depends-on): Add c++defs.
5682         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
5683
5684         langinfo: Avoid #define replacements in C++ mode.
5685         * lib/langinfo.in.h: Include c++defs.h.
5686         (nl_langinfo): In C++, define a namespaced alias symbol.
5687         * modules/langinfo (Depends-on): Add c++defs.
5688         (Makefile.am): Update langinfo.h rule.
5689
5690         iconv-h: Avoid #define replacements in C++ mode.
5691         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
5692         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
5693         symbol.
5694         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
5695         whenever iconv is present.
5696         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
5697         (Makefile.am): Update iconv.h rule.
5698
5699         glob: Avoid #define replacements in C++ mode.
5700         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
5701         (_gl_glob_errfunc_fn): New type.
5702         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
5703         symbol.
5704         * modules/glob (Depends-on): Add c++defs, warn-on-use.
5705         (Makefile.am): Update glob.h rule.
5706
5707         fcntl-h: Avoid #define replacements in C++ mode.
5708         * lib/fcntl.in.h: Include c++defs.h.
5709         (fcntl, open, openat): In C++, define a namespaced alias symbol.
5710         * modules/fcntl-h (Depends-on): Add c++defs.
5711         (Makefile.am): Update fcntl.h rule.
5712
5713         dirent: Avoid #define replacements in C++ mode.
5714         * lib/dirent.in.h: Include c++defs.h.
5715         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
5716         namespaced alias symbol.
5717         (dirfd): Update declaration.
5718         * modules/dirent (Depends-on): Add c++defs.
5719         (Makefile.am): Update dirent.h rule.
5720
5721         ctype: Make it usable in C++ code.
5722         * lib/ctype.in.h: Include c++defs.h.
5723         (isblank): Declare as extern "C".
5724         * modules/ctype (Depends-on): Add c++defs.
5725         (Makefile.am): Update ctype.h rule.
5726
5727         New module 'c++defs'.
5728         * modules/c++defs: New file.
5729         * build-aux/c++defs.h: New file.
5730         Reported by John W. Eaton <jwe@gnu.org>.
5731
5732 2010-03-07  Bruno Haible  <bruno@clisp.org>
5733
5734         logb: Provide missing declaration for Cygwin.
5735         * lib/math.in.h (logb): New declaration.
5736         * m4/logb.m4: New file.
5737         * modules/logb (Files): Add m4/logb.m4.
5738         (Depends-on): Add math.
5739         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
5740         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
5741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
5742         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
5743         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
5744
5745 2010-03-07  Bruno Haible  <bruno@clisp.org>
5746
5747         Fix test-cond link error.
5748         * tests/test-cond.c: Include <stdio.h>.
5749
5750 2010-03-07  Bruno Haible  <bruno@clisp.org>
5751
5752         Fix test-dirent-safer link error.
5753         * modules/dirent-safer-tests (Makefile.am): Define
5754         test_dirent_safer_LDADD.
5755
5756 2010-03-07  Bruno Haible  <bruno@clisp.org>
5757
5758         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
5759         among default module list.
5760
5761 2010-03-07  Bruno Haible  <bruno@clisp.org>
5762
5763         Fix link error on platforms with GNU libiconv.
5764         * modules/unistr/u8-strcoll-tests (Makefile): Define
5765         test_u8_strcoll_LDADD.
5766         * modules/unistr/u16-strcoll-tests (Makefile): Define
5767         test_u16_strcoll_LDADD.
5768         * modules/unistr/u32-strcoll-tests (Makefile): Define
5769         test_u32_strcoll_LDADD.
5770
5771 2010-03-07  Bruno Haible  <bruno@clisp.org>
5772
5773         Use POSIX declarations for socket functions.
5774         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
5775         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
5776         rpl_sendto): Change declaration to match POSIX.
5777         * lib/connect.c (rpl_connect): Likewise.
5778         * lib/accept.c (rpl_accept): Likewise.
5779         * lib/bind.c (rpl_bind): Likewise.
5780         * lib/getpeername.c (rpl_getpeername): Likewise.
5781         * lib/getsockname.c (rpl_getsockname): Likewise.
5782         * lib/recv.c (rpl_recv): Likewise.
5783         * lib/send.c (rpl_send): Likewise.
5784         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5785         * lib/sendto.c (rpl_sendto): Likewise.
5786
5787 2010-03-06  Bruno Haible  <bruno@clisp.org>
5788
5789         Clarify access, euidaccess, faccessat.
5790         * doc/posix-functions/faccessat.texi: Mention security problem under
5791         "Other problems", not "Portability problems".
5792         * doc/posix-functions/access.texi: Likewise. Mention a related security
5793         problem.
5794         * doc/glibc-functions/euidaccess.texi: Mention security problems.
5795         * lib/euidaccess.c: Add comments about platforms.
5796         * lib/unistd.in.h (access, euidaccess): Add warnings.
5797
5798 2010-03-07  Bruno Haible  <bruno@clisp.org>
5799
5800         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
5801         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
5802         (POSIX_SPAWN_SETSCHEDULER): Likewise.
5803         (POSIX_SPAWN_USEVFORK): Define in a way that works when
5804         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5805         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
5806         declare when POSIX_SPAWN_SETSCHEDULER is zero.
5807         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
5808         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
5809         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
5810         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
5811         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
5812         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
5813         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
5814         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
5815         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
5816         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
5817         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
5818         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
5819         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
5820         Likewise.
5821         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
5822         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
5823         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
5824         Likewise.
5825         * tests/test-spawn.c (main): Make it work when
5826         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5827
5828 2010-03-07  Bruno Haible  <bruno@clisp.org>
5829
5830         Fix incorrect Makefile.am generation in German locale.
5831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5832         Execute sed command with character range in C locale.
5833
5834 2010-03-06  Bruno Haible  <bruno@clisp.org>
5835
5836         Tests for module 'iconv-h'.
5837         * modules/iconv-h-tests: New file.
5838         * tests/test-iconv-h.c: New file.
5839
5840         New module 'iconv-h'.
5841         * modules/iconv-h: New file.
5842         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
5843         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
5844         (configure.ac): Remove gl_ICONV_H.
5845         (Makefile.am): Remove rule for iconv.h.
5846
5847 2010-03-06  Bruno Haible  <bruno@clisp.org>
5848
5849         More consistent naming of *.m4 files.
5850         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
5851         * modules/wctype (Files): Update.
5852
5853         More consistent naming of *.m4 files.
5854         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
5855         * modules/wchar (Files): Update.
5856
5857 2010-03-06  Jim Meyering  <meyering@redhat.com>
5858
5859         euidaccess: relax license to LGPLv2+
5860         * modules/euidaccess (License): Relax to LGPLv2+.
5861
5862 2010-03-06  Bruno Haible  <bruno@clisp.org>
5863
5864         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
5865         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
5866         (Makefile.am): Augment lib_SOURCES instead.
5867
5868 2010-03-04  Jim Meyering  <meyering@redhat.com>
5869
5870         utime: remove obsolete module
5871         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
5872         unnecessary for years, and has been marked as obsolete for 10 months.
5873         * modules/utime: Remove file.
5874         * lib/utime.c: Remove file.
5875         * m4/utime.m4: Remove file.
5876         * m4/utimes-null.m4: Remove file.
5877         * doc/posix-functions/utime.texi (utime): Remove reference to
5878         the module.  Move the sole "fixed by gnulib" item into the
5879         "problems not fixed by Gnulib" list.
5880         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
5881
5882 2010-03-05  Simon Josefsson  <simon@josefsson.org>
5883
5884         * modules/exit (License): Relax license to LGPLv2+.
5885         (Status): Mark as obsolete.
5886         * NEWS: Mention deprecated 'exit' module.
5887         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
5888         of now obsolete 'exit'.
5889
5890 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5891
5892         fts-lgpl: remove unused module
5893         * modules/fts-lgpl: Remove.
5894         * MODULES.html.sh (func_all_modules): Adjust.
5895         * check-module (find_included_lib_files): Adjust.
5896         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
5897
5898 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
5899
5900         copy-acl: enhance Solaris ACL error handling
5901         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
5902         * lib/set-mode-acl.c (qset_acl): Likewise.
5903
5904 2010-03-02  Bruno Haible  <bruno@clisp.org>
5905
5906         spawn: Don't override the system defined values on FreeBSD 8.
5907         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
5908         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
5909         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
5910         if HAVE_POSIX_SPAWN is 1.
5911         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
5912
5913 2010-03-01  Bruno Haible  <bruno@clisp.org>
5914
5915         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
5916         regarding Automake.
5917
5918 2010-02-25  Bruno Haible  <bruno@clisp.org>
5919
5920         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
5921         * gnulib-tool: Define 'echo' as a function only before the ksh alias
5922         setting, not afterwards.
5923         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5924
5925 2010-02-24  Eric Blake  <eblake@redhat.com>
5926
5927         bootstrap, git-version-gen: use timestamp
5928         * build-aux/git-version-gen (scriptversion): Force UTC.
5929         * build-aux/bootstrap (scriptversion): New variable.
5930
5931         bootstrap: allow older git
5932         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
5933         older than 1.6.4.  Requested by the libvirt project.
5934
5935 2010-02-23  Eric Blake  <eblake@redhat.com>
5936
5937         warn-on-use: work with old autoconf
5938         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
5939         AS_VAR semantics of autoconf 2.60.
5940         Reported by Bruno Haible.
5941
5942         bootstrap: improve some comments
5943         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
5944         clarification comments.
5945
5946         gettimeofday: provide correct function
5947         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
5948         when replacement is declared, otherwise provide gettimeofday.
5949         Reported by Michael Goffioul.
5950
5951 2010-02-23  Jim Meyering  <meyering@redhat.com>
5952
5953         lib-ignore: relax license to "unlimited", not LGPLv2+
5954         * modules/lib-ignore (License): Relax to "unlimited".
5955
5956 2010-02-23  Jim Meyering  <meyering@redhat.com>
5957
5958         lib-ignore: relax license to LGPLv2+
5959         * modules/lib-ignore (License): Relax to LGPLv2+.
5960
5961 2010-02-22  Eric Blake  <eblake@redhat.com>
5962
5963         lseek: avoid bash 3.2 broken pipe bug
5964         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
5965         warning from bash 3.2.
5966         Reported by Ben Pfaff, with analysis from Bruno Haible.
5967
5968         bootstrap: support non-FSF copyright holder
5969         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
5970         bootstrap.conf override of COPYRIGHT_HOLDER.
5971         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
5972
5973         bootstrap: interoperate with gettext 0.14.1
5974         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
5975
5976         bootstrap: allow for alternate submodule location
5977         * build-aux/bootstrap (gnulib_path): New variable; use instead of
5978         hardcoding submodule location.
5979         (gnulib_mk): Allow direct use of Makefile.am.
5980
5981         bootstrap: use GNULIB_SRCDIR to reduce disk usage
5982         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
5983         rather than reconfiguring where the submodule points.
5984
5985         gettimeofday: restore support for platforms that lack function
5986         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5987         replacement if function is missing.
5988         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
5989         * modules/sys_time (Makefile.am): Substitute it.
5990         * lib/sys_time.in.h (gettimeofday): Check it.
5991         Reported by Michael Goffioul.
5992
5993 2010-02-21  Bruno Haible  <bruno@clisp.org>
5994
5995         * lib/stdio.in.h (obstack_printf): Fix typo.
5996
5997 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
5998
5999         vc-list-files: use bzr ls's -R option
6000         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
6001         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
6002
6003 2010-02-21  Jim Meyering  <meyering@redhat.com>
6004
6005         init.sh: fix EXEEXT shims to work also for names like test-prog
6006         * tests/init.sh: Re-exec a better shell, when needed.
6007         If the current shell lacks support for posix $(...), an init.sh-using
6008         test will now try to find a shell that supports that.  If EXEEXT is
6009         nonempty, we also require support for hyphen-in-alias-name and shell
6010         substitutions like ${var#glob}.  Failure to find such a shell results
6011         in a skipped test.
6012
6013 2010-02-21  Bruno Haible  <bruno@clisp.org>
6014
6015         Really work around around "broken pipe" error message from bash 3.2.
6016         * gnulib-tool (func_reset_sigpipe): Remove function.
6017         (echo): In bash 3.2, define to a function that uses printf.
6018         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
6019
6020 2010-02-20  Bruno Haible  <bruno@clisp.org>
6021
6022         Restore support for automake 1.9.6 with autoconf 2.61.
6023         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
6024         Reported by James Youngman <jay@gnu.org>.
6025
6026 2010-02-20  Bruno Haible  <bruno@clisp.org>
6027
6028         Improve *printf warning condition.
6029         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
6030         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
6031         and the function is overridden due to SIGPIPE emulation.
6032
6033 2010-02-20  Bruno Haible  <bruno@clisp.org>
6034
6035         * lib/stdio.in.h: Tweak comments.
6036
6037 2010-02-19  Bruno Haible  <bruno@clisp.org>
6038
6039         Make it easier to find modules. New gnulib-tool option '--find'.
6040         * gnulib-tool: New option --find.
6041         (func_usage): Document it.
6042         (func_sanitize_modulelist): New function, extracted from
6043         func_all_modules.
6044         (func_all_modules): Invoke it.
6045         * doc/gnulib-tool.texi (Which modules?): New node.
6046
6047 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
6048
6049         * lib/sys_select.in.h: Provide select replacement even if
6050         sys/select.h exists on a system, for Interix.
6051
6052 2010-02-18  Jim Meyering  <meyering@redhat.com>
6053
6054         init.sh: don't use $(...) just yet
6055         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
6056         to accommodate e.g., Solaris' /bin/sh.
6057
6058 2010-02-17  Bruno Haible  <bruno@clisp.org>
6059
6060         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
6061         Reported by Ludovic Courtès <ludo@gnu.org>.
6062
6063 2010-02-16  Simon Josefsson  <simon@josefsson.org>
6064
6065         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
6066         linking with -lintl.
6067
6068 2010-02-17  Simon Josefsson  <simon@josefsson.org>
6069
6070         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
6071         if not provided by the system's netdb.h.  Reported by
6072         ludo@gnu.org (Ludovic Courtès).
6073
6074 2010-02-15  Jim Meyering  <meyering@redhat.com>
6075
6076         init.sh: improve portability and efficiency
6077         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
6078         "dummy" in a for loop.
6079         Use '!', not '^' to select the complement of a character set used
6080         in a "case" statement.
6081         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
6082         Suggestions from Eric Blake.
6083
6084         init.sh: automatically accommodate programs with the .exe suffix
6085         Automatically arrange for an invocation of "prog" to execute the
6086         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
6087         may use the simpler "prog", yet still work when built on a system
6088         that requires specifying the added suffix.
6089         Do this by constructing a function named "prog" that invokes
6090         "prog.exe" for each .exe file in selected directories.
6091         * tests/init.sh (find_exe_basenames_): New function.
6092         (create_exe_shim_functions_): New function.
6093         (path_prepend_): Use it.
6094
6095         maint.mk: mark syntax-check sc_*.m rules as .PHONY
6096         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
6097         "make -t syntax-check" doesn't create a ton of sc_*.m files.
6098
6099 2010-02-14  Jim Meyering  <meyering@redhat.com>
6100
6101         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
6102         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
6103         (sc_prohibit_hash_pjw_without_use): New rule.
6104
6105         maint.mk: allow the default upload destination dir to be overridden
6106         * top/maint.mk (upload_dest_dir_): Define with a default that
6107         preserves the status quo.
6108         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
6109         Reported by Peter Simons.
6110
6111         maint.mk: prohibit inclusion of "hash.h" without_use
6112         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
6113
6114 2010-02-10  Jim Meyering  <meyering@redhat.com>
6115
6116         maint.mk: prohibit inclusion of "ignore-value.h" without_use
6117         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
6118
6119 2010-02-09  Eric Blake  <ebb9@byu.net>
6120         and Bruno Haible  <bruno@clisp.org>
6121
6122         obstack-printf-posix: ensure declaration
6123         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
6124         extracted from gl_FUNC_OBSTACK_PRINTF.
6125         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
6126         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
6127         Likewise.
6128         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
6129         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
6130         0.
6131
6132 2010-02-08  Bruno Haible  <bruno@clisp.org>
6133
6134         gnulib-tool: Fix typo in 2010-02-07 commit.
6135         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
6136         Reported by Eric Blake.
6137
6138 2010-02-07  Bruno Haible  <bruno@clisp.org>
6139
6140         gnulib-tool: Fix up caching patches.
6141         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
6142         option --no-cache. Use associative arrays when supported by the shell.
6143         (sed_comments): New variable.
6144         (modcache): Renamed from do_cache.
6145         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
6146         abbreviate unnecessarily.
6147         (have_associative): New variable.
6148         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
6149         way also for ksh and zsh.
6150         (func_init_sed_convert_to_cache_statements): New function, extracted
6151         from func_cache_lookup_module. Add support for associative arrays.
6152         Don't set the c_MODULE_cached variable here. Ignore all lines before
6153         the first field header. Remove only the final newline, not all trailing
6154         newlines. Support empty fields correctly. Limit the use of 'eval' to
6155         assignments.
6156         (func_get_description, func_get_status, func_get_notice,
6157         func_get_applicability, func_get_filelist, func_get_dependencies,
6158         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
6159         func_get_automake_snippet, func_get_include_directive,
6160         func_get_link_directive, func_get_license, func_get_maintainer):
6161         Update documentation. List the unoptimized code first. Add support for
6162         associative arrays. Limit the use of 'eval' to assignments.
6163         (func_get_applicability): Undo stylistic pessimisations.
6164         (func_get_automake_snippet, func_get_include_directive): Reduce code
6165         duplication.
6166         (func_modules_transitive_closure, func_modules_add_dummy,
6167         func_modules_notice, func_modules_to_filelist, func_add_file,
6168         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
6169         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
6170         func_create_testdir, func_create_megatestdir): Update documentation.
6171
6172 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6173
6174         * gnulib-tool (func_cache_lookup_module): Store the module name
6175         belonging to the cache variable; error out if two different
6176         module names map to the same cache variable name.
6177
6178 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6179
6180         gnulib-tool: Make caching optional.
6181         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
6182         Update matching short versions of --no-changelog.
6183         (func_usage): Update.
6184         (sed_extract_cache_prog): Renamed from ...
6185         (sed_extract_prog): ... this; revert to old extraction script.
6186         (func_get_description, func_get_status)
6187         (func_get_notice, func_get_applicability, func_get_filelist)
6188         (func_get_dependencies, func_get_autoconf_early_snippet)
6189         (func_get_autoconf_snippet, func_get_automake_snippet)
6190         (func_get_include_directive, func_get_link_directive)
6191         (func_get_license, func_get_maintainer): If $do_cache is false,
6192         use old, non-caching extraction scripts.
6193         Suggestion by Bruno Haible.
6194
6195 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6196
6197         gnulib-tool: cache module metainformation.
6198         * gnulib-tool (sed_extract_prog): Match newline before each
6199         header, and rewrite header to a shell variable suffix.
6200         (func_cache_var, func_cache_lookup_module): New functions,
6201         to turn a module name into a cache variable prefix, and to
6202         look up and cache module metainformation.
6203         (func_get_description, func_get_status)
6204         (func_get_notice, func_get_applicability, func_get_filelist)
6205         (func_get_dependencies, func_get_autoconf_early_snippet)
6206         (func_get_autoconf_snippet, func_get_automake_snippet)
6207         (func_get_include_directive, func_get_link_directive)
6208         (func_get_license, func_get_maintainer): Use
6209         func_cache_lookup_module.
6210
6211 2010-02-07  Bruno Haible  <bruno@clisp.org>
6212
6213         fnctl: Fix missing dependency.
6214         * modules/fcntl (Depends-on): Add getdtablesize.
6215         Reported by John W. Eaton <jwe@gnu.org>.
6216
6217 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6218
6219         Argp: fix recognition of short alias options.
6220
6221         * lib/argp-parse.c (convert_options): Fix improper use of
6222         `|' between character values.
6223         * tests/test-argp.c (group1_option): New alias option
6224         --read (-r).
6225         (group1_parser): Special handling for 'r'.
6226         (test15): New test case.
6227         (test_fun): Add test15.
6228         * tests/test-argp-2.sh: Update expected --help and --usage
6229         outputs.
6230
6231 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6232
6233         * tests/test-argp.c: Fix indentation.
6234
6235 2010-02-04  Eric Blake  <ebb9@byu.net>
6236
6237         gettimeofday: expose type of second argument
6238         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
6239         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
6240         * tests/test-gettimeofday.c: Use it to silence warning.
6241         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
6242         the issue.
6243
6244 2010-02-03  Jim Meyering  <meyering@redhat.com>
6245
6246         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
6247         * lib/regcomp.c (TYPE_SIGNED): Define.
6248         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
6249
6250         regcomp.c: avoid a new -Wshadow warning
6251         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
6252
6253 2010-02-01  Jim Meyering  <meyering@redhat.com>
6254
6255         removing useless parentheses in cpp #define directives
6256         For motivation, see commit c0221df4, "define STREQ(a,b)
6257         consistently, removing useless parentheses"
6258         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
6259         * lib/mountlist.c (MNT_IGNORE): Likewise.
6260         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
6261
6262 2010-02-01  Eric Blake  <ebb9@byu.net>
6263
6264         sys_time: use link-warning
6265         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
6266         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
6267         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
6268         * modules/sys_time (Depends-on): Add warn-on-use.
6269         (Makefile.am): Always build replacement.
6270         (configure.ac): Update substitutions.
6271         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
6272         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
6273         bother with SYS_TIME_H.
6274         * modules/gettimeofday (configure.ac): Declare indicator.
6275         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
6276         in use.
6277
6278         closein-tests: silence compiler warning
6279         * tests/test-closein.c (main): Ignore fread result.
6280         * modules/closein-tests (Depends-on): Add ignore-value.
6281
6282         tests: silence warning about system return
6283         * tests/test-areadlink-with-size.c (main): Ignore system result.
6284         * tests/test-areadlink.c (main): Likewise.
6285         * tests/test-areadlinkat-with-size.c (main): Likewise.
6286         * tests/test-areadlinkat.c (main): Likewise.
6287         * tests/test-canonicalize-lgpl.c (main): Likewise.
6288         * tests/test-canonicalize.c (main): Likewise.
6289         * tests/test-chown.c (main): Likewise.
6290         * tests/test-fchownat.c (main): Likewise.
6291         * tests/test-fdutimensat.c (main): Likewise.
6292         * tests/test-fstatat.c (main): Likewise.
6293         * tests/test-futimens.c (main): Likewise.
6294         * tests/test-lchown.c (main): Likewise.
6295         * tests/test-link.c (main): Likewise.
6296         * tests/test-linkat.c (main): Likewise.
6297         * tests/test-lstat.c (main): Likewise.
6298         * tests/test-mkdir.c (main): Likewise.
6299         * tests/test-mkdirat.c (main): Likewise.
6300         * tests/test-mkfifo.c (main): Likewise.
6301         * tests/test-mkfifoat.c (main): Likewise.
6302         * tests/test-mknod.c (main): Likewise.
6303         * tests/test-readlink.c (main): Likewise.
6304         * tests/test-remove.c (main): Likewise.
6305         * tests/test-rename.c (main): Likewise.
6306         * tests/test-renameat.c (main): Likewise.
6307         * tests/test-rmdir.c (main): Likewise.
6308         * tests/test-symlink.c (main): Likewise.
6309         * tests/test-symlinkat.c (main): Likewise.
6310         * tests/test-unlink.c (main): Likewise.
6311         * tests/test-unlinkat.c (main): Likewise.
6312         * tests/test-utimens.c (main): Likewise.
6313         * tests/test-utimensat.c (main): Likewise.
6314         * modules/areadlink-tests (Depends-on): Add ignore-value.
6315         * modules/areadlink-with-size-tests (Depends-on): Likewise.
6316         * modules/areadlinkat-tests (Depends-on): Likewise.
6317         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
6318         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6319         * modules/canonicalize-tests (Depends-on): Likewise.
6320         * modules/chown-tests (Depends-on): Likewise.
6321         * modules/fdutimensat-tests (Depends-on): Likewise.
6322         * modules/futimens-tests (Depends-on): Likewise.
6323         * modules/lchown-tests (Depends-on): Likewise.
6324         * modules/link-tests (Depends-on): Likewise.
6325         * modules/linkat-tests (Depends-on): Likewise.
6326         * modules/lstat-tests (Depends-on): Likewise.
6327         * modules/mkdir-tests (Depends-on): Likewise.
6328         * modules/mkfifo-tests (Depends-on): Likewise.
6329         * modules/mkfifoat-tests (Depends-on): Likewise.
6330         * modules/mknod-tests (Depends-on): Likewise.
6331         * modules/openat-tests (Depends-on): Likewise.
6332         * modules/readlink-tests (Depends-on): Likewise.
6333         * modules/remove-tests (Depends-on): Likewise.
6334         * modules/rename-tests (Depends-on): Likewise.
6335         * modules/renameat-tests (Depends-on): Likewise.
6336         * modules/rmdir-tests (Depends-on): Likewise.
6337         * modules/symlink-tests (Depends-on): Likewise.
6338         * modules/symlinkat-tests (Depends-on): Likewise.
6339         * modules/unlink-tests (Depends-on): Likewise.
6340         * modules/utimens-tests (Depends-on): Likewise.
6341         * modules/utimensat-tests (Depends-on): Likewise.
6342
6343 2010-01-31  Bruno Haible  <bruno@clisp.org>
6344
6345         Perform the same test for many <math.h> functions.
6346         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
6347         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
6348         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
6349         of gl_MATHFUNC.
6350         * modules/acos (configure.ac): Likewise.
6351         * modules/asin (configure.ac): Likewise.
6352         * modules/atan (configure.ac): Likewise.
6353         * modules/atan2 (configure.ac): Likewise.
6354         * modules/cbrt (configure.ac): Likewise.
6355         * modules/copysign (configure.ac): Likewise.
6356         * modules/cos (configure.ac): Likewise.
6357         * modules/cosh (configure.ac): Likewise.
6358         * modules/erf (configure.ac): Likewise.
6359         * modules/erfc (configure.ac): Likewise.
6360         * modules/exp (configure.ac): Likewise.
6361         * modules/fmod (configure.ac): Likewise.
6362         * modules/hypot (configure.ac): Likewise.
6363         * modules/j0 (configure.ac): Likewise.
6364         * modules/j1 (configure.ac): Likewise.
6365         * modules/jn (configure.ac): Likewise.
6366         * modules/lgamma (configure.ac): Likewise.
6367         * modules/log (configure.ac): Likewise.
6368         * modules/log10 (configure.ac): Likewise.
6369         * modules/log1p (configure.ac): Likewise.
6370         * modules/pow (configure.ac): Likewise.
6371         * modules/remainder (configure.ac): Likewise.
6372         * modules/sin (configure.ac): Likewise.
6373         * modules/sinh (configure.ac): Likewise.
6374         * modules/tan (configure.ac): Likewise.
6375         * modules/tanh (configure.ac): Likewise.
6376         * modules/y0 (configure.ac): Likewise.
6377         * modules/y1 (configure.ac): Likewise.
6378         * modules/yn (configure.ac): Likewise.
6379         Suggested by Paolo Bonzini.
6380
6381 2010-01-31  Bruno Haible  <bruno@clisp.org>
6382
6383         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
6384
6385 2010-01-31  Bruno Haible  <bruno@clisp.org>
6386
6387         Work around getdelim() bug on FreeBSD 8.0.
6388         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
6389         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
6390         not work.
6391         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
6392         is 1.
6393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
6394         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
6395         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
6396         a non-zero size.
6397         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
6398
6399 2010-01-31  Bruno Haible  <bruno@clisp.org>
6400
6401         Work around getline() bug on FreeBSD 8.0.
6402         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
6403         and a non-zero size.
6404         * tests/test-getline.c (main): Likewise.
6405         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
6406         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
6407
6408 2010-01-28  Eric Blake  <ebb9@byu.net>
6409
6410         regex: fix build failure
6411         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
6412         platforms.
6413
6414 2010-01-28  Jim Meyering  <meyering@redhat.com>
6415
6416         regex: do not ignore memory allocation failure
6417         * lib/regex_internal.c (create_cd_newstate): Detect
6418         re_node_set_init_copy failure.   Extracted from glibc commit
6419         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6420
6421         regex: sync more white-space changes from libc
6422         * lib/regex_internal.c: White-space only changes.
6423         * lib/regexec.c: Likewise.
6424
6425         regex: add many uses of __attribute_warn_unused_result__
6426         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
6427         * lib/regexec.c: Likewise.
6428         Extracted from a messy glibc commit.
6429
6430         regcomp.c: spelling and merge-artifact from glibc
6431         * lib/regcomp.c: Merge remainder of glibc's
6432         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6433
6434         regcomp.c: sync white-space changes from glibc
6435         * lib/regcomp.c: Merge to accommodate white space
6436         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6437
6438         regcomp.c: do not ignore internal return values
6439         * lib/regcomp.c: Do not ignore internal return values.
6440         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
6441         but without its white-space changes and spelling fixes.
6442
6443         regex_internal.h: define __attribute_warn_unused_result__
6444         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
6445
6446         maint: add a syntax-check rule to check for vulnerable Makefile.in
6447         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
6448
6449 2010-01-27  Jim Meyering  <meyering@redhat.com>
6450
6451         ncftpput-ftp: clean up spaces
6452         * build-aux/ncftpput-ftp: Make Copyright line consistent.
6453         Remove trailing blanks.
6454
6455 2010-01-27  Simon Josefsson  <simon@josefsson.org>
6456
6457         * build-aux/git-version-gen: Fix copyright statement.
6458         * build-aux/gnupload: Likewise.
6459         * tests/test-arcfour.c: Likewise.
6460         * tests/test-arctwo.c: Likewise.
6461         * tests/test-count-one-bits.c: Likewise.
6462         * tests/test-crc.c: Likewise.
6463         * tests/test-des.c: Likewise.
6464         * tests/test-gc-arcfour.c: Likewise.
6465         * tests/test-gc-arctwo.c: Likewise.
6466         * tests/test-gc-des.c: Likewise.
6467         * tests/test-gc-hmac-md5.c: Likewise.
6468         * tests/test-gc-hmac-sha1.c: Likewise.
6469         * tests/test-gc-md2.c: Likewise.
6470         * tests/test-gc-md4.c: Likewise.
6471         * tests/test-gc-md5.c: Likewise.
6472         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6473         * tests/test-gc-rijndael.c: Likewise.
6474         * tests/test-gc-sha1.c: Likewise.
6475         * tests/test-gc.c: Likewise.
6476         * tests/test-gethostname.c: Likewise.
6477         * tests/test-gettimeofday.c: Likewise.
6478         * tests/test-hash.c: Likewise.
6479         * tests/test-hmac-md5.c: Likewise.
6480         * tests/test-hmac-sha1.c: Likewise.
6481         * tests/test-md2.c: Likewise.
6482         * tests/test-md4.c: Likewise.
6483         * tests/test-md5.c: Likewise.
6484         * tests/test-memchr.c: Likewise.
6485         * tests/test-memchr2.c: Likewise.
6486         * tests/test-memcmp.c: Likewise.
6487         * tests/test-memmem.c: Likewise.
6488         * tests/test-memrchr.c: Likewise.
6489         * tests/test-rawmemchr.c: Likewise.
6490         * tests/test-read-file.c: Likewise.
6491         * tests/test-rijndael.c: Likewise.
6492         * tests/test-sockets.c: Likewise.
6493         * tests/test-strchrnul.c: Likewise.
6494         * tests/test-strstr.c: Likewise.
6495         * tests/test-strtod.c: Likewise.
6496         * build-aux/ncftpput-ftp: Likewise.
6497
6498 2010-01-26  Eric Blake  <ebb9@byu.net>
6499
6500         ignore-value: update recommended header name
6501         * modules/ignore-value (Include): Only use <> for headers that
6502         exist in glibc.
6503
6504 2010-01-26  Jim Meyering  <meyering@redhat.com>
6505
6506         test-userspec.c: avoid compiler warnings
6507         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
6508         and "initialization discards qualifiers..." warnings.
6509         Put the first "uid" in its own scope, and make char* members "const".
6510
6511 2010-01-25  Bruno Haible  <bruno@clisp.org>
6512
6513         gnulib-tool: Make warning diagnostics consistent.
6514         * gnulib-tool (func_warning): New function.
6515         Use it everywhere where gnulib-tool produces output to stderr and it is
6516         not a fatal error.
6517
6518 2010-01-25  Bruno Haible  <bruno@clisp.org>
6519
6520         Fix test dependencies.
6521         * modules/xstrtol-tests (Depends-on): Add inttypes.
6522         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
6523
6524 2010-01-25 Pádraig Brady <P@draigBrady.com>
6525
6526         syntax-check: detect incorrect boolean macro values in config.h
6527         * modules/maintainer-makefile (configure.ac): Parameterize the location
6528         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
6529         The logic is from Eric Blake and the location indicated by Jim Meyering.
6530         Note the more natural CONFIG_HEADER name is prohibited by automake
6531         for backwards compatibility reasons.
6532         * top/maint.mk (sc_Wundef_boolean): New rule.
6533
6534 2010-01-25  Jim Meyering  <meyering@redhat.com>
6535
6536         bootstrap: detect MacOS 10.6's shasum, too
6537         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
6538         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
6539
6540 2010-01-23  Jim Meyering  <meyering@redhat.com>
6541
6542         xstrtoll: new module
6543         * modules/xstrtoll: New file.
6544         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
6545         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
6546         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
6547         ./configure fails if you use this module and lack "long long".
6548         * modules/xstrtoll-tests: New module.
6549         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
6550         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
6551         new init.sh-based test framework.
6552
6553 2010-01-24  Bruno Haible  <bruno@clisp.org>
6554
6555         Tests for module 'yn'.
6556         * modules/yn-tests: New file.
6557         * tests/test-yn.c: New file.
6558
6559         Tests for module 'y1'.
6560         * modules/y1-tests: New file.
6561         * tests/test-y1.c: New file.
6562
6563         Tests for module 'y0'.
6564         * modules/y0-tests: New file.
6565         * tests/test-y0.c: New file.
6566
6567         Tests for module 'tanh'.
6568         * modules/tanh-tests: New file.
6569         * tests/test-tanh.c: New file.
6570
6571         Tests for module 'tan'.
6572         * modules/tan-tests: New file.
6573         * tests/test-tan.c: New file.
6574
6575         Tests for module 'sqrt'.
6576         * modules/sqrt-tests: New file.
6577         * tests/test-sqrt.c: New file.
6578
6579         Tests for module 'sinh'.
6580         * modules/sinh-tests: New file.
6581         * tests/test-sinh.c: New file.
6582
6583         Tests for module 'sin'.
6584         * modules/sin-tests: New file.
6585         * tests/test-sin.c: New file.
6586
6587         Tests for module 'rint'.
6588         * modules/rint-tests: New file.
6589         * tests/test-rint.c: New file.
6590
6591         Tests for module 'remainder'.
6592         * modules/remainder-tests: New file.
6593         * tests/test-remainder.c: New file.
6594
6595         Tests for module 'pow'.
6596         * modules/pow-tests: New file.
6597         * tests/test-pow.c: New file.
6598
6599         Tests for module 'nextafter'.
6600         * modules/nextafter-tests: New file.
6601         * tests/test-nextafter.c: New file.
6602
6603         Tests for module 'modf'.
6604         * modules/modf-tests: New file.
6605         * tests/test-modf.c: New file.
6606
6607         Tests for module 'logb'.
6608         * modules/logb-tests: New file.
6609         * tests/test-logb.c: New file.
6610
6611         Tests for module 'log1p'.
6612         * modules/log1p-tests: New file.
6613         * tests/test-log1p.c: New file.
6614
6615         Tests for module 'log10'.
6616         * modules/log10-tests: New file.
6617         * tests/test-log10.c: New file.
6618
6619         Tests for module 'log'.
6620         * modules/log-tests: New file.
6621         * tests/test-log.c: New file.
6622
6623         Tests for module 'lgamma'.
6624         * modules/lgamma-tests: New file.
6625         * tests/test-lgamma.c: New file.
6626
6627         Tests for module 'ldexp'.
6628         * modules/ldexp-tests: New file.
6629         * tests/test-ldexp.c: New file.
6630
6631         Tests for module 'jn'.
6632         * modules/jn-tests: New file.
6633         * tests/test-jn.c: New file.
6634
6635         Tests for module 'j1'.
6636         * modules/j1-tests: New file.
6637         * tests/test-j1.c: New file.
6638
6639         Tests for module 'j0'.
6640         * modules/j0-tests: New file.
6641         * tests/test-j0.c: New file.
6642
6643         Tests for module 'hypot'.
6644         * modules/hypot-tests: New file.
6645         * tests/test-hypot.c: New file.
6646
6647         Tests for module 'fmod'.
6648         * modules/fmod-tests: New file.
6649         * tests/test-fmod.c: New file.
6650
6651         Tests for module 'fabs'.
6652         * modules/fabs-tests: New file.
6653         * tests/test-fabs.c: New file.
6654
6655         Tests for module 'exp'.
6656         * modules/exp-tests: New file.
6657         * tests/test-exp.c: New file.
6658
6659         Tests for module 'erfc'.
6660         * modules/erfc-tests: New file.
6661         * tests/test-erfc.c: New file.
6662
6663         Tests for module 'erf'.
6664         * modules/erf-tests: New file.
6665         * tests/test-erf.c: New file.
6666
6667         Tests for module 'cosh'.
6668         * modules/cosh-tests: New file.
6669         * tests/test-cosh.c: New file.
6670
6671         Tests for module 'cos'.
6672         * modules/cos-tests: New file.
6673         * tests/test-cos.c: New file.
6674
6675         Tests for module 'copysign'.
6676         * modules/copysign-tests: New file.
6677         * tests/test-copysign.c: New file.
6678
6679         Tests for module 'cbrt'.
6680         * modules/cbrt-tests: New file.
6681         * tests/test-cbrt.c: New file.
6682
6683         Tests for module 'atan2'.
6684         * modules/atan2-tests: New file.
6685         * tests/test-atan2.c: New file.
6686
6687         Tests for module 'atan'.
6688         * modules/atan-tests: New file.
6689         * tests/test-atan.c: New file.
6690
6691         Tests for module 'asin'.
6692         * modules/asin-tests: New file.
6693         * tests/test-asin.c: New file.
6694
6695         Tests for module 'acos'.
6696         * modules/acos-tests: New file.
6697         * tests/test-acos.c: New file.
6698
6699 2010-01-24  Bruno Haible  <bruno@clisp.org>
6700
6701         Fix tests for common <math.h> functions.
6702         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
6703         code snippet that references the function pointer, rather than merely
6704         calling the function. Substitute the FUNC_LIBM variable.
6705         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
6706         * modules/acos (configure.ac): Likewise.
6707         * modules/asin (configure.ac): Likewise.
6708         * modules/atan (configure.ac): Likewise.
6709         * modules/atan2 (configure.ac): Likewise.
6710         * modules/cbrt (configure.ac): Likewise.
6711         * modules/copysign (configure.ac): Likewise.
6712         * modules/cos (configure.ac): Likewise.
6713         * modules/cosh (configure.ac): Likewise.
6714         * modules/erf (configure.ac): Likewise.
6715         * modules/erfc (configure.ac): Likewise.
6716         * modules/exp (configure.ac): Likewise.
6717         * modules/fabs (configure.ac): Likewise.
6718         * modules/fmod (configure.ac): Likewise.
6719         * modules/hypot (configure.ac): Likewise.
6720         * modules/j0 (configure.ac): Likewise.
6721         * modules/j1 (configure.ac): Likewise.
6722         * modules/jn (configure.ac): Likewise.
6723         * modules/ldexp (configure.ac): Likewise.
6724         * modules/lgamma (configure.ac): Likewise.
6725         * modules/log (configure.ac): Likewise.
6726         * modules/log10 (configure.ac): Likewise.
6727         * modules/log1p (configure.ac): Likewise.
6728         * modules/logb (configure.ac): Likewise.
6729         * modules/modf (configure.ac): Likewise.
6730         * modules/nextafter (configure.ac): Likewise.
6731         * modules/pow (configure.ac): Likewise.
6732         * modules/remainder (configure.ac): Likewise.
6733         * modules/rint (configure.ac): Likewise.
6734         * modules/sin (configure.ac): Likewise.
6735         * modules/sinh (configure.ac): Likewise.
6736         * modules/tan (configure.ac): Likewise.
6737         * modules/tanh (configure.ac): Likewise.
6738         * modules/y0 (configure.ac): Likewise.
6739         * modules/y1 (configure.ac): Likewise.
6740         * modules/yn (configure.ac): Likewise.
6741
6742 2010-01-24  Bruno Haible  <bruno@clisp.org>
6743
6744         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
6745         * tests/test-acosl.c (x): New variable.
6746         (main): Store argument in x and fetch it from x.
6747         * tests/test-asinl.c (x): New variable.
6748         (main): Store argument in x and fetch it from x.
6749         * tests/test-atanl.c (x): New variable.
6750         (main): Store argument in x and fetch it from x.
6751         * tests/test-cosl.c (x): New variable.
6752         (main): Store argument in x and fetch it from x.
6753         * tests/test-expl.c (x): New variable.
6754         (main): Store argument in x and fetch it from x.
6755         * tests/test-logl.c (x): New variable.
6756         (main): Store argument in x and fetch it from x.
6757         * tests/test-sinl.c (x): New variable.
6758         (main): Store argument in x and fetch it from x.
6759         * tests/test-sqrtl.c (x): New variable.
6760         (main): Store argument in x and fetch it from x.
6761         * tests/test-tanl.c (x): New variable.
6762         (main): Store argument in x and fetch it from x.
6763
6764 2010-01-24  Bruno Haible  <bruno@clisp.org>
6765
6766         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
6767         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
6768         assignments to the initial TESTS_ENVIRONMENT.
6769         * doc/gnulib.texi (Unit test modules): Document it.
6770         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
6771         TESTS_ENVIRONMENT.
6772         * modules/btowc-tests (Makefile.am): Likewise.
6773         * modules/c-stack-tests (Makefile.am): Likewise.
6774         * modules/c-strcase-tests (Makefile.am): Likewise.
6775         * modules/copy-file-tests (Makefile.am): Likewise.
6776         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
6777         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
6778         * modules/mbrtowc-tests (Makefile.am): Likewise.
6779         * modules/mbscasecmp-tests (Makefile.am): Likewise.
6780         * modules/mbscasestr-tests (Makefile.am): Likewise.
6781         * modules/mbschr-tests (Makefile.am): Likewise.
6782         * modules/mbscspn-tests (Makefile.am): Likewise.
6783         * modules/mbsinit-tests (Makefile.am): Likewise.
6784         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
6785         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
6786         * modules/mbspbrk-tests (Makefile.am): Likewise.
6787         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
6788         * modules/mbsrchr-tests (Makefile.am): Likewise.
6789         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
6790         * modules/mbsspn-tests (Makefile.am): Likewise.
6791         * modules/mbsstr-tests (Makefile.am): Likewise.
6792         * modules/nl_langinfo-tests (Makefile.am): Likewise.
6793         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
6794         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
6795         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
6796         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
6797         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
6798         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
6799         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
6800         * modules/wcrtomb-tests (Makefile.am): Likewise.
6801         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
6802         * modules/wcsrtombs-tests (Makefile.am): Likewise.
6803         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
6804         assignments from TESTS_ENVIRONMENT.
6805         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
6806         augmentation.
6807         * modules/argp-version-etc-tests (Makefile.am): Likewise.
6808         * modules/atexit-tests (Makefile.am): Likewise.
6809         * modules/binary-io-tests (Makefile.am): Likewise.
6810         * modules/closein-tests (Makefile.am): Likewise.
6811         * modules/dprintf-posix-tests (Makefile.am): Likewise.
6812         * modules/exclude-tests (Makefile.am): Likewise.
6813         * modules/fflush-tests (Makefile.am): Likewise.
6814         * modules/fpending-tests (Makefile.am): Likewise.
6815         * modules/fprintf-posix-tests (Makefile.am): Likewise.
6816         * modules/freadahead-tests (Makefile.am): Likewise.
6817         * modules/freadptr-tests (Makefile.am): Likewise.
6818         * modules/freadseek-tests (Makefile.am): Likewise.
6819         * modules/fseek-tests (Makefile.am): Likewise.
6820         * modules/fseeko-tests (Makefile.am): Likewise.
6821         * modules/ftell-tests (Makefile.am): Likewise.
6822         * modules/ftello-tests (Makefile.am): Likewise.
6823         * modules/idpriv-drop-tests (Makefile.am): Likewise.
6824         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
6825         * modules/lseek-tests (Makefile.am): Likewise.
6826         * modules/parse-duration-tests (Makefile.am): Likewise.
6827         * modules/perror-tests (Makefile.am): Likewise.
6828         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
6829         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
6830         * modules/pipe-tests (Makefile.am): Likewise.
6831         * modules/pread-tests (Makefile.am): Likewise.
6832         * modules/printf-posix-tests (Makefile.am): Likewise.
6833         * modules/select-tests (Makefile.am): Likewise.
6834         * modules/sigpipe-tests (Makefile.am): Likewise.
6835         * modules/tsearch-tests (Makefile.am): Likewise.
6836         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
6837         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
6838         * modules/uniname/uniname-tests (Makefile.am): Likewise.
6839         * modules/uniwidth/width-tests (Makefile.am): Likewise.
6840         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
6841         * modules/version-etc-tests (Makefile.am): Likewise.
6842         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
6843         * modules/vprintf-posix-tests (Makefile.am): Likewise.
6844         * modules/xalloc-die-tests (Makefile.am): Likewise.
6845         * modules/xprintf-posix-tests (Makefile.am): Likewise.
6846         * modules/xstrtoimax-tests (Makefile.am): Likewise.
6847         * modules/xstrtol-tests (Makefile.am): Likewise.
6848         * modules/xstrtoumax-tests (Makefile.am): Likewise.
6849         * modules/yesno-tests (Makefile.am): Likewise.
6850         Suggested by Jim Meyering.
6851
6852 2010-01-24  Bruno Haible  <bruno@clisp.org>
6853
6854         More documentation.
6855         * doc/gnulib.texi (Writing modules): New chapter.
6856         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
6857         the new chapter.
6858
6859 2010-01-24  Jim Meyering  <meyering@redhat.com>
6860
6861         maint.mk: do not prepend "./" after filtering
6862         * top/maint.mk (_prepend_srcdir_prefix): New variable
6863         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
6864         "./" when $(srcdir) is ".".
6865
6866         define STREQ(a,b) consistently, removing useless parentheses
6867         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
6868         since the only risk is that "a" or "b" contains an unparenthesized
6869         comma, but if either did that, STREQ would have 3 or more arguments.
6870         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
6871         * lib/fts.c (STREQ): Remove unnecessary parentheses.
6872         * lib/hash-triple.c (STREQ): Likewise.
6873         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
6874         * lib/getugroups.c (STREQ): Likewise.
6875
6876 2010-01-23  Jim Meyering  <meyering@redhat.com>
6877
6878         maint.mk: fix syntax-check in a non-srcdir build directory
6879         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
6880         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
6881
6882 2010-01-22  Jim Meyering  <meyering@redhat.com>
6883
6884         userspec: add unit tests
6885         * tests/test-userspec.c: New file.
6886         * modules/userspec-tests: Likewise.
6887
6888 2010-01-21  Jim Meyering  <meyering@redhat.com>
6889
6890         maint.mk: handle source file names containing "." robustly
6891         * top/maint.mk (_dot_escaped_srcdir): Define.
6892         (VC_LIST): Use it in LHS of sed substitution.
6893
6894 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
6895
6896         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
6897         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
6898         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
6899         from a non-srcdir build.
6900
6901 2010-01-20  Eric Blake  <ebb9@byu.net>
6902
6903         warn-on-use: use instead of link-warning
6904         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
6905         * modules/unistd (Depends-on, Makefile.am): Likewise.
6906         * modules/arpa_inet (Depends-on): Replace link-warning with
6907         warn-on-use.
6908         (Makefile.am): Update rules accordingly.
6909         * modules/ctype (Depends-on, Makefile.am): Likewise.
6910         * modules/dirent (Depends-on, Makefile.am): Likewise.
6911         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
6912         * modules/inttypes (Depends-on, Makefile.am): Likewise.
6913         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6914         * modules/locale (Depends-on, Makefile.am): Likewise.
6915         * modules/math (Depends-on, Makefile.am): Likewise.
6916         * modules/search (Depends-on, Makefile.am): Likewise.
6917         * modules/signal (Depends-on, Makefile.am): Likewise.
6918         * modules/spawn (Depends-on, Makefile.am): Likewise.
6919         * modules/stdlib (Depends-on, Makefile.am): Likewise.
6920         * modules/string (Depends-on, Makefile.am): Likewise.
6921         * modules/strings (Depends-on, Makefile.am): Likewise.
6922         * modules/sys_file (Depends-on, Makefile.am): Likewise.
6923         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
6924         * modules/sys_select (Depends-on, Makefile.am): Likewise.
6925         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
6926         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
6927         * modules/sys_times (Depends-on, Makefile.am): Likewise.
6928         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6929         * modules/wchar (Depends-on, Makefile.am): Likewise.
6930         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
6931         should be poisoned.
6932         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
6933         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
6934         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
6935         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6936         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6937         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6938         * m4/math_h.m4 (gl_MATH_H): Likewise.
6939         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6940         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6941         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6942         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6943         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6944         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6945         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6946         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
6947         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6948         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6949         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6950         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6951         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6952         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6953         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6954         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6955         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
6956         GL_LINK_WARNING.
6957         * lib/ctype.in.h: Likewise.
6958         * lib/dirent.in.h: Likewise.
6959         * lib/fcntl.in.h: Likewise.
6960         * lib/inttypes.in.h: Likewise.
6961         * lib/langinfo.in.h: Likewise.
6962         * lib/locale.in.h: Likewise.
6963         * lib/math.in.h: Likewise.
6964         * lib/search.in.h: Likewise.
6965         * lib/signal.in.h: Likewise.
6966         * lib/spawn.in.h: Likewise.
6967         * lib/stdio.in.h: Likewise.
6968         * lib/stdlib.in.h: Likewise.
6969         * lib/string.in.h: Likewise.
6970         * lib/strings.in.h: Likewise.
6971         * lib/sys_file.in.h: Likewise.
6972         * lib/sys_ioctl.in.h: Likewise.
6973         * lib/sys_select.in.h: Likewise.
6974         * lib/sys_socket.in.h: Likewise.
6975         * lib/sys_stat.in.h: Likewise.
6976         * lib/sys_times.in.h: Likewise.
6977         * lib/sys_utsname.in.h: Likewise.
6978         * lib/unistd.in.h: Likewise.
6979         * lib/wchar.in.h: Likewise.
6980
6981 2010-01-20  Bruno Haible  <bruno@clisp.org>
6982
6983         Avoid duplicate -lm.
6984         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
6985         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
6986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
6987         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
6988         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
6989         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
6990         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
6991         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
6992         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
6993         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
6994         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
6995         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6996         Reported by Paolo Bonzini.
6997
6998 2010-01-19  Bruno Haible  <bruno@clisp.org>
6999
7000         langinfo, nl_langinfo: Relicense under LGPLv2+.
7001         * modules/langinfo (License): Change to LGPLv2+.
7002         * modules/nl_langinfo (License): Likewise.
7003         Patch by David Lutterkort <lutter@redhat.com>.
7004
7005 2010-01-19  Bruno Haible  <bruno@clisp.org>
7006
7007         Avoid compilation error with cc on OSF/1 5.1.
7008         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
7009         statement, not before.
7010         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7011
7012 2010-01-18  Bruno Haible  <bruno@clisp.org>
7013
7014         Avoid a link error due to the __printf__ symbol.
7015         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
7016         and 2.6.x.
7017         (__format__, __printf__): Remove definitions.
7018         * lib/argp-fmtstream.h: Likewise.
7019         * lib/argp.h: Likewise.
7020         * lib/error.h: Likewise.
7021         * lib/vasnprintf.h: Likewise.
7022         * lib/xprintf.h: Likewise.
7023         * lib/xvasprintf.h: Likewise.
7024         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7025
7026 2010-01-18  Bruno Haible  <bruno@clisp.org>
7027
7028         Tests for module 'tanl'.
7029         * modules/tanl-tests: New file.
7030         * tests/test-tanl.c: New file.
7031
7032         Tests for module 'sqrtl'.
7033         * modules/sqrtl-tests: New file.
7034         * tests/test-sqrtl.c: New file.
7035
7036         Tests for module 'sinl'.
7037         * modules/sinl-tests: New file.
7038         * tests/test-sinl.c: New file.
7039
7040         Tests for module 'logl'.
7041         * modules/logl-tests: New file.
7042         * tests/test-logl.c: New file.
7043
7044         Tests for module 'expl'.
7045         * modules/expl-tests: New file.
7046         * tests/test-expl.c: New file.
7047
7048         Tests for module 'cosl'.
7049         * modules/cosl-tests: New file.
7050         * tests/test-cosl.c: New file.
7051
7052         Tests for module 'atanl'.
7053         * modules/atanl-tests: New file.
7054         * tests/test-atanl.c: New file.
7055
7056         Tests for module 'asinl'.
7057         * modules/asinl-tests: New file.
7058         * tests/test-asinl.c: New file.
7059
7060         Tests for module 'acosl'.
7061         * modules/acosl-tests: New file.
7062         * tests/test-acosl.c: New file.
7063
7064         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7065         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
7066         tanl): Use the standard gnulib idiom.
7067         * lib/cosl.c: Don't include trigl.c and sincosl.c.
7068         * lib/sinl.c: Likewise.
7069         * lib/tanl.c: Don't include trigl.c.
7070         (kernel_tanl): Make static.
7071         * lib/sincosl.c: Include trigl.h first.
7072         * lib/trigl.c: Likewise.
7073         * m4/acosl.m4: New file.
7074         * m4/asinl.m4: New file.
7075         * m4/atanl.m4: New file.
7076         * m4/cosl.m4: New file.
7077         * m4/expl.m4: New file.
7078         * m4/logl.m4: New file.
7079         * m4/sinl.m4: New file.
7080         * m4/sqrtl.m4: New file.
7081         * m4/tanl.m4: New file.
7082         * m4/mathl.m4: Remove file.
7083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
7084         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7085         Don't initialize GNULIB_MATHL.
7086         * modules/acosl: New file.
7087         * modules/asinl: New file.
7088         * modules/atanl: New file.
7089         * modules/cosl: New file.
7090         * modules/expl: New file.
7091         * modules/logl: New file.
7092         * modules/sinl: New file.
7093         * modules/sqrtl: New file.
7094         * modules/tanl: New file.
7095         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
7096         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
7097         substitute GNULIB_MATHL.
7098         * modules/mathl: Rewritten.
7099         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
7100         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
7101         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
7102         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
7103         * doc/posix-functions/expl.texi: Mention the 'expl' module.
7104         * doc/posix-functions/logl.texi: Mention the 'logl' module.
7105         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
7106         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
7107         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
7108
7109 2010-01-18  Bruno Haible  <bruno@clisp.org>
7110
7111         sqrt: Make gl_FUNC_SQRT requirable.
7112         * m4/sqrt.m4: New file.
7113         * modules/sqrt (Files): Add it.
7114         (configure.ac): Invoke gl_FUNC_SQRT.
7115
7116 2010-01-18  Bruno Haible  <bruno@clisp.org>
7117
7118         New modules for common <math.h> functions.
7119         * m4/mathfunc.m4: New file.
7120         * modules/acos: New file.
7121         * modules/asin: New file.
7122         * modules/atan: New file.
7123         * modules/atan2: New file.
7124         * modules/cbrt: New file.
7125         * modules/copysign: New file.
7126         * modules/cos: New file.
7127         * modules/cosh: New file.
7128         * modules/erf: New file.
7129         * modules/erfc: New file.
7130         * modules/exp: New file.
7131         * modules/fabs: New file.
7132         * modules/fmod: New file.
7133         * modules/hypot: New file.
7134         * modules/j0: New file.
7135         * modules/j1: New file.
7136         * modules/jn: New file.
7137         * modules/ldexp: New file.
7138         * modules/lgamma: New file.
7139         * modules/log: New file.
7140         * modules/log10: New file.
7141         * modules/log1p: New file.
7142         * modules/logb: New file.
7143         * modules/modf: New file.
7144         * modules/nextafter: New file.
7145         * modules/pow: New file.
7146         * modules/remainder: New file.
7147         * modules/rint: New file.
7148         * modules/sin: New file.
7149         * modules/sinh: New file.
7150         * modules/sqrt: New file.
7151         * modules/tan: New file.
7152         * modules/tanh: New file.
7153         * modules/y0: New file.
7154         * modules/y1: New file.
7155         * modules/yn: New file.
7156         * doc/posix-functions/acos.texi: Mention the 'acos' module.
7157         * doc/posix-functions/asin.texi: Mention the 'asin' module.
7158         * doc/posix-functions/atan.texi: Mention the 'atan' module.
7159         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
7160         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
7161         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
7162         * doc/posix-functions/cos.texi: Mention the 'cos' module.
7163         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
7164         * doc/posix-functions/erf.texi: Mention the 'erf' module.
7165         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
7166         * doc/posix-functions/exp.texi: Mention the 'exp' module.
7167         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
7168         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
7169         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
7170         * doc/posix-functions/j0.texi: Mention the 'j0' module.
7171         * doc/posix-functions/j1.texi: Mention the 'j1' module.
7172         * doc/posix-functions/jn.texi: Mention the 'jn' module.
7173         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
7174         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
7175         * doc/posix-functions/log.texi: Mention the 'log' module.
7176         * doc/posix-functions/log10.texi: Mention the 'log10' module.
7177         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
7178         * doc/posix-functions/logb.texi: Mention the 'logb' module.
7179         * doc/posix-functions/modf.texi: Mention the 'modf' module.
7180         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
7181         * doc/posix-functions/pow.texi: Mention the 'pow' module.
7182         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
7183         * doc/posix-functions/rint.texi: Mention the 'rint' module.
7184         * doc/posix-functions/sin.texi: Mention the 'sin' module.
7185         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
7186         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
7187         * doc/posix-functions/tan.texi: Mention the 'tan' module.
7188         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
7189         * doc/posix-functions/y0.texi: Mention the 'y0' module.
7190         * doc/posix-functions/y1.texi: Mention the 'y1' module.
7191         * doc/posix-functions/yn.texi: Mention the 'yn' module.
7192
7193 2010-01-18  Jim Meyering  <meyering@redhat.com>
7194
7195         ignore-value: relax license to LGPLv2+
7196         * modules/ignore-value (License): Relax to LGPLv2+.
7197
7198         getdate: don't leak when TZ contains two or more '"'s
7199         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
7200         double quote in TZ after the first one.
7201
7202         readtokens: do not leak internal token_lengths buffer
7203         * lib/readtokens.c (readtokens): Free the local, lengths,
7204         when the supplied "token_lengths" parameter is NULL.
7205
7206 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7207
7208         Fix a couple of missing LIBTHREAD link failures on AIX.
7209         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
7210         $(LIBTHREAD).
7211         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
7212
7213         Link test-poll against INET_PTON_LIB.
7214         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
7215         for inet_pton on Solaris 10.
7216
7217 2010-01-17  Bruno Haible  <bruno@clisp.org>
7218
7219         unistdio/*-sprintf: Fix typo in module description.
7220         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
7221         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
7222         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
7223         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
7224         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
7225         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
7226         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
7227         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7228
7229 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7230
7231         gnulib-tool: fix filelist for AIX, HP-UX ksh.
7232         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
7233         variables in shell case patterns, for AIX and HP-UX ksh.
7234
7235         Split large sed scripts, for HP-UX sed.
7236         * modules/stdio: Split sed scripts around 50 sed commands,
7237         to avoid HP-UX limit of 99 commands, in the near future.
7238         * modules/string: Likewise.
7239         * modules/unistd: Likewise.
7240
7241         gnulib-tool: avoid writing in the current directory.
7242         * gnulib-tool (func_emit_lib_Makefile_am)
7243         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
7244         not in the current directory, so concurrent gnulib-tool
7245         instances do not interfere.
7246
7247 2010-01-16  Jim Meyering  <meyering@redhat.com>
7248
7249         doc: update users.txt
7250         * users.txt: Add grep.
7251         (diffutils, gzip): Update URLs.
7252
7253 2010-01-12  Bruno Haible  <bruno@clisp.org>
7254
7255         posix_spawn: Avoid test failure on Cygwin.
7256         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
7257         characters.
7258         Reported by Simon Josefsson.
7259
7260 2010-01-12  Bruno Haible  <bruno@clisp.org>
7261
7262         * tests/test-cond.c (main): When skipping the test, show the reason.
7263
7264 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7265
7266         * lib/striconv.c (str_cd_iconv): Avoid if before free.
7267
7268 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7269
7270         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
7271         VC_LIST_ALWAYS_EXCLUDE_REGEX.
7272
7273 2010-01-12  Eric Blake  <ebb9@byu.net>
7274
7275         build: guarantee AS_VAR_IF
7276         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
7277         (gl_AS_VAR_IF): Move...
7278         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
7279         Reported by Simon Josefsson.
7280
7281 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7282
7283         * lib/stdio.in.h: Fix typo.
7284
7285 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7286
7287         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
7288         libgpg-error.
7289
7290 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7291
7292         * tests/test-xalloc-die.sh: Use $EXEEXT.
7293
7294 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7295             Bruno Haible  <bruno@clisp.org>
7296
7297         getlogin, getlogin_r: Avoid test failure.
7298         * tests/test-getlogin.c: Include <stdio.h>.
7299         (main): Skip the test when the function fails because stdin is not a
7300         tty.
7301         * tests/test-getlogin_r.c: Include <stdio.h>.
7302         (main): Skip the test when the function fails because stdin is not a
7303         tty.
7304
7305 2010-01-11  Eric Blake  <ebb9@byu.net>
7306
7307         tests: avoid more large file warnings
7308         * tests/test-fflush.c: Avoid warning about ftell use.
7309         * tests/test-fseek.c: Avoid warning about fseek use.
7310
7311 2010-01-10  Bruno Haible  <bruno@clisp.org>
7312
7313         nproc: Work better on Linux when /proc and /sys are not mounted.
7314         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
7315         as lower bound when, on glibc/Linux systems,
7316         sysconf (_SC_NPROCESSORS_CONF) returns 1.
7317         Suggested by Pádraig Brady <P@draigbrady.com>.
7318         Reported by Dmitry V. Levin <ldv@altlinux.org>.
7319
7320         nproc: Refactor.
7321         * lib/nproc.c (num_processors_via_affinity_mask): New function,
7322         extracted from num_processors.
7323         (num_processors): Call it.
7324
7325 2010-01-11  Jim Meyering  <meyering@redhat.com>
7326
7327         utimecmp: avoid new warning from upcoming gcc-4.5.0
7328         * lib/utimecmp.c (BILLION): Define using #define rather than an
7329         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
7330
7331 2010-01-11  Eric Blake  <ebb9@byu.net>
7332
7333         math: add portability warnings for classification macros
7334         * modules/math (Depends-on): Add warn-on-use.
7335         (Makefile.am): Provide new substitutions.
7336         * m4/math_h.m4 (gl_MATH_H): Require inline.
7337         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
7338         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
7339         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
7340         implement warnings.
7341
7342         unistd: warn on use of environ without module
7343         * modules/unistd (Depends-on): Add warn-on-use.
7344         (Makefile.am): Provide new substitutions.
7345         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
7346         * lib/unistd.in.h (environ): Wrap with a warning helper function.
7347
7348         stdio: warn on suspicious uses
7349         * modules/stdio (Depends-on): Add warn-on-use.
7350         (Makefile.am): Provide new substitutions.
7351         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
7352         fseeko.
7353         * lib/stdio.in.h (gets): Always warn on use.
7354         (fseek, ftell): Adjust when warnings are issued, and honor
7355         _GL_NO_LARGE_FILES as a way to silence the warning.
7356         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
7357         any warning about large file offsets.
7358         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
7359         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
7360         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
7361         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
7362         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
7363         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
7364         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
7365         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
7366
7367         warn-on-use: new module
7368         * modules/warn-on-use: New file.
7369         * build-aux/warn-on-use.h: Likewise.
7370         * m4/warn-on-use.m4: Likewise.
7371         * MODULES.html.sh (Support for building): Mention it.
7372
7373 2010-01-10  Bruno Haible  <bruno@clisp.org>
7374
7375         Tests for module 'unistr/u32-strdup'.
7376         * modules/unistr/u32-strdup-tests: New file.
7377         * tests/unistr/test-u32-strdup.c: New file.
7378
7379         Tests for module 'unistr/u16-strdup'.
7380         * modules/unistr/u16-strdup-tests: New file.
7381         * tests/unistr/test-u16-strdup.c: New file.
7382
7383         Tests for module 'unistr/u8-strdup'.
7384         * modules/unistr/u8-strdup-tests: New file.
7385         * tests/unistr/test-u8-strdup.c: New file.
7386         * tests/unistr/test-strdup.h: New file.
7387
7388         Tests for module 'unistr/u32-strncmp'.
7389         * modules/unistr/u32-strncmp-tests: New file.
7390         * tests/unistr/test-u32-strncmp.c: New file.
7391
7392         Tests for module 'unistr/u16-strncmp'.
7393         * modules/unistr/u16-strncmp-tests: New file.
7394         * tests/unistr/test-u16-strncmp.c: New file.
7395
7396         Tests for module 'unistr/u8-strncmp'.
7397         * modules/unistr/u8-strncmp-tests: New file.
7398         * tests/unistr/test-u8-strncmp.c: New file.
7399         * tests/unistr/test-strncmp.h: New file.
7400
7401         Tests for module 'unistr/u32-strcoll'.
7402         * modules/unistr/u32-strcoll-tests: New file.
7403         * tests/unistr/test-u32-strcoll.c: New file.
7404
7405         Tests for module 'unistr/u16-strcoll'.
7406         * modules/unistr/u16-strcoll-tests: New file.
7407         * tests/unistr/test-u16-strcoll.c: New file.
7408
7409         Tests for module 'unistr/u8-strcoll'.
7410         * modules/unistr/u8-strcoll-tests: New file.
7411         * tests/unistr/test-u8-strcoll.c: New file.
7412
7413         Tests for module 'unistr/u32-strcmp'.
7414         * modules/unistr/u32-strcmp-tests: New file.
7415         * tests/unistr/test-u32-strcmp.c: New file.
7416         * tests/unistr/test-u32-strcmp.h: New file.
7417
7418         Tests for module 'unistr/u16-strcmp'.
7419         * modules/unistr/u16-strcmp-tests: New file.
7420         * tests/unistr/test-u16-strcmp.c: New file.
7421         * tests/unistr/test-u16-strcmp.h: New file.
7422
7423         Tests for module 'unistr/u8-strcmp'.
7424         * modules/unistr/u8-strcmp-tests: New file.
7425         * tests/unistr/test-u8-strcmp.c: New file.
7426         * tests/unistr/test-u8-strcmp.h: New file.
7427         * tests/unistr/test-strcmp.h: New file.
7428
7429         Tests for module 'unistr/u32-strncat'.
7430         * modules/unistr/u32-strncat-tests: New file.
7431         * tests/unistr/test-u32-strncat.c: New file.
7432
7433         Tests for module 'unistr/u16-strncat'.
7434         * modules/unistr/u16-strncat-tests: New file.
7435         * tests/unistr/test-u16-strncat.c: New file.
7436
7437         Tests for module 'unistr/u8-strncat'.
7438         * modules/unistr/u8-strncat-tests: New file.
7439         * tests/unistr/test-u8-strncat.c: New file.
7440         * tests/unistr/test-strncat.h: New file.
7441
7442         Tests for module 'unistr/u32-strcat'.
7443         * modules/unistr/u32-strcat-tests: New file.
7444         * tests/unistr/test-u32-strcat.c: New file.
7445
7446         Tests for module 'unistr/u16-strcat'.
7447         * modules/unistr/u16-strcat-tests: New file.
7448         * tests/unistr/test-u16-strcat.c: New file.
7449
7450         Tests for module 'unistr/u8-strcat'.
7451         * modules/unistr/u8-strcat-tests: New file.
7452         * tests/unistr/test-u8-strcat.c: New file.
7453         * tests/unistr/test-strcat.h: New file.
7454
7455         Tests for module 'unistr/u32-stpncpy'.
7456         * modules/unistr/u32-stpncpy-tests: New file.
7457         * tests/unistr/test-u32-stpncpy.c: New file.
7458
7459         Tests for module 'unistr/u16-stpncpy'.
7460         * modules/unistr/u16-stpncpy-tests: New file.
7461         * tests/unistr/test-u16-stpncpy.c: New file.
7462
7463         Tests for module 'unistr/u8-stpncpy'.
7464         * modules/unistr/u8-stpncpy-tests: New file.
7465         * tests/unistr/test-u8-stpncpy.c: New file.
7466         * tests/unistr/test-stpncpy.h: New file.
7467
7468         Tests for module 'unistr/u32-strncpy'.
7469         * modules/unistr/u32-strncpy-tests: New file.
7470         * tests/unistr/test-u32-strncpy.c: New file.
7471
7472         Tests for module 'unistr/u16-strncpy'.
7473         * modules/unistr/u16-strncpy-tests: New file.
7474         * tests/unistr/test-u16-strncpy.c: New file.
7475
7476         Tests for module 'unistr/u8-strncpy'.
7477         * modules/unistr/u8-strncpy-tests: New file.
7478         * tests/unistr/test-u8-strncpy.c: New file.
7479         * tests/unistr/test-strncpy.h: New file.
7480
7481         Tests for module 'unistr/u32-stpcpy'.
7482         * modules/unistr/u32-stpcpy-tests: New file.
7483         * tests/unistr/test-u32-stpcpy.c: New file.
7484
7485         Tests for module 'unistr/u16-stpcpy'.
7486         * modules/unistr/u16-stpcpy-tests: New file.
7487         * tests/unistr/test-u16-stpcpy.c: New file.
7488
7489         Tests for module 'unistr/u8-stpcpy'.
7490         * modules/unistr/u8-stpcpy-tests: New file.
7491         * tests/unistr/test-u8-stpcpy.c: New file.
7492         * tests/unistr/test-stpcpy.h: New file.
7493
7494         Tests for module 'unistr/u32-strcpy'.
7495         * modules/unistr/u32-strcpy-tests: New file.
7496         * tests/unistr/test-u32-strcpy.c: New file.
7497
7498         Tests for module 'unistr/u16-strcpy'.
7499         * modules/unistr/u16-strcpy-tests: New file.
7500         * tests/unistr/test-u16-strcpy.c: New file.
7501
7502         Tests for module 'unistr/u8-strcpy'.
7503         * modules/unistr/u8-strcpy-tests: New file.
7504         * tests/unistr/test-u8-strcpy.c: New file.
7505         * tests/unistr/test-strcpy.h: New file.
7506
7507         Tests for module 'unistr/u32-strnlen'.
7508         * modules/unistr/u32-strnlen-tests: New file.
7509         * tests/unistr/test-u32-strnlen.c: New file.
7510
7511         Tests for module 'unistr/u16-strnlen'.
7512         * modules/unistr/u16-strnlen-tests: New file.
7513         * tests/unistr/test-u16-strnlen.c: New file.
7514
7515         Tests for module 'unistr/u8-strnlen'.
7516         * modules/unistr/u8-strnlen-tests: New file.
7517         * tests/unistr/test-u8-strnlen.c: New file.
7518         * tests/unistr/test-strnlen.h: New file.
7519
7520         Tests for module 'unistr/u32-strlen'.
7521         * modules/unistr/u32-strlen-tests: New file.
7522         * tests/unistr/test-u32-strlen.c: New file.
7523
7524         Tests for module 'unistr/u16-strlen'.
7525         * modules/unistr/u16-strlen-tests: New file.
7526         * tests/unistr/test-u16-strlen.c: New file.
7527
7528         Tests for module 'unistr/u8-strlen'.
7529         * modules/unistr/u8-strlen-tests: New file.
7530         * tests/unistr/test-u8-strlen.c: New file.
7531
7532         Tests for module 'unistr/u32-prev'.
7533         * modules/unistr/u32-prev-tests: New file.
7534         * tests/unistr/test-u32-prev.c: New file.
7535
7536         Tests for module 'unistr/u16-prev'.
7537         * modules/unistr/u16-prev-tests: New file.
7538         * tests/unistr/test-u16-prev.c: New file.
7539
7540         Tests for module 'unistr/u8-prev'.
7541         * modules/unistr/u8-prev-tests: New file.
7542         * tests/unistr/test-u8-prev.c: New file.
7543
7544         Tests for module 'unistr/u32-next'.
7545         * modules/unistr/u32-next-tests: New file.
7546         * tests/unistr/test-u32-next.c: New file.
7547
7548         Tests for module 'unistr/u16-next'.
7549         * modules/unistr/u16-next-tests: New file.
7550         * tests/unistr/test-u16-next.c: New file.
7551
7552         Tests for module 'unistr/u8-next'.
7553         * modules/unistr/u8-next-tests: New file.
7554         * tests/unistr/test-u8-next.c: New file.
7555
7556         Tests for module 'unistr/u32-strmbtouc'.
7557         * modules/unistr/u32-strmbtouc-tests: New file.
7558         * tests/unistr/test-u32-strmbtouc.c: New file.
7559
7560         Tests for module 'unistr/u16-strmbtouc'.
7561         * modules/unistr/u16-strmbtouc-tests: New file.
7562         * tests/unistr/test-u16-strmbtouc.c: New file.
7563
7564         Tests for module 'unistr/u8-strmbtouc'.
7565         * modules/unistr/u8-strmbtouc-tests: New file.
7566         * tests/unistr/test-u8-strmbtouc.c: New file.
7567
7568         Tests for module 'unistr/u32-strmblen'.
7569         * modules/unistr/u32-strmblen-tests: New file.
7570         * tests/unistr/test-u32-strmblen.c: New file.
7571
7572         Tests for module 'unistr/u16-strmblen'.
7573         * modules/unistr/u16-strmblen-tests: New file.
7574         * tests/unistr/test-u16-strmblen.c: New file.
7575
7576         Tests for module 'unistr/u8-strmblen'.
7577         * modules/unistr/u8-strmblen-tests: New file.
7578         * tests/unistr/test-u8-strmblen.c: New file.
7579
7580         Tests for module 'unistr/u32-cpy-alloc'.
7581         * modules/unistr/u32-cpy-alloc-tests: New file.
7582         * tests/unistr/test-u32-cpy-alloc.c: New file.
7583
7584         Tests for module 'unistr/u16-cpy-alloc'.
7585         * modules/unistr/u16-cpy-alloc-tests: New file.
7586         * tests/unistr/test-u16-cpy-alloc.c: New file.
7587
7588         Tests for module 'unistr/u8-cpy-alloc'.
7589         * modules/unistr/u8-cpy-alloc-tests: New file.
7590         * tests/unistr/test-u8-cpy-alloc.c: New file.
7591         * tests/unistr/test-cpy-alloc.h: New file.
7592
7593         Tests for module 'unistr/u32-mbsnlen'.
7594         * modules/unistr/u32-mbsnlen-tests: New file.
7595         * tests/unistr/test-u32-mbsnlen.c: New file.
7596
7597         Tests for module 'unistr/u16-mbsnlen'.
7598         * modules/unistr/u16-mbsnlen-tests: New file.
7599         * tests/unistr/test-u16-mbsnlen.c: New file.
7600
7601         Tests for module 'unistr/u8-mbsnlen'.
7602         * modules/unistr/u8-mbsnlen-tests: New file.
7603         * tests/unistr/test-u8-mbsnlen.c: New file.
7604
7605         Tests for module 'unistr/u32-chr'.
7606         * modules/unistr/u32-chr-tests: New file.
7607         * tests/unistr/test-u32-chr.c: New file.
7608
7609         Tests for module 'unistr/u16-chr'.
7610         * modules/unistr/u16-chr-tests: New file.
7611         * tests/unistr/test-u16-chr.c: New file.
7612
7613         Tests for module 'unistr/u8-chr'.
7614         * modules/unistr/u8-chr-tests: New file.
7615         * tests/unistr/test-u8-chr.c: New file.
7616         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
7617
7618         Tests for module 'unistr/u32-cmp2'.
7619         * modules/unistr/u32-cmp2-tests: New file.
7620         * tests/unistr/test-u32-cmp2.c: New file.
7621
7622         Tests for module 'unistr/u16-cmp2'.
7623         * modules/unistr/u16-cmp2-tests: New file.
7624         * tests/unistr/test-u16-cmp2.c: New file.
7625
7626         Tests for module 'unistr/u8-cmp2'.
7627         * modules/unistr/u8-cmp2-tests: New file.
7628         * tests/unistr/test-u8-cmp2.c: New file.
7629         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
7630
7631         Tests for module 'unistr/u32-cmp'.
7632         * modules/unistr/u32-cmp-tests: New file.
7633         * tests/unistr/test-u32-cmp.c: New file.
7634
7635         Tests for module 'unistr/u16-cmp'.
7636         * modules/unistr/u16-cmp-tests: New file.
7637         * tests/unistr/test-u16-cmp.c: New file.
7638
7639         Tests for module 'unistr/u8-cmp'.
7640         * modules/unistr/u8-cmp-tests: New file.
7641         * tests/unistr/test-u8-cmp.c: New file.
7642         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
7643
7644         Tests for module 'unistr/u32-set'.
7645         * modules/unistr/u32-set-tests: New file.
7646         * tests/unistr/test-u32-set.c: New file.
7647
7648         Tests for module 'unistr/u16-set'.
7649         * modules/unistr/u16-set-tests: New file.
7650         * tests/unistr/test-u16-set.c: New file.
7651
7652         Tests for module 'unistr/u8-set'.
7653         * modules/unistr/u8-set-tests: New file.
7654         * tests/unistr/test-u8-set.c: New file.
7655         * tests/unistr/test-set.h: New file.
7656
7657         Tests for module 'unistr/u32-move'.
7658         * modules/unistr/u32-move-tests: New file.
7659         * tests/unistr/test-u32-move.c: New file.
7660
7661         Tests for module 'unistr/u16-move'.
7662         * modules/unistr/u16-move-tests: New file.
7663         * tests/unistr/test-u16-move.c: New file.
7664
7665         Tests for module 'unistr/u8-move'.
7666         * modules/unistr/u8-move-tests: New file.
7667         * tests/unistr/test-u8-move.c: New file.
7668         * tests/unistr/test-move.h: New file.
7669
7670         Tests for module 'unistr/u32-cpy'.
7671         * modules/unistr/u32-cpy-tests: New file.
7672         * tests/unistr/test-u32-cpy.c: New file.
7673
7674         Tests for module 'unistr/u16-cpy'.
7675         * modules/unistr/u16-cpy-tests: New file.
7676         * tests/unistr/test-u16-cpy.c: New file.
7677
7678         Tests for module 'unistr/u8-cpy'.
7679         * modules/unistr/u8-cpy-tests: New file.
7680         * tests/unistr/test-u8-cpy.c: New file.
7681         * tests/unistr/test-cpy.h: New file.
7682
7683 2010-01-09  Bruno Haible  <bruno@clisp.org>
7684
7685         Tests for module 'unistr/u32-uctomb'.
7686         * modules/unistr/u32-uctomb-tests: New file.
7687         * tests/unistr/test-u32-uctomb.c: New file.
7688
7689         Tests for module 'unistr/u16-uctomb'.
7690         * modules/unistr/u16-uctomb-tests: New file.
7691         * tests/unistr/test-u16-uctomb.c: New file.
7692
7693         Tests for module 'unistr/u8-uctomb'.
7694         * modules/unistr/u8-uctomb-tests: New file.
7695         * tests/unistr/test-u8-uctomb.c: New file.
7696
7697         Tests for module 'unistr/u32-mbtoucr'.
7698         * modules/unistr/u32-mbtoucr-tests: New file.
7699         * tests/unistr/test-u32-mbtoucr.c: New file.
7700
7701         Tests for module 'unistr/u16-mbtoucr'.
7702         * modules/unistr/u16-mbtoucr-tests: New file.
7703         * tests/unistr/test-u16-mbtoucr.c: New file.
7704
7705         Tests for module 'unistr/u8-mbtoucr'.
7706         * modules/unistr/u8-mbtoucr-tests: New file.
7707         * tests/unistr/test-u8-mbtoucr.c: New file.
7708
7709         Tests for module 'unistr/u32-mbtouc'.
7710         * modules/unistr/u32-mbtouc-tests: New file.
7711         * tests/unistr/test-u32-mbtouc.c: New file.
7712
7713         Tests for module 'unistr/u16-mbtouc'.
7714         * modules/unistr/u16-mbtouc-tests: New file.
7715         * tests/unistr/test-u16-mbtouc.c: New file.
7716
7717         Tests for module 'unistr/u8-mbtouc'.
7718         * modules/unistr/u8-mbtouc-tests: New file.
7719         * tests/unistr/test-u8-mbtouc.c: New file.
7720
7721         Tests for module 'unistr/u32-mbtouc-unsafe'.
7722         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
7723         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
7724         * tests/unistr/test-u32-mbtouc.h: New file.
7725
7726         Tests for module 'unistr/u16-mbtouc-unsafe'.
7727         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
7728         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
7729         * tests/unistr/test-u16-mbtouc.h: New file.
7730
7731         Tests for module 'unistr/u8-mbtouc-unsafe'.
7732         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
7733         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
7734         * tests/unistr/test-u8-mbtouc.h: New file.
7735
7736         Tests for module 'unistr/u32-mblen'.
7737         * modules/unistr/u32-mblen-tests: New file.
7738         * tests/unistr/test-u32-mblen.c: New file.
7739
7740         Tests for module 'unistr/u16-mblen'.
7741         * modules/unistr/u16-mblen-tests: New file.
7742         * tests/unistr/test-u16-mblen.c: New file.
7743
7744         Tests for module 'unistr/u8-mblen'.
7745         * modules/unistr/u8-mblen-tests: New file.
7746         * tests/unistr/test-u8-mblen.c: New file.
7747
7748         Tests for module 'unistr/u32-to-u16'.
7749         * modules/unistr/u32-to-u16-tests: New file.
7750         * tests/unistr/test-u32-to-u16.c: New file.
7751
7752         Tests for module 'unistr/u32-to-u8'.
7753         * modules/unistr/u32-to-u8-tests: New file.
7754         * tests/unistr/test-u32-to-u8.c: New file.
7755
7756         Tests for module 'unistr/u16-to-u32'.
7757         * modules/unistr/u16-to-u32-tests: New file.
7758         * tests/unistr/test-u16-to-u32.c: New file.
7759
7760         Tests for module 'unistr/u16-to-u8'.
7761         * modules/unistr/u16-to-u8-tests: New file.
7762         * tests/unistr/test-u16-to-u8.c: New file.
7763
7764         Tests for module 'unistr/u8-to-u32'.
7765         * modules/unistr/u8-to-u32-tests: New file.
7766         * tests/unistr/test-u8-to-u32.c: New file.
7767
7768         Tests for module 'unistr/u8-to-u16'.
7769         * modules/unistr/u8-to-u16-tests: New file.
7770         * tests/unistr/test-u8-to-u16.c: New file.
7771
7772         Tests for module 'unistr/u32-check'.
7773         * modules/unistr/u32-check-tests: New file.
7774         * tests/unistr/test-u32-check.c: New file.
7775
7776         Tests for module 'unistr/u16-check'.
7777         * modules/unistr/u16-check-tests: New file.
7778         * tests/unistr/test-u16-check.c: New file.
7779
7780         Tests for module 'unistr/u8-check'.
7781         * modules/unistr/u8-check-tests: New file.
7782         * tests/unistr/test-u8-check.c: New file.
7783
7784         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
7785         (category_equals): New function.
7786         (main): Add more tests.
7787         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
7788
7789         * tests/unictype/test-bidi_byname.c (main): Add more tests.
7790
7791 2010-01-10  Bruno Haible  <bruno@clisp.org>
7792
7793         unistr/u*-strcoll: Try harder to distinguish different strings.
7794         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
7795         compare s1 and s2 to see if they are different.
7796
7797 2010-01-10  Bruno Haible  <bruno@clisp.org>
7798
7799         unistr/u*-stpncpy: Fix the return value.
7800         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
7801         description of the return value consistent with stpncpy in glibc.
7802         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
7803         written non-NUL unit.
7804
7805 2010-01-10  Bruno Haible  <bruno@clisp.org>
7806
7807         unistr/u*-next: Add missing dependencies.
7808         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
7809         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
7810         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
7811
7812 2010-01-10  Bruno Haible  <bruno@clisp.org>
7813
7814         unistr/u8-mbsnlen: Fix return value for incomplete character.
7815         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
7816         u8_mblen.
7817         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
7818         Remove unistr/u8-mblen.
7819         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
7820         u16_mblen.
7821         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
7822         Remove unistr/u16-mblen.
7823
7824 2010-01-10  Bruno Haible  <bruno@clisp.org>
7825
7826         wchar: Fix compilation error when <wchar.h> is used from coreutils.
7827         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
7828         Reported by Brian Gough <bjg@gnu.org> and
7829         Chris Clayton <chris2553@googlemail.com> via
7830         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
7831
7832 2010-01-09  Bruno Haible  <bruno@clisp.org>
7833
7834         unistr/u16-to-u32: Reject invalid input.
7835         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
7836         u16_mbtouc.
7837         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
7838         Remove unistr/u16-mbtouc.
7839
7840         unistr/u16-to-u8: Reject invalid input.
7841         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
7842         u16_mbtouc.
7843         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
7844         Remove unistr/u16-mbtouc.
7845
7846         unistr/u8-to-u32: Reject invalid input.
7847         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
7848         u8_mbtouc.
7849         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
7850         Remove unistr/u8-mbtouc.
7851
7852         unistr/u8-to-u16: Reject invalid input.
7853         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
7854         u8_mbtouc.
7855         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
7856         Remove unistr/u8-mbtouc.
7857
7858 2010-01-09  Bruno Haible  <bruno@clisp.org>
7859
7860         Tests for module 'getlogin'.
7861         * modules/getlogin-tests: New file.
7862         * tests/test-getlogin.c: New file.
7863
7864         New module 'getlogin'.
7865         * lib/unistd.in.h (getlogin): New declaration.
7866         * lib/getlogin.c: New file.
7867         * m4/getlogin.m4: New file.
7868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
7869         HAVE_GETLOGIN.
7870         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
7871         HAVE_GETLOGIN.
7872         * modules/getlogin: New file.
7873         * doc/posix-functions/getlogin.texi: Mention the new module.
7874         Reported by John W. Eaton <jwe@gnu.org>.
7875
7876 2010-01-09  Bruno Haible  <bruno@clisp.org>
7877
7878         getlogin_r: Support for native Windows.
7879         * lib/getlogin_r.c: Include <windows.h>
7880         (getlogin_r): Implement for native Windows.
7881         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
7882         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
7883         via John W. Eaton <jwe@gnu.org>.
7884
7885 2010-01-09  Bruno Haible  <bruno@clisp.org>
7886
7887         getlogin_r: Small fixes.
7888         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
7889         succeeds.
7890         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
7891         before testing whether getlogin_r is declared. No need to set
7892         HAVE_DECL_GETLOGIN_R to 1.
7893         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
7894
7895 2010-01-09  Bruno Haible  <bruno@clisp.org>
7896
7897         * lib/unistd.in.h (getlogin_r): Add comment.
7898
7899 2010-01-09  Bruno Haible  <bruno@clisp.org>
7900
7901         Tests for module 'getlogin_r'.
7902         * modules/getlogin_r-tests: New file.
7903         * tests/test-getlogin_r.c: New file.
7904
7905 2010-01-09  Jim Meyering  <meyering@redhat.com>
7906
7907         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
7908         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
7909         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
7910
7911 2010-01-08  Simon Josefsson  <simon@josefsson.org>
7912
7913         * lib/dup2.c (rpl_dup2): Improve comment.
7914
7915 2010-01-08  Eric Blake  <ebb9@byu.net>
7916
7917         maint.mk: allow packages to add makefile @@ exceptions
7918         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
7919         (sc_makefile_check): Rename...
7920         (sc_makefile_at_at_check): ...to this, and use hook.
7921
7922         dup2: work around mingw bug
7923         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
7924         Reported by Simon Josefsson.
7925
7926 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
7927
7928         glob: Fix C++ compilation.
7929         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
7930         C++.
7931
7932 2010-01-07  Bruno Haible  <bruno@clisp.org>
7933
7934         Fix indentation of wctype.in.h, broken since 2007-01-06.
7935         * lib/wctype.in.h: Fix indentation of preprocessor directives.
7936
7937 2010-01-07  Bruno Haible  <bruno@clisp.org>
7938
7939         mbslen: Avoid collision with system function.
7940         * lib/string.in.h [MirBSD]: Include <wchar.h>.
7941         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
7942         * m4/mbslen.m4: New file.
7943         * modules/mbslen (Files): Add it.
7944         (configure.ac): Invoke gl_MBSLEN.
7945         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
7946         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
7947         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
7948         via Ian Beckwith <ianb@erislabs.net>.
7949
7950 2010-01-07  Bruno Haible  <bruno@clisp.org>
7951
7952         dirent: Document the last fix.
7953         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
7954
7955 2010-01-07  Bruno Haible  <bruno@clisp.org>
7956
7957         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
7958         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
7959         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
7960         va_list are defined.
7961         * doc/posix-headers/stdio.texi: Document the bug of missing types.
7962         Reported by Eric Blake.
7963
7964 2010-01-07  Bruno Haible  <bruno@clisp.org>
7965
7966         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
7967         * modules/xlist (Depends-on): Add 'list',
7968         * modules/xoset (Depends-on): Add 'oset'.
7969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7970
7971 2010-01-07  Bruno Haible  <bruno@clisp.org>
7972
7973         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
7974         * doc/posix-functions/strncasecmp.texi: Likewise.
7975
7976 2010-01-07  Bruno Haible  <bruno@clisp.org>
7977
7978         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
7979
7980 2010-01-07  John W. Eaton  <jwe@octave.org>
7981
7982         wctype: allow C++ use
7983         * lib/wctype.in.h: Add extern "C" block for C++.
7984
7985 2010-01-06  Eric Blake  <ebb9@byu.net>
7986
7987         maint.mk: detect incorrect GFDL usage
7988         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
7989
7990 2010-01-06  Jim Meyering  <meyering@redhat.com>
7991         and Eric Blake  <ebb9@byu.net>
7992
7993         maint.mk: ignore multi-line copyright in NEWS
7994         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
7995
7996 2010-01-06  Eric Blake  <ebb9@byu.net>
7997
7998         select: add missing dependency
7999         * modules/select-tests (Depends-on): Move sockets dependency...
8000         * modules/select (Depends-on): ...here.
8001         Reported by Ian Beckwith.
8002
8003         doc: regenerate INSTALL
8004         * doc/INSTALL: Reflect recent autoconf update.
8005         * doc/INSTALL.ISO: Likewise.
8006         * doc/INSTALL.UTF-8: Likewise.
8007
8008         pread: fix compilation on glibc
8009         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
8010         Reported by Ralf Wildenhues.
8011
8012         dirent: fix test failure
8013         * lib/dirent.in.h (includes): Guarantee ino_t.
8014         Reported by Ralf Wildenhues.
8015
8016 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
8017
8018         linkat, renameat: avoid bad free
8019         * lib/at-func2.c (at_func2): Fix typo.
8020         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
8021
8022 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8023
8024         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
8025         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
8026         to avoid failure of symlink test later.
8027
8028 2010-01-06  Eric Blake  <ebb9@byu.net>
8029
8030         stdio, unistd: guarantee ssize_t
8031         * lib/unistd.in.h (includes): Ensure that types required by POSIX
8032         2008 are exposed when needed.
8033         * lib/stdio.in.h (includes): Likewise.
8034         Reported by Ralf Wildenhues.
8035
8036 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
8037
8038         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
8039         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
8040         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
8041
8042 2010-01-06  Jim Meyering  <meyering@redhat.com>
8043
8044         readtokens: this module *does* require xalloc.h
8045         It uses only functions that were omitted by the old syntax-check rule.
8046         * lib/readtokens.c: Include "xalloc.h" once again.
8047         * modules/readtokens (Depends-on): Add xalloc.
8048         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
8049
8050 2010-01-05  Eric Blake  <ebb9@byu.net>
8051
8052         maint: support 'make announcement' from a VPATH build
8053         * top/maint.mk (announcement): Look for correct NEWS file.
8054
8055 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
8056
8057         utimens (fdutimens): ignore a negative FD, per contract
8058         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
8059         when we have a valid file descriptor.  Otherwise, using a brand
8060         new glibc (with just-patched futimens that now fails with EBADF)
8061         would cause this function to fail with ENOSYS.
8062         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
8063         See also http://bugzilla.redhat.com/552320.
8064
8065 2010-01-05  Eric Blake  <ebb9@byu.net>
8066
8067         strcase: document what it provides
8068         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
8069         gnulib module.
8070         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
8071         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
8072
8073 2010-01-05  Jim Meyering  <meyering@redhat.com>
8074
8075         maint: remove useless inclusions of "xalloc.h"
8076         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
8077         * lib/readtokens.c: Likewise.
8078         * lib/same.c: Likewise.
8079         * modules/getloadavg (Depends-on): Remove xalloc.
8080         * modules/readtokens: Likewise.
8081         * modules/same: Likewise.
8082
8083         maint.mk: include 4 more function names in alloca.h-checking regexp
8084         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
8085         regexp.  Before, we would give a false-positive (saying alloca.h
8086         is included unnecessarily) when the only uses involved omitted symbols.
8087
8088         xalloc.h: use consistent formatting
8089         * lib/xalloc.h: Move declarations to start in the first column.
8090
8091 2010-01-05  Eric Blake  <ebb9@byu.net>
8092
8093         mkdir: avoid xalloc
8094         * lib/mkdir.c (includes): Drop unused header.
8095         Reported by John W. Eaton.
8096
8097 2010-01-04  Jim Meyering  <meyering@redhat.com>
8098
8099         nl_langinfo: avoid configure-time syntax error
8100         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
8101         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
8102         the empty string.  Don't let that provoke a shell syntax error.
8103
8104         regcomp, regexec, fnmatch: avoid array bounds read error
8105         * lib/regcomp.c (build_equiv_class): From glibc:
8106         Use only the low 24 bits of a findidx return value as an index
8107         into the weights array.  Patch by Ulrich Drepper:
8108         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
8109         * lib/regexec.c (check_node_accept_bytes): Likewise.
8110         * lib/fnmatch_loop.c (FCT): Likewise.
8111
8112         regcomp: skip collseq lookup when there are no rules
8113         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
8114         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
8115
8116         regcomp: recognize ill-formed { } expressions
8117         * lib/regcomp.c (parse_dup_op): From glibc:
8118         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
8119
8120         regcomp: fix typo in comment
8121         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
8122         s/satisfy/satisfies/.
8123
8124         regcomp: sync from glibc: remove dead store
8125         * lib/regcomp.c (duplicate_node_closure): Remove useless
8126         search_duplicated_node call and dead store.
8127
8128         regcomp: sync from glibc; always use nl_langinfo
8129         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
8130         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
8131         * modules/regex (Depends-on): Add nl_langinfo.
8132
8133 2010-01-04  Eric Blake  <ebb9@byu.net>
8134
8135         fdopendir: fix configure test
8136         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
8137
8138 2010-01-01  Bruno Haible  <bruno@clisp.org>
8139
8140         wchar: Remove unused configure check.
8141         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
8142
8143 2010-01-01  Eric Blake  <ebb9@byu.net>
8144
8145         headers: make check of system header explicit
8146         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
8147         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
8148         ourselves.
8149         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8150         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
8152         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
8153         internals.
8154         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
8155         missing.
8156         Suggested by Bruno Haible.
8157
8158 2010-01-01  Jim Meyering  <meyering@redhat.com>
8159
8160         ChangeLog: tweak to eliminate unnecessary copyright line
8161         * ChangeLog: Remove a copyright line that was mistakenly updated
8162         by today's update-copyright run.  Reported by Eric Blake.
8163
8164         test-update-copyright: don't let envvar setting cause test failure
8165         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8166
8167 2010-01-01  Bruno Haible  <bruno@clisp.org>
8168
8169         localename: Avoid gcc warning.
8170         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
8171         function if it is not used.
8172
8173 2010-01-01  Jim Meyering  <meyering@redhat.com>
8174
8175         update nearly all FSF copyright year lists to include 2010
8176         Use the same procedure as for 2009, outlined in
8177         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
8178
8179         version-etc: set COPYRIGHT_YEAR to 2010
8180         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
8181
8182 2009-12-31  Eric Blake  <ebb9@byu.net>
8183
8184         doc: correct availability of cygwin 1.5.x getopt
8185         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
8186         variables.
8187         * doc/posix-functions/opterr.texi (opterr): Likewise.
8188         * doc/posix-functions/optind.texi (optind): Likewise.
8189         * doc/posix-functions/optopt.texi (optopt): Likewise.
8190         * doc/posix-functions/tzname.texi (tzname): Likewise.
8191
8192         openat: update maintainer
8193         * modules/openat (Maintainer): Add myself.
8194
8195         utimens: avoid shadowing warning
8196         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
8197         buffers into one, to avoid shadowing, as well as avoiding a
8198         redundant stat.
8199         Reported by Jim Meyering.
8200
8201         test-dup2: avoid compiler warning
8202         * tests/test-dup2.c (is_inheritable): Only define if used.
8203
8204 2010-01-01  Bruno Haible  <bruno@clisp.org>
8205
8206         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
8207         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
8208         defined, use wctomb instead of wcrtomb.
8209
8210 2010-01-01  Bruno Haible  <bruno@clisp.org>
8211
8212         iconv: Reject native Solaris iconv.
8213         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
8214         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
8215
8216 2009-12-31  Bruno Haible  <bruno@clisp.org>
8217
8218         * tests/test-signal.c (main): Remove test of 'SIG'.
8219
8220 2009-12-31  Bruno Haible  <bruno@clisp.org>
8221
8222         spawn: Fix incomplete fix.
8223         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8224         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8225         warnings for GNULIB_POSIXCHECK again.
8226         Reported by Eric Blake.
8227
8228 2009-12-31  Bruno Haible  <bruno@clisp.org>
8229
8230         Avoid namespace pollution on glibc systems.
8231         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
8232         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
8233         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
8234         glibc systems.
8235
8236 2009-12-31  Bruno Haible  <bruno@clisp.org>
8237
8238         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
8239         (gl_REPLACE_WCHAR_H): Turn into a no-op.
8240         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
8241         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
8242         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
8243         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
8244         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
8245
8246 2009-12-31  Bruno Haible  <bruno@clisp.org>
8247
8248         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
8249         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
8250         afterwards.
8251
8252 2009-12-31  Bruno Haible  <bruno@clisp.org>
8253
8254         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
8255         SYS_UTSNAME_H.
8256
8257 2009-12-31  Bruno Haible  <bruno@clisp.org>
8258
8259         spawn: Fix misapplied patch.
8260         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8261         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8262         warnings for GNULIB_POSIXCHECK.
8263
8264 2009-12-31  Bruno Haible  <bruno@clisp.org>
8265
8266         times: Update after sys_times changed.
8267         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
8268         * modules/times (Files): Add it.
8269         (configure.ac): Invoke gl_FUNC_TIMES.
8270
8271 2009-12-31  Bruno Haible  <bruno@clisp.org>
8272
8273         Use AC_C_INLINE where necessary.
8274         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
8275         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
8276         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8277         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
8278         * m4/mbfile.m4 (gl_MBFILE): Likewise.
8279         * m4/mbiter.m4 (gl_MBITER): Likewise.
8280         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8281         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8282         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
8283         * modules/u64 (configure.ac): Likewise.
8284
8285 2009-12-31  Bruno Haible  <bruno@clisp.org>
8286
8287         Use AC_C_INLINE instead of module 'inline' where possible.
8288         * modules/inline (Description): Clarify purpose.
8289         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
8290         * modules/count-one-bits (Depends-on): Remove inline.
8291         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
8292         * modules/openat (Depends-on): Remove inline.
8293         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
8294         instead of depending on module 'inline'.
8295         * modules/filevercmp (Depends-on, configure.ac): Likewise.
8296         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
8297         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
8298         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
8299         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
8300         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
8301         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
8302         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
8303         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
8304         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
8305         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
8306         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
8307         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
8308         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
8309         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
8310         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
8311         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
8312         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
8313         Likewise.
8314         * modules/unictype/property-ascii-hex-digit (Depends-on,
8315         configure.ac): Likewise.
8316         * modules/unictype/property-bidi-arabic-digit (Depends-on,
8317         configure.ac): Likewise.
8318         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
8319         configure.ac): Likewise.
8320         * modules/unictype/property-bidi-block-separator (Depends-on,
8321         configure.ac): Likewise.
8322         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
8323         configure.ac): Likewise.
8324         * modules/unictype/property-bidi-common-separator (Depends-on,
8325         configure.ac): Likewise.
8326         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
8327         Likewise.
8328         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
8329         configure.ac): Likewise.
8330         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
8331         configure.ac): Likewise.
8332         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
8333         configure.ac): Likewise.
8334         * modules/unictype/property-bidi-european-digit (Depends-on,
8335         configure.ac): Likewise.
8336         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
8337         configure.ac): Likewise.
8338         * modules/unictype/property-bidi-left-to-right (Depends-on,
8339         configure.ac): Likewise.
8340         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
8341         configure.ac): Likewise.
8342         * modules/unictype/property-bidi-other-neutral (Depends-on,
8343         configure.ac): Likewise.
8344         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
8345         Likewise.
8346         * modules/unictype/property-bidi-segment-separator (Depends-on,
8347         configure.ac): Likewise.
8348         * modules/unictype/property-bidi-whitespace (Depends-on,
8349         configure.ac): Likewise.
8350         * modules/unictype/property-combining (Depends-on, configure.ac):
8351         Likewise.
8352         * modules/unictype/property-composite (Depends-on, configure.ac):
8353         Likewise.
8354         * modules/unictype/property-currency-symbol (Depends-on,
8355         configure.ac): Likewise.
8356         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
8357         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
8358         Likewise.
8359         * modules/unictype/property-default-ignorable-code-point (Depends-on,
8360         configure.ac): Likewise.
8361         * modules/unictype/property-deprecated (Depends-on, configure.ac):
8362         Likewise.
8363         * modules/unictype/property-diacritic (Depends-on, configure.ac):
8364         Likewise.
8365         * modules/unictype/property-extender (Depends-on, configure.ac):
8366         Likewise.
8367         * modules/unictype/property-format-control (Depends-on, configure.ac):
8368         Likewise.
8369         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
8370         Likewise.
8371         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
8372         Likewise.
8373         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
8374         Likewise.
8375         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
8376         Likewise.
8377         * modules/unictype/property-hyphen (Depends-on, configure.ac):
8378         Likewise.
8379         * modules/unictype/property-id-continue (Depends-on, configure.ac):
8380         Likewise.
8381         * modules/unictype/property-id-start (Depends-on, configure.ac):
8382         Likewise.
8383         * modules/unictype/property-ideographic (Depends-on, configure.ac):
8384         Likewise.
8385         * modules/unictype/property-ids-binary-operator (Depends-on,
8386         configure.ac): Likewise.
8387         * modules/unictype/property-ids-trinary-operator (Depends-on,
8388         configure.ac): Likewise.
8389         * modules/unictype/property-ignorable-control (Depends-on,
8390         configure.ac): Likewise.
8391         * modules/unictype/property-iso-control (Depends-on, configure.ac):
8392         Likewise.
8393         * modules/unictype/property-join-control (Depends-on, configure.ac):
8394         Likewise.
8395         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
8396         Likewise.
8397         * modules/unictype/property-line-separator (Depends-on, configure.ac):
8398         Likewise.
8399         * modules/unictype/property-logical-order-exception (Depends-on,
8400         configure.ac): Likewise.
8401         * modules/unictype/property-lowercase (Depends-on, configure.ac):
8402         Likewise.
8403         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
8404         * modules/unictype/property-non-break (Depends-on, configure.ac):
8405         Likewise.
8406         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
8407         Likewise.
8408         * modules/unictype/property-numeric (Depends-on, configure.ac):
8409         Likewise.
8410         * modules/unictype/property-other-alphabetic (Depends-on,
8411         configure.ac): Likewise.
8412         * modules/unictype/property-other-default-ignorable-code-point
8413         (Depends-on, configure.ac): Likewise.
8414         * modules/unictype/property-other-grapheme-extend (Depends-on,
8415         configure.ac): Likewise.
8416         * modules/unictype/property-other-id-continue (Depends-on,
8417         configure.ac): Likewise.
8418         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
8419         Likewise.
8420         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
8421         Likewise.
8422         * modules/unictype/property-other-math (Depends-on, configure.ac):
8423         Likewise.
8424         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
8425         Likewise.
8426         * modules/unictype/property-paired-punctuation (Depends-on,
8427         configure.ac): Likewise.
8428         * modules/unictype/property-paragraph-separator (Depends-on,
8429         configure.ac): Likewise.
8430         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
8431         Likewise.
8432         * modules/unictype/property-pattern-white-space (Depends-on,
8433         configure.ac): Likewise.
8434         * modules/unictype/property-private-use (Depends-on, configure.ac):
8435         Likewise.
8436         * modules/unictype/property-punctuation (Depends-on, configure.ac):
8437         Likewise.
8438         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
8439         Likewise.
8440         * modules/unictype/property-radical (Depends-on, configure.ac):
8441         Likewise.
8442         * modules/unictype/property-sentence-terminal (Depends-on,
8443         configure.ac): Likewise.
8444         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
8445         Likewise.
8446         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
8447         * modules/unictype/property-terminal-punctuation (Depends-on,
8448         configure.ac): Likewise.
8449         * modules/unictype/property-titlecase (Depends-on, configure.ac):
8450         Likewise.
8451         * modules/unictype/property-unassigned-code-value (Depends-on,
8452         configure.ac): Likewise.
8453         * modules/unictype/property-unified-ideograph (Depends-on,
8454         configure.ac): Likewise.
8455         * modules/unictype/property-uppercase (Depends-on, configure.ac):
8456         Likewise.
8457         * modules/unictype/property-variation-selector (Depends-on,
8458         configure.ac): Likewise.
8459         * modules/unictype/property-white-space (Depends-on, configure.ac):
8460         Likewise.
8461         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
8462         Likewise.
8463         * modules/unictype/property-xid-start (Depends-on, configure.ac):
8464         Likewise.
8465         * modules/unictype/property-zero-width (Depends-on, configure.ac):
8466         Likewise.
8467         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
8468         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
8469         Likewise.
8470
8471 2009-12-31  Bruno Haible  <bruno@clisp.org>
8472
8473         Remove unnecessary AC_C_INLINE invocation.
8474         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
8475         since 2009-08-21.
8476
8477 2009-12-31  Jim Meyering  <meyering@redhat.com>
8478
8479         maint.mk: don't require explicit gpg_key_ID in cfg.mk
8480         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
8481         With this change, we can all remove the gpg_key_ID = ... definition
8482         from our respective cfg.mk files.
8483
8484         maint.mk: create announcement template in ~/, not in /tmp
8485         * top/maint.mk (emit_upload_commands): Adjust.
8486         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
8487         Remove temporary file, .ci-msg.
8488
8489 2009-12-31  Eric Blake  <ebb9@byu.net>
8490
8491         link-warning: always build headers with link warnings
8492         * modules/arpa_inet (Makefile.am): Always build replacement
8493         header.
8494         * modules/ctype (Makefile.am): Likewise.
8495         * modules/dirent (Makefile.am): Likewise.
8496         * modules/inttypes (Makefile.am): Likewise.
8497         * modules/langinfo (Makefile.am): Likewise.
8498         * modules/locale (Makefile.am): Likewise.
8499         * modules/spawn (Makefile.am): Likewise.
8500         * modules/sys_file (Makefile.am): Likewise.
8501         * modules/sys_ioctl (Makefile.am): Likewise.
8502         * modules/sys_select (Makefile.am): Likewise.
8503         * modules/sys_socket (Makefile.am): Likewise.
8504         * modules/sys_times (Makefile.am): Likewise.
8505         * modules/sys_utsname (Makefile.am): Likewise.
8506         * modules/sys_wait (Makefile.am): Likewise.
8507         * modules/wchar (Makefile.am): Likewise.
8508         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
8509         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
8510         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
8511         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
8512         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
8513         Likewise.
8514         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8515         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8516         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
8517         Likewise.
8518         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
8519         Likewise.
8520         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8521         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
8522         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
8523         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8524         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8525         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8526         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8527         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
8528         (gl_WCHAR_H_DEFAULTS): Likewise.
8529
8530 2009-12-31  Eric Blake  <ebb9@byu.net>
8531
8532         signal, spawn: use link warnings
8533         * lib/signal.in.h (sigset_t): Make unconditional.
8534         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
8535         (sigpending, sigprocmask, sigaction): Add link warnings.
8536         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
8537         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
8538         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
8539         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
8540         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
8541         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
8542         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
8543         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
8544         (posix_spawn_file_actions_destroy)
8545         (posix_spawn_file_actions_addopen)
8546         (posix_spawn_file_actions_addclose)
8547         (posix_spawn_file_actions_adddup2): Likewise.
8548         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
8549         * tests/test-signal.c (main): Enhance test.
8550
8551         spawn: improve wrapper support
8552         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
8553         (gl_SPAWN_H_DEFAULTS): New defaults.
8554         * modules/spawn (Makefile.am): Substitute them.
8555         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
8556         Only declare if missing or broken.
8557
8558         sys_times, sys_utsname: use include_next
8559         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
8560         header.
8561         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
8562         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8563         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8564         * modules/sys_times (Depends-on): Add include_next.
8565         (Makefile.am): Substitute additional values.
8566         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8567         * lib/sys_times.in.h (includes): Include native header, if
8568         available.
8569         * lib/sys_utsname.in.h (includes): Likewise.
8570         * tests/test-sys_times.c (main): Enhance test.
8571
8572         fdutimensat: revert prior patch
8573         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
8574         utimens.h.
8575         Reported by Bruno Haible.
8576
8577 2009-12-30  Eric Blake  <ebb9@byu.net>
8578
8579         sys_wait: drop link-warning dependency
8580         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
8581         link-warning efforts.
8582         * lib/sys_wait.in.h: Likewise.
8583
8584         fdutimensat: remove bogus dependency
8585         * modules/fdutimensat (Depends-on): Drop inline.
8586
8587         unistd: fix typo
8588         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
8589
8590 2009-12-30  Bruno Haible  <bruno@clisp.org>
8591
8592         Fix compilation error with Solaris cc.
8593         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
8594         * lib/unicase/u16-is-invariant.c: Likewise.
8595         * lib/unicase/u32-is-invariant.c: Likewise.
8596         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8597
8598 2009-12-30  Bruno Haible  <bruno@clisp.org>
8599
8600         Fix test crash.
8601         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
8602         locales.
8603         Reported by Simon Josefsson <simon@josefsson.org>.
8604
8605 2009-12-30  Bruno Haible  <bruno@clisp.org>
8606
8607         Fix compilation error on most platforms.
8608         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
8609         Reported by Simon Josefsson <simon@josefsson.org>
8610         and Nelson H. F. Beebe <beebe@math.utah.edu>.
8611
8612 2009-12-30  Eric Blake  <ebb9@byu.net>
8613
8614         futimens, utimensat: work around ntfs-3g bug
8615         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
8616         a ctime bug is present, and expand workaround to cover ntfs-3g.
8617         * lib/utimens.c (fdutimens, lutimens): Likewise.
8618         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
8619         (validate_timespec): Adjust return value.
8620         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
8621         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8622         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
8623
8624 2009-12-29  Eric Blake  <ebb9@byu.net>
8625
8626         link-warning: make usage consistent
8627         * modules/ctype (Depends-on): Add link-warning.
8628         (Makefile.am): Update rules accordingly.
8629         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8630         * modules/locale (Depends-on, Makefile.am): Likewise.
8631         * modules/sys_file (Makefile.am): Likewise.
8632         * modules/getopt-posix (Makefile.am): Delete unused link warning
8633         efforts.
8634         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
8635         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
8636         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
8637         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
8638
8639         stdio: remove unused variables
8640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
8641         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
8642         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8643
8644         tests: test more substitute headers
8645         * modules/ctype-tests: New file.
8646         * modules/dirent-tests: Likewise.
8647         * modules/spawn-tests: Likewise.
8648         * modules/sys_file-tests: Likewise.
8649         * modules/sys_ioctl-tests: Likewise.
8650         * modules/sys_wait-tests: Likewise.
8651         * tests/test-ctype.c: Likewise.
8652         * tests/test-dirent.c: Likewise.
8653         * tests/test-spawn.c: Likewise.
8654         * tests/test-sys_file.c: Likewise.
8655         * tests/test-sys_ioctl.c: Likewise.
8656         * tests/test-sys_wait.c: Likewise.
8657         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
8658         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
8659         whether or not flock is in use.
8660
8661         tests: remove License section from module
8662         * modules/arpa_inet-tests: Remove unneeded section.
8663         * modules/byteswap-tests: Likewise.
8664         * modules/ceilf-tests: Likewise.
8665         * modules/ceill-tests: Likewise.
8666         * modules/crypto/des-tests: Likewise.
8667         * modules/crypto/gc-arcfour-tests: Likewise.
8668         * modules/crypto/gc-arctwo-tests: Likewise.
8669         * modules/crypto/gc-des-tests: Likewise.
8670         * modules/crypto/gc-hmac-md5-tests: Likewise.
8671         * modules/crypto/gc-hmac-sha1-tests: Likewise.
8672         * modules/crypto/gc-md2-tests: Likewise.
8673         * modules/crypto/gc-md4-tests: Likewise.
8674         * modules/crypto/gc-md5-tests: Likewise.
8675         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
8676         * modules/crypto/gc-rijndael-tests: Likewise.
8677         * modules/crypto/gc-sha1-tests: Likewise.
8678         * modules/crypto/gc-tests: Likewise.
8679         * modules/crypto/md2-tests: Likewise.
8680         * modules/crypto/md4-tests: Likewise.
8681         * modules/fcntl-h-tests: Likewise.
8682         * modules/floorf-tests: Likewise.
8683         * modules/floorl-tests: Likewise.
8684         * modules/frexp-nolibm-tests: Likewise.
8685         * modules/frexp-tests: Likewise.
8686         * modules/frexpl-nolibm-tests: Likewise.
8687         * modules/frexpl-tests: Likewise.
8688         * modules/getaddrinfo-tests: Likewise.
8689         * modules/inttypes-tests: Likewise.
8690         * modules/isfinite-tests: Likewise.
8691         * modules/isinf-tests: Likewise.
8692         * modules/ldexpl-tests: Likewise.
8693         * modules/locale-tests: Likewise.
8694         * modules/math-tests: Likewise.
8695         * modules/netdb-tests: Likewise.
8696         * modules/netinet_in-tests: Likewise.
8697         * modules/printf-frexp-tests: Likewise.
8698         * modules/printf-frexpl-tests: Likewise.
8699         * modules/priv-set-tests: Likewise.
8700         * modules/random_r-tests: Likewise.
8701         * modules/round-tests: Likewise.
8702         * modules/roundf-tests: Likewise.
8703         * modules/roundl-tests: Likewise.
8704         * modules/search-tests: Likewise.
8705         * modules/select-tests: Likewise.
8706         * modules/signal-tests: Likewise.
8707         * modules/stdbool-tests: Likewise.
8708         * modules/stddef-tests: Likewise.
8709         * modules/stdint-tests: Likewise.
8710         * modules/stdio-tests: Likewise.
8711         * modules/stdlib-tests: Likewise.
8712         * modules/string-tests: Likewise.
8713         * modules/strings-tests: Likewise.
8714         * modules/sys_select-tests: Likewise.
8715         * modules/sys_socket-tests: Likewise.
8716         * modules/sys_stat-tests: Likewise.
8717         * modules/sys_time-tests: Likewise.
8718         * modules/sys_utsname-tests: Likewise.
8719         * modules/sysexits-tests: Likewise.
8720         * modules/time-tests: Likewise.
8721         * modules/trunc-tests: Likewise.
8722         * modules/truncf-tests: Likewise.
8723         * modules/truncl-tests: Likewise.
8724         * modules/tsearch-tests: Likewise.
8725         * modules/unistd-tests: Likewise.
8726         * modules/wchar-tests: Likewise.
8727         * modules/wctype-tests: Likewise.
8728
8729         tests: fix license on several tests
8730         * tests/test-des.c: Update to GPLv3+.
8731         * tests/test-flock.c: Likewise.
8732         * tests/test-fsync.c: Likewise.
8733         * tests/test-futimens.h: Likewise.
8734         * tests/test-gc-arcfour.c: Likewise.
8735         * tests/test-gc-arctwo.c: Likewise.
8736         * tests/test-gc-des.c: Likewise.
8737         * tests/test-gc-hmac-md5.c: Likewise.
8738         * tests/test-gc-hmac-sha1.c: Likewise.
8739         * tests/test-gc-md2.c: Likewise.
8740         * tests/test-gc-md4.c: Likewise.
8741         * tests/test-gc-md5.c: Likewise.
8742         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8743         * tests/test-gc-rijndael.c: Likewise.
8744         * tests/test-gc-sha1.c: Likewise.
8745         * tests/test-gc.c: Likewise.
8746         * tests/test-getcwd.c: Likewise.
8747         * tests/test-link.c: Likewise.
8748         * tests/test-link.h: Likewise.
8749         * tests/test-lutimens.h: Likewise.
8750         * tests/test-md2.c: Likewise.
8751         * tests/test-md4.c: Likewise.
8752         * tests/test-mkdir.h: Likewise.
8753         * tests/test-rename.c: Likewise.
8754         * tests/test-rename.h: Likewise.
8755         * tests/test-safe-alloc.c: Likewise.
8756         * tests/test-utimens-common.h: Likewise.
8757         * tests/test-utimens.h: Likewise.
8758
8759         maint: sync license texts
8760         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
8761         * doc/gpl-3.0.texi: Revert copyright year update.
8762         * doc/lgpl-3.0.texi: Likewise.
8763
8764 2009-12-29  Jim Meyering  <meyering@redhat.com>
8765
8766         update nearly all FSF copyright year lists to include 2009
8767         The files named by the following are exempted:
8768             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
8769               test -f "$dst" && { echo "$dst"; continue; }
8770               test -d "$dst" || continue
8771               echo "$dst"/$(basename "$src")
8772             done > exempt
8773             git ls-files tests/unictype >> exempt
8774         In the remaining files, convert to all-interval notation if
8775         - there is already at least one year interval like 2000-2003
8776         - the file is maintained by me
8777         - the file is in lib/uni*/, where that style already prevails
8778         Otherwise, use update-copyright's default.
8779
8780 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8781         and Eric Blake  <ebb9@byu.net>
8782
8783         tests: don't require debug system() to pass
8784         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
8785         * tests/test-rmdir.h (test_rmdir_func): Likewise.
8786         * tests/test-unlink.h (test_unlink_func): Likewise.
8787         * tests/test-fstatat.c (main): ...into callers.
8788         * tests/test-lstat.c (main): Likewise.
8789         * tests/test-rmdir.c (main): Likewise.
8790         * tests/test-unlink.c (main): Likewise.
8791         * tests/test-unlinkat.c (main): Likewise.
8792         * tests/test-areadlink-with-size.c (main): Don't require a
8793         debug-only system call to pass, aiding cross-testing to mingw.
8794         * tests/test-areadlink.c (main): Likewise.
8795         * tests/test-areadlinkat-with-size.c (main): Likewise.
8796         * tests/test-areadlinkat.c (main): Likewise.
8797         * tests/test-canonicalize-lgpl.c (main): Likewise.
8798         * tests/test-canonicalize.c (main): Likewise.
8799         * tests/test-chown.c (main): Likewise.
8800         * tests/test-fchownat.c (main): Likewise.
8801         * tests/test-lchown.c (main): Likewise.
8802         * tests/test-fdutimensat.c (main): Likewise.
8803         * tests/test-futimens.c (main): Likewise.
8804         * tests/test-link.c (main): Likewise.
8805         * tests/test-linkat.c (main): Likewise.
8806         * tests/test-mkdir.c (main): Likewise.
8807         * tests/test-mkdirat.c (main): Likewise.
8808         * tests/test-mkfifo.c (main): Likewise.
8809         * tests/test-mkfifoat.c (main): Likewise.
8810         * tests/test-mknod.c (main): Likewise.
8811         * tests/test-readlink.c (main): Likewise.
8812         * tests/test-remove.c (main): Likewise.
8813         * tests/test-rename.c (main): Likewise.
8814         * tests/test-renameat.c (main): Likewise.
8815         * tests/test-symlink.c (main): Likewise.
8816         * tests/test-symlinkat.c (main): Likewise.
8817         * tests/test-utimens.c (main): Likewise.
8818         * tests/test-utimensat.c (main): Likewise.
8819
8820 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8821
8822         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
8823         on $(UNUSED_PARAMETER_H) to avoid build failure.
8824
8825 2009-12-28  Jim Meyering  <meyering@redhat.com>
8826
8827         update-copyright: you may specify a max. line length other than 72
8828         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8829
8830         maint: use consistent FSF copyright line syntax
8831         * lib/posixtm.c: Add missing comma in FSF copyright line.
8832         * lib/posixtm.h: Likewise.
8833         * lib/getugroups.c: Add missing ", Inc.".
8834
8835         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
8836         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
8837         FSF copyright line.  Remove trailing blanks.
8838
8839 2009-12-28  Eric Blake  <ebb9@byu.net>
8840
8841         test-dup2: reduce dependencies
8842         * modules/cloexec (Configure.ac): Set witness.
8843         * modules/dup2-tests (Depends-on): Drop cloexec.
8844         * tests/test-dup2.c (main): Skip portion of test if cloexec module
8845         not present.
8846         Suggested by Bruno Haible.
8847
8848 2009-12-26  Bruno Haible  <bruno@clisp.org>
8849
8850         Remove an unneeded dependency.
8851         * modules/fseterr (Depends-on): Remove dup2.
8852
8853 2009-12-26  Eric Blake  <ebb9@byu.net>
8854
8855         tests: use macros.h in more places
8856         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
8857         (ASSERT_STREAM): Provide default of stderr.
8858         * tests/test-dirent-safer.c: Include macros.h, using alternate
8859         stream for assertions.
8860         * tests/test-dup-safer.c: Likewise.
8861         * tests/test-freopen-safer.c: Likewise.
8862         * tests/test-getopt.c: Likewise.
8863         * tests/test-openat-safer.c: Likewise.
8864         * tests/test-pipe.c: Likewise.
8865         * tests/test-popen-safer.c: Likewise.
8866         * modules/dirent-safer-tests (Files): Include macros.h.
8867         * modules/unistd-safer-tests (Files): Likewise.
8868         * modules/freopen-safer-tests (Files): Likewise.
8869         * modules/getopt-posix-tests (Files): Likewise.
8870         * modules/openat-safer-tests (Files): Likewise.
8871         * modules/pipe-tests (Files): Likewise.
8872
8873 2009-12-26  Bruno Haible  <bruno@clisp.org>
8874
8875         javacomp: Portability fix.
8876         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
8877         that it also works on Solaris.
8878
8879 2009-12-26  Bruno Haible  <bruno@clisp.org>
8880
8881         localename: Fix storage allocation of gl_locale_name_thread's result.
8882         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
8883         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
8884         all platforms that have 'uselocale'.
8885         (gl_locale_name_thread_unsafe): New function, extracted from
8886         gl_locale_name_thread.
8887         (gl_locale_name_thread): Call struniq on all platforms that have
8888         'uselocale'.
8889         * tests/test-localename.c (test_locale_name_thread): Check that the
8890         resulting strings are permanently allocated.
8891         * modules/localename-tests (Depends-on): Add strdup.
8892
8893 2009-12-26  Bruno Haible  <bruno@clisp.org>
8894
8895         * tests/test-localename.c (categories): Fill in the strings.
8896
8897 2009-12-26  Jim Meyering  <meyering@redhat.com>
8898
8899         isdir: complete the removal of m4/isdir.m4
8900         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
8901
8902         isdir: clean up, since at least grep still uses it
8903         * lib/isdir.c: Include "isdir.h".
8904         (S_ISDIR): Remove now-unneeded definition.
8905         * modules/isdir (Files): Add lib/isdir.h.
8906         * lib/isdir.h: New file, with declaration.
8907         * m4/isdir.m4: Remove file -- unneeded.
8908
8909 2009-12-25  Bruno Haible  <bruno@clisp.org>
8910
8911         selinux-h: Make generated .h files standalone.
8912         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
8913         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
8914         * lib/se-selinux.in.h: Likewise.
8915         * modules/selinux-h (Depends-on): Add unused-parameter.
8916         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
8917         selinux/selinux.h and selinux/context.h.
8918         Suggested by Eric Blake.
8919
8920 2009-12-25  Bruno Haible  <bruno@clisp.org>
8921
8922         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
8923         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
8924         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
8925         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
8926         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
8927
8928 2009-12-24  Bruno Haible  <bruno@clisp.org>
8929
8930         openat: Fix warning.
8931         * lib/openat-proc.c: Include <unistd.h>.
8932
8933 2009-12-24  Bruno Haible  <bruno@clisp.org>
8934
8935         New module 'unused-parameter'.
8936         * build-aux/unused-parameter.h: New file, extracted from earlier
8937         gnulib-common.m4.
8938         * modules/unused-parameter: New file.
8939         * lib/unistr.h: Include unused-parameter.h.
8940         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
8941         _GL_UNUSED.
8942         * modules/unistr/base (Depends-on): Add unused-parameter.
8943
8944 2009-12-24  Bruno Haible  <bruno@clisp.org>
8945
8946         Add missing dependencies to 'extensions' module.
8947         * m4/extensions.m4: Add comment.
8948         * modules/accept4 (Depends-on): Add extensions.
8949         * modules/dup3 (Depends-on): Likewise.
8950         * modules/fcntl (Depends-on): Likewise.
8951         * modules/futimens (Depends-on): Likewise.
8952         * modules/mknod (Depends-on): Likewise.
8953         * modules/pipe2 (Depends-on): Likewise.
8954         * modules/stat-time (Depends-on): Likewise.
8955         * modules/strcasestr-simple (Depends-on): Likewise.
8956         * modules/strsignal (Depends-on): Likewise.
8957         * modules/utimensat (Depends-on): Likewise.
8958         * modules/localcharset (Depends-on): Likewise. Needed because of
8959         gl_FCNTL_O_FLAGS.
8960         * modules/wcrtomb (Depends-on): Likewise. Needed because of
8961         AC_TYPE_MBSTATE_T.
8962         * modules/wcsnrtombs (Depends-on): Likewise.
8963         * modules/wcsrtombs (Depends-on): Likewise.
8964
8965 2009-12-24  Bruno Haible  <bruno@clisp.org>
8966
8967         binary-io: Avoid gcc warning due to SET_BINARY.
8968         * lib/binary-io.h (SET_BINARY): Cast the result to void.
8969         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
8970
8971 2009-12-24  Bruno Haible  <bruno@clisp.org>
8972
8973         Avoid future namespace pollution on glibc systems.
8974         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
8975         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
8976         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
8977         glibc systems.
8978
8979 2009-12-24  Bruno Haible  <bruno@clisp.org>
8980
8981         Refactor common macros used in tests.
8982         * tests/macros.h: New file.
8983         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
8984         and/or <stdlib.h>, if appropriate.
8985         (ASSERT, SIZEOF): Remove macros.
8986         * tests/test-areadlink-with-size.c: Likewise.
8987         * tests/test-areadlinkat.c: Likewise.
8988         * tests/test-areadlinkat-with-size.c: Likewise.
8989         * tests/test-argmatch.c: Likewise.
8990         * tests/test-argv-iter.c: Likewise.
8991         * tests/test-array-mergesort.c: Likewise.
8992         * tests/test-array_list.c: Likewise.
8993         * tests/test-array_oset.c: Likewise.
8994         * tests/test-avltree_list.c: Likewise.
8995         * tests/test-avltree_oset.c: Likewise.
8996         * tests/test-avltreehash_list.c: Likewise.
8997         * tests/test-base64.c: Likewise.
8998         * tests/test-binary-io.c: Likewise.
8999         * tests/test-bitrotate.c: Likewise.
9000         * tests/test-btowc.c: Likewise.
9001         * tests/test-byteswap.c: Likewise.
9002         * tests/test-c-ctype.c: Likewise.
9003         * tests/test-c-stack.c: Likewise.
9004         * tests/test-c-strcasecmp.c: Likewise.
9005         * tests/test-c-strcasestr.c: Likewise.
9006         * tests/test-c-strncasecmp.c: Likewise.
9007         * tests/test-c-strstr.c: Likewise.
9008         * tests/test-canonicalize-lgpl.c: Likewise.
9009         * tests/test-canonicalize.c: Likewise.
9010         * tests/test-carray_list.c: Likewise.
9011         * tests/test-ceilf1.c: Likewise.
9012         * tests/test-ceilf2.c: Likewise.
9013         * tests/test-ceill.c: Likewise.
9014         * tests/test-chown.c: Likewise.
9015         * tests/test-cloexec.c: Likewise.
9016         * tests/test-copy-acl.c: Likewise.
9017         * tests/test-copy-file.c: Likewise.
9018         * tests/test-count-one-bits.c: Likewise.
9019         * tests/test-dprintf-posix.c: Likewise.
9020         * tests/test-dup2.c: Likewise.
9021         * tests/test-dup3.c: Likewise.
9022         * tests/test-duplocale.c: Likewise.
9023         * tests/test-fbufmode.c: Likewise.
9024         * tests/test-fchdir.c: Likewise.
9025         * tests/test-fchownat.c: Likewise.
9026         * tests/test-fcntl-safer.c: Likewise.
9027         * tests/test-fcntl.c: Likewise.
9028         * tests/test-fdopendir.c: Likewise.
9029         * tests/test-fdutimensat.c: Likewise.
9030         * tests/test-fflush2.c: Likewise.
9031         * tests/test-file-has-acl.c: Likewise.
9032         * tests/test-filevercmp.c: Likewise.
9033         * tests/test-flock.c: Likewise.
9034         * tests/test-floorf1.c: Likewise.
9035         * tests/test-floorf2.c: Likewise.
9036         * tests/test-floorl.c: Likewise.
9037         * tests/test-fnmatch.c: Likewise.
9038         * tests/test-fopen.h: Likewise.
9039         * tests/test-fpending.c: Likewise.
9040         * tests/test-fprintf-posix.c: Likewise.
9041         * tests/test-fpurge.c: Likewise.
9042         * tests/test-freadable.c: Likewise.
9043         * tests/test-freadahead.c: Likewise.
9044         * tests/test-freading.c: Likewise.
9045         * tests/test-freadptr.c: Likewise.
9046         * tests/test-freadptr2.c: Likewise.
9047         * tests/test-freadseek.c: Likewise.
9048         * tests/test-freopen.c: Likewise.
9049         * tests/test-frexp.c: Likewise.
9050         * tests/test-frexpl.c: Likewise.
9051         * tests/test-fseek.c: Likewise.
9052         * tests/test-fseeko.c: Likewise.
9053         * tests/test-fstatat.c: Likewise.
9054         * tests/test-fstrcmp.c: Likewise.
9055         * tests/test-fsync.c: Likewise.
9056         * tests/test-ftell.c: Likewise.
9057         * tests/test-ftello.c: Likewise.
9058         * tests/test-func.c: Likewise.
9059         * tests/test-futimens.c: Likewise.
9060         * tests/test-fwritable.c: Likewise.
9061         * tests/test-fwriting.c: Likewise.
9062         * tests/test-getcwd.c: Likewise.
9063         * tests/test-getdate.c: Likewise.
9064         * tests/test-getdelim.c: Likewise.
9065         * tests/test-getdtablesize.c: Likewise.
9066         * tests/test-getgroups.c: Likewise.
9067         * tests/test-getline.c: Likewise.
9068         * tests/test-getndelim2.c: Likewise.
9069         * tests/test-glob.c: Likewise.
9070         * tests/test-hash.c: Likewise.
9071         * tests/test-i-ring.c: Likewise.
9072         * tests/test-iconv-utf.c: Likewise.
9073         * tests/test-iconv.c: Likewise.
9074         * tests/test-idpriv-drop.c: Likewise.
9075         * tests/test-idpriv-droptemp.c: Likewise.
9076         * tests/test-inet_ntop.c: Likewise.
9077         * tests/test-inet_pton.c: Likewise.
9078         * tests/test-isblank.c: Likewise.
9079         * tests/test-isfinite.c: Likewise.
9080         * tests/test-isinf.c: Likewise.
9081         * tests/test-isnan.c: Likewise.
9082         * tests/test-isnand.h: Likewise.
9083         * tests/test-isnanf.h: Likewise.
9084         * tests/test-isnanl.h: Likewise.
9085         * tests/test-lchown.c: Likewise.
9086         * tests/test-ldexpl.c: Likewise.
9087         * tests/test-link.c: Likewise.
9088         * tests/test-linkat.c: Likewise.
9089         * tests/test-linked_list.c: Likewise.
9090         * tests/test-linkedhash_list.c: Likewise.
9091         * tests/test-localename.c: Likewise.
9092         * tests/test-lseek.c: Likewise.
9093         * tests/test-lstat.c: Likewise.
9094         * tests/test-mbmemcasecmp.c: Likewise.
9095         * tests/test-mbmemcasecoll.c: Likewise.
9096         * tests/test-mbrtowc.c: Likewise.
9097         * tests/test-mbscasecmp.c: Likewise.
9098         * tests/test-mbscasestr1.c: Likewise.
9099         * tests/test-mbscasestr2.c: Likewise.
9100         * tests/test-mbscasestr3.c: Likewise.
9101         * tests/test-mbscasestr4.c: Likewise.
9102         * tests/test-mbschr.c: Likewise.
9103         * tests/test-mbscspn.c: Likewise.
9104         * tests/test-mbsinit.c: Likewise.
9105         * tests/test-mbsncasecmp.c: Likewise.
9106         * tests/test-mbsnrtowcs.c: Likewise.
9107         * tests/test-mbspbrk.c: Likewise.
9108         * tests/test-mbspcasecmp.c: Likewise.
9109         * tests/test-mbsrchr.c: Likewise.
9110         * tests/test-mbsrtowcs.c: Likewise.
9111         * tests/test-mbsspn.c: Likewise.
9112         * tests/test-mbsstr1.c: Likewise.
9113         * tests/test-mbsstr2.c: Likewise.
9114         * tests/test-mbsstr3.c: Likewise.
9115         * tests/test-memchr.c: Likewise.
9116         * tests/test-memchr2.c: Likewise.
9117         * tests/test-memcmp.c: Likewise.
9118         * tests/test-memmem.c: Likewise.
9119         * tests/test-memrchr.c: Likewise.
9120         * tests/test-mkdir.c: Likewise.
9121         * tests/test-mkdirat.c: Likewise.
9122         * tests/test-mkfifo.c: Likewise.
9123         * tests/test-mkfifoat.c: Likewise.
9124         * tests/test-mknod.c: Likewise.
9125         * tests/test-nanosleep.c: Likewise.
9126         * tests/test-nl_langinfo.c: Likewise.
9127         * tests/test-obstack-printf.c: Likewise.
9128         * tests/test-open.c: Likewise.
9129         * tests/test-openat.c: Likewise.
9130         * tests/test-pipe-filter-gi1.c: Likewise.
9131         * tests/test-pipe-filter-gi2-main.c: Likewise.
9132         * tests/test-pipe-filter-ii1.c: Likewise.
9133         * tests/test-pipe-filter-ii2-main.c: Likewise.
9134         * tests/test-pipe2.c: Likewise.
9135         * tests/test-popen.h: Likewise.
9136         * tests/test-posixtm.c: Likewise.
9137         * tests/test-pread.c: Likewise.
9138         * tests/test-printf-frexp.c: Likewise.
9139         * tests/test-printf-frexpl.c: Likewise.
9140         * tests/test-printf-posix.c: Likewise.
9141         * tests/test-priv-set.c: Likewise.
9142         * tests/test-quotearg.c: Likewise.
9143         * tests/test-random_r.c: Likewise.
9144         * tests/test-rawmemchr.c: Likewise.
9145         * tests/test-rbtree_list.c: Likewise.
9146         * tests/test-rbtree_oset.c: Likewise.
9147         * tests/test-rbtreehash_list.c: Likewise.
9148         * tests/test-readlink.c: Likewise.
9149         * tests/test-remove.c: Likewise.
9150         * tests/test-rename.c: Likewise.
9151         * tests/test-renameat.c: Likewise.
9152         * tests/test-rmdir.c: Likewise.
9153         * tests/test-round1.c: Likewise.
9154         * tests/test-roundf1.c: Likewise.
9155         * tests/test-roundl.c: Likewise.
9156         * tests/test-safe-alloc.c: Likewise.
9157         * tests/test-sameacls.c: Likewise.
9158         * tests/test-set-mode-acl.c: Likewise.
9159         * tests/test-setenv.c: Likewise.
9160         * tests/test-sigaction.c: Likewise.
9161         * tests/test-signbit.c: Likewise.
9162         * tests/test-sleep.c: Likewise.
9163         * tests/test-snprintf-posix.c: Likewise.
9164         * tests/test-snprintf.c: Likewise.
9165         * tests/test-sprintf-posix.c: Likewise.
9166         * tests/test-stat-time.c: Likewise.
9167         * tests/test-stat.c: Likewise.
9168         * tests/test-strcasestr.c: Likewise.
9169         * tests/test-strchrnul.c: Likewise.
9170         * tests/test-strerror.c: Likewise.
9171         * tests/test-striconv.c: Likewise.
9172         * tests/test-striconveh.c: Likewise.
9173         * tests/test-striconveha.c: Likewise.
9174         * tests/test-strsignal.c: Likewise.
9175         * tests/test-strstr.c: Likewise.
9176         * tests/test-strtod.c: Likewise.
9177         * tests/test-strverscmp.c: Likewise.
9178         * tests/test-symlink.c: Likewise.
9179         * tests/test-symlinkat.c: Likewise.
9180         * tests/test-trunc1.c: Likewise.
9181         * tests/test-trunc2.c: Likewise.
9182         * tests/test-truncf1.c: Likewise.
9183         * tests/test-truncf2.c: Likewise.
9184         * tests/test-truncl.c: Likewise.
9185         * tests/test-uname.c: Likewise.
9186         * tests/test-unlink.c: Likewise.
9187         * tests/test-unlinkat.c: Likewise.
9188         * tests/test-unsetenv.c: Likewise.
9189         * tests/test-usleep.c: Likewise.
9190         * tests/test-utimens.c: Likewise.
9191         * tests/test-utimensat.c: Likewise.
9192         * tests/test-vasnprintf-posix.c: Likewise.
9193         * tests/test-vasnprintf-posix2.c: Likewise.
9194         * tests/test-vasnprintf.c: Likewise.
9195         * tests/test-vasprintf-posix.c: Likewise.
9196         * tests/test-vasprintf.c: Likewise.
9197         * tests/test-vdprintf-posix.c: Likewise.
9198         * tests/test-vfprintf-posix.c: Likewise.
9199         * tests/test-vprintf-posix.c: Likewise.
9200         * tests/test-vsnprintf-posix.c: Likewise.
9201         * tests/test-vsnprintf.c: Likewise.
9202         * tests/test-vsprintf-posix.c: Likewise.
9203         * tests/test-wcrtomb.c: Likewise.
9204         * tests/test-wcsnrtombs.c: Likewise.
9205         * tests/test-wcsrtombs.c: Likewise.
9206         * tests/test-wctype.c: Likewise.
9207         * tests/test-wcwidth.c: Likewise.
9208         * tests/test-xfprintf-posix.c: Likewise.
9209         * tests/test-xmemdup0.c: Likewise.
9210         * tests/test-xprintf-posix.c: Likewise.
9211         * tests/test-xvasprintf.c: Likewise.
9212         * tests/unicase/test-locale-language.c: Likewise.
9213         * tests/unicase/test-mapping-part1.h: Likewise.
9214         * tests/unicase/test-predicate-part1.h: Likewise.
9215         * tests/unicase/test-u8-casecmp.c: Likewise.
9216         * tests/unicase/test-u8-casecoll.c: Likewise.
9217         * tests/unicase/test-u8-casefold.c: Likewise.
9218         * tests/unicase/test-u8-is-cased.c: Likewise.
9219         * tests/unicase/test-u8-is-casefolded.c: Likewise.
9220         * tests/unicase/test-u8-is-lowercase.c: Likewise.
9221         * tests/unicase/test-u8-is-titlecase.c: Likewise.
9222         * tests/unicase/test-u8-is-uppercase.c: Likewise.
9223         * tests/unicase/test-u8-tolower.c: Likewise.
9224         * tests/unicase/test-u8-totitle.c: Likewise.
9225         * tests/unicase/test-u8-toupper.c: Likewise.
9226         * tests/unicase/test-u16-casecmp.c: Likewise.
9227         * tests/unicase/test-u16-casecoll.c: Likewise.
9228         * tests/unicase/test-u16-casefold.c: Likewise.
9229         * tests/unicase/test-u16-is-cased.c: Likewise.
9230         * tests/unicase/test-u16-is-casefolded.c: Likewise.
9231         * tests/unicase/test-u16-is-lowercase.c: Likewise.
9232         * tests/unicase/test-u16-is-titlecase.c: Likewise.
9233         * tests/unicase/test-u16-is-uppercase.c: Likewise.
9234         * tests/unicase/test-u16-tolower.c: Likewise.
9235         * tests/unicase/test-u16-totitle.c: Likewise.
9236         * tests/unicase/test-u16-toupper.c: Likewise.
9237         * tests/unicase/test-u32-casecmp.c: Likewise.
9238         * tests/unicase/test-u32-casecoll.c: Likewise.
9239         * tests/unicase/test-u32-casefold.c: Likewise.
9240         * tests/unicase/test-u32-is-cased.c: Likewise.
9241         * tests/unicase/test-u32-is-casefolded.c: Likewise.
9242         * tests/unicase/test-u32-is-lowercase.c: Likewise.
9243         * tests/unicase/test-u32-is-titlecase.c: Likewise.
9244         * tests/unicase/test-u32-is-uppercase.c: Likewise.
9245         * tests/unicase/test-u32-tolower.c: Likewise.
9246         * tests/unicase/test-u32-totitle.c: Likewise.
9247         * tests/unicase/test-u32-toupper.c: Likewise.
9248         * tests/unicase/test-ulc-casecmp.c: Likewise.
9249         * tests/unicase/test-ulc-casecoll.c: Likewise.
9250         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
9251         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
9252         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
9253         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
9254         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
9255         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
9256         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
9257         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
9258         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
9259         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
9260         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
9261         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
9262         * tests/unictype/test-bidi_byname.c: Likewise.
9263         * tests/unictype/test-bidi_name.c: Likewise.
9264         * tests/unictype/test-bidi_of.c: Likewise.
9265         * tests/unictype/test-bidi_test.c: Likewise.
9266         * tests/unictype/test-block_list.c: Likewise.
9267         * tests/unictype/test-block_of.c: Likewise.
9268         * tests/unictype/test-block_test.c: Likewise.
9269         * tests/unictype/test-categ_and.c: Likewise.
9270         * tests/unictype/test-categ_and_not.c: Likewise.
9271         * tests/unictype/test-categ_byname.c: Likewise.
9272         * tests/unictype/test-categ_name.c: Likewise.
9273         * tests/unictype/test-categ_none.c: Likewise.
9274         * tests/unictype/test-categ_of.c: Likewise.
9275         * tests/unictype/test-categ_or.c: Likewise.
9276         * tests/unictype/test-categ_test_withtable.c: Likewise.
9277         * tests/unictype/test-combining.c: Likewise.
9278         * tests/unictype/test-decdigit.c: Likewise.
9279         * tests/unictype/test-digit.c: Likewise.
9280         * tests/unictype/test-mirror.c: Likewise.
9281         * tests/unictype/test-numeric.c: Likewise.
9282         * tests/unictype/test-pr_byname.c: Likewise.
9283         * tests/unictype/test-pr_test.c: Likewise.
9284         * tests/unictype/test-predicate-part1.h: Likewise.
9285         * tests/unictype/test-scripts.c: Likewise.
9286         * tests/unictype/test-sy_c_ident.c: Likewise.
9287         * tests/unictype/test-sy_java_ident.c: Likewise.
9288         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
9289         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
9290         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
9291         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
9292         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
9293         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
9294         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
9295         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
9296         * tests/uninorm/test-canonical-decomposition.c: Likewise.
9297         * tests/uninorm/test-compat-decomposition.c: Likewise.
9298         * tests/uninorm/test-composition.c: Likewise.
9299         * tests/uninorm/test-decomposing-form.c: Likewise.
9300         * tests/uninorm/test-decomposition.c: Likewise.
9301         * tests/uninorm/test-u8-nfc.c: Likewise.
9302         * tests/uninorm/test-u8-nfd.c: Likewise.
9303         * tests/uninorm/test-u8-nfkc.c: Likewise.
9304         * tests/uninorm/test-u8-nfkd.c: Likewise.
9305         * tests/uninorm/test-u8-normcmp.c: Likewise.
9306         * tests/uninorm/test-u8-normcoll.c: Likewise.
9307         * tests/uninorm/test-u16-nfc.c: Likewise.
9308         * tests/uninorm/test-u16-nfd.c: Likewise.
9309         * tests/uninorm/test-u16-nfkc.c: Likewise.
9310         * tests/uninorm/test-u16-nfkd.c: Likewise.
9311         * tests/uninorm/test-u16-normcmp.c: Likewise.
9312         * tests/uninorm/test-u16-normcoll.c: Likewise.
9313         * tests/uninorm/test-u32-nfc.c: Likewise.
9314         * tests/uninorm/test-u32-nfd.c: Likewise.
9315         * tests/uninorm/test-u32-nfkc.c: Likewise.
9316         * tests/uninorm/test-u32-nfkd.c: Likewise.
9317         * tests/uninorm/test-u32-normalize-big.c: Likewise.
9318         * tests/uninorm/test-u32-normcmp.c: Likewise.
9319         * tests/uninorm/test-u32-normcoll.c: Likewise.
9320         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
9321         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
9322         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
9323         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
9324         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
9325         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
9326         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
9327         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
9328         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
9329         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
9330         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
9331         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
9332         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
9333         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
9334         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
9335         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
9336         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
9337         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
9338         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
9339         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
9340         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
9341         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
9342         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
9343         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
9344         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
9345         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
9346         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
9347         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
9348         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
9349         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
9350         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
9351         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
9352         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
9353         * tests/uniwidth/test-u8-strwidth.c: Likewise.
9354         * tests/uniwidth/test-u8-width.c: Likewise.
9355         * tests/uniwidth/test-u16-strwidth.c: Likewise.
9356         * tests/uniwidth/test-u16-width.c: Likewise.
9357         * tests/uniwidth/test-u32-strwidth.c: Likewise.
9358         * tests/uniwidth/test-u32-width.c: Likewise.
9359         * tests/uniwidth/test-uc_width.c: Likewise.
9360         * tests/uniwidth/test-uc_width2.c: Likewise.
9361         * modules/acl-tests (Files): Add tests/macros.h.
9362         * modules/areadlink-tests (Files): Likewise.
9363         * modules/areadlink-with-size-tests (Files): Likewise.
9364         * modules/areadlinkat-tests (Files): Likewise.
9365         * modules/areadlinkat-with-size-tests (Files): Likewise.
9366         * modules/argmatch-tests (Files): Likewise.
9367         * modules/argv-iter-tests (Files): Likewise.
9368         * modules/array-list-tests (Files): Likewise.
9369         * modules/array-mergesort-tests (Files): Likewise.
9370         * modules/array-oset-tests (Files): Likewise.
9371         * modules/avltree-list-tests (Files): Likewise.
9372         * modules/avltree-oset-tests (Files): Likewise.
9373         * modules/avltreehash-list-tests (Files): Likewise.
9374         * modules/base64-tests (Files): Likewise.
9375         * modules/binary-io-tests (Files): Likewise.
9376         * modules/bitrotate-tests (Files): Likewise.
9377         * modules/btowc-tests (Files): Likewise.
9378         * modules/byteswap-tests (Files): Likewise.
9379         * modules/c-ctype-tests (Files): Likewise.
9380         * modules/c-stack-tests (Files): Likewise.
9381         * modules/c-strcase-tests (Files): Likewise.
9382         * modules/c-strcasestr-tests (Files): Likewise.
9383         * modules/c-strstr-tests (Files): Likewise.
9384         * modules/canonicalize-lgpl-tests (Files): Likewise.
9385         * modules/canonicalize-tests (Files): Likewise.
9386         * modules/carray-list-tests (Files): Likewise.
9387         * modules/ceilf-tests (Files): Likewise.
9388         * modules/ceill-tests (Files): Likewise.
9389         * modules/chown-tests (Files): Likewise.
9390         * modules/cloexec-tests (Files): Likewise.
9391         * modules/copy-file-tests (Files): Likewise.
9392         * modules/count-one-bits-tests (Files): Likewise.
9393         * modules/dprintf-posix-tests (Files): Likewise.
9394         * modules/dup2-tests (Files): Likewise.
9395         * modules/dup3-tests (Files): Likewise.
9396         * modules/duplocale-tests (Files): Likewise.
9397         * modules/fbufmode-tests (Files): Likewise.
9398         * modules/fchdir-tests (Files): Likewise.
9399         * modules/fcntl-safer-tests (Files): Likewise.
9400         * modules/fcntl-tests (Files): Likewise.
9401         * modules/fdopendir-tests (Files): Likewise.
9402         * modules/fdutimensat-tests (Files): Likewise.
9403         * modules/fflush-tests (Files): Likewise.
9404         * modules/filevercmp-tests (Files): Likewise.
9405         * modules/flock-tests (Files): Likewise.
9406         * modules/floorf-tests (Files): Likewise.
9407         * modules/floorl-tests (Files): Likewise.
9408         * modules/fnmatch-tests (Files): Likewise.
9409         * modules/fopen-safer-tests (Files): Likewise.
9410         * modules/fopen-tests (Files): Likewise.
9411         * modules/fpending-tests (Files): Likewise.
9412         * modules/fprintf-posix-tests (Files): Likewise.
9413         * modules/fpurge-tests (Files): Likewise.
9414         * modules/freadable-tests (Files): Likewise.
9415         * modules/freadahead-tests (Files): Likewise.
9416         * modules/freading-tests (Files): Likewise.
9417         * modules/freadptr-tests (Files): Likewise.
9418         * modules/freadseek-tests (Files): Likewise.
9419         * modules/freopen-tests (Files): Likewise.
9420         * modules/frexp-nolibm-tests (Files): Likewise.
9421         * modules/frexp-tests (Files): Likewise.
9422         * modules/frexpl-nolibm-tests (Files): Likewise.
9423         * modules/frexpl-tests (Files): Likewise.
9424         * modules/fseek-tests (Files): Likewise.
9425         * modules/fseeko-tests (Files): Likewise.
9426         * modules/fstrcmp-tests (Files): Likewise.
9427         * modules/fsync-tests (Files): Likewise.
9428         * modules/ftell-tests (Files): Likewise.
9429         * modules/ftello-tests (Files): Likewise.
9430         * modules/func-tests (Files): Likewise.
9431         * modules/futimens-tests (Files): Likewise.
9432         * modules/fwritable-tests (Files): Likewise.
9433         * modules/fwriting-tests (Files): Likewise.
9434         * modules/getcwd-tests (Files): Likewise.
9435         * modules/getdate-tests (Files): Likewise.
9436         * modules/getdelim-tests (Files): Likewise.
9437         * modules/getdtablesize-tests (Files): Likewise.
9438         * modules/getgroups-tests (Files): Likewise.
9439         * modules/getline-tests (Files): Likewise.
9440         * modules/getndelim2-tests (Files): Likewise.
9441         * modules/glob-tests (Files): Likewise.
9442         * modules/hash-tests (Files): Likewise.
9443         * modules/i-ring-tests (Files): Likewise.
9444         * modules/iconv-tests (Files): Likewise.
9445         * modules/iconv_open-utf-tests (Files): Likewise.
9446         * modules/idpriv-drop-tests (Files): Likewise.
9447         * modules/idpriv-droptemp-tests (Files): Likewise.
9448         * modules/inet_ntop-tests (Files): Likewise.
9449         * modules/inet_pton-tests (Files): Likewise.
9450         * modules/isblank-tests (Files): Likewise.
9451         * modules/isfinite-tests (Files): Likewise.
9452         * modules/isinf-tests (Files): Likewise.
9453         * modules/isnan-tests (Files): Likewise.
9454         * modules/isnand-nolibm-tests (Files): Likewise.
9455         * modules/isnand-tests (Files): Likewise.
9456         * modules/isnanf-nolibm-tests (Files): Likewise.
9457         * modules/isnanf-tests (Files): Likewise.
9458         * modules/isnanl-nolibm-tests (Files): Likewise.
9459         * modules/isnanl-tests (Files): Likewise.
9460         * modules/lchown-tests (Files): Likewise.
9461         * modules/ldexpl-tests (Files): Likewise.
9462         * modules/link-tests (Files): Likewise.
9463         * modules/linkat-tests (Files): Likewise.
9464         * modules/linked-list-tests (Files): Likewise.
9465         * modules/linkedhash-list-tests (Files): Likewise.
9466         * modules/localename-tests (Files): Likewise.
9467         * modules/lseek-tests (Files): Likewise.
9468         * modules/lstat-tests (Files): Likewise.
9469         * modules/mbmemcasecmp-tests (Files): Likewise.
9470         * modules/mbmemcasecoll-tests (Files): Likewise.
9471         * modules/mbrtowc-tests (Files): Likewise.
9472         * modules/mbscasecmp-tests (Files): Likewise.
9473         * modules/mbscasestr-tests (Files): Likewise.
9474         * modules/mbschr-tests (Files): Likewise.
9475         * modules/mbscspn-tests (Files): Likewise.
9476         * modules/mbsinit-tests (Files): Likewise.
9477         * modules/mbsncasecmp-tests (Files): Likewise.
9478         * modules/mbsnrtowcs-tests (Files): Likewise.
9479         * modules/mbspbrk-tests (Files): Likewise.
9480         * modules/mbspcasecmp-tests (Files): Likewise.
9481         * modules/mbsrchr-tests (Files): Likewise.
9482         * modules/mbsrtowcs-tests (Files): Likewise.
9483         * modules/mbsspn-tests (Files): Likewise.
9484         * modules/mbsstr-tests (Files): Likewise.
9485         * modules/memchr-tests (Files): Likewise.
9486         * modules/memchr2-tests (Files): Likewise.
9487         * modules/memcmp-tests (Files): Likewise.
9488         * modules/memmem-tests (Files): Likewise.
9489         * modules/memrchr-tests (Files): Likewise.
9490         * modules/mkdir-tests (Files): Likewise.
9491         * modules/mkfifo-tests (Files): Likewise.
9492         * modules/mkfifoat-tests (Files): Likewise.
9493         * modules/mknod-tests (Files): Likewise.
9494         * modules/nanosleep-tests (Files): Likewise.
9495         * modules/nl_langinfo-tests (Files): Likewise.
9496         * modules/obstack-printf-tests (Files): Likewise.
9497         * modules/open-tests (Files): Likewise.
9498         * modules/openat-tests (Files): Likewise.
9499         * modules/pipe-filter-gi-tests (Files): Likewise.
9500         * modules/pipe-filter-ii-tests (Files): Likewise.
9501         * modules/pipe2-tests (Files): Likewise.
9502         * modules/popen-safer-tests (Files): Likewise.
9503         * modules/popen-tests (Files): Likewise.
9504         * modules/posixtm-tests (Files): Likewise.
9505         * modules/pread-tests (Files): Likewise.
9506         * modules/printf-frexp-tests (Files): Likewise.
9507         * modules/printf-frexpl-tests (Files): Likewise.
9508         * modules/printf-posix-tests (Files): Likewise.
9509         * modules/priv-set-tests (Files): Likewise.
9510         * modules/quotearg-tests (Files): Likewise.
9511         * modules/random_r-tests (Files): Likewise.
9512         * modules/rawmemchr-tests (Files): Likewise.
9513         * modules/rbtree-list-tests (Files): Likewise.
9514         * modules/rbtree-oset-tests (Files): Likewise.
9515         * modules/rbtreehash-list-tests (Files): Likewise.
9516         * modules/readlink-tests (Files): Likewise.
9517         * modules/remove-tests (Files): Likewise.
9518         * modules/rename-tests (Files): Likewise.
9519         * modules/renameat-tests (Files): Likewise.
9520         * modules/rmdir-tests (Files): Likewise.
9521         * modules/round-tests (Files): Likewise.
9522         * modules/roundf-tests (Files): Likewise.
9523         * modules/roundl-tests (Files): Likewise.
9524         * modules/safe-alloc-tests (Files): Likewise.
9525         * modules/setenv-tests (Files): Likewise.
9526         * modules/sigaction-tests (Files): Likewise.
9527         * modules/signbit-tests (Files): Likewise.
9528         * modules/sleep-tests (Files): Likewise.
9529         * modules/snprintf-posix-tests (Files): Likewise.
9530         * modules/snprintf-tests (Files): Likewise.
9531         * modules/sprintf-posix-tests (Files): Likewise.
9532         * modules/stat-tests (Files): Likewise.
9533         * modules/stat-time-tests (Files): Likewise.
9534         * modules/strcasestr-tests (Files): Likewise.
9535         * modules/strchrnul-tests (Files): Likewise.
9536         * modules/strerror-tests (Files): Likewise.
9537         * modules/striconv-tests (Files): Likewise.
9538         * modules/striconveh-tests (Files): Likewise.
9539         * modules/striconveha-tests (Files): Likewise.
9540         * modules/strsignal-tests (Files): Likewise.
9541         * modules/strstr-tests (Files): Likewise.
9542         * modules/strtod-tests (Files): Likewise.
9543         * modules/strverscmp-tests (Files): Likewise.
9544         * modules/symlink-tests (Files): Likewise.
9545         * modules/symlinkat-tests (Files): Likewise.
9546         * modules/trunc-tests (Files): Likewise.
9547         * modules/truncf-tests (Files): Likewise.
9548         * modules/truncl-tests (Files): Likewise.
9549         * modules/uname-tests (Files): Likewise.
9550         * modules/unicase/cased-tests (Files): Likewise.
9551         * modules/unicase/ignorable-tests (Files): Likewise.
9552         * modules/unicase/locale-language-tests (Files): Likewise.
9553         * modules/unicase/tolower-tests (Files): Likewise.
9554         * modules/unicase/totitle-tests (Files): Likewise.
9555         * modules/unicase/toupper-tests (Files): Likewise.
9556         * modules/unicase/u8-casecmp-tests (Files): Likewise.
9557         * modules/unicase/u8-casecoll-tests (Files): Likewise.
9558         * modules/unicase/u8-casefold-tests (Files): Likewise.
9559         * modules/unicase/u8-is-cased-tests (Files): Likewise.
9560         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
9561         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
9562         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
9563         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
9564         * modules/unicase/u8-tolower-tests (Files): Likewise.
9565         * modules/unicase/u8-totitle-tests (Files): Likewise.
9566         * modules/unicase/u8-toupper-tests (Files): Likewise.
9567         * modules/unicase/u16-casecmp-tests (Files): Likewise.
9568         * modules/unicase/u16-casecoll-tests (Files): Likewise.
9569         * modules/unicase/u16-casefold-tests (Files): Likewise.
9570         * modules/unicase/u16-is-cased-tests (Files): Likewise.
9571         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
9572         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
9573         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
9574         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
9575         * modules/unicase/u16-tolower-tests (Files): Likewise.
9576         * modules/unicase/u16-totitle-tests (Files): Likewise.
9577         * modules/unicase/u16-toupper-tests (Files): Likewise.
9578         * modules/unicase/u32-casecmp-tests (Files): Likewise.
9579         * modules/unicase/u32-casecoll-tests (Files): Likewise.
9580         * modules/unicase/u32-casefold-tests (Files): Likewise.
9581         * modules/unicase/u32-is-cased-tests (Files): Likewise.
9582         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
9583         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
9584         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
9585         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
9586         * modules/unicase/u32-tolower-tests (Files): Likewise.
9587         * modules/unicase/u32-totitle-tests (Files): Likewise.
9588         * modules/unicase/u32-toupper-tests (Files): Likewise.
9589         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
9590         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
9591         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
9592         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
9593         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
9594         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
9595         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
9596         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
9597         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
9598         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
9599         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
9600         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
9601         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
9602         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
9603         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
9604         * modules/unictype/bidicategory-name-tests (Files): Likewise.
9605         * modules/unictype/bidicategory-of-tests (Files): Likewise.
9606         * modules/unictype/bidicategory-test-tests (Files): Likewise.
9607         * modules/unictype/block-list-tests (Files): Likewise.
9608         * modules/unictype/block-of-tests (Files): Likewise.
9609         * modules/unictype/block-test-tests (Files): Likewise.
9610         * modules/unictype/category-C-tests (Files): Likewise.
9611         * modules/unictype/category-Cc-tests (Files): Likewise.
9612         * modules/unictype/category-Cf-tests (Files): Likewise.
9613         * modules/unictype/category-Cn-tests (Files): Likewise.
9614         * modules/unictype/category-Co-tests (Files): Likewise.
9615         * modules/unictype/category-Cs-tests (Files): Likewise.
9616         * modules/unictype/category-L-tests (Files): Likewise.
9617         * modules/unictype/category-Ll-tests (Files): Likewise.
9618         * modules/unictype/category-Lm-tests (Files): Likewise.
9619         * modules/unictype/category-Lo-tests (Files): Likewise.
9620         * modules/unictype/category-Lt-tests (Files): Likewise.
9621         * modules/unictype/category-Lu-tests (Files): Likewise.
9622         * modules/unictype/category-M-tests (Files): Likewise.
9623         * modules/unictype/category-Mc-tests (Files): Likewise.
9624         * modules/unictype/category-Me-tests (Files): Likewise.
9625         * modules/unictype/category-Mn-tests (Files): Likewise.
9626         * modules/unictype/category-N-tests (Files): Likewise.
9627         * modules/unictype/category-Nd-tests (Files): Likewise.
9628         * modules/unictype/category-Nl-tests (Files): Likewise.
9629         * modules/unictype/category-No-tests (Files): Likewise.
9630         * modules/unictype/category-P-tests (Files): Likewise.
9631         * modules/unictype/category-Pc-tests (Files): Likewise.
9632         * modules/unictype/category-Pd-tests (Files): Likewise.
9633         * modules/unictype/category-Pe-tests (Files): Likewise.
9634         * modules/unictype/category-Pf-tests (Files): Likewise.
9635         * modules/unictype/category-Pi-tests (Files): Likewise.
9636         * modules/unictype/category-Po-tests (Files): Likewise.
9637         * modules/unictype/category-Ps-tests (Files): Likewise.
9638         * modules/unictype/category-S-tests (Files): Likewise.
9639         * modules/unictype/category-Sc-tests (Files): Likewise.
9640         * modules/unictype/category-Sk-tests (Files): Likewise.
9641         * modules/unictype/category-Sm-tests (Files): Likewise.
9642         * modules/unictype/category-So-tests (Files): Likewise.
9643         * modules/unictype/category-Z-tests (Files): Likewise.
9644         * modules/unictype/category-Zl-tests (Files): Likewise.
9645         * modules/unictype/category-Zp-tests (Files): Likewise.
9646         * modules/unictype/category-Zs-tests (Files): Likewise.
9647         * modules/unictype/category-and-not-tests (Files): Likewise.
9648         * modules/unictype/category-and-tests (Files): Likewise.
9649         * modules/unictype/category-byname-tests (Files): Likewise.
9650         * modules/unictype/category-name-tests (Files): Likewise.
9651         * modules/unictype/category-none-tests (Files): Likewise.
9652         * modules/unictype/category-of-tests (Files): Likewise.
9653         * modules/unictype/category-or-tests (Files): Likewise.
9654         * modules/unictype/category-test-withtable-tests (Files): Likewise.
9655         * modules/unictype/combining-class-tests (Files): Likewise.
9656         * modules/unictype/ctype-alnum-tests (Files): Likewise.
9657         * modules/unictype/ctype-alpha-tests (Files): Likewise.
9658         * modules/unictype/ctype-blank-tests (Files): Likewise.
9659         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
9660         * modules/unictype/ctype-digit-tests (Files): Likewise.
9661         * modules/unictype/ctype-graph-tests (Files): Likewise.
9662         * modules/unictype/ctype-lower-tests (Files): Likewise.
9663         * modules/unictype/ctype-print-tests (Files): Likewise.
9664         * modules/unictype/ctype-punct-tests (Files): Likewise.
9665         * modules/unictype/ctype-space-tests (Files): Likewise.
9666         * modules/unictype/ctype-upper-tests (Files): Likewise.
9667         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
9668         * modules/unictype/decimal-digit-tests (Files): Likewise.
9669         * modules/unictype/digit-tests (Files): Likewise.
9670         * modules/unictype/mirror-tests (Files): Likewise.
9671         * modules/unictype/numeric-tests (Files): Likewise.
9672         * modules/unictype/property-alphabetic-tests (Files): Likewise.
9673         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
9674         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
9675         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
9676         Likewise.
9677         * modules/unictype/property-bidi-block-separator-tests (Files):
9678         Likewise.
9679         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
9680         Likewise.
9681         * modules/unictype/property-bidi-common-separator-tests (Files):
9682         Likewise.
9683         * modules/unictype/property-bidi-control-tests (Files): Likewise.
9684         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
9685         Likewise.
9686         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
9687         Likewise.
9688         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
9689         Likewise.
9690         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
9691         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
9692         Likewise.
9693         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
9694         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
9695         Likewise.
9696         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
9697         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
9698         * modules/unictype/property-bidi-segment-separator-tests (Files):
9699         Likewise.
9700         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
9701         * modules/unictype/property-byname-tests (Files): Likewise.
9702         * modules/unictype/property-combining-tests (Files): Likewise.
9703         * modules/unictype/property-composite-tests (Files): Likewise.
9704         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
9705         * modules/unictype/property-dash-tests (Files): Likewise.
9706         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
9707         * modules/unictype/property-default-ignorable-code-point-tests (Files):
9708         Likewise.
9709         * modules/unictype/property-deprecated-tests (Files): Likewise.
9710         * modules/unictype/property-diacritic-tests (Files): Likewise.
9711         * modules/unictype/property-extender-tests (Files): Likewise.
9712         * modules/unictype/property-format-control-tests (Files): Likewise.
9713         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
9714         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
9715         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
9716         * modules/unictype/property-hex-digit-tests (Files): Likewise.
9717         * modules/unictype/property-hyphen-tests (Files): Likewise.
9718         * modules/unictype/property-id-continue-tests (Files): Likewise.
9719         * modules/unictype/property-id-start-tests (Files): Likewise.
9720         * modules/unictype/property-ideographic-tests (Files): Likewise.
9721         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
9722         * modules/unictype/property-ids-trinary-operator-tests (Files):
9723         Likewise.
9724         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
9725         * modules/unictype/property-iso-control-tests (Files): Likewise.
9726         * modules/unictype/property-join-control-tests (Files): Likewise.
9727         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
9728         * modules/unictype/property-line-separator-tests (Files): Likewise.
9729         * modules/unictype/property-logical-order-exception-tests (Files):
9730         Likewise.
9731         * modules/unictype/property-lowercase-tests (Files): Likewise.
9732         * modules/unictype/property-math-tests (Files): Likewise.
9733         * modules/unictype/property-non-break-tests (Files): Likewise.
9734         * modules/unictype/property-not-a-character-tests (Files): Likewise.
9735         * modules/unictype/property-numeric-tests (Files): Likewise.
9736         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
9737         * modules/unictype/property-other-default-ignorable-code-point-tests
9738         (Files): Likewise.
9739         * modules/unictype/property-other-grapheme-extend-tests (Files):
9740         Likewise.
9741         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
9742         * modules/unictype/property-other-id-start-tests (Files): Likewise.
9743         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
9744         * modules/unictype/property-other-math-tests (Files): Likewise.
9745         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
9746         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
9747         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
9748         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
9749         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
9750         * modules/unictype/property-private-use-tests (Files): Likewise.
9751         * modules/unictype/property-punctuation-tests (Files): Likewise.
9752         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
9753         * modules/unictype/property-radical-tests (Files): Likewise.
9754         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
9755         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
9756         * modules/unictype/property-space-tests (Files): Likewise.
9757         * modules/unictype/property-terminal-punctuation-tests (Files):
9758         Likewise.
9759         * modules/unictype/property-test-tests (Files): Likewise.
9760         * modules/unictype/property-titlecase-tests (Files): Likewise.
9761         * modules/unictype/property-unassigned-code-value-tests (Files):
9762         Likewise.
9763         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
9764         * modules/unictype/property-uppercase-tests (Files): Likewise.
9765         * modules/unictype/property-variation-selector-tests (Files): Likewise.
9766         * modules/unictype/property-white-space-tests (Files): Likewise.
9767         * modules/unictype/property-xid-continue-tests (Files): Likewise.
9768         * modules/unictype/property-xid-start-tests (Files): Likewise.
9769         * modules/unictype/property-zero-width-tests (Files): Likewise.
9770         * modules/unictype/scripts-tests (Files): Likewise.
9771         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
9772         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
9773         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
9774         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
9775         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
9776         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
9777         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
9778         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
9779         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
9780         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
9781         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
9782         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
9783         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
9784         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
9785         * modules/uninorm/composition-tests (Files): Likewise.
9786         * modules/uninorm/decomposing-form-tests (Files): Likewise.
9787         * modules/uninorm/decomposition-tests (Files): Likewise.
9788         * modules/uninorm/filter-tests (Files): Likewise.
9789         * modules/uninorm/nfc-tests (Files): Likewise.
9790         * modules/uninorm/nfd-tests (Files): Likewise.
9791         * modules/uninorm/nfkc-tests (Files): Likewise.
9792         * modules/uninorm/nfkd-tests (Files): Likewise.
9793         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
9794         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
9795         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
9796         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
9797         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
9798         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
9799         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
9800         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
9801         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
9802         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
9803         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
9804         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
9805         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
9806         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
9807         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
9808         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
9809         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
9810         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
9811         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
9812         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
9813         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
9814         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
9815         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
9816         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
9817         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
9818         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
9819         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
9820         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
9821         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
9822         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
9823         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
9824         * modules/uniwidth/u8-width-tests (Files): Likewise.
9825         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
9826         * modules/uniwidth/u16-width-tests (Files): Likewise.
9827         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
9828         * modules/uniwidth/u32-width-tests (Files): Likewise.
9829         * modules/uniwidth/width-tests (Files): Likewise.
9830         * modules/unlink-tests (Files): Likewise.
9831         * modules/unsetenv-tests (Files): Likewise.
9832         * modules/usleep-tests (Files): Likewise.
9833         * modules/utimens-tests (Files): Likewise.
9834         * modules/utimensat-tests (Files): Likewise.
9835         * modules/vasnprintf-posix-tests (Files): Likewise.
9836         * modules/vasnprintf-tests (Files): Likewise.
9837         * modules/vasprintf-posix-tests (Files): Likewise.
9838         * modules/vasprintf-tests (Files): Likewise.
9839         * modules/vdprintf-posix-tests (Files): Likewise.
9840         * modules/vfprintf-posix-tests (Files): Likewise.
9841         * modules/vprintf-posix-tests (Files): Likewise.
9842         * modules/vsnprintf-posix-tests (Files): Likewise.
9843         * modules/vsnprintf-tests (Files): Likewise.
9844         * modules/vsprintf-posix-tests (Files): Likewise.
9845         * modules/wcrtomb-tests (Files): Likewise.
9846         * modules/wcsnrtombs-tests (Files): Likewise.
9847         * modules/wcsrtombs-tests (Files): Likewise.
9848         * modules/wctype-tests (Files): Likewise.
9849         * modules/wcwidth-tests (Files): Likewise.
9850         * modules/xmemdup0-tests (Files): Likewise.
9851         * modules/xprintf-posix-tests (Files): Likewise.
9852         * modules/xvasprintf-tests (Files): Likewise.
9853
9854 2009-12-24  Eric Blake  <ebb9@byu.net>
9855
9856         test-nanosleep: fix typo
9857         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
9858         patch.
9859         Reported by Bruno Haible.
9860
9861 2009-12-24  Bruno Haible  <bruno@clisp.org>
9862
9863         Reduce namespace pollution on glibc systems.
9864         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
9865         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
9866         systems.
9867         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
9868         <getopt.h> on glibc systems.
9869         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
9870         systems.
9871         * lib/fcntl.c: Include <unistd.h> here instead.
9872
9873 2009-12-24  Bruno Haible  <bruno@clisp.org>
9874
9875         * lib/stdlib.in.h (includes): Fix typo in today's commit.
9876
9877 2009-12-24  Eric Blake  <ebb9@byu.net>
9878
9879         tests: add signature checks
9880         * tests/signature.h (SIGNATURE_CHECK): New file.
9881         * modules/atexit-tests (Files): Use it.
9882         * modules/btowc-tests (Files): Likewise.
9883         * modules/canonicalize-lgpl-tests (Files): Likewise.
9884         * modules/ceilf-tests (Files): Likewise.
9885         * modules/ceill-tests (Files): Likewise.
9886         * modules/chown-tests (Files): Likewise.
9887         * modules/dprintf-posix-tests (Files): Likewise.
9888         * modules/dup2-tests (Files): Likewise.
9889         * modules/dup3-tests (Files): Likewise.
9890         * modules/duplocale-tests (Files): Likewise.
9891         * modules/fchdir-tests (Files): Likewise.
9892         * modules/fcntl-tests (Files): Likewise.
9893         * modules/fdopendir-tests (Files): Likewise.
9894         * modules/fflush-tests (Files): Likewise.
9895         * modules/flock-tests (Files): Likewise.
9896         * modules/floorf-tests (Files): Likewise.
9897         * modules/floorl-tests (Files): Likewise.
9898         * modules/fnmatch-tests (Files): Likewise.
9899         * modules/fopen-tests (Files): Likewise.
9900         * modules/fprintf-posix-tests (Files): Likewise.
9901         * modules/freopen-tests (Files): Likewise.
9902         * modules/frexp-nolibm-tests (Files): Likewise.
9903         * modules/frexp-tests (Files): Likewise.
9904         * modules/frexpl-nolibm-tests (Files): Likewise.
9905         * modules/frexpl-tests (Files): Likewise.
9906         * modules/fseek-tests (Files): Likewise.
9907         * modules/fseeko-tests (Files): Likewise.
9908         * modules/fsync-tests (Files): Likewise.
9909         * modules/ftell-tests (Files): Likewise.
9910         * modules/ftello-tests (Files): Likewise.
9911         * modules/futimens-tests (Files): Likewise.
9912         * modules/getaddrinfo-tests (Files): Likewise.
9913         * modules/getcwd-tests (Files): Likewise.
9914         * modules/getdelim-tests (Files): Likewise.
9915         * modules/getdtablesize-tests (Files): Likewise.
9916         * modules/getgroups-tests (Files): Likewise.
9917         * modules/gethostname-tests (Files): Likewise.
9918         * modules/getline-tests (Files): Likewise.
9919         * modules/getopt-posix-tests (Files): Likewise.
9920         * modules/gettimeofday-tests (Files): Likewise.
9921         * modules/glob-tests (Files): Likewise.
9922         * modules/iconv-tests (Files): Likewise.
9923         * modules/inet_ntop-tests (Files): Likewise.
9924         * modules/inet_pton-tests (Files): Likewise.
9925         * modules/isblank-tests (Files): Likewise.
9926         * modules/lchown-tests (Files): Likewise.
9927         * modules/ldexpl-tests (Files): Likewise.
9928         * modules/link-tests (Files): Likewise.
9929         * modules/linkat-tests (Files): Likewise.
9930         * modules/lseek-tests (Files): Likewise.
9931         * modules/lstat-tests (Files): Likewise.
9932         * modules/mbrtowc-tests (Files): Likewise.
9933         * modules/mbsinit-tests (Files): Likewise.
9934         * modules/mbsnrtowcs-tests (Files): Likewise.
9935         * modules/mbsrtowcs-tests (Files): Likewise.
9936         * modules/memchr-tests (Files): Likewise.
9937         * modules/memcmp-tests (Files): Likewise.
9938         * modules/memmem-tests (Files): Likewise.
9939         * modules/memrchr-tests (Files): Likewise.
9940         * modules/mkdir-tests (Files): Likewise.
9941         * modules/mkfifo-tests (Files): Likewise.
9942         * modules/mkfifoat-tests (Files): Likewise.
9943         * modules/mknod-tests (Files): Likewise.
9944         * modules/nanosleep-tests (Files): Likewise.
9945         * modules/nl_langinfo-tests (Files): Likewise.
9946         * modules/obstack-printf-tests (Files): Likewise.
9947         * modules/open-tests (Files): Likewise.
9948         * modules/openat-tests (Files): Likewise.
9949         * modules/perror-tests (Files): Likewise.
9950         * modules/pipe2-tests (Files): Likewise.
9951         * modules/poll-tests (Files): Likewise.
9952         * modules/popen-tests (Files): Likewise.
9953         * modules/posix_spawn-tests (Files): Likewise.
9954         * modules/posix_spawnp-tests (Files): Likewise.
9955         * modules/pread-tests (Files): Likewise.
9956         * modules/printf-posix-tests (Files): Likewise.
9957         * modules/pty-tests (Files): Likewise.
9958         * modules/random_r-tests (Files): Likewise.
9959         * modules/rawmemchr-tests (Files): Likewise.
9960         * modules/readlink-tests (Files): Likewise.
9961         * modules/remove-tests (Files): Likewise.
9962         * modules/rename-tests (Files): Likewise.
9963         * modules/renameat-tests (Files): Likewise.
9964         * modules/rmdir-tests (Files): Likewise.
9965         * modules/round-tests (Files): Likewise.
9966         * modules/roundf-tests (Files): Likewise.
9967         * modules/roundl-tests (Files): Likewise.
9968         * modules/select-tests (Files): Likewise.
9969         * modules/setenv-tests (Files): Likewise.
9970         * modules/sigaction-tests (Files): Likewise.
9971         * modules/sleep-tests (Files): Likewise.
9972         * modules/snprintf-posix-tests (Files): Likewise.
9973         * modules/snprintf-tests (Files): Likewise.
9974         * modules/sprintf-posix-tests (Files): Likewise.
9975         * modules/stat-tests (Files): Likewise.
9976         * modules/strcasestr-tests (Files): Likewise.
9977         * modules/strchrnul-tests (Files): Likewise.
9978         * modules/strerror-tests (Files): Likewise.
9979         * modules/strsignal-tests (Files): Likewise.
9980         * modules/strstr-tests (Files): Likewise.
9981         * modules/strtod-tests (Files): Likewise.
9982         * modules/strverscmp-tests (Files): Likewise.
9983         * modules/symlink-tests (Files): Likewise.
9984         * modules/symlinkat-tests (Files): Likewise.
9985         * modules/times-tests (Files): Likewise.
9986         * modules/trunc-tests (Files): Likewise.
9987         * modules/truncf-tests (Files): Likewise.
9988         * modules/truncl-tests (Files): Likewise.
9989         * modules/tsearch-tests (Files): Likewise.
9990         * modules/uname-tests (Files): Likewise.
9991         * modules/unlink-tests (Files): Likewise.
9992         * modules/unsetenv-tests (Files): Likewise.
9993         * modules/usleep-tests (Files): Likewise.
9994         * modules/utimensat-tests (Files): Likewise.
9995         * modules/vasprintf-tests (Files): Likewise.
9996         * modules/vdprintf-posix-tests (Files): Likewise.
9997         * modules/vfprintf-posix-tests (Files): Likewise.
9998         * modules/vprintf-posix-tests (Files): Likewise.
9999         * modules/vsnprintf-posix-tests (Files): Likewise.
10000         * modules/vsnprintf-tests (Files): Likewise.
10001         * modules/vsprintf-posix-tests (Files): Likewise.
10002         * modules/wcrtomb-tests (Files): Likewise.
10003         * modules/wcsnrtombs-tests (Files): Likewise.
10004         * modules/wcsrtombs-tests (Files): Likewise.
10005         * modules/wcwidth-tests (Files): Likewise.
10006         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
10007         * tests/test-isinf.c (isinf): Likewise.
10008         * tests/test-isnan.c (isnan): Likewise.
10009         * tests/test-signbit.c (signbit): Likewise.
10010         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
10011         declaration, either as macro or with correct signature.
10012         (select): Ensure function under test is declared with correct
10013         signature in correct header.
10014         * tests/test-atexit.c (atexit): Likewise.
10015         * tests/test-btowc.c (btowc): Likewise.
10016         * tests/test-canonicalize-lgpl.c (realpath)
10017         (canonicalize_file_name): Likewise.
10018         * tests/test-ceilf1.c (ceilf): Likewise.
10019         * tests/test-ceill.c (ceill): Likewise.
10020         * tests/test-chown.c (chown): Likewise.
10021         * tests/test-dprintf-posix.c (dprintf): Likewise.
10022         * tests/test-dup2.c (dup2): Likewise.
10023         * tests/test-dup3.c (dup3): Likewise.
10024         * tests/test-duplocale.c (duplocale): Likewise.
10025         * tests/test-fchdir.c (fchdir): Likewise.
10026         * tests/test-fchownat.c (fchownat): Likewise.
10027         * tests/test-fcntl.c (fcntl): Likewise.
10028         * tests/test-fdopendir.c (fdopendir): Likewise.
10029         * tests/test-fflush.c (fflush): Likewise.
10030         * tests/test-flock.c (flock): Likewise.
10031         * tests/test-floorf1.c (floorf): Likewise.
10032         * tests/test-floorl.c (floorl): Likewise.
10033         * tests/test-fnmatch.c (fnmatch): Likewise.
10034         * tests/test-fopen.c (fopen): Likewise.
10035         * tests/test-fprintf-posix.c (fprintf): Likewise.
10036         * tests/test-freopen.c (freopen): Likewise.
10037         * tests/test-frexp.c (frexp): Likewise.
10038         * tests/test-frexpl.c (frexpl): Likewise.
10039         * tests/test-fseek.c (fseek): Likewise.
10040         * tests/test-fseeko.c (fseeko): Likewise.
10041         * tests/test-fstatat.c (fstatat): Likewise.
10042         * tests/test-fsync.c (fsync): Likewise.
10043         * tests/test-ftell.c (ftell): Likewise.
10044         * tests/test-ftello.c (ftello): Likewise.
10045         * tests/test-futimens.c (futimens): Likewise.
10046         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
10047         (gai_strerror): Likewise.
10048         * tests/test-getcwd.c (getcwd): Likewise.
10049         * tests/test-getdelim.c (getdelim): Likewise.
10050         * tests/test-getdtablesize.c (getdtablesize): Likewise.
10051         * tests/test-getgroups.c (getgroups): Likewise.
10052         * tests/test-gethostname.c (gethostname): Likewise.
10053         * tests/test-getline.c (getline): Likewise.
10054         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
10055         Likewise.
10056         * tests/test-gettimeofday.c (gettimeofday): Likewise.
10057         * tests/test-glob.c (glob, globfree): Likewise.
10058         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
10059         * tests/test-inet_ntop.c (inet_ntop): Likewise.
10060         * tests/test-inet_pton.c (inet_pton): Likewise.
10061         * tests/test-isblank.c (isblank): Likewise.
10062         * tests/test-lchown.c (lchown): Likewise.
10063         * tests/test-ldexpl.c (ldexpl): Likewise.
10064         * tests/test-link.c (link): Likewise.
10065         * tests/test-linkat.c (linkat): Likewise.
10066         * tests/test-lseek.c (lseek): Likewise.
10067         * tests/test-lstat.c (lstat): Likewise.
10068         * tests/test-mbrtowc.c (mbrtowc): Likewise.
10069         * tests/test-mbsinit.c (mbsinit): Likewise.
10070         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
10071         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
10072         * tests/test-memchr.c (memchr): Likewise.
10073         * tests/test-memcmp.c (memcmp): Likewise.
10074         * tests/test-memmem.c (memmem): Likewise.
10075         * tests/test-memrchr.c (memrchr): Likewise.
10076         * tests/test-mkdir.c (mkdir): Likewise.
10077         * tests/test-mkdirat.c (mkdirat): Likewise.
10078         * tests/test-mkfifo.c (mkfifo): Likewise.
10079         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
10080         * tests/test-mknod.c (mknod): Likewise.
10081         * tests/test-nanosleep.c (nanosleep): Likewise.
10082         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
10083         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
10084         Likewise.
10085         * tests/test-open.c (open): Likewise.
10086         * tests/test-openat.c (openat): Likewise.
10087         * tests/test-perror.c (perror): Likewise.
10088         * tests/test-pipe2.c (pipe2): Likewise.
10089         * tests/test-poll.c (poll): Likewise.
10090         * tests/test-popen.c (popen, pclose): Likewise.
10091         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
10092         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
10093         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
10094         (posix_spawn_file_actions_destroy)
10095         (posix_spawn_file_actions_addclose)
10096         (posix_spawn_file_actions_addopen)
10097         (posix_spawn_file_actions_adddup2): Likewise.
10098         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
10099         * tests/test-pread.c (pread): Likewise.
10100         * tests/test-printf-posix.c (printf): Likewise.
10101         * tests/test-pty.c (openpty, forkpty): Likewise.
10102         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
10103         (random_r): Likewise.
10104         * tests/test-rawmemchr.c (rawmemchr): Likewise.
10105         * tests/test-readlink.c (readlink): Likewise.
10106         * tests/test-remove.c (remove): Likewise.
10107         * tests/test-rename.c (rename): Likewise.
10108         * tests/test-renameat.c (renameat): Likewise.
10109         * tests/test-rmdir.c (rmdir): Likewise.
10110         * tests/test-round1.c (round): Likewise.
10111         * tests/test-roundf1.c (roundf): Likewise.
10112         * tests/test-roundl.c (roundl): Likewise.
10113         * tests/test-setenv.c (setenv): Likewise.
10114         * tests/test-sigaction.c (sigaction): Likewise.
10115         * tests/test-sleep.c (sleep): Likewise.
10116         * tests/test-snprintf.c (snprintf): Likewise.
10117         * tests/test-sprintf-posix.c (sprintf): Likewise.
10118         * tests/test-stat.c (stat): Likewise.
10119         * tests/test-stpncpy.c (stpncpy): Likewise.
10120         * tests/test-strcasestr.c (strcasestr): Likewise.
10121         * tests/test-strchrnul.c (strchrnul): Likewise.
10122         * tests/test-strerror.c (strerror): Likewise.
10123         * tests/test-strsignal.c (strsignal): Likewise.
10124         * tests/test-strstr.c (strstr): Likewise.
10125         * tests/test-strtod.c (strtod): Likewise.
10126         * tests/test-strverscmp.c (strverscmp): Likewise.
10127         * tests/test-symlink.c (symlink): Likewise.
10128         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
10129         * tests/test-times.c (times): Likewise.
10130         * tests/test-trunc1.c (trunc): Likewise.
10131         * tests/test-truncf1.c (truncf): Likewise.
10132         * tests/test-truncl.c (truncl): Likewise.
10133         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
10134         Likewise.
10135         * tests/test-uname.c (uname): Likewise.
10136         * tests/test-unlink.c (unlink): Likewise.
10137         * tests/test-unlinkat.c (unlinkat): Likewise.
10138         * tests/test-unsetenv.c (unsetenv): Likewise.
10139         * tests/test-usleep.c (usleep): Likewise.
10140         * tests/test-utimensat.c (utimensat): Likewise.
10141         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
10142         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
10143         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
10144         * tests/test-vprintf-posix.c (vprintf): Likewise.
10145         * tests/test-vsnprintf.c (vsnprintf): Likewise.
10146         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
10147         * tests/test-wcrtomb.c (wcrtomb): Likewise.
10148         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
10149         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
10150         * tests/test-wcwidth.c (wcwidth): Likewise.
10151
10152         build: pull in conditional headers during GNULIB_POSIXCHECK
10153         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
10154         definitions from any conditionally-included headers.
10155         * lib/stdlib.in.h (includes): Likewise.
10156         * lib/unistd.in.h (includes): Likewise.
10157
10158 2009-12-24  Bruno Haible  <bruno@clisp.org>
10159
10160         * tests/test-argv-iter.c: Include header file being tested immediately
10161         after config.h.
10162         * tests/test-base64.c: Likewise.
10163         * tests/test-flock.c: Likewise.
10164         * tests/test-fsync.c: Likewise.
10165         * tests/test-getdate.c: Likewise.
10166         * tests/test-getndelim2.c: Likewise.
10167         * tests/test-isfinite.c: Likewise.
10168         * tests/test-isinf.c: Likewise.
10169         * tests/test-strerror.c: Likewise.
10170         * tests/test-strsignal.c: Likewise.
10171
10172 2009-12-23  Eric Blake  <ebb9@byu.net>
10173
10174         unistd: work around cygwin bug
10175         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
10176         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
10177         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10178
10179 2009-12-23  Bruno Haible  <bruno@clisp.org>
10180
10181         localename: More tests.
10182         * tests/test-localename.c (SIZEOF): New macro.
10183         (categories): New variable.
10184         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
10185         test_locale_name_default): Add test w.r.t. thread locale.
10186         (test_locale_name_thread): New function.
10187         (main): Invoke it.
10188
10189         localename: Make aware of thread locale.
10190         * lib/localename.h (gl_locale_name_thread): New declaration.
10191         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
10192         behaviour with respect to thread locale.
10193         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
10194         <langinfo.h>, glthread/lock.h.
10195         (SIZE_BITS): New macro.
10196         (string_hash): New function.
10197         (struct hash_node): New type.
10198         (HASH_TABLE_SIZE): New macro.
10199         (struniq_hash_table, struniq_lock): New variables.
10200         (struniq): New function.
10201         (gl_locale_name_thread): New function.
10202         (gl_locale_name): Invoke it.
10203         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
10204         * modules/localename (Depends-on): Add lock.
10205         Reported by Mike Gran <spk121@yahoo.com>.
10206
10207 2009-12-23  Eric Blake  <ebb9@byu.net>
10208
10209         va-args: new module
10210         * modules/va-args: New file.
10211         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
10212         * MODULES.html.sh (Core language properties): Mention it.
10213
10214         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
10215         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
10216         named alias for __attribute__((__unused__)).
10217         * lib/chown.c: Update client.
10218         * lib/fchmodat.c: Likewise.
10219         * lib/fts.c: Likewise.
10220         * lib/getdate.y: Likewise.
10221         * lib/getgroups.c: Likewise.
10222         * lib/getopt.c: Likewise.
10223         * lib/getugroups.c: Likewise.
10224         * lib/mkdir.c: Likewise.
10225         * lib/mkfifo.c: Likewise.
10226         * lib/mkfifoat.c: Likewise.
10227         * lib/mknod.c: Likewise.
10228         * lib/mknodat.c: Likewise.
10229         * lib/readlink.c: Likewise.
10230         * lib/se-context.in.h: Likewise.
10231         * lib/se-selinux.in.h: Likewise.
10232         * lib/sockets.c: Likewise.
10233         * lib/symlink.c: Likewise.
10234         * lib/symlinkat.c: Likewise.
10235         * lib/unicodeio.c: Likewise.
10236         * lib/unistr.h: Likewise.
10237         * tests/test-areadlink.c: Likewise.
10238         * tests/test-areadlinkat.c: Likewise.
10239         * tests/test-filenamecat.c: Likewise.
10240         * tests/test-fseeko.c: Likewise.
10241         * tests/test-ftello.c: Likewise.
10242         * tests/test-getdate.c: Likewise.
10243         * tests/test-getgroups.c: Likewise.
10244         * tests/test-gethostname.c: Likewise.
10245         * tests/test-quotearg.c: Likewise.
10246         * tests/test-version-etc.c: Likewise.
10247         * tests/test-xalloc-die.c: Likewise.
10248         * tests/test-xfprintf-posix.c: Likewise.
10249         * tests/test-xprintf-posix.c: Likewise.
10250         * tests/test-xvasprintf.c: Likewise.
10251
10252         tests: avoid compiler warnings
10253         * tests/test-fcntl.c (main): Delete unused parameters.
10254         * tests/test-freopen-safer.c (main): Likewise.
10255         * tests/test-xalloc-die.c (main): Mark unused parameters.
10256         * tests/test-fseeko.c (main): Likewise.
10257         * tests/test-ftello.c (main): Likewise.
10258         * tests/test-nanosleep.c (main): Avoid declaration warning.
10259         * tests/test-sleep.c (main): Likewise.
10260         * tests/test-unsetenv.c (main): Silence warning about string
10261         literal.
10262         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10263
10264 2009-12-23  Bruno Haible  <bruno@clisp.org>
10265
10266         * tests/test-localename.c (test_locale_name): New function, extracted
10267         from main. Also test mixed situations.
10268         (test_locale_name_posix, test_locale_name_environ,
10269         test_locale_name_default): New functions.
10270         (main): Invoke them all.
10271         * modules/localename-tests (configure.ac): Test for newlocale.
10272
10273 2009-12-23  Bruno Haible  <bruno@clisp.org>
10274
10275         unistd: Ensure getcwd gets declared before being overridden.
10276         * lib/unistd.in.h: Conditionally include <io.h>.
10277
10278 2009-12-22  Bruno Haible  <bruno@clisp.org>
10279
10280         wchar: Diagnose broken combination of glibc and gcc versions and flags.
10281         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
10282         (gl_WCHAR_H): Invoke it.
10283         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
10284         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
10285         Reported by Karl Berry <karl@freefriends.org>.
10286
10287 2009-12-22  Eric Blake  <ebb9@byu.net>
10288
10289         math, unistd: avoid redundant includes
10290         * lib/math.in.h (isnan): No need to re-include <math.h>.
10291         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
10292
10293         getsubopt: work around cygwin bug
10294         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
10295         avoid conflicting with system getsubopt.
10296         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
10297         bug.
10298
10299         getopt: synchronize from glibc
10300         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
10301         parameter order.  Adjust all callers.
10302         (_getopt_internal_r, main): Adjust quoting in error messages.
10303         Drop considerations for outdated POSIX 1003.2 error message.
10304         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
10305         callers.
10306         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
10307
10308         test-getopt: test stderr behavior
10309         * modules/getopt-posix-tests (Depends-on): Add dup2.
10310         * tests/test-getopt.c (ASSERT): Avoid stderr.
10311         (main): Move stderr to a temporary file.
10312         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
10313         Instead, add parameter to inform caller if output occurred.
10314         (test_getopt): Adjust all existing tests to expect silence, and
10315         add new tests of leading ":".
10316         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10317         glibc shortcomings with leading "-:" or "+:" in optstring.
10318         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10319         Likewise.
10320         * doc/posix-functions/getopt.texi (getopt): Likewise.
10321
10322         test-getopt: enhance test
10323         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
10324         supports optind=0.
10325         * tests/test-getopt.c (OPTIND_MIN): Move...
10326         * tests/test-getopt.h (OPTIND_MIN): ...here.
10327         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
10328         Require that optind=0 works, since modern BSD supports it in
10329         addition to optreset, and since coreutils expects it.
10330         (test_getopt_long_only): New test.
10331         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10332         glibc shortcomings with 'W;', and enforcement of optind=0.
10333         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10334         Likewise.
10335
10336 2009-12-21  Bruno Haible  <bruno@clisp.org>
10337
10338         localename: Improvements for MacOS X and Cygwin.
10339         * lib/localename.h (gl_locale_name_environ): New declaration.
10340         * lib/localename.c (gl_locale_name_environ): New function, extracted from
10341         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
10342         (gl_locale_name_posix): Invoke it.
10343         (gl_locale_name_default): Add comments. Use Windows native API also on
10344         Cygwin.
10345
10346 2009-12-21  Bruno Haible  <bruno@clisp.org>
10347
10348         Update list of Win32 locale ids.
10349         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
10350         (LANG_SAMI): Renamed from LANG_SAAMI.
10351         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
10352         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
10353         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
10354         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
10355         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
10356         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
10357         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
10358         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
10359         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
10360         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
10361         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
10362         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
10363         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
10364         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
10365         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
10366         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
10367         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
10368         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
10369         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
10370         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
10371         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
10372         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
10373         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
10374         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
10375         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
10376         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
10377         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
10378         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
10379         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
10380         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
10381         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
10382         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
10383         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
10384         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
10385         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
10386         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
10387         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
10388         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
10389         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
10390         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
10391         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
10392         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
10393         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
10394         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
10395         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
10396         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
10397         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
10398         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
10399         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
10400         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
10401         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
10402         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
10403         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
10404         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
10405         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
10406         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
10407         Add more languages and countries for Sami, Sorbian. Add more countries
10408         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
10409         for Pashto. Change country for Syriac, Tswana.
10410
10411 2009-12-21  Eric Blake  <ebb9@byu.net>
10412
10413         test-utimens: avoid spurious failure
10414         * tests/test-chown.h (nap): Factor...
10415         * tests/nap.h: ...into new file.
10416         * tests/test-lchown.h (nap): Avoid duplication.
10417         * tests/test-utimens-common.h (nap): Use shared implementation,
10418         necessary on file systems with 1-second resolution.
10419         * modules/chown-tests (Files): Include new file.
10420         * modules/fdutimensat-tests (Files): Likewise.
10421         * modules/futimens-tests (Files): Likewise.
10422         * modules/lchown-tests (Files): Likewise.
10423         * modules/openat-tests (Files): Likewise.
10424         * modules/utimens-tests (Files): Likewise.
10425         * modules/utimensat-tests (Files): Likewise.
10426
10427 2009-12-19  Eric Blake  <ebb9@byu.net>
10428
10429         futimens, utimensat: work around Linux bug
10430         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
10431         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10432         * lib/utimensat.c (rpl_utimensat): Work around it.
10433         * lib/futimens.c (rpl_futimens): Adjust comment.
10434
10435         utimens: work around Linux ctime bug
10436         * lib/utimens.c (detect_ctime_bug): New helper function.
10437         (update_timespec): Differentiate between workaround needed for
10438         this bug vs. what is needed for systems that lack utimensat.
10439         (fdutimens, lutimens): Work around bug.
10440
10441         utimens: check for ctime update
10442         * tests/test-utimens-common.h (check_ctime): Define.
10443         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
10444         * tests/test-futimens.h (test_futimens): Likewise.
10445         * tests/test-lutimens.h (test_lutimens): Likewise.
10446         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10447         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10448
10449 2009-12-19  Bruno Haible  <bruno@clisp.org>
10450
10451         dprintf-posix: Check against memory leak fixed on 2009-12-15.
10452         * tests/test-dprintf-posix2.sh: New file.
10453         * tests/test-dprintf-posix2.c: New file.
10454         * modules/dprintf-posix-tests (Files): Add them.
10455         (configure.ac): Check for getrlimit and setrlimit.
10456         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10457
10458 2009-12-19  Bruno Haible  <bruno@clisp.org>
10459
10460         fprintf-posix: Check against memory leak fixed on 2009-12-15.
10461         * tests/test-fprintf-posix3.sh: New file.
10462         * tests/test-fprintf-posix3.c: New file.
10463         * modules/fprintf-posix-tests (Files): Add them.
10464         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10465
10466 2009-12-19  Eric Blake  <ebb9@byu.net>
10467
10468         dirfd: fix prototype
10469         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
10470         * lib/dirfd.c (dirfd): Likewise.
10471
10472         canonicalize: reduce memory usage
10473         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
10474         allocation to size.
10475         Reported by Solar Designer <solar@openwall.com>.
10476
10477 2009-12-19  Bruno Haible  <bruno@clisp.org>
10478
10479         New module attribute 'Applicability'.
10480         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
10481         * gnulib-tool: New option --extract-applicability.
10482         (func_usage): Document it.
10483         (sed_extract_prog): Recognize it.
10484         (func_get_applicability): New function.
10485         (func_import): Generalize handling of 'link-warning' module.
10486         * modules/link-warning (Applicability): New section.
10487         * modules/arg-nonnull (Applicability): New section.
10488         Repoted by Simon Josefsson <simon@josefsson.org>.
10489
10490 2009-12-19  Bruno Haible  <bruno@clisp.org>
10491
10492         fflush: tweak
10493         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
10494         * lib/fseeko.c (rpl_fseeko): Likewise.
10495
10496 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
10497
10498         * lib/gl_list.h: Fix typo in comment.
10499
10500 2009-12-16  Eric Blake  <ebb9@byu.net>
10501
10502         fcntl: use to simplify other modules
10503         * modules/cloexec (Depends-on): Add fcntl.
10504         * modules/fchdir (Depends-on): Likewise.
10505         * modules/fd-safer-flag (Depends-on): Likewise.
10506         * modules/unistd-safer (Depends-on): Likewise.
10507         * modules/dup3 (configure.ac): Set module indicator.
10508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
10509         missing.
10510         * lib/fchdir.c (_gl_register_dup): Fix comment.
10511         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
10512         * lib/dup-safer.c (dup_safer): Likewise.
10513         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
10514         * lib/dup3.c (dup3): Likewise.
10515         * tests/test-fchdir.c (main): Enhance test.
10516         Fixes a dup_cloexec bug reported by Ondřej Vašík.
10517
10518         fcntl: port portions of fcntl to mingw
10519         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
10520         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
10521         replacement for mingw.
10522         * modules/fcntl (Description): Update.
10523         (Depends-on): Add dup2.
10524         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
10525         * modules/fcntl-h (Makefile.am): Substitute it.
10526         * lib/fcntl.in.h (fcntl): Update declaration.
10527         (F_DUPFD, F_GETFD): New macros, when needed.
10528         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
10529         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
10530         * tests/test-fcntl.c (check_flags, main): Enhance test for items
10531         we now guarantee.
10532
10533         fcntl: work around cygwin bug in F_DUPFD
10534         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
10535         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
10536         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
10537         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
10538         * doc/posix-functions/fcntl.texi (fcntl): Document it.
10539
10540         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
10541         * modules/fcntl (Files): List new files.
10542         (configure.ac): Run a test.
10543         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
10544         * lib/fcntl.c (rpl_fcntl): Likewise.
10545         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
10546         (gl_FCNTL_H): Always replace fcntl.h.
10547         * modules/fcntl-h (Makefile.am): Substitute witnesses.
10548         * lib/fcntl.in.h (fcntl): Declare replacement.
10549         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
10550         needed, plus a witness.
10551         * doc/posix-functions/fcntl.texi (fcntl): Document this.
10552         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
10553         * tests/test-fcntl.c: New file.
10554         * modules/fcntl-tests: Likewise.
10555
10556         binary-io: avoid potential compilation warning
10557         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
10558         directives.
10559
10560         fflush: avoid compilation error on NetBSD
10561         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
10562         between off_t and fpos_t, since the latter is sometimes a struct.
10563         * lib/fseeko.c (rpl_fseeko): Likewise.
10564         Reported by Alexander Nasonov <alnsn@yandex.ru>.
10565
10566 2009-12-15  Eric Blake  <ebb9@byu.net>
10567
10568         fcntl-h, stdio, sys_ioctl: fix declarations
10569         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
10570         function must not take arguments.
10571         * lib/sys_ioctl.in.h (ioctl): Likewise.
10572         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
10573         (open): Add a link warning.
10574
10575 2009-12-15  Jim Meyering  <meyering@redhat.com>
10576
10577         areadlink, areadlink-with-size: relax license to LGPLv2+
10578         * modules/areadlink (License): Relax to LGPLv2+.
10579         * modules/areadlink-with-size (License): Likewise.
10580
10581 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
10582             Bruno Haible  <bruno@clisp.org>
10583
10584         *printf: Fix memory leak.
10585         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
10586         * lib/vfprintf.c (vfprintf): Likewise.
10587         * lib/dprintf.c (dprintf): Likewise.
10588         * lib/vdprintf.c (vdprintf): Likewise.
10589
10590 2009-12-14  Eric Blake  <ebb9@byu.net>
10591
10592         accept4: adjust module dependencies
10593         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
10594
10595         utimens: one more try at avoiding compiler warning
10596         * lib/utimens.c (lutimens): Lower scope of result.
10597
10598 2009-12-13  Bruno Haible  <bruno@clisp.org>
10599
10600         Move the malloc checking from module 'list' to new module 'xlist'.
10601         * modules/xlist: New file.
10602         * lib/gl_xlist.h: New file.
10603         * lib/gl_xlist.c: New file.
10604         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
10605         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
10606         gl_list_add_last, gl_list_add_before, gl_list_add_after,
10607         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
10608         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
10609         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
10610         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
10611         gl_sortedlist_nx_add): New declarations.
10612         (struct gl_list_implementation): Rename and change methods accordingly.
10613         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
10614         (gl_list_nx_create): Renamed from gl_list_create.
10615         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10616         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10617         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10618         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10619         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10620         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10621         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10622         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10623         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
10624         gl_list_create_empty.
10625         (gl_list_nx_create): Renamed from gl_list_create.
10626         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10627         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10628         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10629         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10630         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10631         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10632         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10633         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10634         * lib/gl_array_list.c: Don't include xalloc.h.
10635         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
10636         NULL upon out-of-memory.
10637         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
10638         out-of-memory.
10639         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
10640         Change return type to 'int'.
10641         (gl_array_nx_set_at): Renamed from gl_array_set_at.
10642         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10643         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
10644         upon out-of-memory.
10645         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
10646         upon out-of-memory.
10647         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
10648         upon out-of-memory.
10649         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
10650         upon out-of-memory.
10651         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
10652         out-of-memory.
10653         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
10654         Update.
10655         (gl_array_list_implementation): Update.
10656         * lib/gl_carray_list.c: Don't include xalloc.h.
10657         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
10658         Return NULL upon out-of-memory.
10659         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
10660         out-of-memory.
10661         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
10662         Change return type to 'int'.
10663         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
10664         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10665         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
10666         upon out-of-memory.
10667         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
10668         upon out-of-memory.
10669         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
10670         out-of-memory.
10671         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
10672         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
10673         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
10674         Update.
10675         (gl_carray_list_implementation): Update.
10676         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
10677         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
10678         gl_linked_create_empty. Return NULL upon out-of-memory.
10679         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
10680         out-of-memory.
10681         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
10682         Change return type to 'int'. Return -1 upon out-of-memory.
10683         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
10684         out-of-memory.
10685         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
10686         upon out-of-memory.
10687         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
10688         upon out-of-memory.
10689         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
10690         NULL upon out-of-memory.
10691         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
10692         upon out-of-memory.
10693         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
10694         out-of-memory.
10695         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
10696         Update.
10697         * lib/gl_linked_list.c: Don't include xalloc.h.
10698         (gl_linked_list_implementation): Update.
10699         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
10700         (add_to_bucket): Change return type to 'int'.
10701         (gl_linkedhash_list_implementation): Update.
10702         * lib/gl_anytree_list1.h (free_subtree): New function.
10703         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
10704         gl_tree_create_empty. Return NULL upon out-of-memory.
10705         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
10706         Change return type to 'int'. Return -1 upon out-of-memory.
10707         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
10708         out-of-memory.
10709         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
10710         (gl_tree_remove_node): New function, moved here from
10711         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
10712         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
10713         Update.
10714         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
10715         malloc, not xmalloc. Return NULL upon out-of-memory.
10716         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10717         out-of-memory.
10718         (gl_tree_remove_node_from_tree): New function, extracted from
10719         gl_tree_remove_node.
10720         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10721         upon out-of-memory.
10722         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10723         out-of-memory.
10724         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10725         upon out-of-memory.
10726         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10727         upon out-of-memory.
10728         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10729         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
10730         not xmalloc. Return NULL upon out-of-memory.
10731         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10732         out-of-memory.
10733         (gl_tree_remove_node_from_tree): New function, extracted from
10734         gl_tree_remove_node.
10735         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10736         upon out-of-memory.
10737         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10738         out-of-memory.
10739         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10740         upon out-of-memory.
10741         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10742         upon out-of-memory.
10743         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10744         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
10745         gl_anytree_list1.h before gl_anyavltree_list2.h.
10746         (gl_avltree_list_implementation): Update.
10747         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
10748         gl_anytree_list1.h before gl_anyavltree_list2.h.
10749         (gl_rbtree_list_implementation): Update.
10750         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
10751         Change return type to 'int'. Return -1 upon out-of-memory. Use
10752         __builtin_expect.
10753         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
10754         (gl_avltreehash_list_implementation): Update.
10755         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
10756         (gl_rbtreehash_list_implementation): Update.
10757         * modules/array-list (Depends-on): Remove xalloc.
10758         * modules/carray-list (Depends-on): Likewise.
10759         * modules/linked-list (Depends-on): Likewise.
10760         * modules/linkedhash-list (Depends-on): Likewise.
10761         * modules/avltree-list (Depends-on): Likewise.
10762         * modules/rbtree-list (Depends-on): Likewise.
10763         * modules/avltreehash-list (Depends-on): Likewise.
10764         * modules/rbtreehash-list (Depends-on): Likewise.
10765
10766         * modules/xsublist: New file.
10767         * lib/gl_xsublist.h: New file.
10768         * lib/gl_xsublist.c: New file.
10769         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
10770         (gl_sublist_nx_create): New declaration.
10771         * lib/gl_sublist.c: Don't include xalloc.h.
10772         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
10773         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
10774         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
10775         Change return type to 'int'. Return -1 upon out-of-memory.
10776         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
10777         upon out-of-memory.
10778         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
10779         NULL upon out-of-memory.
10780         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
10781         upon out-of-memory.
10782         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
10783         NULL upon out-of-memory.
10784         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
10785         NULL upon out-of-memory.
10786         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
10787         upon out-of-memory.
10788         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
10789         (gl_sublist_list_implementation): Update.
10790         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
10791         upon out-of-memory.
10792         * modules/sublist (Depends-on): Remove xalloc.
10793
10794         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
10795         * tests/test-carray_list.c: Likewise.
10796         * tests/test-linked_list.c: Likewise.
10797         * tests/test-linkedhash_list.c: Likewise.
10798         * tests/test-avltree_list.c: Likewise.
10799         * tests/test-rbtree_list.c: Likewise.
10800         * tests/test-avltreehash_list.c: Likewise.
10801         * tests/test-rbtreehash_list.c: Likewise.
10802         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
10803         * modules/carray-list-tests (Makefile.am): Likewise.
10804         * modules/linked-list-tests (Makefile.am): Likewise.
10805         * modules/linkedhash-list-tests (Makefile.am): Likewise.
10806         * modules/avltree-list-tests (Makefile.am): Likewise.
10807         * modules/rbtree-list-tests (Makefile.am): Likewise.
10808         * modules/avltreehash-list-tests (Makefile.am): Likewise.
10809         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
10810
10811         * NEWS: Mention the changes.
10812
10813         * lib/clean-temp.c: Include gl_xlist.h.
10814         * modules/clean-temp (Depends-on): Add xlist.
10815
10816         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
10817         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
10818
10819         * tests/test-array_oset.c: Include gl_xlist.h.
10820         * modules/array-oset-tests (Depends-on): Add xlist.
10821
10822         Reported by José E. Marchesi <jemarch@gnu.org>.
10823
10824 2009-12-13  Bruno Haible  <bruno@clisp.org>
10825
10826         Move the malloc checking from module 'oset' to new module 'xoset'.
10827         * modules/xoset: New file.
10828         * lib/gl_xoset.h: New file.
10829         * lib/gl_xoset.c: New file.
10830         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
10831         declarations.
10832         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
10833         (struct gl_oset_implementation): Rename and change methods accordingly.
10834         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
10835         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10836         'int'. Mark as __warn_unused_result__.
10837         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
10838         gl_oset_create_empty.
10839         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10840         'int'.
10841         * lib/gl_array_oset.c: Don't include xalloc.h.
10842         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
10843         malloc, not xmalloc.
10844         (grow): Change return type to 'int'. Don't call xalloc_die.
10845         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
10846         to 'int'.
10847         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
10848         'int'.
10849         (gl_array_oset_implementation): Update.
10850         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
10851         gl_tree_create_empty.
10852         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
10853         'int'.
10854         * lib/gl_avltree_oset.c: Don't include xalloc.h.
10855         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10856         xmalloc.
10857         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10858         not xmalloc.
10859         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10860         xmalloc.
10861         (gl_avltree_oset_implementation): Update.
10862         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
10863         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10864         xmalloc.
10865         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10866         not xmalloc.
10867         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10868         xmalloc.
10869         (gl_rbtree_oset_implementation): Update.
10870         * modules/array-oset (Depends-on): Remove xalloc.
10871         * modules/avltree-oset (Depends-on): Likewise.
10872         * modules/rbtree-oset (Depends-on): Likewise.
10873         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
10874         * tests/test-avltree_oset.c: Likewise.
10875         * tests/test-rbtree_oset.c: Likewise.
10876         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
10877         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
10878         * modules/rbtree-oset-tests (Makefile.am): Likewise.
10879         * NEWS: Mention the change.
10880
10881 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
10882
10883         maint.mk: allow a project to override release-prep commands
10884         * top/maint.mk (alpha, beta, stable): Move release-preparatory
10885         commands into a new rule.
10886         (release-prep): New rule.
10887         (release-prep-hook): New overridable variable.
10888
10889 2009-12-13  Bruno Haible  <bruno@clisp.org>
10890
10891         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
10892
10893 2009-12-13  Jim Meyering  <meyering@redhat.com>
10894
10895         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
10896         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
10897
10898 2009-12-12  Bruno Haible  <bruno@clisp.org>
10899
10900         duplocale: Tweak.
10901         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
10902
10903 2009-12-12  Karl Berry  <karl@gnu.org>
10904
10905         * config/srclist.txt (strtoll.c): tab changes, no more sync.
10906
10907 2009-12-12  Bruno Haible  <bruno@clisp.org>
10908
10909         * m4/po.m4: Undo incorrect untabification.
10910
10911 2009-12-12  Bruno Haible  <bruno@clisp.org>
10912
10913         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
10914         * modules/c-strtod (Depends-on): Add locale.
10915         * modules/c-strtold (Depends-on): Likewise.
10916
10917 2009-12-12  Bruno Haible  <bruno@clisp.org>
10918
10919         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
10920
10921 2009-12-11  Eric Blake  <ebb9@byu.net>
10922
10923         setenv: relax requirement in light of POSIX ruling
10924         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
10925         not NULL.
10926         * tests/test-setenv.c (main): Relax test.
10927         * tests/test-unsetenv.c (main): Likewise.
10928         * doc/posix-functions/setenv.texi (setenv): Document this.
10929         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
10930
10931 2009-12-11  Bruno Haible  <bruno@clisp.org>
10932
10933         New module 'fd-safer-flag'.
10934         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
10935         * lib/dup-safer.c (dup_safer_flag): Remove function.
10936         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
10937         * lib/fd-safer.c (fd_safer_flag): Remove function.
10938         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
10939         * modules/cloexec (configure.ac): Drop indicator macro.
10940         * modules/fd-safer-flag: New file.
10941         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
10942         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
10943         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
10944
10945 2009-12-11  Bruno Haible  <bruno@clisp.org>
10946
10947         Tests for module 'nl_langinfo'.
10948         * modules/nl_langinfo-tests: New file.
10949         * tests/test-nl_langinfo.sh: New file.
10950         * tests/test-nl_langinfo.c: New file.
10951
10952         New module 'nl_langinfo'.
10953         * lib/nl_langinfo.c: New file.
10954         * m4/nl_langinfo.m4: New file.
10955         * modules/nl_langinfo: New file.
10956         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
10957
10958 2009-12-11  Bruno Haible  <bruno@clisp.org>
10959
10960         Tests for module 'langinfo'.
10961         * modules/langinfo-tests: New file.
10962         * tests/test-langinfo.c: New file.
10963
10964         New module 'langinfo'.
10965         * lib/langinfo.in.h: New file.
10966         * m4/langinfo_h.m4: New file.
10967         * modules/langinfo: New file.
10968         * doc/posix-headers/langinfo.texi: Mention the new module.
10969
10970 2009-12-11  Bruno Haible  <bruno@clisp.org>
10971
10972         * lib/config.charset: Untabify.
10973
10974 2009-12-11  Bruno Haible  <bruno@clisp.org>
10975
10976         * modules/unistd-safer (configure.ac): Drop indicator macro.
10977
10978 2009-12-11  Bruno Haible  <bruno@clisp.org>
10979
10980         Move pipe2-safer code to its own file.
10981         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
10982         * lib/pipe-safer.c (pipe2_safer): Remove function.
10983         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
10984         (Makefile.am): Add it to lib_SOURCES.
10985
10986 2009-12-10  Bruno Haible  <bruno@clisp.org>
10987
10988         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
10989
10990 2009-12-10  Bruno Haible  <bruno@clisp.org>
10991
10992         Declare which arguments expect non-NULL values, for GCC and clang.
10993         * build-aux/arg-nonnull.h: New file.
10994         * modules/arg-nonnull: New file.
10995         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
10996         (inet_ntop, inet_pton): Use it.
10997         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
10998         (closedir, dirfd, opendir, scandir, alphasort): Use it.
10999         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
11000         (open, openat): Use it.
11001         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
11002         (fnmatch): Use it.
11003         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
11004         (getopt, getopt_long, getopt_long_only): Use it.
11005         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
11006         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
11007         Use it.
11008         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
11009         (iconv_open): Use it.
11010         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
11011         (strtoimax, strtoumax): Use it.
11012         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
11013         (duplocale): Use it.
11014         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
11015         (frexp, frexpl): Use it.
11016         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
11017         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
11018         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
11019         (tsearch, tfind, tdelete, twalk): Use it.
11020         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
11021         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
11022         sigpending): Use it.
11023         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
11024         (posix_spawn, posix_spawnp, posix_spawnattr_init,
11025         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
11026         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
11027         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
11028         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
11029         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
11030         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11031         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
11032         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
11033         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11034         Use it.
11035         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
11036         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
11037         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
11038         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
11039         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
11040         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
11041         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
11042         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
11043         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
11044         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
11045         strtoull, unsetenv): Use it.
11046         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
11047         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
11048         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
11049         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
11050         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
11051         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
11052         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
11053         (strcasecmp, strncasecmp): Use it.
11054         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
11055         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
11056         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
11057         rpl_setsockopt): Use it.
11058         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
11059         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
11060         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
11061         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
11062         (gettimeofday): Use it.
11063         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
11064         (times): Use it.
11065         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
11066         (uname): Use it.
11067         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
11068         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
11069         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
11070         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
11071         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
11072         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
11073         unlinkat, write): Use it.
11074         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
11075         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
11076         * lib/argv-iter.h: Include arg-nonnull.h.
11077         (_ATTRIBUTE_NONNULL_): Remove macro.
11078         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
11079         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
11080         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
11081         optimization.
11082         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
11083         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
11084         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
11085         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
11086         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
11087         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
11088         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
11089         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
11090         * modules/arpa_inet (Depends-on): Add arg-nonnull.
11091         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
11092         * modules/dirent (Depends-on): Add arg-nonnull.
11093         (Makefile.am): Insert arg-nonnull.h into dirent.h.
11094         * modules/fcntl-h (Depends-on): Add arg-nonnull.
11095         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
11096         * modules/fnmatch (Depends-on): Add arg-nonnull.
11097         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
11098         * modules/getopt-posix (Depends-on): Add arg-nonnull.
11099         (Makefile.am): Insert arg-nonnull.h into getopt.h.
11100         * modules/glob (Depends-on): Add arg-nonnull.
11101         (Makefile.am): Insert arg-nonnull.h into glob.h.
11102         * modules/iconv_open (Depends-on): Add arg-nonnull.
11103         (Makefile.am): Insert arg-nonnull.h into iconv.h.
11104         * modules/inttypes (Depends-on): Add arg-nonnull.
11105         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
11106         * modules/locale (Depends-on): Add arg-nonnull.
11107         (Makefile.am): Insert arg-nonnull.h into locale.h.
11108         * modules/math (Depends-on): Add arg-nonnull.
11109         (Makefile.am): Insert arg-nonnull.h into math.h.
11110         * modules/netdb (Depends-on): Add arg-nonnull.
11111         (Makefile.am): Insert arg-nonnull.h into netdb.h.
11112         * modules/search (Depends-on): Add arg-nonnull.
11113         (Makefile.am): Insert arg-nonnull.h into search.h.
11114         * modules/signal (Depends-on): Add arg-nonnull.
11115         (Makefile.am): Insert arg-nonnull.h into signal.h.
11116         * modules/spawn (Depends-on): Add arg-nonnull.
11117         (Makefile.am): Insert arg-nonnull.h into spawn.h.
11118         * modules/stdio (Depends-on): Add arg-nonnull.
11119         (Makefile.am): Insert arg-nonnull.h into stdio.h.
11120         * modules/stdlib (Depends-on): Add arg-nonnull.
11121         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
11122         * modules/string (Depends-on): Add arg-nonnull.
11123         (Makefile.am): Insert arg-nonnull.h into string.h.
11124         * modules/strings (Depends-on): Add arg-nonnull.
11125         (Makefile.am): Insert arg-nonnull.h into strings.h.
11126         * modules/sys_socket (Depends-on): Add arg-nonnull.
11127         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
11128         * modules/sys_stat (Depends-on): Add arg-nonnull.
11129         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
11130         * modules/sys_time (Depends-on): Add arg-nonnull.
11131         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
11132         * modules/sys_times (Depends-on): Add arg-nonnull.
11133         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
11134         * modules/sys_utsname (Depends-on): Add arg-nonnull.
11135         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
11136         * modules/time (Depends-on): Add arg-nonnull.
11137         (Makefile.am): Insert arg-nonnull.h into time.h.
11138         * modules/unistd (Depends-on): Add arg-nonnull.
11139         (Makefile.am): Insert arg-nonnull.h into unistd.h.
11140         * modules/wchar (Depends-on): Add arg-nonnull.
11141         (Makefile.am): Insert arg-nonnull.h into wchar.h.
11142         * modules/argv-iter (Depends-on): Add arg-nonnull.
11143         * tests/test-canonicalize.c (null_ptr): New function.
11144         (main): Use it.
11145         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
11146         (main): Use it.
11147         * tests/test-memmem.c (null_ptr): New function.
11148         (main): Use it.
11149         Reported by Jim Meyering.
11150
11151 2009-12-10  Bruno Haible  <bruno@clisp.org>
11152
11153         Use spaces for indentation, not tabs.
11154         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11155         * m4/*.m4: Untabify.
11156         * build-aux/*.h: Untabify.
11157         * tests/**/*.[hc]: Untabify.
11158         * README: New section "Indent with spaces, not TABs", based on
11159         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
11160         * NEWS: Mention the change.
11161
11162 2009-12-10  Bruno Haible  <bruno@clisp.org>
11163
11164         pty test: Fix link error.
11165         * modules/pty-tests (Makefile.am): Add the default LDADD value to
11166         test_pty_LDADD.
11167
11168 2009-12-07  Simon Josefsson  <simon@josefsson.org>
11169
11170         * modules/pty: New file.
11171         * modules/pty-tests: New file.
11172         * m4/pty.m4: New file.
11173         * tests/test-pty.c: New file.
11174         * doc/glibc-headers/pty.texi: Modified.
11175         * doc/glibc-functions/forkpty.texi: Modified.
11176         * doc/glibc-functions/openpty.texi: Modified.
11177
11178 2009-12-10  Bruno Haible  <bruno@clisp.org>
11179
11180         Avoid syntax error in C++ mode.
11181         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
11182
11183 2009-12-10  Bruno Haible  <bruno@clisp.org>
11184
11185         Use sed with option -e.
11186         * gnulib-tool (func_version, func_emit_copyright_notice,
11187         func_emit_initmacro_end, func_import, func_create_testdir): Pass
11188         option -e to sed.
11189         * modules/link-warning (Makefile.am): Likewise.
11190
11191 2009-12-10  Jim Meyering  <meyering@redhat.com>
11192
11193         mgetgroups: do not write bytes beyond end of malloc'd buffer
11194         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
11195         username, we call getgroups with a one-element-shorter buffer,
11196         but still told it the length was original, max_n_groups.
11197
11198 2009-12-09  Eric Blake  <ebb9@byu.net>
11199
11200         cloexec: relax license
11201         * modules/cloexec (Maintainer): Add myself.
11202         (License): Use LGPL, not GPL.
11203
11204         link-warning: optimize generation
11205         * modules/link-warning (Makefile.am): Reduce process usage.
11206
11207 2009-12-09  Bruno Haible  <bruno@clisp.org>
11208
11209         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
11210         workaround was added on 2009-11-17.
11211
11212 2009-12-09  Jim Meyering  <meyering@redhat.com>
11213             Bruno Haible  <bruno@clisp.org>
11214
11215         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
11216         * modules/link-warning (Makefile.am): Make the comment-removing sed
11217         command more robust in the face of bootstrap-prepended comment lines.
11218
11219 2009-12-09  Bruno Haible  <bruno@clisp.org>
11220
11221         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
11222         most one group.
11223
11224 2009-12-09  Simon Josefsson <simon@josefsson.org>
11225             Bruno Haible  <bruno@clisp.org>
11226
11227         * build-aux/link-warning.h: Add copyright notice.
11228         * modules/link-warning (Makefile.am): Generate link-warning.h from
11229         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
11230         * NEWS: Mention change in link-warning module.
11231         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
11232         * modules/dirent (Makefile.am): Add dependency to dirent.h.
11233         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
11234         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
11235         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
11236         * modules/math (Makefile.am): Add dependency to math.h.
11237         * modules/search (Makefile.am): Add dependency to search.h.
11238         * modules/signal (Makefile.am): Add dependency to signal.h.
11239         * modules/spawn (Makefile.am): Add dependency to spawn.h.
11240         * modules/stdio (Makefile.am): Add dependency to stdio.h.
11241         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
11242         * modules/string (Makefile.am): Add dependency to string.h.
11243         * modules/strings (Makefile.am): Add dependency to strings.h.
11244         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
11245         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
11246         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
11247         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
11248         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
11249         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
11250         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
11251         * modules/unistd (Makefile.am): Add dependency to unistd.h.
11252         * modules/wchar (Makefile.am): Add dependency to wchar.h.
11253
11254 2009-12-09  Bruno Haible  <bruno@clisp.org>
11255
11256         fchdir: Optimize away rpl_fstat when possible.
11257         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
11258         REPLACE_OPEN_DIRECTORY.
11259         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
11260
11261 2009-12-09  Bruno Haible  <bruno@clisp.org>
11262
11263         * lib/fchdir.c: Update comment.
11264
11265 2009-12-09  Bruno Haible  <bruno@clisp.org>
11266
11267         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
11268
11269 2009-12-08  Eric Blake  <ebb9@byu.net>
11270
11271         fchdir: avoid memory leak on re-registration.
11272         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
11273
11274 2009-12-08  Jim Meyering  <meyering@redhat.com>
11275
11276         init.sh: avoid Solaris 10 /bin/sh portability problem
11277         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
11278         sourced script:
11279           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
11280           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
11281           bar
11282         tests/init.sh relied on that, accepting a --set-path=DIR argument,
11283         and two tests used that idiom.
11284         * tests/init.sh: Update suggested usage comments.
11285         (path_prepend_): New function, to be used in place
11286         of the --src-path=DIR option.
11287         (setup_): Move PATH-prepending code into path_prepend_.
11288         * tests/test-pread.sh: Adapt to new usage.
11289         * tests/test-xalloc-die.sh: Likewise.
11290
11291 2009-12-08  Simon Josefsson  <simon@josefsson.org>
11292
11293         * doc/gnulib.texi (Glibc pty.h): Add.
11294         * doc/glibc-functions/forkpty.texi: Add.
11295         * doc/glibc-functions/openpty.texi: Add.
11296         Suggested by Bruno Haible.
11297
11298 2009-12-08  Eric Blake  <ebb9@byu.net>
11299
11300         fchdir: fix logic bugs
11301         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
11302         * tests/test-fchdir.c (main): Enhance test.
11303         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
11304         is in use.
11305
11306         dup2: fix logic bugs
11307         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
11308         REPLACE_DUP2 to decide when rpl_dup2 is needed.
11309         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
11310         exists.
11311         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
11312
11313 2009-12-07  Eric Blake  <ebb9@byu.net>
11314
11315         unlink: fix m4 detection
11316         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
11317
11318         unistd-safer: add unit test
11319         * modules/unistd-safer-tests: New file.
11320         * tests/test-dup-safer.c: Likewise.
11321         * tests/test-cloexec.c (setmode): Avoid compiler warning.
11322         * tests/test-dup2.c (setmode): Likewise.
11323         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
11324
11325         cloexec: preserve text vs. binary across dup_cloexec
11326         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
11327         mode.
11328         * modules/dup2-tests (Depends-on): Add binary-io.
11329         * modules/cloexec-tests (Depends-on): Likewise.
11330         * tests/test-dup2.c (setmode, is_mode): New helpers.
11331         (main): Add tests that translation mode is preserved.
11332         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
11333         Reported by Bruno Haible.
11334
11335         mgetgroups: reduce duplicate listings
11336         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
11337         resulting array.
11338         * tests/test-chown.h (test_chown): Simplify client.
11339         * tests/test-lchown.h (test_lchown): Likewise.
11340
11341 2009-12-06  Bruno Haible  <bruno@clisp.org>
11342
11343         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
11344         value.
11345
11346 2009-12-06  Bruno Haible  <bruno@clisp.org>
11347
11348         * lib/progname.c: Include stdio.h, stdlib.h.
11349         (set_program_name): Reject a NULL argument.
11350
11351 2009-12-05  Eric Blake  <ebb9@byu.net>
11352
11353         pipe2-safer: new module
11354         * modules/pipe2-safer: New file.
11355         * lib/unistd-safer.h (pipe2_safer): New prototype.
11356         * lib/unistd--.h (pipe2): New wrapper.
11357         * lib/pipe-safer.c (pipe2_safer): New function.
11358         * modules/pipe (Depends-on): Add pipe2-safer.
11359         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
11360
11361         stdlib-safer: preserve cloexec flag for mkostemp[s]
11362         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
11363         fd_safer_flag.
11364
11365         unistd-safer: allow preservation of cloexec status via flag
11366         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
11367         prototypes.
11368         * lib/dup-safer.c (dup_safer_flag): New function.
11369         * lib/fd-safer.c (fd_safer_flag): Likewise.
11370         * modules/cloexec (configure.ac): Set witness.
11371
11372         test-dup2: enhance test
11373         * modules/dup2-tests (Depends-on): Add cloexec.
11374         * tests/test-dup2.c (main): Enhance test.
11375
11376         cloexec: add dup_cloexec
11377         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
11378         header and comments.
11379         * lib/cloexec.c (set_cloexec_flag): Add comments.
11380         (dup_cloexec): New function, with mingw implementation borrowed
11381         from...
11382         * lib/w32spawn.h (dup_noinherit): ...here.
11383         * modules/execute (Depends-on): Add cloexec.
11384         * modules/pipe (Depends-on): Likewise.
11385         * modules/cloexec (Depends-on): Add dup2.
11386         * modules/cloexec-tests (Files): New file.
11387         * tests/test-cloexec.c: Likewise.
11388
11389         test-xalloc-die: fix test for mingw
11390         * modules/xalloc-die-tests (Files): Add tests/init.sh.
11391         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
11392         directory and .exe suffix off argv[0] output.
11393
11394         test-fseeko: fix test for mingw
11395         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
11396         than undefining fseek, so test will pass on mingw.
11397
11398 2009-12-05  Bruno Haible  <bruno@clisp.org>
11399
11400         * lib/progname.h (set_program_name): Clarify specification.
11401         * lib/progname.c (set_program_name): Likewise.
11402         Reported by Jim Meyering.
11403
11404 2009-12-05  Jim Meyering  <meyering@redhat.com>
11405
11406         maint.mk: backslash-escape parens in default regexp
11407         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
11408         backslash-escape the literal parentheses.
11409
11410         maint.mk: news-date-check: use grep -E
11411         * top/maint.mk (today): Define a Make variable, not a...
11412         (news-date-check): ...shell variable.
11413         (news-date-regexp): Use the Make variable.
11414         Use grep's -E option.  Change the failing diagnostic to mention
11415         the variable, $(news-date-regexp).
11416
11417 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
11418
11419         maintainer-makefile: allow customization of NEWS entry format
11420         * top/maint.mk (news-date-regexp): New overridable variable.
11421         (news-date-check): Use it.
11422
11423 2009-12-04  Eric Blake  <ebb9@byu.net>
11424
11425         mgetgroups: add xgetgroups, and avoid ENOSYS failures
11426         * lib/mgetgroups.h (xgetgroups): New prototype.
11427         * lib/mgetgroups.c (xgetgroups): New wrapper.
11428         (mgetgroups): Handle ENOSYS.
11429         * modules/mgetgroups (Depends-on): Add realloc.
11430         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
11431
11432         mgetgroups: avoid argument promotion issues with -1
11433         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
11434         for invalid gid_t.
11435         * tests/test-chown.h (getegid, test_chown): Likewise.
11436         * tests/test-lchown.h (getegid, test_lchown): Likewise.
11437
11438 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
11439
11440         exclude: Fix header file problems.
11441         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
11442
11443 2009-12-01  Jim Meyering  <meyering@redhat.com>
11444
11445         fts: fts_open: do not let an empty string cause immediate failure
11446         This is required in support of GNU rm, for which the command
11447         "rm A '' B" must process and remove both A and B, in spite of
11448         the empty string argument.
11449         * lib/fts.c (fts_open): Do not let the presence of an empty string
11450         cause fts_open to fail immediately.  Most fts-using tools must be
11451         able to process all arguments, in order, and can be expected to
11452         diagnose such arguments themselves.
11453
11454 2009-11-30  Eric Blake  <ebb9@byu.net>
11455
11456         utimens: fix compilation error
11457         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
11458         Declare variable at right scope.
11459
11460 2009-11-29  Jim Meyering  <meyering@redhat.com>
11461
11462         bootstrap: handle perl-5.11's changed --version output
11463         * build-aux/bootstrap (get_version): Handle perl separately,
11464         since perl-5.11's --version output is different.
11465
11466 2009-11-28  Jim Meyering  <meyering@redhat.com>
11467
11468         userspec: depend on the inttostr module, too
11469         * modules/userspec (Depends-on): Add inttostr.
11470
11471         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
11472         * lib/userspec.c (parse_with_separator): Do not accept a user ID
11473         number of MAXUID when it evaluates to (uid_t) -1.
11474         Likewise for group ID.  Reported by Matt McCutchen in
11475         <http://savannah.gnu.org/bugs/?28113>
11476
11477         userspec: reformat to use spaces, not TABs
11478         * lib/userspec.c: Expand TABs to spaces.
11479         Add Emacs' "indent-tabs-mode: nil" hint.
11480
11481 2009-11-27  Eric Blake  <ebb9@byu.net>
11482
11483         getopt-gnu: flush out another BSD bug
11484         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
11485         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
11486         flush out BSD bug.
11487         * tests/test-getopt.h (test_getopt): End lists with NULL.
11488         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11489         (test_getopt_long_posix): Enhance test.
11490         * modules/getopt-posix-tests (Depends-on): Add stdbool.
11491         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
11492         getopt-gnu.
11493         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11494         Likewise.
11495
11496 2009-11-27  Simon Josefsson  <simon@josefsson.org>
11497
11498         * modules/idpriv-droptemp-tests (Notice): Fix text.
11499
11500 2009-11-27  Jim Meyering  <meyering@redhat.com>
11501
11502         test-xalloc-die: avoid spurious failure due to libtool argv difference
11503         In a libtool-enabled project, this test would fail due to a difference
11504         in the emitted program name, e.g.,
11505         -test-xalloc-die: memory exhausted
11506         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
11507         Use program to avoid that.
11508         * modules/xalloc-die-tests (Depends-on): Add progname.
11509         * tests/test-xalloc-die.c: Include progname.h".
11510         (program_name): Remove decl.
11511         (main): Call set_program_name.
11512         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
11513
11514 2009-11-26  Richard Jones  <rjones@redhat.com>
11515
11516         w32sock: leave win32 error in place.
11517         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
11518
11519 2009-11-26  Eric Blake  <ebb9@byu.net>
11520
11521         init.sh: suggest to use skip_ and fail_ functions in comments
11522         * tests/init.sh: Add a sentence.
11523
11524 2009-11-25  Bruno Haible  <bruno@clisp.org>
11525
11526         init.sh: add documentation in comments
11527         * tests/init.sh: Add some developer and user documentation.
11528
11529 2009-11-26  Jim Meyering  <meyering@redhat.com>
11530
11531         init.sh: accommodate even those who specify bogus srcdir manually
11532         * tests/init.sh: Normally, srcdir is guaranteed by automake and
11533         configure-time tests to be sanitized, so that there is no need to
11534         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
11535         (with no double quotes) suffices.  However, since tests may be
11536         invoked manually, and since you may explicitly set srcdir to the
11537         name of a directory containing spaces, do quote its uses here.
11538         * tests/test-pread.sh: Likewise.
11539         Suggested by Bruno Haible.
11540
11541         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
11542         * tests/test-pread.sh: Write no data into the pipe, because
11543         test-pread actually reads none.  This avoids a diagnostic,
11544         "bash: echo: write error: Broken pipe", that arises in the unusual
11545         event something is ignoring SIGPIPE, and might be interpreted
11546         as some sort of failure.  Reported by Bruno Haible.
11547
11548 2009-11-25  Jim Meyering  <meyering@redhat.com>
11549
11550         test-pread: cover failure with ESPIPE and EINVAL
11551         * tests/test-pread.c (main): Test for failure, too.
11552         * tests/test-pread.sh: Invoke with stdin on a pipe.
11553         Suggested by Eric Blake.
11554
11555         pread: improvement and fix
11556         * modules/pread (Depends-on): Depend on lseek, for portability to
11557         e.g., mingw.  Suggested by Eric Blake.
11558         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
11559
11560         unistd.in.h: correct declaration of pread
11561         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
11562         Reported by Richard W.M. Jones.
11563
11564         test-pread.sh: distribute the test script
11565         * modules/pread-tests (Files): Include test-pread.sh.
11566
11567         test-pread.sh: clean up
11568         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
11569         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
11570         That is unnecessary, since it's always ".".
11571         Suggestion from Eric Blake.
11572
11573         test-pread.sh: make executable
11574         * tests/test-pread.sh: Set executable bit.
11575         Reported by Eric Blake.
11576
11577         correct typo in test-pread.sh
11578         * tests/test-pread.sh: Add #! line.
11579
11580         test pread
11581         * tests/test-pread.c: New file.
11582         * tests/test-pread.sh: Likewise.
11583         * modules/pread-tests: Likewise.
11584
11585         pread: new module
11586         * modules/pread: New file.
11587         * lib/unistd.in.h (pread): Define/declare.
11588         * lib/pread.c (pread): New file.
11589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
11590         * modules/unistd (Makefile.am): Substitute witnesses.
11591         * doc/posix-functions/pread.texi (pread): Update.
11592         * MODULES.html.sh: Add pread.
11593
11594 2009-11-25  Jim Meyering  <meyering@redhat.com>
11595
11596         tests/init.sh: new file to be used via most *.sh tests
11597         * tests/init.sh: New file.
11598
11599 2009-11-25  Eric Blake  <ebb9@byu.net>
11600
11601         utimens: work around older Linux failure with symlinks
11602         * lib/utimens.c (lutimensat_works_really): New variable.
11603         (fdutimens, lutimens): Use it to manage kernels that support
11604         nanosecond times on files, but not on symlinks.
11605         Reported by Ondřej Vašík.
11606
11607         utimes: fix configure grammar
11608         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
11609
11610 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
11611
11612         regex: Fix fastmap for multibyte character ranges.
11613         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
11614         characters when a multibyte character range is included.
11615
11616 2009-11-22  Andy Wingo  <wingo@pobox.com>
11617
11618         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
11619         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
11620
11621 2009-11-24  Bruno Haible  <bruno@clisp.org>
11622
11623         doc: Most *_l functions exist in MacOS X 10.5.
11624         * doc/posix-functions/duplocale.texi: Update platforms list.
11625         * doc/posix-functions/freelocale.texi: Likewise.
11626         * doc/posix-functions/newlocale.texi: Likewise.
11627         * doc/posix-functions/uselocale.texi: Likewise.
11628         * doc/posix-functions/isalnum_l.texi: Likewise.
11629         * doc/posix-functions/isalpha_l.texi: Likewise.
11630         * doc/posix-functions/isblank_l.texi: Likewise.
11631         * doc/posix-functions/iscntrl_l.texi: Likewise.
11632         * doc/posix-functions/isdigit_l.texi: Likewise.
11633         * doc/posix-functions/isgraph_l.texi: Likewise.
11634         * doc/posix-functions/islower_l.texi: Likewise.
11635         * doc/posix-functions/isprint_l.texi: Likewise.
11636         * doc/posix-functions/ispunct_l.texi: Likewise.
11637         * doc/posix-functions/isspace_l.texi: Likewise.
11638         * doc/posix-functions/isupper_l.texi: Likewise.
11639         * doc/posix-functions/iswalnum_l.texi: Likewise.
11640         * doc/posix-functions/iswalpha_l.texi: Likewise.
11641         * doc/posix-functions/iswblank_l.texi: Likewise.
11642         * doc/posix-functions/iswcntrl_l.texi: Likewise.
11643         * doc/posix-functions/iswctype_l.texi: Likewise.
11644         * doc/posix-functions/iswdigit_l.texi: Likewise.
11645         * doc/posix-functions/iswgraph_l.texi: Likewise.
11646         * doc/posix-functions/iswlower_l.texi: Likewise.
11647         * doc/posix-functions/iswprint_l.texi: Likewise.
11648         * doc/posix-functions/iswpunct_l.texi: Likewise.
11649         * doc/posix-functions/iswspace_l.texi: Likewise.
11650         * doc/posix-functions/iswupper_l.texi: Likewise.
11651         * doc/posix-functions/iswxdigit_l.texi: Likewise.
11652         * doc/posix-functions/isxdigit_l.texi: Likewise.
11653         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
11654         * doc/posix-functions/strcasecmp_l.texi: Likewise.
11655         * doc/posix-functions/strcoll_l.texi: Likewise.
11656         * doc/posix-functions/strfmon_l.texi: Likewise.
11657         * doc/posix-functions/strftime_l.texi: Likewise.
11658         * doc/posix-functions/strncasecmp_l.texi: Likewise.
11659         * doc/posix-functions/strxfrm_l.texi: Likewise.
11660         * doc/posix-functions/tolower_l.texi: Likewise.
11661         * doc/posix-functions/toupper_l.texi: Likewise.
11662         * doc/posix-functions/towctrans_l.texi: Likewise.
11663         * doc/posix-functions/towlower_l.texi: Likewise.
11664         * doc/posix-functions/towupper_l.texi: Likewise.
11665         * doc/posix-functions/wcscoll_l.texi: Likewise.
11666         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
11667         * doc/posix-functions/wctrans_l.texi: Likewise.
11668         * doc/posix-functions/wctype_l.texi: Likewise.
11669         * doc/glibc-functions/strptime_l.texi: Likewise.
11670         * doc/glibc-functions/strtod_l.texi: Likewise.
11671         * doc/glibc-functions/strtof_l.texi: Likewise.
11672         * doc/glibc-functions/strtol_l.texi: Likewise.
11673         * doc/glibc-functions/strtold_l.texi: Likewise.
11674         * doc/glibc-functions/strtoll_l.texi: Likewise.
11675         * doc/glibc-functions/strtoul_l.texi: Likewise.
11676         * doc/glibc-functions/strtoull_l.texi: Likewise.
11677         * doc/glibc-functions/wcsftime_l.texi: Likewise.
11678         * doc/glibc-functions/wcstod_l.texi: Likewise.
11679         * doc/glibc-functions/wcstof_l.texi: Likewise.
11680         * doc/glibc-functions/wcstol_l.texi: Likewise.
11681         * doc/glibc-functions/wcstold_l.texi: Likewise.
11682         * doc/glibc-functions/wcstoll_l.texi: Likewise.
11683         * doc/glibc-functions/wcstoul_l.texi: Likewise.
11684         * doc/glibc-functions/wcstoull_l.texi: Likewise.
11685
11686 2009-11-24  Bruno Haible  <bruno@clisp.org>
11687
11688         duplocale: Fix logic bug.
11689         * lib/duplocale.c: Don't include <langinfo.h>.
11690         (_NL_LOCALE_NAME): Remove macro.
11691         (rpl_duplocale): Use setlocale instead of nl_langinfo.
11692         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
11693
11694 2009-11-23  Jim Meyering  <meyering@redhat.com>
11695
11696         test-update-copyright: don't hard-code /usr/bin/perl
11697         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
11698         perl to print the current year.  Gilles Espinasse reported that
11699         the replaced use of perl was hard-coded as /usr/bin/perl.
11700
11701 2009-11-23  Bruno Haible  <bruno@clisp.org>
11702
11703         duplocale: Add support for glibc 2.3.x.
11704         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
11705
11706 2009-11-22  Bruno Haible  <bruno@clisp.org>
11707
11708         vasnprintf: Tiny optimization.
11709         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
11710         MacOS X.
11711
11712 2009-11-22  Bruno Haible  <bruno@clisp.org>
11713
11714         Tests for module 'duplocale'.
11715         * modules/duplocale-tests: New file.
11716         * tests/test-duplocale.c: New file.
11717
11718         New module 'duplocale'.
11719         * m4/duplocale.m4: New file.
11720         * lib/locale.in.h (duplocale): New declaration.
11721         * lib/duplocale.c: New file.
11722         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
11723         gl_LOCALE_H_DEFAULTS): New macros.
11724         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
11725         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
11726         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
11727         REPLACE_DUPLOCALE.
11728         * modules/duplocale: New file.
11729         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
11730
11731 2009-11-22  Bruno Haible  <bruno@clisp.org>
11732
11733         * modules/locale-tests (configure.ac): Test for newlocale function.
11734         * tests/test-locale.c: When the system has extended locale functions,
11735         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
11736
11737         locale: Make locale_t available when possible.
11738         * lib/locale.in.h: Include <xlocale.h> when it exists.
11739         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
11740         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
11741         * modules/locale (Depends-on): Add extensions.
11742         (Makefile.am): Also substitute HAVE_XLOCALE_H.
11743         * doc/posix-headers/locale.texi: Document the problem with locale_t.
11744
11745 2009-11-22  Bruno Haible  <bruno@clisp.org>
11746
11747         Add comments.
11748         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
11749         invocation.
11750         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
11751         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11752         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
11753
11754 2009-11-22  Bruno Haible  <bruno@clisp.org>
11755
11756         error: account for the possibility of freopen (stdout).
11757         * lib/error.c: Include <unistd.h>.
11758         (flush_stdout): New function, extracted from error and error_at_line.
11759         Determine stdout's fd dynamically.
11760         (error, error_at_line): Invoke flush_stdout.
11761         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
11762         * modules/error (Depends-on): Add unistd.
11763
11764 2009-11-22  Bruno Haible  <bruno@clisp.org>
11765
11766         diffseq: Add comment.
11767         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
11768
11769 2009-11-22  Jim Meyering  <meyering@redhat.com>
11770
11771         c-stack: avoid defining an unused static function
11772         * lib/c-stack.c (find_stack_direction): Do not define this function
11773         when it will not be used.
11774
11775         diffseq: avoid spurious gcc warnings
11776         * lib/diffseq.h (IF_LINT2): Define.
11777         (compareseq): Use it to initialize two members of "part".
11778         This avoids two used-uninitialized warnings.
11779
11780 2009-11-21  Jim Meyering  <meyering@redhat.com>
11781
11782         c-stack: avoid "ignoring return value of `write'" warning
11783         * lib/c-stack.c: Include "ignore-value.h".
11784         (die): Explicitly ignore each write return value.
11785         * modules/c-stack (Depends-on): Add ignore-value.
11786
11787 2009-11-21  Bruno Haible  <bruno@clisp.org>
11788
11789         diffseq: reduce scope of variable 'best'.
11790         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
11791         variable, earlier used for two different purposes.
11792
11793 2009-11-21  Jim Meyering  <meyering@redhat.com>
11794
11795         diffseq: remove useless assignment to "best"
11796         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
11797         assignment.  At that point "best" is already guaranteed to be zero.
11798
11799 2009-11-20  Eric Blake  <ebb9@byu.net>
11800
11801         build: mention ftp redirector in release announcements
11802         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
11803         values that used to come from cfg.mk; mention FTP redirect URL.
11804         * build-aux/announce-gen: Mention the mirror list.
11805         Suggested by Karl Berry.
11806
11807         nanosleep: improve port to mingw
11808         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
11809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
11810         LIB_NANOSLEEP, but only when needed.
11811         * modules/select (Link): Document LIBSOCKET.
11812         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
11813         enough.
11814
11815         nanosleep: work around cygwin bug
11816         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
11817         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
11818         bug.
11819         (getnow): Delete, not needed.
11820         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
11821         LIB_CLOCK_GETTIME.
11822         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
11823         clock-time, gettime.
11824         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
11825         bug.
11826         * modules/nanosleep-tests: New test.
11827         * tests/test-nanosleep.c: New file.
11828
11829         sleep: work around cygwin bug
11830         * lib/sleep.c (rpl_sleep): Work around the bug.
11831         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
11832         (gl_PREREQ_SLEEP): Delete unused macro.
11833         * modules/sleep (Depends-on): Add verify.
11834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11835         * modules/unistd (Makefile.am): Substitute witness.
11836         * lib/unistd.in.h (sleep): Update prototype.
11837         * doc/posix-functions/sleep.texi (sleep): Document the bug.
11838         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
11839         * modules/sleep-tests (Depends-on): Check for alarm.
11840
11841 2009-11-20  Jim Meyering  <meyering@redhat.com>
11842
11843         maint.mk: improve sc_prohibit_magic_number_exit
11844         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
11845         so it does not match uses like System.exit(1).
11846         Add comments showing how to correct all offenders.
11847
11848 2009-11-19  Eric Blake  <ebb9@byu.net>
11849
11850         xalloc-die-tests: add missing library
11851         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
11852
11853         test-xvasprintf: silence compiler warnings
11854         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
11855         empty string from gcc.
11856
11857 2009-11-19  Jim Meyering  <meyering@redhat.com>
11858
11859         xfreopen: new module, from coreutils
11860         * modules/xfreopen: New module.
11861         * lib/xfreopen.c: New file.
11862         * lib/xfreopen.h: New file.
11863         * MODULES.html.sh (File stream based Input/Output"): Add it.
11864
11865 2009-11-19  Eric Blake  <ebb9@byu.net>
11866
11867         manywarnings: depend on warnings
11868         * modules/manywarnings (Depends-on): Add warnings.
11869
11870         build: avoid compiler warnings
11871         * lib/select.c (rpl_select): Delete unused variable.
11872         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
11873
11874 2009-11-18  Eric Blake  <ebb9@byu.net>
11875
11876         tests: avoid false negative with --with-packager
11877         * tests/test-version-etc.sh: Discard packager information.
11878         * tests/test-argp-version-etc-1.sh: Likewise.
11879         Reported by Mike Frysinger.
11880
11881         utimens: fix regression on Solaris
11882         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
11883         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
11884         can only change fd timestamps via futimesat.  Instead, use an
11885         additional witness macro to avoid BSD bug.
11886         Reported by Jim Meyering.
11887
11888 2009-11-17  Eric Blake  <ebb9@byu.net>
11889
11890         usleep: use it to simplify tests
11891         * modules/stat-time-tests (Depends-on): Add usleep.
11892         (configure.ac): Drop usleep check.
11893         * modules/chown-tests (Depends-on, configure.ac): Likewise.
11894         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
11895         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
11896         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
11897         * modules/openat-tests (Depends-on, configure.ac): Likewise.
11898         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
11899         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
11900         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
11901         Likewise.
11902         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
11903         * tests/test-lchown.h (nap): Likewise.
11904         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
11905         * tests/test-stat-time.c (nap): Likewise.
11906         * tests/test-utimens-common.h (nap): Update comments.
11907
11908         usleep: new module
11909         * modules/usleep: New file.
11910         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
11911         * lib/usleep.c (usleep): Likewise.
11912         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11913         * modules/unistd (Makefile.am): Substitute witnesses.
11914         * lib/unistd.in.h (usleep): Add declaration.
11915         * doc/pastposix-functions/usleep.texi (usleep): Document this.
11916         * MODULES.html.sh (Date and time): Likewise.
11917         * modules/usleep-tests (Depends-on): New test.
11918         * tests/test-usleep.c: New file.
11919
11920         chown: work around OpenBSD bug
11921         * lib/chown.c (rpl_chown): Work around the bug.
11922         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
11923         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
11924         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
11925         * modules/chown (Depends-on): Add stdbool.
11926         * modules/lchown (Depends-on): Likewise.
11927         * doc/posix-functions/chown.texi (chown): Document the bug.
11928         * doc/posix-functions/lchown.texi (lchown): Likewise.
11929         * tests/test-lchown.h (test_chown): Relax test.
11930
11931         mkstemp: avoid conflict with C++ keyword template
11932         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
11933         * lib/mkostemp.c (mkostemp): Likewise.
11934         * lib/mkostemps.c (mkostemps): Likewise.
11935         * lib/mkstemp.c (mkstemp): Likewise.
11936         * lib/mkstemps.c (mkstemps): Likewise.
11937
11938         xalloc-die-tests: optimize
11939         * tests/test-xalloc-die.sh: Reduce number of processes.
11940
11941 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11942
11943         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
11944         patch from ludo@gnu.org (Ludovic Courtès).
11945
11946 2009-11-17  Jim Meyering  <meyering@redhat.com>
11947
11948         version-etc: use proper license string
11949         * modules/version-etc (License): Use LGPL, not LGPLv3+.
11950         * modules/version-etc-fsf: Likewise.
11951
11952 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11953
11954         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
11955         printed to stdout.  Deal with EOL differences.
11956
11957 2009-11-17  Eric Blake  <ebb9@byu.net>
11958
11959         unsetenv: work around Solaris bug
11960         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
11961         * lib/unsetenv.c (rpl_unsetenv): Work around it.
11962         Reported by Jim Meyering.
11963
11964         vasnprintf: avoid compiler warnings
11965         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
11966         variables.
11967         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
11968
11969 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11970
11971         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
11972         settings since xalloc-die is no longer the self test,
11973         xalloc-die.sh is.
11974
11975 2009-11-17  Jim Meyering  <meyering@redhat.com>
11976
11977         test-xalloc-die.sh: make the code agree with the commit log
11978         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
11979         at the end, just in case you happen to have a test-xalloc-die
11980         program in some other PATH directory.
11981
11982         test-xalloc-die.sh: fix a portability bug
11983         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
11984         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
11985         Otherwise, argv[0] (as often seen in diagnostics) would be too
11986         system-dependent, sometimes with, and sometimes without the leading "./".
11987
11988         version-etc-fsf: relax license to LGPLv3+
11989         * modules/version-etc-fsf (License): Relax license.
11990
11991 2009-11-16  Eric Blake  <ebb9@byu.net>
11992
11993         xalloc-die-tests: avoid printing null pointer
11994         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
11995         shell script.
11996         * tests/test-xalloc-die.c (program_name): Declare.
11997         * tests/test-xalloc-die.sh (tmpfiles): New file.
11998
11999         setenv, unsetenv: work around various bugs
12000         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
12001         (setenv) [HAVE_SETENV]: Work around bugs.
12002         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
12003         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
12004         for bugs.
12005         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
12006         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
12007         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
12008         * modules/stdlib (Makefile.am): Update substitutions.
12009         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
12010         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
12011         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12012         * modules/setenv-tests: New test.
12013         * modules/unsetenv-tests: Likewise.
12014         * tests/test-setenv.c: New file.
12015         * tests/test-unsetenv.c: Likewise.
12016
12017 2009-11-16  Jim Meyering  <meyering@redhat.com>
12018
12019         version-etc: relax license to LGPLv3+
12020         * modules/version-etc (License): Relax license.
12021
12022         better AC_REQUIRE expanded-before-required-warning avoidance
12023         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
12024         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
12025         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
12026         which is no longer needed.
12027
12028 2009-11-16  Eric Blake  <ebb9@byu.net>
12029
12030         test-freading: clean up temporary file
12031         * tests/test-freading.c (main): Remove file on success, and use
12032         ASSERT more liberally.
12033         Reported by Jim Meyering.
12034
12035 2009-11-16  Jim Meyering  <meyering@redhat.com>
12036
12037         avoid new AC_REQUIRE expanded-before-required warnings
12038         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
12039         merely using it.
12040         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
12041         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
12042
12043 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12044
12045         * tests/test-xalloc-die.c: New file.
12046         * modules/xalloc-die-tests: New file.
12047         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
12048         XFAIL_TESTS so it can be appended by modules.
12049
12050 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12051
12052         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
12053         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
12054
12055 2009-11-14  Eric Blake  <ebb9@byu.net>
12056
12057         fnmatch: avoid compiler warning
12058         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
12059         to silence compiler warning about mismatch signedness in ?:.
12060         Reported by Robert Millan.
12061
12062         intprops: add double-inclusion guard
12063         * lib/intprops.h: Allow idempotent includes.
12064         Suggested by Bruce Korb.
12065
12066         openat: detect Solaris fchownat bug
12067         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
12068         penalizing glibc chownat when only lchownat is broken.
12069         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
12070         trailing slash bugs.
12071         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
12072         * modules/openat-tests (Files): Include more files.
12073         (Depends-on): Add mgetgroups, sleep, stat-time.
12074         (configure.ac): Add additional checks.
12075         (Makefile.am): Build new test.
12076         * tests/test-fchownat.c: New file.
12077
12078         lchown: detect Solaris and FreeBSD bug
12079         * lib/lchown.c (rpl_lchown): Work around bug.
12080         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
12081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12082         * modules/unistd (Makefile.am): Populate it.
12083         * lib/unistd.in.h (lchown): Update declaration.
12084         * doc/posix-functions/lchown.texi (lchown): Document the bug.
12085         * modules/lchown-tests: New file.
12086         * tests/test-lchown.h (test_lchown): Likewise.
12087         * tests/test-lchown.c (main): Likewise.
12088
12089         chown: detect Solaris and FreeBSD bug
12090         * lib/chown.c (rpl_chown): Work around bug.
12091         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
12092         (gl_PREREQ_CHOWN): Delete.
12093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12094         * modules/unistd (Makefile.am): Populate it.
12095         * lib/unistd.in.h (chown): Update declaration.
12096         * lib/lchown.c (chown): Update client.
12097         * modules/lchown (Depends-on): Add lstat.
12098         * doc/posix-functions/chown.texi (chown): Document the bug.
12099         * doc/posix-functions/getgroups.texi (getgroups): Document
12100         getgroups pitfall.
12101         * modules/chown-tests: New file.
12102         * tests/test-chown.h (test_chown): Likewise.
12103         * tests/test-chown.c (main): Likewise.
12104
12105 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
12106
12107         gnulib-tool: correctly detect absence of m4 directories
12108         * gnulib-tool: Avoid extra newline on data passed to wc -l.
12109
12110 2009-11-14  Jim Meyering  <meyering@redhat.com>
12111
12112         maint.mk: Prohibit inclusion of "xalloc.h" without use.
12113         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12114
12115 2009-11-14  John W. Eaton  <jwe@gnu.org>
12116
12117         strftime.h: wrap funtion declaration in extern "C" block
12118         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
12119
12120 2009-11-13  Eric Blake  <ebb9@byu.net>
12121
12122         getgroups: avoid compiler warning
12123         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
12124
12125         getgroups: work around FreeBSD bug
12126         * lib/getgroups.c (rpl_getgroups): Work around the bug.
12127         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
12128         * doc/posix-functions/getgroups.texi (getgroups): Document it.
12129         * tests/test-getgroups.c (main): Fix buffer overrun.
12130
12131         getgroups: avoid compilation failure
12132         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
12133         * modules/getgroups (Depends-on): Add stdint.
12134
12135 2009-11-13  Jim Meyering  <meyering@redhat.com>
12136
12137         test-getgroups: avoid compilation failure
12138         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
12139
12140 2009-11-13  Eric Blake  <ebb9@byu.net>
12141
12142         mgetgroups: new module, taken from coreutils
12143         * modules/mgetgroups: New file.
12144         * lib/mgetgroups.h: Likewise.
12145         * lib/mgetgroups.c (mgetgroups): Likewise.
12146         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
12147         * MODULES.html.sh (Users and groups): Mention it.
12148
12149         getgroups: don't expose GETGROUPS_T to user
12150         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
12151         an element at a time if GETGROUPS_T is wrong size.
12152         * lib/getugroups.h (getugroups): Change signature.
12153         * lib/unistd.in.h (getgroups): Likewise.
12154         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
12155         signature needs fixing.
12156         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
12157         AC_TYPE_GETGROUPS.
12158         * modules/group-member (Depends-on): Add getgroups.
12159         * lib/group-member.c (group_info, get_group_info): Use gid_t.
12160         (group_member): Rely on getgroups replacement.
12161         * lib/getugroups.c (getugroups): Use gid_t.
12162         * tests/test-getgroups.c (main): Likewise.
12163         * NEWS: Mention the signature change.
12164         * doc/posix-functions/getgroups.texi (getgroups): Mention the
12165         problem with signature.
12166         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
12167         GETGROUPS_T is still useful for setgroups.
12168
12169         getgroups, getugroups: provide stubs for mingw
12170         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
12171         * lib/getugroups.c (getugroups): Likewise.
12172         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
12173         function.  Modernize replacement scheme.
12174         (gl_PREREQ_GETGROUPS): Delete.
12175         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
12176         * modules/getgroups (configure.ac): Declare witness.
12177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
12178         * modules/unistd (Depends-on): Substitute witness.
12179         * lib/unistd.in.h (getgroups): Declare replacement.
12180
12181         getgroups: avoid calling exit
12182         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
12183         drop xalloc.
12184         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
12185         dependencies.
12186         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
12187         exiting, in the rare case of malloc failure.
12188
12189         getgroups: fix logic error
12190         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
12191         has more than 20 groups.
12192         * modules/getgroups-tests: New test.
12193         * tests/test-getgroups.c: New file.
12194
12195 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12196
12197         * tests/test-base64.c: Improve.
12198
12199 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12200
12201         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
12202         Blake <ebb9@byu.net>.
12203
12204 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12205
12206         * tests/test-xvasprintf.c: Add %s%s related checks.
12207
12208 2009-11-12  Eric Blake  <ebb9@byu.net>
12209
12210         version-etc: match standards.texi style
12211         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
12212         and use <> only for URLs.
12213
12214 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
12215
12216         fts: do not fail on a submount during traversal
12217         * lib/fts.c (fts_build): Read the stat info again after opening
12218         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
12219         Original report at http://bugzilla.redhat.com/501848.
12220
12221 2009-11-12  Jim Meyering  <meyering@redhat.com>
12222
12223         bootstrap: sync from coreutils
12224         * build-aux/bootstrap (bootstrap_epilogue): New function.
12225         Use git_modules_config in one more place.  This make bootstrap's
12226         --gnulib-srcdir option more useful for testing.
12227
12228         bootstrap: generalize autoheader check
12229         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
12230         AC_CONFIG_HEADERS.
12231
12232 2009-11-11  Eric Blake  <ebb9@byu.net>
12233
12234         mkfifoat: use new modules for Solaris and BSD bugs
12235         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
12236         * lib/mkfifoat.c (mknodat): Split...
12237         * lib/mknodat.c (mknodat): ...into new file.
12238         * modules/mkfifoat (Files): Ship new file.
12239         (Depends-on): Add mkfifo, mknod.
12240         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
12241         (Depends-on): Add symlink.
12242         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
12243         redundant with test_mkfifo.h.
12244         (do_mkfifoat, do_mknodat): New helpers.
12245
12246         mknod: new module
12247         * modules/mknod: New file.
12248         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
12249         * lib/mknod.c (mknod): Likewise.
12250         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12251         defaults.
12252         * modules/sys_stat (Makefile.am): Substitute them.
12253         * lib/sys_stat.in.h (mknod): Declare replacement.
12254         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12255         Document it.
12256         * doc/posix-functions/mknod.texi (mknod): Likewise.
12257         * modules/mknod-tests: New test.
12258         * tests/test-mknod.c: Likewise.
12259
12260         mkfifo: new module
12261         * modules/mkfifo: New file.
12262         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
12263         * lib/mkfifo.c (mkfifo): Likewise.
12264         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12265         defaults.
12266         * modules/sys_stat (Makefile.am): Substitute them.
12267         * lib/sys_stat.in.h (mkfifo): Declare replacement.
12268         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12269         Document it.
12270         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
12271         * modules/mkfifo-tests: New test.
12272         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
12273         from test-mkfifoat.c.
12274         * tests/test-mkfifo.c: New file.
12275
12276         readlink: detect FreeBSD bug
12277         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
12278         slash on symlink.
12279         * doc/posix-functions/readlink.texi (readlink): Document the bug.
12280         * tests/test-readlink.h (test_readlink): Enhance test.
12281
12282         symlink: detect FreeBSD bug
12283         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
12284         slash on symlink.
12285         * doc/posix-functions/symlink.texi (symlink): Document the bug.
12286         * tests/test-symlink.h (test_symlink): Enhance test.
12287
12288 2009-11-10  Eric Blake  <ebb9@byu.net>
12289
12290         link: detect FreeBSD bug
12291         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
12292         symlink.
12293         * doc/posix-functions/link.texi (link): Document the bug.
12294         * tests/test-link.h (test_link): Enhance test.
12295         * tests/test-linkat.c (main): Update caller.
12296
12297         unlink, remove: detect FreeBSD bug
12298         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
12299         slash on symlink.
12300         * doc/posix-functions/unlink.texi (unlink): Document the bug.
12301         * doc/posix-functions/remove.texi (remove): Likewise.
12302         * tests/test-unlink.h (test_unlink): Enhance test.
12303         * tests/test-remove.c (main): Likewise.
12304
12305 2009-11-09  Eric Blake  <ebb9@byu.net>
12306
12307         rename: detect FreeBSD bug
12308         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
12309         slash on symlink.
12310         * modules/renameat-tests (Depends-on): Add filenamecat.
12311         * tests/test-rename.h (test_rename): Allow one more errno.
12312         * tests/test-renameat.c (main): Likewise.
12313         * doc/posix-functions/rename.texi (rename): Document the bug.
12314
12315         open: detect FreeBSD bug
12316         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
12317         symlink.
12318         * doc/posix-functions/open.texi (open): Document the bug.
12319         * doc/posix-functions/utimes.texi (utimes): Likewise.
12320         * tests/test-open.h (test_open): Add parameters, and test symlink
12321         handling.
12322         * tests/test-open.c (main): Adjust caller.
12323         * tests/test-fcntl-safer.c (main): Likewise.
12324         * modules/open-tests (Depends-on): Add stdbool, symlink.
12325         * modules/fcntl-safer-tests (Depends-on): Likewise.
12326         * tests/test-openat.c (main): Add test-open tests.
12327
12328         stat: detect FreeBSD bug
12329         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
12330         symlink.
12331         * doc/posix-functions/stat.texi (stat): Document the bug.
12332         * tests/test-stat.h (test_stat_func): Add argument.
12333         * tests/test-stat.c (main): Adjust caller.
12334         * tests/test-fstatat.c (main): Likewise.
12335         * modules/stat-tests (Depends-on): Add stdbool, symlink.
12336         Reported by Jim Meyering.
12337
12338 2009-11-09  James Youngman  <jay@gnu.org>
12339
12340         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
12341         * lib/strftime.c: Correct placement of #include "ignore-value.h".
12342
12343 2009-11-08  Jim Meyering  <meyering@redhat.com>
12344
12345         utimens: remove invalid futimesat call
12346         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
12347         It used the file descriptor of the target file as the DIR_FD
12348         parameter and NULL as the file name.  That caused failure with
12349         errno == EFAULT on FreeBSD-8.0-rc2
12350
12351 2009-11-07  Eric Blake  <ebb9@byu.net>
12352
12353         fflush, freadseek: use fseeko, not fseek
12354         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
12355         (clear_ungetc_buffer): Avoid potential problems on large files.
12356         * lib/freadseek.c (freadseek): Likewise.
12357         * modules/freadseek (Depends-on): Add fseeko.
12358         * modules/fseek (configure.ac): Set a witness.
12359         * tests/test-fflush.c (main): Use fseeko.
12360         * tests/test-fpurge.c (fseek): Disable link warning.
12361         * tests/test-freadable.c (fseek): Likewise.
12362         * tests/test-freading.c (fseek): Likewise.
12363         * tests/test-fseeko.c (fseek): Likewise.
12364         * tests/test-ftell.c (fseek): Likewise.
12365         * tests/test-ftello.c (fseek): Likewise.
12366         * tests/test-fwritable.c (fseek): Likewise.
12367         * tests/test-fwriting.c (fseek): Likewise.
12368
12369 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12370
12371         * modules/memchr (Depends-on): Drop getpagesize dependency.
12372
12373 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12374
12375         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
12376         Reported by Ludovic Courtès.
12377         * build-aux/pmccabe2html: Improve example usage.
12378         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
12379
12380 2009-11-06  Jim Meyering  <meyering@redhat.com>
12381
12382         do-release-commit-and-tag: New module.
12383         Automate the release-commit and tag process.
12384         * build-aux/do-release-commit-and-tag: New script, from coreutils.
12385         * modules/do-release-commit-and-tag: New file.
12386         * MODULES.html.sh (Support for maintaining and releasing): Add it.
12387
12388 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12389
12390         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
12391         because test-select.c uses inet_pton.
12392
12393 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12394
12395         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
12396         GETADDRINFO_LIB.  Bump serial number.
12397         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
12398         Suggested by Eric Blake <ebb9@byu.net>.
12399
12400 2009-11-05  Eric Blake  <ebb9@byu.net>
12401
12402         strtod: detect darwin bug
12403         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
12404         Reported by Leo Davis.
12405
12406         freopen-safer: new module
12407         * modules/freopen-safer: New module.
12408         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
12409         * lib/freopen-safer.c (freopen_safer): New file.
12410         * lib/stdio-safer.h (freopen_safer): New declaration.
12411         * lib/stdio--.h (freopen): New override.
12412         * MODULES.html.sh (File stream based Input/Output): Mention it.
12413         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
12414         freopen-safer module.
12415         * doc/posix-functions/stderr.texi (stderr): Likewise.
12416         * doc/posix-functions/stdin.texi (stdin): Likewise.
12417         * doc/posix-functions/stdout.texi (stdout): Likewise.
12418         * modules/freopen-safer-tests: New test.
12419         * tests/test-reopen-safer.c: New file.
12420
12421 2009-11-05  Jim Meyering  <meyering@redhat.com>
12422
12423         maint.mk: Prohibit inclusion of "close-stream.h" without use.
12424         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12425
12426 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12427
12428         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
12429
12430 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12431
12432         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
12433
12434 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12435
12436         Fix link error.
12437         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12438         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12439
12440 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12441
12442         * tests/test-func.c: Also test value of __func__.
12443
12444 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12445
12446         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
12447         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
12448
12449 2009-11-05  Bruno Haible  <bruno@clisp.org>
12450
12451         Fix link error.
12452         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12453         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12454         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
12455
12456 2009-11-05  Bruno Haible  <bruno@clisp.org>
12457
12458         Tests for module 'inet_pton'.
12459         * modules/inet_pton-tests: New file.
12460         * tests/test-inet_pton.c: New file.
12461
12462 2009-11-05  Bruno Haible  <bruno@clisp.org>
12463
12464         Tests for module 'inet_ntop'.
12465         * modules/inet_ntop-tests: New file.
12466         * tests/test-inet_ntop.c: New file.
12467
12468 2009-11-04  Eric Blake  <ebb9@byu.net>
12469
12470         stdlib-safer: wrap all mkstemp variants
12471         * modules/mkostemp (configure.ac): Set witness.
12472         * modules/mkostemps (configure.ac): Likewise.
12473         * modules/mkstemps (configure.ac): Likewise.
12474         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
12475         (mkstemps_safer): Wrap more functions.
12476         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
12477         wrapping.
12478         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
12479         (mkstemps_safer): Implement the wrappers.
12480
12481         mkstemps, mkostemps: new modules
12482         * modules/mkostemps: New module.
12483         * modules/mkstemps: Likewise.
12484         * lib/mkostemps.c (mkostemps): New file.
12485         * lib/mkstemps.c (mkstemps): Likewise.
12486         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
12487         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
12488         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
12489         * modules/stdlib (Makefile.am): Substitute them.
12490         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
12491         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
12492         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12493         * doc/gnulib.texi (Glibc stdlib.h): Include them.
12494         * MODULES.html.sh (File system functions): Mention them.
12495
12496         tempname: resync from glibc
12497         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
12498         same values for __GT_FILE as glibc.  Abort even when assertions
12499         are disabled.
12500         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
12501         match its value otherwise.  Allow idempotent inclusion.
12502         * lib/mkdtemp.c (mkdtemp): Adjust caller.
12503         * lib/mkostemp.c (mkostemp): Likewise.
12504         * lib/mkstemp.c (mkstemp): Likewise.
12505         * lib/tmpfile.c (tmpfile): Likewise.
12506         * NEWS: Document this.
12507
12508         utimens: fix use of futimens on older Linux
12509         * lib/utimens.c (fdutimens): Use updated, rather than original,
12510         timespec to avoid bug in older Linux kernel.
12511         Reported by Simon Josefsson.
12512
12513 2009-11-04  Bruno Haible  <bruno@clisp.org>
12514
12515         Make num_processors more flexible and consistent.
12516         * lib/nproc.h (enum nproc_query): New type.
12517         (num_processors): Add a 'query' argument.
12518         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
12519         (num_processors): Add a 'query' argument. Test the value of the
12520         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
12521         mingw, count the number of CPUs available for the current process.
12522         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
12523         Check for sched_getaffinity and sched_getaffinity_np.
12524         * modules/nproc (Depends-on): Add c-ctype, extensions.
12525         * NEWS: Mention the change.
12526
12527 2009-11-03  Bruno Haible  <bruno@clisp.org>
12528
12529         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
12530
12531 2009-11-03  Jim Meyering  <meyering@redhat.com>
12532
12533         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
12534         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
12535         if it is defined.
12536
12537 2009-11-02  Eric Blake  <ebb9@byu.net>
12538
12539         mktime, timegm: share common declaration
12540         * lib/mktime-internal.h: New file.
12541         * lib/mktime.c: Use it rather than open-coding a declaration.
12542         * lib/timegm.c: Likewise.
12543         * modules/mktime (Files): Ship it.
12544         * modules/timegm (Files): Likewise.
12545         Suggested by Bruno Haible.
12546
12547         test-update-copyright: update test to match script changes
12548         * tests/test-update-copyright.sh: Avoid hard-coding perl
12549         location.  Don't update *.bak created by earlier runs.
12550
12551 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12552             Simon Josefsson  <simon@josefsson.org>
12553             Bruno Haible  <bruno@clisp.org>
12554
12555         Fix link error on Solaris 8.
12556         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
12557         also in libnsl. Define also INET_PTON_LIB.
12558         * modules/inet_pton (Link): New section.
12559
12560 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12561             Bruno Haible  <bruno@clisp.org>
12562
12563         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
12564         * modules/inet_ntop (Link): New section.
12565         Reported by Boyan Kasarov <bkasarov@gmail.com>.
12566
12567 2009-11-02  Eric Blake  <ebb9@byu.net>
12568
12569         maint: avoid compiler warnings in m4 macros
12570         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
12571         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
12572
12573 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12574
12575         * m4/pmccabe2html.m4: Remove file.
12576         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
12577         function.  Change maintainer.
12578         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
12579         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
12580         Courtès).
12581
12582 2009-10-31  Eric Blake  <ebb9@byu.net>
12583
12584         fseeko: fix m4 regression
12585         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
12586         regression from 2009-10-27.
12587         Reported by Ralf Wildenhues.
12588
12589 2009-10-31  Jim Meyering  <meyering@redhat.com>
12590
12591         inttostr: aesthetics and improved (compile-time) safety
12592         Define inttype_is_signed rather than inttype_is_unsigned,
12593         since the sole use is via "#if inttype_is_signed".
12594         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
12595         inttype_is_unsigned.
12596         * lib/offtostr.c (inttype_is_signed): Likewise.
12597         * lib/uinttostr.c (inttype_is_signed): Likewise.
12598         * lib/umaxtostr.c (inttype_is_signed): Likewise.
12599         * lib/inttostr.c (inttostr): Use verify to cross-check the
12600         inttype_is_signed value and the signedness of the actual type.
12601         * modules/inttostr (Depends-on): Add verify.
12602
12603 2009-10-30  Eric Blake  <ebb9@byu.net>
12604
12605         build: avoid compiler warnings
12606         * lib/fchmodat.c (lchmod): Mark unused variables.
12607         * lib/getopt.c (_getopt_initialize): Likewise.
12608         * lib/mktime.c (__mktime_internal): Provide prototype.
12609         * lib/inttostr.c (inttostr): Avoid compiler warning even with
12610         older gcc that do not understand #pragma GCC diagnostic.
12611         * lib/uinttostr.c (inttype_is_unsigned): Define.
12612         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
12613
12614 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
12615
12616         stat: fix compilation on AIX
12617         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
12618         only see struct stat64.
12619
12620 2009-10-30  Eric Blake  <ebb9@byu.net>
12621
12622         exclude: make more robust
12623         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
12624         rather than masking a coding bug.
12625         Suggested by Bruno Haible.
12626
12627 2009-10-30  Jim Meyering  <meyering@redhat.com>
12628
12629         perl scripts: remove #!/usr/bin/perl in favor of more portable...
12630         Rather than putting #!/usr/bin/perl on the first line,
12631         start with a variant of what's recommended by "man perlrun" that
12632         invokes the first "perl" program from your shell's search path.
12633         * build-aux/gitlog-to-changelog: Replace #!... as above.
12634         Add a "Local Variables" perl mode setting.
12635         Prompted by a patch from Ludovic Courtès.
12636         Improved by Eric Blake.
12637         * build-aux/useless-if-before-free: Likewise.
12638         * build-aux/announce-gen: Likewise.
12639         * build-aux/update-copyright: Likewise.
12640
12641 2009-10-29  Eric Blake  <ebb9@byu.net>
12642
12643         filenamecat-lgpl: adjust clients
12644         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
12645         filenamecat.
12646         * modules/renameat (Depends-on): Likewise.
12647
12648         filenamecat: split into filenamecat-lgpl
12649         * modules/filenamecat-lgpl: New module.
12650         * modules/filenamecat (Files): Move library-safe files into
12651         filenamecat-lgpl.
12652         (Depends-on): Add filenamecat-lgpl.
12653         (configure.ac): Declare witness.
12654         * lib/filenamecat.h (file_name_concat): Only declare when using
12655         GPL module.
12656         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
12657         Move...
12658         * lib/filenamecat-lgpl.c: ...into new file.
12659         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
12660         (gl_FILE_NAME_CONCAT): Use it.
12661         * MODULES.html.sh (File system functions): Mention new module.
12662
12663         argp: avoid memory leak
12664         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
12665         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
12666         base_name, since the latter malloc()s and can call exit().
12667         Leak introduced 2006-07-03.
12668
12669         dirname-lgpl: adjust clients that don't need full dirname
12670         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
12671         * modules/filenamecat (Depends-on): Likewise.
12672         * modules/linkat (Depends-on): Likewise.
12673         * modules/mkancesdirs (Depends-on): Likewise.
12674         * modules/mkdir (Depends-on): Likewise.
12675         * modules/openat (Depends-on): Likewise.
12676         * modules/savewd (Depends-on): Likewise.
12677         * modules/rename (Depends-on): Likewise.
12678         (License): Relax license.
12679         * modules/mkdir-tests (Depends-on): Drop progname.
12680         (Makefile.am): Delete unneeded LDADD.
12681         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
12682
12683         dirname: split into dirname-lgpl
12684         * modules/dirname-lgpl: New module.
12685         * modules/dirname (Files): Move library-safe files into
12686         dirname-lgpl.
12687         (Depends-on): Add dirname-lgpl.
12688         (configure.ac): Declare witness.
12689         * modules/double-slash-root (License): Relax license.
12690         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
12691         module.
12692         * lib/dirname.c (dir_len, mdir_name): Move...
12693         * lib/dirname-lgpl.c: ...into new file.
12694         * lib/basename.c (last_component, base_len): Move...
12695         * lib/basename-lgpl.c: ...into new file.
12696         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
12697         (gl_DIRNAME): Use it.
12698         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
12699         Mention new module.
12700         * modules/dirname-tests (Depends-on): Add progname.
12701         * tests/test-dirname.c (program_name): Delete.
12702
12703         mkdir: make safe for libraries
12704         * modules/mkdir (Depends-on): Drop xalloc.
12705         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
12706         exit.
12707
12708         tests: avoid some compiler warnings
12709         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
12710         literals.
12711         * tests/test-memchr.c (main): Avoid type mismatch.
12712         * tests/test-arpa_inet.c (main): Avoid unused parameters.
12713         * tests/test-base64.c (main): Likewise.
12714         * tests/test-getdelim.c (main): Likewise.
12715         * tests/test-gethostname.c (main): Likewise.
12716         * tests/test-getline.c (main): Likewise.
12717         * tests/test-netinet_in.c (main): Likewise.
12718         * tests/test-select.c (open_server_socket, main): Likewise.
12719         * tests/test-select-stdin.c (main): Likewise.
12720         * tests/test-sockets.c (main): Likewise.
12721         * tests/test-strsignal.c (main): Likewise.
12722         * tests/test-sys_select.c (main): Likewise.
12723         * tests/test-sys_socket.c (main): Likewise.
12724         * tests/test-u64.c (main): Likewise.
12725         * tests/test-xfprintf-posix.c (main): Likewise.
12726         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
12727
12728         sockets: avoid compiler warning
12729         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
12730
12731         maint: detect usage(1) and other suspicious exits
12732         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
12733
12734 2009-10-29  Jim Meyering  <meyering@redhat.com>
12735
12736         timespec: long-to-int truncation could make timespec_cmp malfunction
12737         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
12738         a multiple of 2^32 nanoseconds as no difference.
12739
12740 2009-10-28  Jim Meyering  <meyering@redhat.com>
12741
12742         fprintftime: wrap macro code argument in "do {...} while(0)"
12743         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
12744         cpy macro must be a statement that can be followed by a semicolon.
12745         Now that the else clause contains a comment and is hence longer
12746         than one line, I require curly braces.  That in turn requires
12747         that we wrap this code block in the standard do...while(0).
12748
12749         fprintftime: remove stray semicolon from previous change
12750         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
12751
12752         fprintftime: avoid a warning about ignored fwrite return value
12753         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
12754         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
12755         that is unsafe.
12756         * modules/fprintftime (Depends-on): Add ignore-value.
12757
12758         exclude: avoid an unwarranted warning
12759         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
12760
12761 2009-10-27  Eric Blake  <ebb9@byu.net>
12762
12763         fseek: avoid compilation failure when fflush is replaced
12764         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
12765         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
12766         module is in use.
12767         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
12768         module is not in use; since REPLACE_FSEEK worked otherwise.
12769         (GNULIB_FTELLO): Likewise for ftell.
12770         Reported by Ian Beckwith and others.
12771
12772 2009-10-27  Bruno Haible  <bruno@clisp.org>
12773
12774         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
12775         Reported by Jim Meyering.
12776
12777 2009-10-27  Jim Meyering  <jim@meyering.net>
12778             Bruno Haible  <bruno@clisp.org>
12779
12780         Avoid warning despite dropping the return value of fwrite.
12781         * lib/unicodeio.c: Include ignore-value.h.
12782         (fwrite_success_callback): Explicitly ignore fwrite's return value.
12783         * modules/unicodeio (Depends-on): Add ignore-value.
12784
12785 2009-10-26  Eric Blake  <ebb9@byu.net>
12786
12787         areadlinkat: fix fallback path
12788         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
12789         pointer and zero.
12790
12791 2009-10-22  Pádraig Brady  <P@draigBrady.com>
12792
12793         Use a better IO block size for modern systems
12794         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
12795         * lib/md2.c: Likewise.
12796         * lib/md4.c: Likewise.
12797         * lib/md5.c: Likewise.
12798         * lib/sha1.c: Likewise.
12799         * lib/sha256.c: Likewise.
12800         * lib/sha512.c: Likewise.
12801
12802 2009-10-22  Eric Blake  <ebb9@byu.net>
12803
12804         tests: avoid several compiler warnings
12805         * tests/test-getcwd.c (main): Avoid buffer underflow.
12806         * tests/test-getdate.c (main): String literals are not safe with
12807         putenv, so use setenv.  Declare unused argument.
12808         * modules/getdate-tests (Depends-on): Add setenv.
12809         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
12810         problems with string literals in char *.
12811         * tests/test-hash.c (main): Avoid shadowing declaration.
12812         (insert_new): Treat string literals as char const *.
12813         * tests/test-getopt.h (test_getopt): Likewise.
12814         (getopt_loop): Alter types to minimize casting elsewhere.
12815         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
12816         (test_getopt_long_posix): Likewise.
12817         (do_getopt_long): Add wrapper to minimize casting.
12818         * tests/test-atexit.c (clear_temp_file): Use void.
12819         * tests/test-areadlink-with-size.c (main): Declare unused
12820         arguments.
12821         * tests/test-areadlink.c (main): Likewise.
12822         * tests/test-areadlinkat-with-size.c (main): Likewise.
12823         * tests/test-areadlinkat.c (main): Likewise.
12824         * tests/test-canonicalize-lgpl.c (main): Likewise.
12825         * tests/test-canonicalize.c (main): Likewise.
12826         * tests/test-dirent-safer.c (main): Likewise.
12827         * tests/test-dirname.c (main): Likewise.
12828         * tests/test-dup2.c (main): Likewise.
12829         * tests/test-fchdir.c (main): Likewise.
12830         * tests/test-fcntl-h.c (main): Likewise.
12831         * tests/test-fcntl-safer.c (main): Likewise.
12832         * tests/test-fdopendir.c (main): Likewise.
12833         * tests/test-fdutimensat.c (main): Likewise.
12834         * tests/test-fflush.c (main): Likewise.
12835         * tests/test-filenamecat.c (main): Likewise.
12836         * tests/test-filevercmp.c (main): Likewise.
12837         * tests/test-fopen-safer.c (main): Likewise.
12838         * tests/test-fopen.c (main): Likewise.
12839         * tests/test-fpending.c (main): Likewise.
12840         * tests/test-fpurge.c (main): Likewise.
12841         * tests/test-freading.c (main): Likewise.
12842         * tests/test-fstatat.c (main): Likewise.
12843         * tests/test-fsync.c (main): Likewise.
12844         * tests/test-futimens.c (main): Likewise.
12845         * tests/test-getndelim2.c (main): Likewise.
12846         * tests/test-gettimeofday.c (main): Likewise.
12847         * tests/test-getopt.c (main): Likewise.
12848         * tests/test-i-ring.c (main): Likewise.
12849         * tests/test-inttypes.c (main): Likewise.
12850         * tests/test-link.c (main): Likewise.
12851         * tests/test-lstat.c (main): Likewise.
12852         * tests/test-math.c (main): Likewise.
12853         * tests/test-md5.c (main): Likewise.
12854         * tests/test-memchr2.c (main): Likewise.
12855         * tests/test-memrchr.c (main): Likewise.
12856         * tests/test-mkdir.c (main): Likewise.
12857         * tests/test-mkdirat.c (main): Likewise.
12858         * tests/test-mkfifoat.c (main): Likewise.
12859         * tests/test-open.c (main): Likewise.
12860         * tests/test-openat-safer.c (main): Likewise.
12861         * tests/test-openat.c (main): Likewise.
12862         * tests/test-quotearg.c (main): Likewise.
12863         * tests/test-rawmemchr.c (main): Likewise.
12864         * tests/test-readlink.c (main): Likewise.
12865         * tests/test-remove.c (main): Likewise.
12866         * tests/test-rename.c (main): Likewise.
12867         * tests/test-renameat.c (main): Likewise.
12868         * tests/test-rmdir.c (main): Likewise.
12869         * tests/test-sha1.c (main): Likewise.
12870         * tests/test-signal.c (main): Likewise.
12871         * tests/test-sigaction.c (main): Likewise.
12872         * tests/test-stat.c (main): Likewise.
12873         * tests/test-stat-time.c (main): Likewise.
12874         * tests/test-stddef.c (main): Likewise.
12875         * tests/test-stdint.c (main): Likewise.
12876         * tests/test-stdio.c (main): Likewise.
12877         * tests/test-stdlib.c (main): Likewise.
12878         * tests/test-strchrnul.c (main): Likewise.
12879         * tests/test-strerror.c (main): Likewise.
12880         * tests/test-string.c (main): Likewise.
12881         * tests/test-strtod.c (main): Likewise.
12882         * tests/test-strverscmp.c (main): Likewise.
12883         * tests/test-symlink.c (main): Likewise.
12884         * tests/test-symlinkat.c (main): Likewise.
12885         * tests/test-sys_stat.c (main): Likewise.
12886         * tests/test-sys_time.c (main): Likewise.
12887         * tests/test-time.c (main): Likewise.
12888         * tests/test-unistd.c (main): Likewise.
12889         * tests/test-unlink.c (main): Likewise.
12890         * tests/test-unlinkat.c (main): Likewise.
12891         * tests/test-utimens.c (main): Likewise.
12892         * tests/test-utimensat.c (main): Likewise.
12893         * tests/test-version-etc.c (main): Likewise.
12894         * tests/test-wchar.c (main): Likewise.
12895         * tests/test-wctype.c (main): Likewise.
12896         * tests/test-xprintf-posix.c (main): Likewise.
12897         * tests/test-posixtm.c (main): Likewise.
12898         (STREQ): Delete unused macro.
12899         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
12900         shadowed variables.
12901         * tests/test-memchr.c (main): Likewise.
12902
12903 2009-10-21  Eric Blake  <ebb9@byu.net>
12904
12905         areadlinkat: avoid failure on older glibc
12906         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
12907         rather than mis-comparing 0 against FUNC_RESULT of char*.
12908
12909 2009-10-21  Bruno Haible  <bruno@clisp.org>
12910
12911         * modules/stpncpy (License): Relicense under LGPLv2+.
12912         Reported by David Lutterkort <lutter@redhat.com>.
12913
12914 2009-10-20  Eric Blake  <ebb9@byu.net>
12915
12916         utimensat: work around Solaris 9 bug
12917         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
12918         has trailing slash bugs.
12919         * tests/test-lutimens.h (test_lutimens): Enhance test.
12920         * tests/test-utimens.h (test_utimens): Likewise.
12921         * doc/posix-functions/utime.texi (utime): Enhance documentation.
12922         * doc/posix-functions/utimes.texi (utimes): Likewise.
12923         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12924         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
12925         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
12926         * doc/posix-functions/futimens.texi (futimens): Likewise.
12927
12928         fdutimensat: new module
12929         * modules/fdutimensat: New file.
12930         * lib/fdutimensat.c (fdutimensat): Likewise.
12931         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
12932         * MODULES.html.sh (File system functions): Mention module.
12933         * modules/fdutimensat-tests: New test.
12934         * tests/test-fdutimensat.c: Likewise.
12935
12936         doc: regenerate INSTALL
12937         * doc/INSTALL: Reflect recent autoconf update.
12938         * doc/INSTALL.ISO: Likewise.
12939         * doc/INSTALL.UTF-8: Likewise.
12940
12941 2009-10-20  Pádraig Brady  <P@draigBrady.com>
12942
12943         acl: warn if ACL support is not detected
12944         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
12945
12946 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
12947
12948         * lib/nproc.h: Add extern "C" block for C++.
12949
12950 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
12951             Bruno Haible  <bruno@clisp.org>
12952
12953         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
12954         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
12955         * doc/posix-functions/isalpha.texi: Likewise.
12956         * doc/posix-functions/isblank.texi: Likewise.
12957         * doc/posix-functions/iscntrl.texi: Likewise.
12958         * doc/posix-functions/isdigit.texi: Likewise.
12959         * doc/posix-functions/isgraph.texi: Likewise.
12960         * doc/posix-functions/islower.texi: Likewise.
12961         * doc/posix-functions/isprint.texi: Likewise.
12962         * doc/posix-functions/ispunct.texi: Likewise.
12963         * doc/posix-functions/isspace.texi: Likewise.
12964         * doc/posix-functions/isupper.texi: Likewise.
12965         * doc/posix-functions/isxdigit.texi: Likewise.
12966
12967 2009-10-18  Bruno Haible  <bruno@clisp.org>
12968
12969         Tests for module 'isblank'.
12970         * modules/isblank-tests: New file.
12971         * tests/test-isblank.c: New file.
12972
12973         New module 'isblank'.
12974         * lib/isblank.c: New file.
12975         * m4/isblank.m4: New file.
12976         * modules/isblank: New file.
12977         * doc/posix-functions/isblank.texi: Mention the new module.
12978
12979 2009-10-18  Bruno Haible  <bruno@clisp.org>
12980
12981         New module 'ctype'.
12982         * lib/ctype.in.h: New file.
12983         * m4/ctype.m4: New file.
12984         * modules/ctype: New file.
12985         * doc/posix-headers/ctype.texi: Mention the new module.
12986
12987 2009-10-18  Jim Meyering  <meyering@redhat.com>
12988
12989         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
12990         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
12991         right after its initialization, rather than farther down.
12992         Keeping these in close proximity makes it easier to ensure
12993         that each such variable is initialized.  E.g.,
12994
12995             LIB_CLOCK_GETTIME=
12996             AC_SUBST([LIB_CLOCK_GETTIME])
12997
12998         This change also increments these serial numbers.
12999         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
13000         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13001         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13002
13003 2009-10-18  Bruno Haible  <bruno@clisp.org>
13004
13005         Don't let environment variables perturb build.
13006         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
13007         (gl_PREREQ_GETHRXTIME): ... not here.
13008
13009 2009-10-18  Bruno Haible  <bruno@clisp.org>
13010
13011         Avoid symlink attack in localcharset module.
13012         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
13013         (O_NOFOLLOW): Define fallback.
13014         (get_charset_aliases): Don't open the file if it is a symbolic link.
13015         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
13016         gl_FCNTL_H.
13017         (gl_FCNTL_H): Require it.
13018         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
13019         * modules/localcharset (Files): Add m4/fcntl_h.m4.
13020         Reported by Fergal Glynn <fglynn@veracode.com>.
13021
13022 2009-10-18  Bruno Haible  <bruno@clisp.org>
13023
13024         Implement nproc for mingw.
13025         * lib/nproc.c: Include <windows.h>
13026         (num_processors): On native Windows platforms, try GetSystemInfo.
13027
13028 2009-10-18  Bruno Haible  <bruno@clisp.org>
13029
13030         Implement nproc for IRIX.
13031         * lib/nproc.c: Include <sys/sysmp.h>.
13032         (num_processors): On IRIX systems, try sysmp.
13033         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
13034
13035 2009-10-18  Bruno Haible  <bruno@clisp.org>
13036
13037         Implement nproc for HP-UX.
13038         * lib/nproc.c: Include <sys/pstat.h>
13039         (num_processors): On HP-UX systems, try pstat_getdynamic.
13040         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
13041         pstat_getdynamic.
13042
13043 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
13044             Bruno Haible  <bruno@clisp.org>
13045
13046         Implement nproc for NetBSD, OpenBSD.
13047         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
13048         (ARRAY_SIZE): New macro.
13049         (num_processors): On BSD systems, try sysctl of HW_NCPU.
13050         * m4/nproc.m4: New file.
13051         * modules/nproc (Files): Add m4/nproc.m4.
13052         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
13053         (Makefile.am): Instead, augment lib_SOURCES.
13054
13055 2009-10-18  Bruno Haible  <bruno@clisp.org>
13056
13057         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
13058         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
13059         sys/param.h.
13060
13061 2009-10-16  Eric Blake  <ebb9@byu.net>
13062
13063         utimensat: new module
13064         * modules/utimensat: New file.
13065         * lib/utimensat.c (utimensat): Likewise.
13066         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13067         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
13068         so we can work around Linux bugs.
13069         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13070         * modules/sys_stat (Makefile.am): Substitute them.
13071         * lib/sys_stat.in.h (utimensat): Declare it.
13072         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13073         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13074         * modules/utimensat-tests: New test.
13075         * tests/test-utimensat.c: Likewise.
13076
13077         utimens: let lutimens work on non-symlinks
13078         * lib/utimens.c (lutimens): Fall back to utimens rather than
13079         failing with ENOSYS, when file is not a symlink.
13080         (utimens): Reduce redirection.
13081         * tests/test-lutimens.h (test_lutimens): Update test to cover
13082         non-symlinks.
13083         * tests/test-utimens.h (test_utimens): Update test to cover
13084         symlinks.
13085         * tests/test-utimens.c (main): Update caller.
13086
13087         utimens: cache whether utimensat syscall works
13088         * lib/utimens.c (utimensat_works_really): New cache variable.
13089         (fdutimens, lutimens): Use it to avoid failing syscall.
13090
13091         test-stat-time, test-utimens: improve portability
13092         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
13093         ext4 on alpha, and for cygwin.
13094         * tests/test-utimens-common.h: New file.
13095         (nap): Factor delays into single function.
13096         * tests/test-lutimens.h (test_lutimens): Use new header.
13097         * tests/test-futimens.h (test_futimens): Likewise.
13098         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
13099         timestamps to occur from same machine, as was done previously for
13100         test_utimens.
13101         * modules/utimens-tests (Files): Ship new file.
13102         * modules/futimens-tests (Files): Likewise.
13103         Reported in part by Jim Meyering.
13104
13105         sys_stat: sort replacement declarations
13106         * lib/sys_stat.in.h: Sort declarations.
13107         * lib/futimens.c (futimens): Fix typo.
13108
13109 2009-10-15  Jim Meyering  <meyering@redhat.com>
13110
13111         don't let environment settings perturb build
13112         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
13113         could cause a configure-time and/or build-time malfunction.
13114         Typically, a configure-time function-in-library test is performed
13115         via code like this:
13116
13117           LIB_VAR=
13118           AC_SUBST([LIB_VAR])
13119           prefix_saved_LIBS=$LIBS
13120             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
13121                        [test "$ac_cv_search_FUNC" = "none required" ||
13122                         LIB_VAR=$ac_cv_search_FUNC])
13123           LIBS=$prefix_saved_LIBS
13124
13125         However, in each of the files affected by this change, the LIB_VAR=
13126         initialization was omitted.  Thus, when set in the environment, its
13127         value would propagate into generated Makefiles when FUNC is not found
13128         in LIB_NAME.
13129         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
13130         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13132
13133 2009-10-14  Eric Blake  <ebb9@byu.net>
13134
13135         fchdir: avoid infinite recursion in mingw
13136         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
13137         recursing.
13138
13139         test-stat-time: port to mingw
13140         * tests/test-stat-time.c (force_unlink): Return a value.
13141         (test_ctime) [W32]: Fix compilation error.
13142         (nap): Don't call usleep with too large an argument.  Use
13143         force_unlink.
13144         * doc/pastposix-functions/usleep.texi (usleep): Document the
13145         portability issue.
13146
13147 2009-10-13  Jim Meyering  <meyering@redhat.com>
13148
13149         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
13150         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
13151         * modules/pipe-filter-ii: Likewise.
13152         * modules/sys_socket-tests: Likewise.
13153         * modules/tsearch-tests: Likewise.
13154         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
13155         (check): Depend on it.
13156
13157 2009-10-12  Eric Blake  <ebb9@byu.net>
13158
13159         utimens-tests: port to NFS file systems
13160         * tests/test-utimens.h (test_utimens): Refactor utimecmp
13161         comparisons to avoid spurious failures from timestamp drift
13162         between NFS machines.
13163
13164 2009-10-12  Eric Blake  <ebb9@byu.net>
13165
13166         stat-time-tests: minor cleanups
13167         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
13168         * tests/test-stat-time.c (nap): Separate assignment from call.
13169         Suggested by Paolo Bonzini and Bruno Haible.
13170
13171         sys_stat: guarantee struct timespec
13172         * lib/sys_stat.in.h (includes): Always include <time.h>
13173         * modules/sys_stat (Depends-on): Add time.
13174         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
13175         mode_t permission values.
13176         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
13177         get at subsecond timestamps.
13178
13179 2009-10-10  Eric Blake  <ebb9@byu.net>
13180
13181         futimens: new module
13182         * modules/futimens: New file.
13183         * lib/futimens.c (futimens): Likewise.
13184         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
13185         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
13186         we can work around Linux bugs.
13187         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13188         * modules/sys_stat (Makefile.am): Substitute them.
13189         * lib/sys_stat.in.h (futimens): Declare it.
13190         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13191         * doc/posix-functions/futimens.texi (futimens): Likewise.
13192         * modules/futimens-tests: New test.
13193         * tests/test-futimens.c: Likewise.
13194
13195         utimens: introduce fdutimens
13196         * lib/utimens.h (fdutimens): New prototype.
13197         * lib/utimens.c (gl_futimens): Move guts...
13198         (fdutimens): ...to new interface.
13199         * tests/test-utimens.c (do_fdutimens): Use it.
13200
13201         utimens: add UTIME_NOW and UTIME_OMIT support
13202         * lib/utimens.c (validate_timespec, update_timespec): New helper
13203         functions.
13204         (gl_futimens, lutimens): Use them.
13205         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
13206         stdbool, sys_stat.
13207         (Link): Mention resulting library dependency.
13208         * modules/utimecmp (Link): Likewise.
13209         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
13210         (Makefile.am): Pick up library dependency.
13211         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
13212         definition.
13213         * tests/test-sys_stat.c: Test the definitions.
13214         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
13215         * NEWS: Document library dependency.
13216
13217         utimecmp: support symlink timestamps
13218         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
13219         hashing when possible.  Use pathconf when available.
13220         (SYSCALL_RESOLUTION): Recognize tighter resolution.
13221         * modules/utimecmp (Depends-on): Add lstat.
13222
13223         utimens: add lutimens interface
13224         * lib/utimens.c (lutimens): New function.
13225         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
13226         * lib/utimens.h (lutimens): Declare new interface.
13227         * tests/test-utimens.c (main): Enhance test.
13228         * tests/test-lutimens.h (test_lutimens): New file.
13229         * modules/utimens-tests (Files): Distribute it.
13230         (Depends-on): Add symlink.
13231         (configure.ac): Check for usleep.
13232
13233         utimens: validate futimens usage
13234         * lib/utimens.c (gl_futimens): Require valid fd up front, using
13235         fewer syscalls on failure later on.  Avoid compiler warning on
13236         mingw.
13237         * modules/utimens (Depends-on): Add dup2.
13238
13239         utimens: add test
13240         * modules/utimens-tests: New test.
13241         * tests/test-utimens.h: New file.
13242         * tests/test-futimens.h: Likewise.
13243         * tests/test-utimens.c: Likewise.
13244
13245         doc: mention timestamp portability issues
13246         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
13247         instead.
13248         * doc/posix-functions/utime.texi (utime): Likewise.
13249         * doc/posix-functions/utimes.texi (utimes): Likewise.
13250         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
13251         instead.
13252         * doc/posix-functions/futimens.texi (futimens): Mention utimens
13253         module.
13254         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13255         Mention weakness with symlink timestamps.
13256         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
13257         to utimensat/futimens instead.
13258         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
13259
13260         test-dup2: enhance test
13261         * tests/test-dup2.c (main): Also check AT_FDCWD.
13262
13263         test-stat-time: avoid more spurious failures
13264         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
13265         xfs; and avoid race if the two timestamps cross quantization edge.
13266
13267         relocatable: prefer 'file system' over 'filesystem'
13268         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
13269         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
13270         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
13271         * doc/relocatable.texi (Enabling Relocatability): Likewise.
13272         * lib/relocatable.c (compute_curr_prefix): Likewise.
13273
13274 2009-10-10  Jim Meyering  <meyering@redhat.com>
13275
13276         stat-time-tests: check for the usleep function
13277         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
13278
13279 2009-10-10  Bruno Haible  <bruno@clisp.org>
13280
13281         * modules/xnanosleep: Put the Link section after the Include section.
13282
13283 2009-10-09  Eric Blake  <ebb9@byu.net>
13284
13285         dup2: work around FreeBSD 6.1 bug
13286         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
13287         * doc/posix-functions/dup2.texi (dup2): Document it.
13288         Reported by Nelson H. F. Beebe and Jim Meyering.
13289
13290         test-stat-time: port to buggy NFS clients
13291         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
13292         (test_ctime): Also skip test if mtime and ctime are skewed.
13293
13294         maint: prefer 'file system' over 'filesystem'
13295         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13296         * doc/posix-functions/lstat.texi (lstat): Likewise.
13297         * lib/file-has-acl.c (file_has_acl): Likewise.
13298         * lib/fwriteerror.c [TEST]: Likewise.
13299         * tests/test-areadlink.h (test_areadlink): Likewise.
13300         * tests/test-areadlinkat-with-size.c (main): Likewise.
13301         * tests/test-areadlinkat.c (main): Likewise.
13302         * tests/test-canonicalize-lgpl.c (main): Likewise.
13303         * tests/test-canonicalize.c (main): Likewise.
13304         * tests/test-fstatat.c (main): Likewise.
13305         * tests/test-linkat.c (main): Likewise.
13306         * tests/test-lstat.h (test_lstat_func): Likewise.
13307         * tests/test-mkdir.h (test_mkdir): Likewise.
13308         * tests/test-readlink.h (test_readlink): Likewise.
13309         * tests/test-remove.c (main): Likewise.
13310         * tests/test-rename.h (test_rename): Likewise.
13311         * tests/test-renameat.c (main): Likewise.
13312         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13313         * tests/test-symlink.h (test_symlink): Likewise.
13314         * tests/test-symlinkat.c (main): Likewise.
13315         * tests/test-unlink.h (test_unlink_func): Likewise.
13316         * tests/test-unlinkat.c (main): Likewise.
13317
13318         maint: make realtime library usage explicit
13319         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
13320         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
13321         * modules/settime (Link): Likewise.
13322         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
13323
13324         test-stat-time: speed up execution
13325         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
13326         warning on mingw.
13327         (nap): New helper function.
13328         (prepare_test): Use it to reduce sleep time.
13329         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
13330         execution.
13331         * modules/stat-time-tests (configure.ac): Check for usleep.
13332
13333 2009-10-09  Jim Meyering  <meyering@redhat.com>
13334
13335         selinux-h: always use getfilecon wrappers
13336         * lib/getfilecon.c: New file.
13337         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
13338         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
13339         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
13340         (fgetfilecon): Provide a stub.
13341         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
13342         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
13343         file unconditionally.
13344         When <selinux/selinux.h> is found, arrange to use wrappers.
13345         * modules/selinux-h (Files): Add getfilecon.c.
13346         (Makefile.am): Substitute include-next-related bits
13347         into the now-always-generated selinux/selinux.h file.
13348         * doc/glibc-functions/lgetfilecon.texi: New file.
13349         * doc/glibc-functions/fgetfilecon.texi: New file.
13350         * doc/glibc-functions/getfilecon.texi: New file.
13351         * doc/glibc-functions/getfilecon-desc.texi: New file.
13352         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
13353         which to pull in the new files.
13354         * MODULES.html.sh (Misc): Add selinux-h.
13355
13356 2009-10-08  Jim Meyering  <meyering@redhat.com>
13357
13358         unistd: fix comment typo
13359         * lib/unistd.in.h (euidaccess): Fix a comment typo.
13360
13361 2009-10-08  Eric Blake  <ebb9@byu.net>
13362
13363         areadlink: use SIZE_MAX consistently
13364         * modules/areadlink (Depends-on): Add stdint.
13365         * modules/areadlink-with-size (Depends-on): Likewise.
13366         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
13367         gives NULL; drop sys/types, since unistd gives size_t; and add
13368         stdint for SIZE_MAX.
13369         (SIZE_MAX): Rely on headers.
13370         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
13371         and add stdint.
13372         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
13373         (SIZE_MAX): Likewise.
13374         (INITIAL_BUF_SIZE): Turn into enum.
13375         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
13376
13377 2009-10-08  Jim Meyering  <meyering@redhat.com>
13378
13379         areadlinkat: avoid compilation failure
13380         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
13381         Fix typo in comment.
13382
13383 2009-10-07  Eric Blake  <ebb9@byu.net>
13384
13385         areadlinkat-with-size: new module
13386         * modules/areadlinkat-with-size: New module.
13387         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
13388         * lib/areadlink.h (areadlinkat): Declare it.
13389         * MODULES.html.sh (File system functions): Mention it.
13390         * modules/areadlinkat-with-size-tests: New test.
13391         * tests/test-areadlinkat-with-size.c: New file.
13392
13393         xreadlinkat: new module
13394         * modules/xreadlinkat: New module.
13395         * lib/xreadlinkat.c (xreadlinkat): New file.
13396         * lib/xreadlink.h (xreadlinkat): Declare it.
13397         * MODULES.html.sh (File system functions): Mention it.
13398
13399         areadlinkat: new module
13400         * lib/at-func.c (FUNC_FAIL): New define.
13401         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
13402         * modules/areadlinkat: New module.
13403         * lib/linkat.c (areadlinkat): Move...
13404         * lib/areadlinkat.c (areadlinkat): ...to new file.
13405         * lib/areadlink.h (areadlinkat): Declare it.
13406         * modules/linkat (Depends-on): Add areadlinkat.
13407         * MODULES.html.sh (File system functions): Mention it.
13408         * modules/areadlinkat-tests: New test.
13409         * tests/test-areadlinkat.c: New file.
13410
13411         areadlink, areadlink-with-size: add tests
13412         * modules/areadlink-tests: New test.
13413         * modules/areadlink-with-size-tests: Likewise.
13414         * tests/test-areadlink.h: New file.
13415         * tests/test-areadlink.c: Likewise.
13416         * tests/test-areadlink-with-size.c: Likewise.
13417
13418         maint: minor cleanups
13419         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
13420         _UNUSED_PARAMETER_ instead.
13421         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
13422         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
13423         * modules/linkat-tests (Files): Distribute test-link.h.
13424
13425         openat, utimens: whitespace cleanup
13426         * lib/openat.c: Prefer space throughout, rather than mix of 8
13427         spaces vs. tabs.
13428         * lib/at-func.c: Likewise.
13429         * lib/utimens.c: Likewise.
13430
13431         openat: avoid using wrong fd
13432         * lib/openat.c (openat_permissive): Reject user's fd if saving the
13433         working directory chooses same fd.
13434         * lib/at-func.c (AT_FUNC_NAME): Likewise.
13435
13436         mkdir, mkdirat: fix cygwin 1.5.x bug
13437         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
13438         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
13439         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
13440         bug.
13441         (gl_PREREQ_MKDIR): Delete unused macro.
13442         * modules/mkdir (Files): Track file rename.
13443         (configure.ac): Update macro name.
13444         * modules/openat (Depends-on): Add mkdir.
13445         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
13446
13447         mkdir, mkdirat: add tests
13448         * modules/mkdir-tests: New test.
13449         * tests/test-mkdir.h: New file.
13450         * tests/test-mkdir.c: Likewise.
13451         * tests/test-mkdirat.c: Likewise.
13452         * modules/openat-tests (Files): Add new files.
13453         (Makefile.am): Run new test.
13454
13455 2009-10-06  Eric Blake  <ebb9@byu.net>
13456
13457         doc: tweak *at function documentation
13458         * doc/posix-functions/faccessat.texi (faccessat): Mention
13459         known issue with replacement.
13460         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
13461         * doc/posix-functions/linkat.texi (linkat): Likewise.
13462         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13463         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13464         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13465         * doc/posix-functions/renameat.texi (renameat): Likewise.
13466         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13467
13468         openat: fix GNU/Hurd bug in unlinkat
13469         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
13470         broken.
13471         * doc/posix-functions/unlink.texi (unlink): Document this.
13472         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
13473
13474         fdopendir: fix GNU/Hurd bug
13475         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
13476         allowing non-directory fds.
13477         * lib/fdopendir.c (rpl_fdopendir): Work around it.
13478         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13479         * modules/dirent (Makefile.am): Substitute it.
13480         * lib/dirent.in.h (fdopendir): Declare replacement.
13481         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
13482         * tests/test-fdopendir.c (main): Test something other than
13483         /dev/null, since on Hurd that behaves like a directory.
13484
13485         test-symlink: port to GNU/Hurd
13486         * tests/test-symlink.h (test_symlink): Relax expected errno.
13487
13488         doc: tweak more cygwin information
13489         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
13490         now compatible with glibc.
13491         * doc/posix-functions/getopt.texi (getopt): Likewise.
13492
13493         getopt-gnu: add another test
13494         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
13495         guarantee behavior relied on by m4.
13496         * tests/test-getopt.c (main): Use it.
13497         * modules/getopt-posix-tests (Depends-on): Add setenv.
13498         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
13499
13500         getopt: fix compilation on darwin
13501         * lib/getopt.in.h (includes): Leave breadcrumbs during system
13502         include.
13503         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
13504         Reported by Ludovic Courtès.
13505
13506 2009-10-06  Bruno Haible  <bruno@clisp.org>
13507
13508         * modules/size_max (Description): Discourage its use.
13509         Reported by Simon Josefsson.
13510
13511 2009-10-06  Jim Meyering  <meyering@redhat.com>
13512
13513         linkat: avoid compilation failure
13514         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
13515
13516 2009-10-05  Eric Blake  <ebb9@byu.net>
13517
13518         linkat: support Linux 2.6.17
13519         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
13520         linkat on Linux, but allow cache variable override.
13521         * lib/linkat.c (rpl_linkat): Define override.
13522         * modules/linkat (Depends-on): Add symlinkat.
13523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
13524         * modules/unistd (Makefile.am): Substitute it.
13525         * lib/unistd.in.h (linkat): Declare replacement.
13526         Reported by Pádraig Brady.
13527
13528         quotearg: port test to systems with C.UTF-8 locale
13529         * tests/test-quotearg.c (struct result_strings): Add another
13530         member, differentiating between C.ASCII and C.UTF-8 handling.
13531         (compare_strings): Add parameter.
13532         (main): Adjust all callers.
13533
13534         getopt: avoid clash with FreeBSD _getopt_internal
13535         * lib/getopt.in.h (_getopt_internal): Override the name.
13536         * lib/getopt_int.h (includes): Pick up any overrides.
13537         Reported by Reuben Thomas.
13538
13539         hash: allow C89 compilation
13540         * lib/hash.c (check_tuning): Move declaration before statement.
13541         Reported by Reuben Thomas.
13542
13543 2009-10-05  Karl Berry  <karl@gnu.org>
13544
13545         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
13546
13547 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
13548             Bruno Haible  <bruno@clisp.org>
13549
13550         * lib/uname.c (uname): Use a table-driven algorithm to compute
13551         Windows NT versions.
13552
13553 2009-10-04  Bruno Haible  <bruno@clisp.org>
13554
13555         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
13556         program_invocation_short_name.
13557         * modules/progname (configure.ac): Test for presence of
13558         program_invocation_short_name.
13559         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13560
13561 2009-10-04  Bruno Haible  <bruno@clisp.org>
13562
13563         * lib/progname.c (set_program_name): Fix comment.
13564         Reported by Jim Meyering.
13565
13566 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13567             Bruno Haible  <bruno@clisp.org>
13568
13569         * lib/uname.c: Include <string.h>.
13570         (uname): Do only one call to GetVersionEx in the common case.
13571
13572 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13573             Bruno Haible  <bruno@clisp.org>
13574
13575         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
13576         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
13577         (uname): Add support for Windows CE and various non-x86 CPU types.
13578
13579 2009-10-03  Bruno Haible  <bruno@clisp.org>
13580
13581         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
13582         invocation to tests/configure.ac.
13583         Reported by Ian Beckwith <ianb@erislabs.net>.
13584
13585 2009-10-02  Eric Blake  <ebb9@byu.net>
13586
13587         fchdir: avoid compiler warning
13588         * lib/fchdir.c (canonicalize_file_name)
13589         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
13590
13591         test-open: support mingw errno values
13592         * tests/test-open.h (test_open): Relax test.
13593         * tests/test-fopen.h (test_fopen): Likewise.
13594         * tests/test-openat-safer.c (main): Likewise.
13595
13596         open: fix opening directory on mingw
13597         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
13598
13599         test-open: on GNU/Hurd, /dev/null is a directory
13600         * tests/test-fopen.h (main): Rename...
13601         (test_fopen): ...to this.  Use a guaranteed non-directory when
13602         confirming open behavior on trailing slash.
13603         * tests/test-openat-safer.c (main): Likewise.
13604         * tests/test-open.h (main): Likewise....
13605         (test_open): ...to this.
13606         * tests/test-fopen.c (main): Adjust caller.
13607         * tests/test-fopen-safer.c (main): Likewise.
13608         * tests/test-open.c (main): Likewise.
13609         * tests/test-fcntl-safer.c (main): Likewise.
13610         Reported by Samuel Thibault.
13611
13612         rename, fchdir: don't ignore chdir failure
13613         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
13614         * lib/rename.c (rpl_rename) [W32]: Likewise.
13615         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
13616         an empty destination directory if source cannot be renamed,
13617         although there is still possibility for failure.
13618         * doc/posix-functions/rename.texi (rename): Document the race.
13619         Reported by Jim Meyering.
13620
13621         maint: cleanup whitespace in recent commits
13622         * lib/rename.c (rpl_rename): Remove tabs.
13623         * tests/test-link.h (test_link): Likewise.
13624         * lib/fchdir.c (get_name): Likewise.
13625         Reported by Jim Meyering.
13626
13627 2009-10-02  Ben Pfaff  <blp@gnu.org>
13628
13629         relocatable-prog-wrapper: Add missing dependency on
13630         double-slash-root.
13631         * modules/relocatable-prog-wrapper: Add dependency.
13632         Reported by Ian Beckwith <ianb@erislabs.net>.
13633
13634 2009-10-02  Eric Blake  <ebb9@byu.net>
13635
13636         renameat: fix Solaris bugs
13637         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
13638         needed fixing.
13639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
13640         * modules/stdio (Makefile.am): Substitute it.
13641         * lib/stdio.in.h (renameat): Declare replacement.
13642         * lib/renameat.c (rpl_renameat): Implement fix.
13643
13644         renameat: new module
13645         * modules/renameat: New file.
13646         * lib/renameat.c (renameat): Likewise.
13647         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
13648         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13649         * modules/stdio (Makefile.am): Substitute them.
13650         * lib/stdio.in.h (renameat): Declare it.
13651         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13652         * doc/posix-functions/renameat.texi (renameat): Likewise.
13653         * modules/renameat-tests: New test.
13654         * tests/test-renameat.c: Likewise.
13655
13656         rename: fix mingw bugs
13657         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
13658         directory overwrite bugs.
13659
13660         rename: fix another cygwin 1.5 bug
13661         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
13662         checks.
13663         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
13664         unnecessary cygwin workarounds.  Also work around bug with moving
13665         full directory onto an empty one.
13666         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
13667
13668         rename-dest-slash: merge into rename module
13669         * modules/rename-dest-slash (Status): Mark obsolete.
13670         (Depends-on): Add rename.
13671         (Files): Let rename do it all.
13672         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
13673         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
13674         * m4/rename-dest-slash.m4: ...so this file can be deleted.
13675         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
13676         * lib/rename.c (rpl_rename): Update comments.
13677
13678         rename: fix cygwin 1.5.x bugs
13679         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
13680         * lib/rename.c (rpl_rename): Work around them.
13681         * modules/rename (Depends-on): Add same-inode.
13682
13683         rename: fix Solaris 10 bug
13684         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13685         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
13686         was the only bug.
13687
13688         rename: fix Solaris 9 bug
13689         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
13690         on non-directory.  Avoid calling exit.
13691         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
13692         strdup.
13693         * modules/rename-tests (Depends-on): Drop lstat.
13694         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13695         (gl_PREREQ_RENAME): Delete unused macro.
13696
13697         rename-dest-slash: fix NetBSD bug
13698         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
13699         links.
13700         * modules/rename-dest-slash (Depends-on): Add same-inode.
13701
13702         rename-tests: new test, exposes several platform bugs
13703         * modules/rename-tests: New file.
13704         * tests/test-rename.h: Likewise.
13705         * tests/test-rename.c: Likewise.
13706         * doc/posix-functions/rename.texi (rename): Improve documentation,
13707         including bugs that will eventually be fixed in gnulib.
13708
13709 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
13710
13711         * lib/uname.c: Include <stdlib.h>
13712         (uname): Assume version info is available.
13713
13714 2009-10-02  Jim Meyering  <meyering@redhat.com>
13715
13716         gnu-web-doc-update: correct --help output
13717         * build-aux/gnu-web-doc-update: Make --help output relevant.
13718
13719         gnu-web-doc-update: add standard options
13720         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
13721
13722         gnu-web-doc-update: New module.
13723         Use this script to automatically update the on-line web documentation
13724         for your GNU project at http://www.gnu.org/software/$pkg/manual/
13725         * modules/gnu-web-doc-update: New file, from coreutils.
13726         * build-aux/gnu-web-doc-update: New script.
13727
13728 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
13729
13730         link: LoadLibrary is not needed.
13731         * lib/link.c: Use GetModuleHandle.
13732
13733 2009-10-01  Eric Blake  <ebb9@byu.net>
13734
13735         getopt: bump serial number
13736         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
13737         change.
13738
13739         tests: tighten link, rmdir, and remove tests
13740         * tests/test-link.h (includes): No need to use <config.h> here.
13741         Clean up if directory hard link was created, otherwise test for
13742         trailing '.'.
13743         * tests/test-linkat.c (main): Simplify.
13744         * tests/test-remove.c (main): Enhance test for trailing '.'.
13745         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13746
13747 2009-10-01  Jim Meyering  <meyering@redhat.com>
13748
13749         maint.mk: requiring "make major" was annoying, for a "minor" release.
13750         What is intended is "stable", to contrast with alpha and beta,
13751         so require "make stable", not "make major".
13752         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
13753         (get_tool_versions): Likewise.
13754         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
13755
13756 2009-09-30  Ben Pfaff  <blp@gnu.org>
13757
13758         Fix broken build of replacement for Windows tmpfile().
13759         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
13760         flags argument added along with the 'mkostemp' module.
13761
13762 2009-09-28  Bruno Haible  <bruno@clisp.org>
13763
13764         Avoid identifier clash with POSIX function 'remove' defined as a macro.
13765         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
13766         to 'remove_elt'.
13767         (gl_list_remove): Update.
13768         * lib/gl_list.c (gl_list_remove): Update.
13769         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
13770         to 'remove_elt'.
13771         (gl_oset_remove): Update.
13772         * lib/gl_list.c (gl_oset_remove): Update.
13773         Reported by Eric Blake.
13774
13775 2009-09-28  Eric Blake  <ebb9@byu.net>
13776
13777         doc: mention yet more cygwin 1.7 status
13778         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
13779         cygwin.
13780         * doc/glibc-functions/execvpe.texi (execvpe): New file.
13781         * doc/gnulib.texi (Glibc unistd.h): Mention it.
13782
13783         argp: fix test failure
13784         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
13785         that are not upper-case.  Pass correct range to tolower.
13786
13787 2009-09-27  Jim Meyering  <meyering@redhat.com>
13788
13789         test-yesno: work around sparc-dash here-document infelicity
13790         Without this change, the literal \177 byte in a here document
13791         would make dash 0.5.5.1-3 access uninitialized memory.
13792         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
13793         Instead, use a marker, "@", and filter through tr to create the desired
13794         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
13795
13796 2009-09-27  Bruno Haible  <bruno@clisp.org>
13797
13798         Disable untested support for new flavours of ACLs on AIX.
13799         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
13800         progress.
13801         * lib/set-mode-acl.c (qset_acl): Likewise.
13802
13803 2008-12-07  Bruno Haible  <bruno@clisp.org>
13804
13805         Add support for new flavours of ACLs on AIX. (Untested.)
13806         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
13807         (file_has_acl): Add support for newer AIX.
13808         * lib/set-mode-acl.c (qset_acl): Likewise.
13809         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
13810         Rainer Tammer <tammer@tammer.net>.
13811
13812 2009-09-26  Eric Blake  <ebb9@byu.net>
13813
13814         argp: fix compilation of getopt
13815         * lib/getopt.in.h (includes): Use different guard than glibc.
13816         Reported by Sergey Poznyakoff.
13817
13818         doc: mention more cygwin 1.7 status
13819         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
13820         bug.
13821         * doc/posix-functions/execl.texi (execl): Likewise.
13822         * doc/posix-functions/execle.texi (execle): Likewise.
13823         * doc/posix-functions/execlp.texi (execlp): Likewise.
13824         * doc/posix-functions/execv.texi (execv): Likewise.
13825         * doc/posix-functions/execve.texi (execve): Likewise.
13826         * doc/posix-functions/execvp.texi (execvp): Likewise.
13827         * doc/glibc-functions/canonicalize_file_name.texi
13828         (canonicalize_file_name): Cygwin 1.7 now provides this.
13829         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
13830         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
13831         on AT_SYMLINK_NOFOLLOW.
13832
13833 2009-09-24  Eric Blake  <ebb9@byu.net>
13834
13835         test-linkat: make test more robust
13836         * tests/test-linkat.c (main): Avoid collision with EEXIST.
13837
13838         getopt: fix inclusion guards for cygwin
13839         * modules/getopt-posix (Depends-on): Add include-next.
13840         (Makefile.am): Substitute more items in replacement header.
13841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
13842         <getopt.h>.
13843         * lib/getopt.in.h (includes): Use split inclusion guard, and
13844         prefer <getopt.h> over include <unistd.h> when one is present.
13845         (option): Also override name of 'struct option'.
13846
13847         same-inode: revert prior change; it is not yet ready
13848         * NEWS: Undo mention of this change.
13849         * lib/same-inode.h (same-inode.h): Undo tri-state change.
13850         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13851         * lib/cycle-check.c (cycle_check): Likewise.
13852         * lib/same.c (same_name): Likewise.
13853         * lib/at-func2.c (at_func2): Likewise.
13854
13855 2009-09-23  Eric Blake  <ebb9@byu.net>
13856
13857         linkat: new module
13858         * modules/linkat: New file.
13859         * lib/at-func2.c (at_func2): Likewise.
13860         * lib/linkat.c (linkat): Likewise.
13861         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13862         * lib/openat-priv.h (at_func2): Add declaration.
13863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13864         * modules/unistd (Makefile.am): Substitute them.
13865         * lib/unistd.in.h (linkat): Declare it.
13866         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13867         * doc/posix-functions/linkat.texi (linkat): Likewise.
13868         * doc/posix-functions/link.texi (link): Tweak wording.
13869         * tests/test-link.c (main): Move guts...
13870         * tests/test-link.h (test_link): ...into new file.
13871         * modules/linkat-tests: New test.
13872         * tests/test-linkat.c: Likewise.
13873         * modules/link-tests (Files): Ship new file.
13874         (Depends-on): Add stdbool.
13875
13876         dirname: add library-safe mdir_name
13877         * lib/dirname.h (mdir_name): New prototype.
13878         * lib/dirname.c (dir_name): Move guts...
13879         (mdir_name): ...to new function that avoids xalloc_die.
13880
13881         fchdir: another mingw fix
13882         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
13883         * lib/fchdir.c (get_name): New helper method; skips canonicalize
13884         on mingw (where it has not yet been ported), and make it optional
13885         elsewhere.
13886         (_gl_register_fd): Use it.
13887
13888         same-inode: make SAME_INODE tri-state, to port to mingw
13889         * NEWS: Mention this change.
13890         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
13891         st_ino always being 0.
13892         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13893         * lib/cycle-check.c (cycle_check): Likewise.
13894         * lib/same.c (same_name): Likewise.
13895
13896         lstat: avoid mingw compilation error
13897         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
13898         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
13899         lstat ourselves.
13900         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
13901         was adequate.
13902         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
13903         the checks for lstat.
13904         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
13905
13906         link: fix test failure on Solaris 9
13907         * lib/link.c (rpl_link): Don't assume link will catch bogus
13908         trailing slash on source.
13909
13910         test-symlinkat: enhance test
13911         * tests/test-readlink.c (main): Move guts...
13912         * tests/test-readlink.h (test_readlink): ...into new file.
13913         * tests/test-symlink.c (main): Move guts...
13914         * tests/test-symlink.h (test_symlink): ...into new file.
13915         * tests/test-symlinkat.c (main): Use new files for further
13916         coverage.
13917         (do_symlink, do_readlink): New helper functions.
13918         * modules/symlink-tests (Files): Ship new file.
13919         (Depends-on): Add stdbool.
13920         * modules/readlink-tests (Files): Ship new file.
13921         (Depends-on): Add stdbool.
13922         * modules/symlinkat-tests (Files): Use new files.
13923
13924 2009-09-23  Eric Blake  <ebb9@byu.net>
13925
13926         readlink: document portability issue with symlink length
13927         * doc/posix-functions/lstat.texi (lstat): Mention that some file
13928         systems have bogus st_size on symlinks, and mention the
13929         areadlink-with-size module.
13930         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13931         * doc/posix-functions/readlink.texi (readlink): Mention the
13932         areadlink module, and ERANGE failure.
13933         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13934         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
13935
13936         readlink: fix Solaris 9 bug with trailing slash
13937         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
13938         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
13939         * doc/posix-functions/readlink.texi (readlink): Document this.
13940         * modules/readlink-tests: New test.
13941         * tests/test-readlink.c: Likewise.
13942
13943         readlink: fix cygwin 1.5.x bug with return type
13944         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
13945         * lib/unistd.in.h (readlink): Use ssize_t.
13946         * lib/readlink.c (readlink): Likewise.
13947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13948         * modules/unistd (Makefile.am): Substitute it.
13949         * lib/unistd.in.h (readlink): Declare replacement.
13950         * doc/posix-functions/readlink.texi (readlink): Document this.
13951
13952         symlink: use throughout gnulib
13953         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
13954         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
13955         symlink is not used.
13956         * modules/symlinkat (Depends-on): Add symlink.
13957         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13958         * modules/canonicalize-tests (Depends-on): Likewise.
13959         * modules/lstat-tests (Depends-on): Likewise.
13960         * modules/openat-tests (Depends-on): Likewise.
13961         * modules/remove-tests (Depends-on): Likewise.
13962         * modules/rmdir-tests (Depends-on): Likewise.
13963         * modules/unlink-tests (Depends-on): Likewise.
13964         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
13965         * tests/test-canonicalize.c (symlink): Likewise.
13966         * tests/test-fstatat.c (symlink): Likewise.
13967         * tests/test-lstat.c (symlink): Likewise.
13968         * tests/test-remove.c (symlink): Likewise.
13969         * tests/test-rmdir.c (symlink): Likewise.
13970         * tests/test-unlink.c (symlink): Likewise.
13971         * tests/test-unlinkat.c (symlink): Likewise.
13972
13973         symlink: new module, for Solaris 9 bug
13974         * modules/symlink: New file.
13975         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13976         * lib/symlink.c: Likewise.
13977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13978         * modules/unistd (Makefile.am): Substitute them.
13979         * lib/unistd.in.h (symlink): Declare replacement.
13980         * MODULES.html.sh (File system functions): Mention it.
13981         * doc/posix-functions/symlink.texi (symlink): Likewise.
13982         * modules/symlink-tests: New test.
13983         * tests/test-symlink.c: Likewise.
13984
13985 2009-09-23  Bruno Haible  <bruno@clisp.org>
13986
13987         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
13988         when needed.
13989         Test case: gnulib-tool --import --with-tests atexit inttypes.
13990         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
13991
13992 2009-09-23  Bruno Haible  <bruno@clisp.org>
13993
13994         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
13995         subcommand, not in a subshell.
13996
13997 2009-09-22  Eric Blake  <ebb9@byu.net>
13998
13999         unistd: sort replacement declarations
14000         * lib/unistd.in.h: Sort declarations.
14001
14002         open, openat: minor optimization
14003         * lib/open.c (open): If open succeeded, len is non-zero.
14004         * lib/openat.c (rpl_openat): Likewise.
14005
14006         link-follow: ensure correct result
14007         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
14008         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
14009         distinguish between possible failures.
14010
14011 2009-09-21  Eric Blake  <ebb9@byu.net>
14012
14013         fts: avoid compiler warning
14014         * lib/fts.c (dirent_inode_sort_may_be_useful)
14015         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
14016
14017 2009-09-19  Bruno Haible  <bruno@clisp.org>
14018
14019         * lib/progreloc.c (canonicalize_file_name): New declaration.
14020
14021 2009-09-19  Eric Blake  <ebb9@byu.net>
14022
14023         link: fix quoting
14024         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
14025
14026         openat: fix openat bugs on Solaris 9
14027         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
14028         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
14029         * modules/openat (Depends-on): Add open.
14030         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
14031         * modules/fcntl-h (Makefile.am): Substitute it.
14032         * lib/fcntl.in.h (openat): Declare replacement.
14033         * doc/posix-functions/openat.texi (openat): Document this.
14034
14035         openat: move fstatat and unlinkat into correct files
14036         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
14037         compiled.
14038         * lib/openat.c (fstatat, unlinkat): Move...
14039         * lib/fstatat.c (fstatat): ...into correct files.
14040         * lib/unlinkat.c (unlinkat): Likewise.
14041
14042         openat: fix unlinkat bugs on Solaris 9
14043         * lib/unlinkat.c (unlinkat): New file.
14044         * modules/openat (Depends-on): Add unlink.
14045         (Files): Distribute it.
14046         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
14047         trailing slash behavior is broken.
14048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14049         * modules/unistd (Makefile.am): Substitute it.
14050         * lib/unistd.in.h (unlinkat): Declare replacement.
14051         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
14052
14053         openat: fix fstatat bugs on Solaris 9
14054         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
14055         stat.
14056         * doc/posix-functions/fstatat.texi (fstatat): Document this.
14057
14058         test-unlinkat: enhance test, to expose Solaris 9 bug
14059         * tests/test-unlink.c (main): Factor guts...
14060         * tests/test-unlink.h (test_rmdir_func): ...into new file.
14061         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
14062         * tests/test-rmdir.c (main): Adjust caller.
14063         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
14064         (unlinker): New helper function.
14065         (rmdirat): Enhance check.
14066         * modules/rmdir-tests (Depends-on): Add stdbool.
14067         * modules/unlink-tests (Depends-on): Likewise.
14068         (Files): Add test-unlink.h.
14069         * modules/openat-tests (Files): Likewise.
14070         (Depends-on): Add unlinkdir.
14071
14072         test-fstatat: new test, to expose Solaris 9 bugs
14073         * tests/test-stat.c (main): Factor guts...
14074         * tests/test-stat.h (test_stat_func): ...into new file.
14075         * tests/test-lstat.c (main): Factor guts...
14076         * tests/test-lstat.h (test_lstat_func): ...into new file.
14077         * tests/test-fstatat.c: New file.
14078         * modules/stat-tests (Files): Add test-stat.h.
14079         * modules/lstat-tests (Files): Add test-lstat.h.
14080         (Depends-on): Add stdbool.
14081         * modules/openat-tests (Depends-on): Add pathmax.
14082         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
14083         (Makefile.am): Run new test.
14084
14085         remove: new module, for mingw and Solaris 9 bugs
14086         * modules/remove: New file.
14087         * lib/remove.c: Likewise.
14088         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
14089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
14090         * modules/stdio (Makefile.am): Use them.
14091         * lib/stdio.in.h (remove): Declare replacement.
14092         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14093         * doc/posix-functions/remove.texi (remove): Likewise.
14094         * modules/remove-tests: New test.
14095         * tests/test-remove.c: Likewise.
14096
14097         unlink: new module, for Solaris 9 bug
14098         * modules/unlink: New file.
14099         * lib/unlink.c: Likewise.
14100         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14102         * modules/unistd (Makefile.am): Use them.
14103         * lib/unistd.in.h (stat): Declare replacement.
14104         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14105         * doc/posix-functions/unlink.texi (unlink): Likewise.
14106         * modules/unlink-tests: New test.
14107         * tests/test-unlink.c: Likewise.
14108
14109         lstat: fix Solaris 9 bug
14110         * lib/lstat.c (lstat): Also check for trailing slash on
14111         non-symlink, non-directories.  Use stat module to simplify logic.
14112         * doc/posix-functions/lstat.texi (lstat): Document it.
14113         * modules/lstat-tests (Depends-on): Add errno, same-inode.
14114         (configure.ac): Check for symlink.
14115         * tests/test-lstat.c (main): Add more tests.
14116
14117         stat: add as dependency to other modules
14118         * modules/chown (Depends-on): Add stat.
14119         * modules/euidaccess (Depends-on): Likewise.
14120         * modules/fchdir (Depends-on): Likewise.
14121         * modules/isdir (Depends-on): Likewise.
14122         * modules/link (Depends-on): Likewise.
14123         * modules/lstat (Depends-on): Likewise.
14124         * modules/mkdir-p (Depends-on): Likewise.
14125         * modules/modechange (Depends-on): Likewise.
14126         * modules/open (Depends-on): Likewise.
14127         * modules/readlink (Depends-on): Likewise.
14128         * modules/same (Depends-on): Likewise.
14129
14130         stat: fix Solaris 9 bug
14131         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
14132         slash.
14133         * lib/stat.c (rpl_stat): Work around it.
14134         * doc/posix-functions/stat.texi (stat): Update documentation.
14135
14136         stat: new module, for mingw bug
14137         * modules/stat: New file.
14138         * lib/stat.c: Likewise.
14139         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14140         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14141         * modules/sys_stat (Makefile.am): Use them.
14142         * lib/sys_stat.in.h (stat): Declare replacement.
14143         * lib/openat.c (fstatat): Deal with lstat and stat being function
14144         macros.
14145         * modules/openat (Depends-on): Add inline.
14146         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14147         * doc/posix-functions/stat.texi (stat): Likewise.
14148         * modules/stat-tests: New test.
14149         * tests/test-stat.c: Likewise.
14150
14151 2009-09-19  Jim Meyering  <meyering@redhat.com>
14152
14153         syntax-check: detect unnecessary inclusion of canonicalize.h
14154         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
14155
14156 2009-09-19  Eric Blake  <ebb9@byu.net>
14157
14158         canonicalize-lgpl: adjust clients to use correct header
14159         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14160         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
14161         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
14162         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
14163         * lib/progreloc.c (includes): Likewise.
14164
14165 2009-09-19  Jim Meyering  <meyering@redhat.com>
14166
14167         test-posixtm.c: correct a comment
14168         * tests/test-posixtm.c: Correct first-line comment.
14169         Spotted by Eric Blake.
14170
14171 2009-09-16  Jim Meyering  <meyering@redhat.com>
14172
14173         posixtm-tests: make T const-correct; add a test case
14174         * tests/test-posixtm.c (T): Declare const.
14175         Add a test for -(2^31+1).
14176         Remove useless can-succeed-only-in-2002 test.
14177
14178         posixtm-tests: adjust the sole failing test
14179         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
14180         expected output matches what mktime now produces.  Cross-checked via
14181         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
14182
14183         posixtm: move #ifdef'd tests into a new module
14184         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
14185         * tests/test-posixtm.c: ... this new file.
14186         * modules/posixtm-tests: New module.
14187
14188 2009-09-19  Eric Blake  <ebb9@byu.net>
14189
14190         openat: simplify use of at-func.c
14191         * lib/at-func.c (includes): Include prerequisites here, to
14192         simplify requirements on client files.
14193         * lib/openat-priv.h: Add double-inclusion guard.
14194         * lib/faccessat.c (includes): Simplify.
14195         * lib/fchmodat.c (includes): Likewise.
14196         * lib/fchownat.c (includes): Likewise.
14197         * lib/mkdirat.c (includes): Likewise.
14198         * lib/mkfifoat.c (includes): Likewise.
14199         * lib/symlinkat.c (includes): Likewise.
14200
14201         openat: allow return of fd 0
14202         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
14203         * modules/save-cwd (Depends-on): Replace fcntl-safer with
14204         unistd-safer.
14205         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
14206         <fcntl.h>; this module does not leak fds.
14207         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
14208         must be allowed to return 0, leaving openat_safer to add the
14209         safety.
14210         (openat_permissive): Avoid writing to just-opened fd 2 if
14211         restoring the current directory fails.
14212         * lib/openat-die.c (openat_restore_fail): Add comment.
14213         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
14214         (save_cwd): Guarantee safe fd, but without use of open_safer.
14215         * tests/test-openat.c: New test.
14216         * modules/openat-tests (Files, Makefile.am): Distribute and build
14217         new file.
14218
14219         relocatable-prog-wrapper: fix build
14220         * modules/relocatable-prog-wrapper (Files): Update name of
14221         canonicalize m4 file, broken on 2009-09-17.
14222         Reported by emad hajjar <aleppos@hotmail.com>.
14223
14224 2009-09-19  Bruno Haible  <bruno@clisp.org>
14225
14226         * lib/safe-alloc.h: Use the standard header with GPL copyright.
14227         * lib/safe-alloc.c: Likewise.
14228         Reported by Ian Beckwith <ianb@erislabs.net>.
14229
14230 2009-09-18  Bruno Haible  <bruno@clisp.org>
14231
14232         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
14233         Reported by <erobles@sensacd.com.mx>.
14234
14235 2009-09-17  Eric Blake  <ebb9@byu.net>
14236
14237         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
14238         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
14239         slashes when checking if last component is missing.
14240         * tests/test-canonicalize.c (main): Test this.
14241
14242         canonicalize, canonicalize-lgpl: honor // if distinct from /
14243         * modules/canonicalize (Files): Add double-slash-root.m4.
14244         * modules/canonicalize-lgpl (Files): Likewise.
14245         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14246         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
14247         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
14248         fallback definition.
14249         (canonicalize_filename_mode): Use it to protect //.
14250         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
14251         (__realpath): Likewise.
14252         * tests/test-canonicalize.c (main): Test this.
14253         * tests/test-canonicalize-lgpl.c (main): Likewise.
14254         * modules/canonicalize-tests (Depends-on): Add same-inode.
14255         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14256
14257         canonicalize-lgpl: fix glibc bug with trailing slash
14258         * m4/canonicalize-lgpl.m4: Move contents...
14259         * m4/canonicalize.m4: ...here.
14260         (gl_CANONICALIZE_LGPL): Factor realpath check...
14261         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
14262         glibc 2.3.5 bug, fixed 2005-04-27.
14263         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
14264         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
14265         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
14266         * modules/canonicalize-lgpl (Files): Manage file rename.
14267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14268         * modules/stdlib (Makefile.am): Substitute witness.
14269         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
14270         is needed.
14271         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
14272         replacement is required.
14273         * lib/canonicalize.c (canonicalize_file_name): Likewise.
14274         * doc/glibc-functions/canonicalize_file_name.texi
14275         (canonicalize_file_name): Document this.
14276         * doc/posix-functions/realpath.texi (realpath): Likewise.
14277
14278         canonicalize-lgpl: reject non-directory with trailing slash
14279         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
14280         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
14281         catches failures in glibc 2.3.5.
14282         * tests/test-canonicalize.c (main): Likewise.
14283
14284         canonicalize-lgpl: use native realpath if it works
14285         * lib/canonicalize-lgpl.c (realpath): Guard with
14286         FUNC_REALPATH_WORKS.
14287         * lib/stdlib.in.h (realpath): Make declaration optional based on
14288         HAVE_REALPATH.
14289         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
14290         native realpath works.
14291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14292         * modules/stdlib (Makefile.am): Substitute witness.
14293
14294         canonicalize, canonicalize-lgpl: use <stdlib.h>
14295         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
14296         (Include): Mention <stdlib.h>.
14297         (configure.ac): Mention functions we provide.
14298         * modules/canonicalize (configure.ac): Likewise.
14299         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
14300         realpath if canonicalize_file_name is missing.
14301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
14302         * modules/stdlib (Makefile.am): Substitute witnesses.
14303         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
14304         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
14305         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
14306         * NEWS: Document this.
14307         * doc/glibc-functions/canonicalize_file_name.texi
14308         (canonicalize_file_name): Likewise.
14309         * doc/posix-functions/realpath.texi (realpath): Likewise.
14310         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
14311
14312         test-canonicalize: consolidate into single C program
14313         * tests/test-canonicalize.sh: Delete; move setup into...
14314         * tests/test-canonicalize.c (main): ...the program, making it
14315         easier to run in debugger.  Add some tests.
14316         * modules/canonicalize-tests (Files): Remove unused file.
14317         (Depends-on): Add progname.
14318         (configure.ac, Makefile.am): Simplify.
14319
14320         test-canonicalize-lgpl: consolidate into single C program
14321         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
14322         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
14323         easier to run in debugger.  Add some tests.
14324         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
14325         (configure.ac, Makefile.am): Simplify.
14326
14327         canonicalize: avoid resolvepath
14328         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
14329         unnecessary checks.
14330         * lib/canonicalize.c (includes): Simplify.
14331         (canonicalize_file_name): Drop resolvepath implementation.
14332         * modules/canonicalize (Depends-on): Drop filenamecat.
14333
14334         canonicalize: don't lose errno
14335         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
14336         over calls to free.
14337
14338         canonicalize: simplify errno handling
14339         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
14340         assignment.
14341
14342         canonicalize, canonicalize-lgpl: update module dependencies
14343         * modules/canonicalize (Depends-on): Add extensions, lstat,
14344         pathmax, stdlib.
14345         (Files): Drop pathmax.h.
14346         (configure.ac): Adjust macro name.
14347         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
14348         lstat, stdlib, sys_stat.
14349         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
14350         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
14351         extensions.
14352         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
14353         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
14354         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
14355         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
14356         declaration, if available.
14357         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
14358         we can rely on the readlink module.
14359         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
14360         (includes): Use <unistd.h> unconditionally.
14361
14362 2009-09-17  Eric Blake  <ebb9@byu.net>
14363
14364         maint: make Include sections of modules consistent
14365         * modules/alloca: Use only header name; no need to list #include.
14366         * modules/alloca-opt: Likewise.
14367         * modules/arpa_inet: Likewise.
14368         * modules/canon-host: Likewise.
14369         * modules/configmake: Likewise.
14370         * modules/dirent: Likewise.
14371         * modules/eealloc: Likewise.
14372         * modules/environ: Likewise.
14373         * modules/fchdir: Likewise.
14374         * modules/fcntl: Likewise.
14375         * modules/fcntl-h: Likewise.
14376         * modules/gethrxtime: Likewise.
14377         * modules/gettime: Likewise.
14378         * modules/ignore-value: Likewise.
14379         * modules/inet_ntop: Likewise.
14380         * modules/inet_pton: Likewise.
14381         * modules/inttypes: Likewise.
14382         * modules/isnand-nolibm: Likewise.
14383         * modules/isnanf-nolibm: Likewise.
14384         * modules/mbchar: Likewise.
14385         * modules/mbfile: Likewise.
14386         * modules/mbiter: Likewise.
14387         * modules/mbuiter: Likewise.
14388         * modules/netdb: Likewise.
14389         * modules/netinet_in: Likewise.
14390         * modules/nproc: Likewise.
14391         * modules/pagealign_alloc: Likewise.
14392         * modules/poll: Likewise.
14393         * modules/printf-frexp: Likewise.
14394         * modules/pthread: Likewise.
14395         * modules/putenv: Likewise.
14396         * modules/random_r: Likewise.
14397         * modules/relocatable-prog: Likewise.
14398         * modules/search: Likewise.
14399         * modules/select: Likewise.
14400         * modules/selinux-h: Likewise.
14401         * modules/settime: Likewise.
14402         * modules/signal: Likewise.
14403         * modules/size_max: Likewise.
14404         * modules/socklen: Likewise.
14405         * modules/ssize_t: Likewise.
14406         * modules/stdarg: Likewise.
14407         * modules/stdbool: Likewise.
14408         * modules/stddef: Likewise.
14409         * modules/stdint: Likewise.
14410         * modules/stdio: Likewise.
14411         * modules/stdlib: Likewise.
14412         * modules/string: Likewise.
14413         * modules/strings: Likewise.
14414         * modules/sys_file: Likewise.
14415         * modules/sys_ioctl: Likewise.
14416         * modules/sys_select: Likewise.
14417         * modules/sys_socket: Likewise.
14418         * modules/sys_stat: Likewise.
14419         * modules/sys_time: Likewise.
14420         * modules/sys_times: Likewise.
14421         * modules/sys_utsname: Likewise.
14422         * modules/sys_wait: Likewise.
14423         * modules/sysexits: Likewise.
14424         * modules/time: Likewise.
14425         * modules/times: Likewise.
14426         * modules/tmpfile: Likewise.
14427         * modules/trim: Likewise.
14428         * modules/unistd: Likewise.
14429         * modules/wchar: Likewise.
14430         * modules/wctype: Likewise.
14431
14432 2009-09-17  Bruno Haible  <bruno@clisp.org>
14433
14434         Make getdate.y compile on QNX and NetBSD 5 / i386.
14435         * m4/getdate.m4 (gl_GETDATE): Conditionally define
14436         TIME_T_FITS_IN_LONG_INT.
14437         * lib/getdate.y (long_time_t): New type.
14438         (relative_time): Change type of 'seconds' field to long_time_t.
14439         (get_date): Update types of local variables. Check against overflow
14440         during conversion from long_time_t to time_t.
14441         Reported by Matt Kraai <kraai@ftbfs.org>
14442         and Hasso Tepper <hasso@netbsd.org>.
14443
14444 2009-09-17  Bruno Haible  <bruno@clisp.org>
14445
14446         * modules/COPYING: Update copyright years.
14447         * modules/README: Likeiwse.
14448         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
14449         Reported by Ian Beckwith <ianb@erislabs.net>.
14450
14451 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14452
14453         * users.txt: Update references for gnuit package.
14454
14455 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14456
14457         * m4/getdelim.m4: Fix typo in copyright line.
14458
14459 2009-09-17  Bruno Haible  <bruno@clisp.org>
14460
14461         * lib/atoll.c: Use the standard header with GPL copyright.
14462         * lib/argz.in.h: Likewise.
14463         * lib/glob.c: Likewise.
14464         * lib/glob-libc.h: Likewise.
14465         * lib/random_r.c: Likewise.
14466         * lib/siglist.h: Likewise.
14467         * lib/strsignal.c: Likewise.
14468         Reported by Ian Beckwith <ianb@erislabs.net>.
14469
14470 2009-09-17  Eric Blake  <ebb9@byu.net>
14471
14472         rmdir: ensure correct dependency order
14473         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
14474
14475 2009-09-17  Bruno Haible  <bruno@clisp.org>
14476
14477         Disable assertion that fails on NetBSD 5 / i386.
14478         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
14479         Reported by Sam Steingold <sds@gnu.org>
14480         and Hasso Tepper <hasso@netbsd.org>.
14481
14482 2009-09-16  Eric Blake  <ebb9@byu.net>
14483
14484         unlinkdir: port to mingw
14485         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
14486         on which no one can unlink a directory.
14487
14488         stdlib: sort witness names
14489         * modules/stdlib (Makefile.am): Sort replacements.
14490         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
14491         * lib/stdlib.in.h: Likewise.
14492
14493         parse-duration-tests: avoid link failure
14494         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
14495         LIBINTL.
14496         Reported by Tom G. Christensen.
14497
14498         openat-tests: ensure unlinkat behaves like rmdir
14499         * tests/test-rmdir.c (main): Factor guts...
14500         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
14501         * modules/rmdir-tests (Files): Ship new file.
14502         * modules/openat-tests: New test.
14503         * tests/test-unlinkat.c: Likewise.
14504
14505         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
14506         * modules/rmdir-errno (Status, Notice): Now obsolete.
14507
14508         rmdir: work around cygwin 1.5.x and mingw bugs
14509         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
14510         * lib/rmdir.c (rmdir): Work around it.
14511         * modules/rmdir (Status, Notice): No longer obsolete.
14512         (Files): Add dos.m4.
14513         (Depends-on): Add unistd.
14514         (configure.ac): Set witnesses.
14515         (License): Relax to LGPLv2+.
14516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
14517         * modules/unistd (Makefile.am): Substitute witnesses.
14518         * lib/unistd.in.h (rmdir): Declare replacement.
14519         * doc/posix-functions/rmdir.texi (rmdir): Document this.
14520         * modules/rmdir-tests: New tests.
14521         * tests/test-rmdir.c: Likewise.
14522
14523 2009-09-15  Eric Blake  <ebb9@byu.net>
14524
14525         fchdir: improve use of replacement functions
14526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
14527         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
14528         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
14529         REPLACE_CLOSEDIR.
14530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
14531         * modules/sys_stat (Makefile.am): Substitute correct witness.
14532         * modules/dirent (Makefile.am): Likewise.
14533         * modules/unistd (Makefile.am): Likewise.
14534         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
14535         * lib/unistd.in.h (dup): Likewise.
14536         * lib/sys_stat.in.h (fstat): Likewise.
14537
14538         maint: ignore gnulib-tool temp files
14539         * .gitignore: Ignore files created during gnulib-tool --test.
14540
14541 2009-09-13  Jim Meyering  <meyering@redhat.com>
14542
14543         posixtm: don't reject a time that specify "60" as the number of seconds
14544         * lib/posixtm.c (posixtime): The code to reject invalid dates
14545         would also reject a time specified with the .60 suffix.
14546         But POSIX allows that, in order to accommodate leap seconds.
14547         So don't reject it.
14548         (main): Adjust tests accordingly.
14549         * modules/posixtm (Depends-on): Add stpcpy.
14550
14551 2009-09-11  Jim Meyering  <meyering@redhat.com>
14552
14553         announce-gen: include [$release_type] in emitted Subject:
14554         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
14555         e.g., [stable] in the emitted Subject: line.
14556
14557 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14558
14559         Remove obsolete macros from several modules.
14560         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
14561         obsolete Autoconf macros with their modern counterparts.
14562         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
14563         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
14564         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
14565         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
14566         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
14567         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14569         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14570         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14571         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
14572         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14573         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14574         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
14575         * m4/sockets.m4 (gl_SOCKETS): Likewise.
14576         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
14577         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
14578         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
14579         * m4/time_r.m4 (gl_TIME_R): Likewise.
14580         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14581         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
14582         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
14583
14584         Fix copyright header in build-aux scripts.
14585         * build-aux/git-version-gen: Fix copyright header to match GPLv3
14586         recommendation.
14587         * build-aux/ncftpput-ftp: Likewise.
14588         * build-aux/update-copyright: Likewise.
14589
14590 2009-09-09  Eric Blake  <ebb9@byu.net>
14591
14592         test-link: allow Linux choice of errno
14593         * tests/test-link.c (main): Relax test for alternate error.
14594
14595         strndup: fix improper m4 caching
14596         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
14597         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
14598         (gl_PREREQ_STRNDUP): Delete.
14599         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
14600         * modules/string (Makefile.am): Substitute it.
14601         * lib/string.in.h (strndup): Modernize prototype.
14602
14603         getcwd: port to mingw
14604         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
14605         different from the POSIX assumptions made throughout the getcwd
14606         module; fortunately, the mingw getcwd does not need replacement.
14607         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
14608         * modules/getcwd-tests: New test.
14609         * tests/test-getcwd.c: Likewise.
14610
14611         link: fix platform bugs
14612         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
14613         * lib/link.c (link): Work around them.  Fix related mingw bug.
14614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
14615         * modules/unistd (Makefile.am): Substitute it.
14616         * lib/unistd.in.h (link): Declare replacement.
14617         * doc/posix-functions/link.texi (link): Document this.
14618         * modules/link (Depends-on): Add strdup-posix, sys_stat.
14619
14620         test-link: consolidate into single C program, test more cases
14621         * tests/test-link.sh: Delete.
14622         * tests/test-link.c: Test more error conditions.  Exposes bugs on
14623         at least Cygwin and Solaris.
14624         * modules/link-tests (Files): Remove unused file.
14625         (Depends-on): Add errno, sys_stat.
14626         (Makefile.am): Simplify.
14627
14628 2009-09-08  Bruno Haible  <bruno@clisp.org>
14629
14630         Work around towlower, towupper bug on mingw.
14631         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
14632         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
14633         * doc/posix-functions/towlower.texi: Mention the mingw bug.
14634         * doc/posix-functions/towupper.texi: Likewise.
14635         Reported by Eric Blake.
14636
14637 2009-09-08  Jim Meyering  <meyering@redhat.com>
14638
14639         build: don't try to run autoheader if we don't use it
14640         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
14641         is not used in configure.ac.
14642
14643 2009-09-08  Eric Blake  <ebb9@byu.net>
14644
14645         euidaccess: fix compilation error
14646         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
14647
14648         rawmemchr: relax license
14649         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
14650         okay.
14651         Reported by Jim Meyering.
14652
14653         mkfifoat: new module
14654         * modules/mkfifoat: New file.
14655         * lib/mkfifoat.c: Likewise.
14656         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
14657         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14658         * modules/sys_stat (Makefile.am): Use them.
14659         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
14660         * MODULES.html.sh (File system functions): Mention module.
14661         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
14662         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
14663         * modules/mkfifoat-tests: New test.
14664         * tests/test-mkfifoat.c: Likewise.
14665
14666         strchrnul: relax license
14667         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
14668         okay.
14669         Reported by Jim Meyering.
14670
14671 2009-09-08  Eric Blake  <ebb9@byu.net>
14672
14673         fstatat: fix compilation on Solaris
14674         * lib/fstatat.c (includes): Add fcntl.h.
14675         Reported by Pádraig Brady.
14676
14677 2009-09-07  Eric Blake  <ebb9@byu.net>
14678
14679         rename: modernize replacement
14680         * modules/rename (Depends-on): Add stdio.
14681         (configure.ac): Declare witness.
14682         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
14683         stdio take care of replacement.
14684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
14685         * modules/stdio (Makefile.am): Substitute them.
14686         * lib/stdio.in.h (rename): Declare replacement.
14687         * lib/rename.c (includes): Allow cross-compilation to non-windows
14688         machines.
14689         * doc/posix-functions/rename.texi (rename): Improve
14690         documentation.
14691
14692         stdio: sort witness names
14693         * modules/stdio (Makefile.am): Sort replacements.
14694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14695         * lib/stdio.in.h: Likewise.
14696
14697         getcwd: minor cleanups
14698         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
14699         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
14700
14701         openat: provide more convenience names
14702         * modules/faccessat (configure.ac): Add C witness.
14703         * lib/unistd.in.h (readlinkat): Fix typo.
14704         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
14705         convenience wrappers.
14706         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
14707         wrappers in syntax checks.
14708
14709 2009-09-06  Eric Blake  <ebb9@byu.net>
14710
14711         doc: fix comments in recent patches
14712         * lib/faccessat.c: Mention correct function.
14713         * lib/fchmodat.c: Likewise.
14714         * lib/fchownat.c: Likewise.
14715         * lib/symlinkat.c: Likewise.
14716         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
14717         constants.
14718
14719         faccessat, symlinkat: continue cleanup of previous patch
14720         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
14721         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14722         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
14723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
14724         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
14725         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
14726         set.
14727
14728 2009-09-06  Bruno Haible  <bruno@clisp.org>
14729
14730         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
14731         (fstatat): Declare if GNULIB_FSTATAT is set.
14732         (mkdirat): Declare if GNULIB_MKDIRAT is set.
14733         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
14734         (unlinkat): Declare if GNULIB_UNLINKAT is set.
14735         * modules/fcntl-h (Files): Remove m4/openat.m4.
14736         * modules/sys_stat (Files): Remove m4/openat.m4.
14737         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
14738         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
14739         * modules/unistd (Files): Remove m4/openat.m4.
14740         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
14741         GNULIB_OPENAT.
14742         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
14743         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
14744         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
14745         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
14746         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
14747         gl_OPENAT_DEFAULTS.
14748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
14749         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
14750         Don't require gl_OPENAT_DEFAULTS.
14751         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
14752         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
14753         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
14754         (gl_OPENAT_DEFAULTS): Remove macro.
14755
14756 2009-09-06  Bruno Haible  <bruno@clisp.org>
14757
14758         * modules/openat (configure.ac): Remove unneeded witness.
14759
14760 2009-09-06  Bruno Haible  <bruno@clisp.org>
14761
14762         Set errno to ENOSYS when a function is entirely unsupported.
14763         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
14764         EOPNOTSUPP.
14765         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14766         * modules/chown (Depends-on): Remove errno.
14767
14768 2009-09-06  Bruno Haible  <bruno@clisp.org>
14769
14770         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
14771
14772 2009-09-06  Bruno Haible  <bruno@clisp.org>
14773
14774         * lib/sys_stat.in.h: Fix preprocessor command indentation.
14775
14776 2009-09-06  Ben Pfaff  <blp@gnu.org>
14777             Bruno Haible  <bruno@clisp.org>
14778
14779         Work around a glibc bug in strtok_r.
14780         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
14781         Undefine if UNDEFINE_STRTOK_R is set.
14782         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
14783         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14784         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
14785         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
14786         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
14787         UNDEFINE_STRTOK_R.
14788         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
14789
14790 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14791
14792         exclude: minor fix
14793         * lib/exclude.c: Include wctype.h
14794
14795 2009-09-06  Akim Demaille  <demaille@gostai.com>
14796
14797         bootstrap: improve error message
14798         * build-aux/bootstrap (find_tool): Upon failure, report the list
14799         of candidates.
14800         Honor the initial value of the envvar.
14801
14802 2009-09-05  Eric Blake  <ebb9@byu.net>
14803
14804         symlinkat: new module
14805         * modules/symlinkat: New file.
14806         * lib/symlinkat.c: Likewise.
14807         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
14808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14809         * modules/unistd (Makefile.am): Use them.
14810         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
14811         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
14812         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
14813         * MODULES.html.sh (File system functions): Mention module.
14814         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14815         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14816         * modules/symlinkat-tests: New test.
14817         * tests/test-symlinkat.c: Likewise.
14818
14819         test-openat-safer: add more checks
14820         * tests/test-openat-safer.c (main): Check more code paths.
14821
14822 2009-09-05  Jim Meyering  <meyering@redhat.com>
14823
14824         syntax-check: detect unnecessary inclusion of openat.h
14825         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
14826
14827 2009-09-05  Bruno Haible  <bruno@clisp.org>
14828
14829         Support towlower, towupper.
14830         * doc/posix-functions/towlower.texi: Mention module wctype.
14831         * doc/posix-functions/towupper.texi: Likewise.
14832         * lib/wctype.in.h (towlower, towupper): New functions.
14833         * tests/test-wctype.c: Include stdio.h, stdlib.h.
14834         (ASSERT): New macro.
14835         (e): New variable.
14836         (main): Test also towlower, towupper. Test WEOF argument.
14837         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
14838
14839 2009-09-05  Bruno Haible  <bruno@clisp.org>
14840
14841         Fix conversion behaviour when the input is invalid.
14842         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
14843         mark occurring in first pass of indirect conversion.
14844         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
14845         input.
14846         Found by clang's static analyzer.
14847
14848 2009-09-05  Bruno Haible  <bruno@clisp.org>
14849
14850         * tests/test-striconveh.c (main): Test indirect conversion on platforms
14851         where direct conversion is possible.
14852
14853 2009-09-04  Eric Blake  <ebb9@byu.net>
14854
14855         openat: fail with ENOENT on empty name
14856         * lib/openat-proc.c (openat_proc_name): Special-case the empty
14857         buffer.
14858
14859         link-follow: fix logic bug in prior patch
14860         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
14861         reversed sense of yes and no in prior patch.  Avoid confusing
14862         compilation failure with desired semantics.
14863
14864         link-follow: accomodate mingw and cross-compilation
14865         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
14866         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
14867         cross-compilation results to -1, to make linkat easier to
14868         implement when cross-compiling.  Trivially support mingw.
14869         * modules/link-follow (configure.ac): Call new name.
14870         * NEWS: Mention this.
14871
14872 2009-09-03  Eric Blake  <ebb9@byu.net>
14873
14874         faccessat: compile replacement
14875         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
14876         needed.
14877
14878         fts: fix compilation error
14879         * lib/fts.c (includes): Re-add "openat.h", for
14880         openat_needs_fchdir.
14881
14882         faccessat: new module
14883         * modules/faccessat: New file.
14884         * lib/faccessat.c: Likewise.
14885         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14887         * modules/unistd (Makefile.am): Use it.
14888         * lib/unistd.in.h (faccessat): Declare it.
14889         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
14890         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
14891         * MODULES.html.sh (File system functions): Mention it.
14892         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
14893         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
14894
14895         euidaccess: prefer POSIX over non-standard implementation
14896         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
14897         * lib/euidaccess.c (euidaccess): Use it if available.
14898
14899         openat: make template easier to use
14900         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
14901         AT_FUNC_F2 to be undefined.
14902         (VALIDATE_FLAG): New macro; use it to reject bad flags.
14903         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
14904         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
14905         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
14906         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
14907         Likewise.
14908         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
14909         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
14910         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
14911         Likewise.
14912
14913         openat: declare in POSIX headers
14914         * NEWS: Mention this.
14915         * modules/openat (configure.ac): Declare witnesses.
14916         (Depends-on): Add fcntl-h, sys_stat, unistd.
14917         (Include): Mention correct headers.
14918         * modules/fcntl-h (Depends-on): Add link-warning.
14919         (Files): Add openat.m4.
14920         (Makefile.am): Substitute witnesses.
14921         * modules/sys_stat (Files, Makefile.am): Likewise.
14922         * modules/unistd (Files, Makefile.am): Likewise.
14923         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
14924         (gl_OPENAT_DEFAULTS): New macro.
14925         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
14926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
14927         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
14928         (SYS_STAT_H): Remove unused variable.
14929         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
14930         * lib/fcntl--.h (includes): Remove unneeded header.
14931         * lib/openat-safer.c (includes): Likewise.
14932         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
14933         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
14934         appropriate headers.
14935         (__OPENAT_PREFIX): Delete.
14936         * lib/fcntl.in.h (openat): Provide declaration.
14937         (AT_FDCWD): Fix Solaris bug.
14938         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
14939         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
14940         * lib/fchmodat.c (includes):  Adjust to find declaration.
14941         * lib/fchownat.c (includes): Likewise.
14942         * lib/mkdirat.c (includes): Likewise.
14943         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
14944         still visible.
14945
14946 2009-09-02  Eric Blake  <ebb9@byu.net>
14947
14948         errno: use consistently
14949         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
14950         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
14951         * lib/canonicalize.c (ELOOP): Likewise.
14952         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
14953         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
14954         * lib/lchown.c (EOPNOTSUPP): Likewise.
14955         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
14956         * lib/savewd.c (ESTALE): Likewise.
14957         * lib/settime.c (ENOSYS): Likewise.
14958         * lib/utimens.c (ENOSYS): Likewise.
14959         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
14960         * lib/chdir-safer.c (ELOOP): Likewise.
14961         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
14962         * modules/c-stack (Depends-on): Add errno.
14963         * modules/canonicalize (Depends-on): Likewise.
14964         * modules/chdir-safer (Depends-on): Likewise.
14965         * modules/fdopendir (Depends-on): Likewise.
14966         * modules/inet_ntop (Depends-on): Likewise.
14967         * modules/inet_pton (Depends-on): Likewise.
14968         * modules/lchown (Depends-on): Likewise.
14969         * modules/openat (Depends-on): Likewise.
14970         * modules/savewd (Depends-on): Likewise.
14971         * modules/settime (Depends-on): Likewise.
14972         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
14973
14974         fts: avoid leaking fds
14975         * modules/fts (Depends-on): Add cloexec.
14976         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
14977         flag.
14978
14979         fts: make directory fds more robust
14980         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
14981         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
14982
14983         backupfile, chdir-long, fts, savedir: make safer
14984         * lib/backupfile.c (includes): Use "dirent--.h", since
14985         numbered_backup can write to stderr during readdir.
14986         * lib/savedir.c (includes): Likewise.
14987         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
14988         emulation can write to stderr on failure.
14989         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
14990         * lib/getcwd.c: Document why opendir_safer is unused.
14991         * lib/glob.c: Likewise.
14992         * lib/scandir.c: Likewise.
14993         * lib/openat-proc.c: Likewise, for open_safer.
14994         * modules/backupfile (Depends-on): Add dirent-safer.
14995         * modules/savedir (Depends-on): Likewise.
14996         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
14997         * modules/chdir-long (Depends-on): Add openat-safer.
14998
14999         openat-safer: new module
15000         * modules/openat-safer: New file.
15001         * lib/openat-safer.c: Likewise.
15002         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
15003         * lib/fcntl-safer.h (openat_safer): Declare.
15004         * lib/fcntl--.h (openat): Override.
15005         * MODULES.html.sh (File descriptor based I/O): Mention it.
15006         * lib/openat.h: Add double-inclusion guards.
15007         * lib/openat.c (includes): Only include "fcntl-safer.h", not
15008         "fcntl--.h", so we can implement openat.
15009         * modules/openat-safer-tests: New test.
15010         * tests/test-openat-safer.c: New file.
15011
15012         dirent-safer: new module
15013         * modules/dirent-safer: New file.
15014         * lib/dirent--.h: Likewise.
15015         * lib/dirent-safer.h: Likewise.
15016         * lib/opendir-safer.c: Likewise.
15017         * m4/dirent-safer.m4: Likewise.
15018         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
15019         * modules/dirent-safer-tests: New test.
15020         * tests/test-dirent-safer.c: New file.
15021         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
15022
15023         fdopendir: optimize on mingw
15024         * lib/unistd.in.h (_gl_directory_name): New prototype.
15025         * lib/fchdir.c (_gl_directory_name): Implement it.
15026         (fchdir): Use it to simplify implementation.
15027         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
15028         fchdir, when available, to avoid calling [f]chdir().
15029
15030         fdopendir: split into its own module
15031         * lib/openat.c (fdopendir): Move...
15032         * lib/fdopendir.c: ...into new file.
15033         * modules/fdopendir: New module.
15034         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
15035         * modules/openat (Depends-on): Add fdopendir.
15036         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
15037         fdopendir here.
15038         * modules/savedir (Depends-on): Only need fdopendir, not full
15039         openat.
15040         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
15041         * lib/openat.h (fdopendir): Drop prototype.
15042         * lib/dirent.in.h (fdopendir): Provide prototype.
15043         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
15044         * modules/dirent (Makefile.am): Substitute them.
15045         * MODULES.html.sh (File system functions): Mention it.
15046         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
15047         * modules/fdopendir-tests: New file.
15048         * tests/test-fdopendir.c: Likewise.
15049
15050         fchdir: use more consistent macro convention
15051         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
15052         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
15053         REPLACE_FCHDIR, rather than relying on config.h macros.
15054         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
15055         inside a single make-time REPLACE_FCHDIR block, rather than using
15056         the config.h FCHDIR_REPLACEMENT.
15057         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
15058         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
15059         Manage fstat replacement.
15060         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
15061         REPLACE_FCHDIR.
15062         * modules/sys_stat (Files): Add m4/unistd_h.m4.
15063         (Makefile.am): Substitute REPLACE_FCHDIR.
15064         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
15065         FCHDIR_REPLACEMENT.
15066         * lib/dup-safer.c (dup_safer): Likewise.
15067         * lib/dup2.c (rpl_dup2): Likewise.
15068         * lib/dup3.c (rpl_dup3): Likewise.
15069         * lib/open.c (rpl_open): Likewise.
15070
15071         fchdir: simplify error handling, and support dup3
15072         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
15073         stdbool, malloc-posix, realloc-posix.
15074         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
15075         (ensure_dirs_slot): Return false on allocation failure.
15076         (rpl_dup2): Delete.
15077         (_gl_register_dup): New function.
15078         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
15079         (_gl_register_fd): Close fd on allocation failure.
15080         * lib/fcntl.in.h (_gl_register_fd): Update signature.
15081         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
15082         prototype.
15083         (rpl_dup2_fchdir): Delete prototype.
15084         * lib/open.c (open): Update caller.
15085         * lib/dup2.c (dup2): Track fchdir metadata.
15086         * lib/dup3.c (dup3): Likewise.
15087         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
15088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
15089
15090 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15091
15092         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
15093         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
15094         don't pass arguments to AC_OUTPUT.
15095
15096 2009-09-02  Bruno Haible  <bruno@clisp.org>
15097
15098         * modules/mkdtemp (License): Relicense under LGPLv2+.
15099         Reported by Paolo Bonzini.
15100
15101 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15102
15103         Replace uses of obsolete autoconf macros in Jim's modules.
15104         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
15105         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
15106         can evoke a warning from autoconf when run with -Wobsolete
15107         enabled.  They were declared obsolete for good reasons (see
15108         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
15109         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
15110         should not continue using the deprecated macros.
15111         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
15112         obsolete Autoconf macros with modern counterparts.
15113         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15114         * m4/dos.m4 (gl_AC_DOS): Likewise.
15115         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
15116         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
15117         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
15118         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
15119         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15120         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
15121         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
15122         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
15123         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
15124         Likewise.
15125         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
15126         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
15127         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
15128         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
15129         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
15130         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
15131
15132 2009-09-01  Eric Blake  <ebb9@byu.net>
15133
15134         fchdir: fix off-by-one bug in previous patch
15135         * lib/fchdir.c (rpl_fstat): Use correct bounds.
15136         (_gl_unregister_fd): Delete useless if.
15137
15138 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
15139
15140         maint.mk: sort the list of syntax-check rules
15141         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
15142         easier to get a sense of progress when the rules are run sequentially
15143         and take a long time.
15144
15145 2009-09-01  Simon Josefsson  <simon@josefsson.org>
15146
15147         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
15148         * modules/netinet_in: Likewise.
15149         * modules/sys_file: Likewise.
15150         * modules/sys_ioctl: Likewise.
15151         * modules/sys_select: Likewise.
15152         * modules/sys_socket: Likewise.
15153         * modules/sys_stat: Likewise.
15154         * modules/sys_time: Likewise.
15155         * modules/sys_times: Likewise.
15156         * modules/sys_utsname: Likewise.
15157         * modules/sys_wait: Likewise.
15158
15159 2009-09-01  Jim Meyering  <meyering@redhat.com>
15160
15161         fts: help ensure that return values are not ignored
15162         * lib/fts_.h (__GNUC_PREREQ): Define.
15163         (__attribute_warn_unused_result__): Define.
15164         (fts_children, fts_close, fts_open, fts_read): Declare with
15165         __attribute_warn_unused_result__.
15166
15167         fts: fts_close now fails also when closing a dir file descriptor fails
15168         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
15169         and propagate to caller, along with errno.
15170
15171         announce-gen: correct formatting in --help output
15172         * build-aux/announce-gen (usage): Move the one-line description in
15173         --help output "up", to where it belongs, just after Usage:.
15174
15175 2009-08-31  Eric Blake  <ebb9@byu.net>
15176
15177         fchdir: port to mingw
15178         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
15179         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
15180         opened, then use a substitute.
15181         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
15182         replacement.
15183         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
15184         (_gl_register_fd): No need to check stat if open already filters
15185         all directories.
15186         (fchdir): Fix error condition to match POSIX.
15187         * modules/fchdir (Depends-on): Add sys_stat.
15188         * doc/posix-functions/open.texi (open): Document the limitation.
15189         * modules/fchdir-tests: New file.
15190         * tests/test-fchdir.c: Likewise.
15191
15192         canonicalize: allow cross-testing from cygwin to mingw
15193         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
15194         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
15195         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
15196         Likewise.
15197         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
15198         target does not support symlinks.
15199         * tests/test-canonicalize-lgpl.sh: Likewise.
15200
15201         chown: avoid compilation warning on mingw
15202         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
15203         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
15204         mingw.
15205         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
15206         * modules/chown (Depends-on): Add errno.
15207
15208 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15209
15210         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
15211         command.
15212
15213 2009-08-31  Jim Meyering  <meyering@redhat.com>
15214
15215         canonicalize: remove useless initialization
15216         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
15217         initialization of local, "end".
15218
15219 2009-08-30  Bruno Haible  <bruno@clisp.org>
15220
15221         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
15222         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
15223         ENOSYS.
15224
15225 2009-08-30  Bruno Haible  <bruno@clisp.org>
15226
15227         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
15228         /usr/xpg4/bin/tr when it exists.
15229         * tests/test-pipe-filter-gi1.sh: Likewise.
15230
15231 2009-08-30  Bruno Haible  <bruno@clisp.org>
15232
15233         Work around deficient /usr/bin/id program on Solaris.
15234         * tests/test-file-has-acl.sh (ID): New variable.
15235         * tests/test-set-mode-acl.sh (ID): Likewise.
15236         * tests/test-copy-acl.sh (ID): Likewise.
15237         * tests/test-copy-file.sh (ID): Likewise.
15238
15239 2009-08-30  Bruno Haible  <bruno@clisp.org>
15240
15241         New module 'xstriconveh'.
15242         * lib/xstriconveh.h: New file.
15243         * lib/xstriconveh.c: New file.
15244         * modules/xstriconveh: New file.
15245
15246 2009-08-30  Bruno Haible  <bruno@clisp.org>
15247
15248         Make it easier to use mem_cd_iconveh.
15249         * lib/striconveh.h (iconveh_t): New type.
15250         (iconveh_open, iconveh_close): New declarations.
15251         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15252         with a single 'const iconveh_t *' argument.
15253         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
15254         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15255         with a single 'const iconveh_t *' argument.
15256         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
15257         * tests/test-striconveh.c (main): Update.
15258         * NEWS: Mention the change.
15259
15260 2009-08-30  Bruno Haible  <bruno@clisp.org>
15261
15262         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
15263         problem.
15264
15265 2009-08-30  Bruno Haible  <bruno@clisp.org>
15266
15267         Work around iconv_open problem on Solaris.
15268         * lib/iconv_open-solaris.gperf: New file.
15269         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
15270         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
15271         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
15272         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
15273         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
15274         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
15275
15276 2009-08-29  Jim Meyering  <meyering@redhat.com>
15277
15278         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
15279         * top/maint.mk (cvs-check): Remove target; it was just an alias
15280         to the better-named vc-diff-check.
15281         (maintainer-distcheck): Remove rule.  It was used only from
15282         the (alpha/beta/major) target, and all of its commands but one
15283         were coreutils-specific.
15284         (vc-dist): Remove rule.
15285         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
15286         Run vc-diff-check, not vc-dist.
15287         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
15288
15289 2009-08-27  Bruno Haible  <bruno@clisp.org>
15290
15291         * tests/test-bitrotate.c (main): Remove test that uses a shift count
15292         of 0.
15293
15294 2009-08-27  Bruno Haible  <bruno@clisp.org>
15295
15296         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
15297         compilers.
15298         * doc/func.texi: Document the SunPRO C bug.
15299
15300 2009-08-27  Bruno Haible  <bruno@clisp.org>
15301
15302         Fix link error on Solaris.
15303         * tests/test-parse-duration.c (xstrdup): Remove function.
15304
15305 2009-08-26  Pádraig Brady  <P@draigbrady.com>
15306
15307         ignore-value: handle pointer types, too
15308         * lib/ignore-value.h (__attribute__): Remove definition.
15309         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
15310         of a more concise and more-often effective "(void) i" statement.
15311         (ignore_ptr): New function to suppress warnings from functions that
15312         return pointers, and to make it explicit that one function doesn't
15313         handle all cases.
15314
15315 2009-08-25  Bruno Haible  <bruno@clisp.org>
15316
15317         dup2: work around a Linux bug.
15318         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
15319         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
15320         * doc/posix-functions/dup2.texi: Mention the Linux bug.
15321         Reported by Simon Josefsson.
15322
15323 2009-08-25  Jim Meyering  <meyering@redhat.com>
15324
15325         libguestfs uses gnulib
15326         * users.txt: Add libguestfs.
15327
15328 2009-08-24  Eric Blake  <ebb9@byu.net>
15329
15330         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
15331         * lib/pipe2.c (includes): Add binary-io.h.
15332         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
15333
15334 2009-08-24  Bruno Haible  <bruno@clisp.org>
15335
15336         Tolerate declared but missing accept4 syscall.
15337         * lib/accept4.c (accept4): Invoke original accept4 function first, if
15338         available.
15339         * lib/sys_socket.in.h (accept4): If the function is already present,
15340         override it.
15341         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
15342         * modules/accept4 (Makefile.am): Compile accept4.c always.
15343         Reported by Paolo Bonzini and Eric Blake.
15344
15345 2009-08-23  Bruno Haible  <bruno@clisp.org>
15346
15347         New module 'accept4'.
15348         * lib/sys_socket.in.h (accept4): New declaration.
15349         * lib/accept4.c: New file.
15350         * m4/accept4.m4: New file.
15351         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15352         GNULIB_ACCEPT4, HAVE_ACCEPT4.
15353         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
15354         HAVE_ACCEPT4.
15355         * modules/accept4: New file.
15356         * doc/glibc-functions/accept4.texi: Mention the new module.
15357
15358 2009-08-24  Jim Meyering  <meyering@redhat.com>
15359
15360         progname: also set global program_invocation_name, when possible
15361         Before this change, a libtool-enabled program that calls glibc's
15362         error function would report the program name as
15363         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
15364         * modules/progname (configure.ac): Check for a declaration of
15365         program_invocation_name.
15366         * lib/progname.c:  Include <errno.h>.
15367         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
15368         Set program_invocation_name.
15369
15370 2009-08-23  Bruno Haible  <bruno@clisp.org>
15371
15372         * lib/dup3.c: Include <string.h>.
15373
15374 2009-08-23  Bruno Haible  <bruno@clisp.org>
15375
15376         * lib/dup3.c (dup3): Test only once whether the system actually exists.
15377         * lib/pipe2.c (pipe2): Likewise.
15378         Suggested by Eric Blake.
15379
15380 2009-08-23  Bruno Haible  <bruno@clisp.org>
15381
15382         Tolerate declared but missing dup3 syscall.
15383         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
15384         * lib/unistd.in.h (dup3): If the function is already present,
15385         override it.
15386         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
15387         * modules/dup3 (Makefile.am): Compile dup3.c always.
15388         Reported by Paolo Bonzini.
15389
15390 2009-08-23  Bruno Haible  <bruno@clisp.org>
15391
15392         Tolerate declared but missing pipe2 syscall.
15393         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
15394         available.
15395         * lib/unistd.in.h (pipe2): If the function is already present,
15396         override it.
15397         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
15398         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
15399         Reported by Paolo Bonzini.
15400
15401 2009-08-23  Bruno Haible  <bruno@clisp.org>
15402
15403         * lib/pipe2.c (pipe2): Move #ifs inside function.
15404
15405 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15406
15407         quotearg: document limitations of quote_these_too
15408         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
15409         those limitations are created.
15410         * lib/quotearg.h (set_char_quoting): Document that digits and
15411         letters that are special after backslash are not permitted.
15412         (quotearg_char): Cross-reference set_char_quoting documentation.
15413
15414 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
15415
15416         quotearg: implement custom_quoting_style
15417         * lib/quotearg.c: (struct quoting_options): Add left_quote and
15418         right_quote fields.
15419         (set_custom_quoting): New public function.
15420         (quotearg_buffer_restyled): Add left_quote and right_quote
15421         arguments, handle them very much like locale quoting, and update
15422         all uses.
15423         (quotearg_n_custom): New public function.
15424         (quotearg_n_custom_mem): New public function.
15425         (quotearg_custom): New public function.
15426         (quotearg_custom_mem): New public function.
15427         * lib/quotearg.h: Prototype and document new public functions.
15428         (enum quoting_style): For escape_quoting_style and
15429         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
15430         ignored even though they're otherwise like c_quoting_style.
15431         Add custom_quoting_style member and document with comparison to
15432         clocale_quoting_style.
15433         * tests/test-quotearg.c (custom_quotes): New array.
15434         (custom_results): New array.
15435         (main): Extend to test custom quoting.
15436
15437 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15438
15439         quotearg: fix right quote escaping when it's in quote_these_too
15440         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
15441         quote, be sure to prepend only one backslash.
15442         * tests/test-quotearg.c (use_quote_double_quotes): New function.
15443         (main): Test it.
15444
15445 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15446
15447         quotearg-tests: test escaping of embedded locale quotes
15448         * tests/test-quotearg.c (struct result_strings): Add member for
15449         new input.
15450         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
15451         (inputs): Add new input.
15452         (results_g): Add expected results.
15453         (flag_results): Likewise.
15454         (locale_results): Likewise.
15455         (compare_strings): Check those.
15456
15457 2009-08-23  Bruno Haible  <bruno@clisp.org>
15458
15459         Tests for module 'dup3'.
15460         * modules/dup3-tests: New file.
15461         * tests/test-dup3.c: New file.
15462
15463         New module 'dup3'.
15464         * lib/unistd.in.h (dup3): New declaration.
15465         * lib/dup3.c: New file.
15466         * m4/dup3.m4: New file.
15467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
15468         HAVE_DUP3.
15469         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
15470         * modules/dup3: New file.
15471         * doc/glibc-functions/dup3.texi: Mention the new module.
15472
15473 2009-08-23  Bruno Haible  <bruno@clisp.org>
15474
15475         Tweak the dup2 test.
15476         * tests/test-dup2.c (main): Create the test file empty. Verify that an
15477         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
15478         the test file is still empty. Fix argument order of lseek.
15479
15480 2009-08-23  Bruno Haible  <bruno@clisp.org>
15481
15482         Avoid test link errors when the modules getopt-gnu, gettext are used.
15483         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
15484         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15485
15486 2009-08-23  Bruno Haible  <bruno@clisp.org>
15487
15488         Fix getdtablesize() on mingw.
15489         * lib/getdtablesize.c (getdtablesize): Implement differently.
15490         * lib/unistd.in.h (getdtablesize): Improve comment.
15491
15492 2009-08-23  Bruno Haible  <bruno@clisp.org>
15493
15494         New module 'mkostemp'.
15495         Based on Ulrich Drepper's 2007-08-10 change in glibc.
15496         * lib/stdlib.in.h (mksotemp): New declaration.
15497         * lib/mkostemp.c: New file, from glibc with modifications.
15498         * lib/tempname.h (GT_FILE): Remove outdated comment.
15499         (gen_tempname): Add flags argument.
15500         * lib/tempname.c (__GT_BIGFILE): Remove macro.
15501         (__GT_FILE): Map to 1.
15502         (small_open, large_open): Remove macros.
15503         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
15504         * lib/mkstemp.c (mkstemp): Update.
15505         * lib/mkdtemp.c (mkdtemp): Likewise.
15506         * m4/mkostemp.m4: New file.
15507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
15508         HAVE_MKOSTEMP.
15509         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
15510         HAVE_MKOSTEMP.
15511         * modules/mkostemp: New file, based on modules/mkstemp.
15512         * doc/glibc-functions/mkostemp.texi: Mention the new module.
15513         * NEWS: Mention the change.
15514
15515 2009-08-23  Bruno Haible  <bruno@clisp.org>
15516
15517         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
15518         Reported by Eric Blake.
15519
15520 2009-08-23  Bruno Haible  <bruno@clisp.org>
15521
15522         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
15523         Reported by Eric Blake.
15524
15525 2009-08-23  Bruno Haible  <bruno@clisp.org>
15526
15527         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
15528         * modules/pipe2 (Depends-on): Likewise.
15529
15530 2009-08-23  Eric Blake  <ebb9@byu.net>
15531
15532         fcntl-h: add O_TTY_INIT support
15533         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
15534         * tests/test-fcntl-h.c (o): Test it.
15535         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15536
15537         fcntl-h: rename from fcntl, in preparation for fcntl(2)
15538         * modules/fcntl: Move <fcntl.h> header replacement...
15539         * modules/fcntl-h: ...to new name, so as not to collide with
15540         like-named function.
15541         * tests/test-fcntl.c: Rename...
15542         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
15543         * modules/fcntl-tests: Rename...
15544         * modules/fcntl-h-tests: ...to this.  Update test file name.
15545         * modules/chdir-long (Depends-on): Update clients.
15546         * modules/chdir-safer (Depends-on): Likewise.
15547         * modules/fcntl-safer (Depends-on): Likewise.
15548         * modules/fts (Depends-on): Likewise.
15549         * modules/mkancesdirs (Depends-on): Likewise.
15550         * modules/mkdir-p (Depends-on): Likewise.
15551         * modules/open (Depends-on): Likewise.
15552         * modules/savewd (Depends-on): Likewise.
15553         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
15554         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15555
15556 2009-08-22  Bruno Haible  <bruno@clisp.org>
15557
15558         * modules/binary-io (License): Relicense under LGPL.
15559         * modules/pipe2 (License): Likewise.
15560
15561 2009-08-22  Bruno Haible  <bruno@clisp.org>
15562
15563         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
15564         return value.
15565         * lib/pipe-filter-gi.c (filter_init): Likewise.
15566         Reported by Eric Blake.
15567
15568 2009-08-22  Bruno Haible  <bruno@clisp.org>
15569
15570         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
15571         * modules/pipe (Depends-on): Add pipe2.
15572
15573 2009-08-22  Bruno Haible  <bruno@clisp.org>
15574
15575         Tests for module 'pipe2'.
15576         * modules/pipe2-tests: New file.
15577         * tests/test-pipe2.c: New file.
15578
15579         New module 'pipe2'.
15580         * lib/unistd.in.h (pipe2): New declaration.
15581         * lib/pipe2.c: New file.
15582         * m4/pipe2.m4: New file.
15583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
15584         HAVE_PIPE2.
15585         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
15586         * modules/pipe2: New file.
15587         * doc/glibc-functions/pipe2.texi: Mention the new module.
15588
15589 2009-08-22  Bruno Haible  <bruno@clisp.org>
15590
15591         Reference some new glibc functions.
15592         * doc/glibc-functions/accept4.texi: New file.
15593         * doc/glibc-functions/dup3.texi: New file.
15594         * doc/glibc-functions/mkostemp.texi: New file.
15595         * doc/glibc-functions/pipe2.texi: New file.
15596         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
15597         (Glibc sys/socket.h): Refer to accept4.
15598         (Glibc unistd.h): Refer to dup3, pipe2.
15599         Reported by Eric Blake.
15600
15601 2009-08-22  Jim Meyering  <meyering@redhat.com>
15602             Bruno Haible  <bruno@clisp.org>
15603
15604         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
15605         This makes it so packages using automake-1.11's silent-rules option
15606         can print e.g., a single "GEN    configmake.h" line, rather than
15607         the 30+ statements that perform the job.  If you want to see the
15608         actual commands, you can still run "make V=1".
15609         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
15610         so that make output is abbreviated when those variables are defined
15611         appropriately.
15612         * modules/argz: Likewise.
15613         * modules/arpa_inet: Likewise.
15614         * modules/byteswap: Likewise.
15615         * modules/configmake: Likewise.
15616         * modules/dirent: Likewise.
15617         * modules/errno: Likewise.
15618         * modules/fcntl: Likewise.
15619         * modules/float: Likewise.
15620         * modules/fnmatch: Likewise.
15621         * modules/getopt-posix: Likewise.
15622         * modules/glob: Likewise.
15623         * modules/iconv_open: Likewise.
15624         * modules/inttypes: Likewise.
15625         * modules/localcharset: Likewise.
15626         * modules/locale: Likewise.
15627         * modules/math: Likewise.
15628         * modules/netdb: Likewise.
15629         * modules/netinet_in: Likewise.
15630         * modules/poll: Likewise.
15631         * modules/posix_spawnp-tests: Likewise.
15632         * modules/sched: Likewise.
15633         * modules/search: Likewise.
15634         * modules/selinux-h: Likewise.
15635         * modules/signal: Likewise.
15636         * modules/spawn: Likewise.
15637         * modules/stdarg: Likewise.
15638         * modules/stdbool: Likewise.
15639         * modules/stddef: Likewise.
15640         * modules/stdint: Likewise.
15641         * modules/stdio: Likewise.
15642         * modules/stdlib: Likewise.
15643         * modules/string: Likewise.
15644         * modules/strings: Likewise.
15645         * modules/sys_file: Likewise.
15646         * modules/sys_ioctl: Likewise.
15647         * modules/sys_select: Likewise.
15648         * modules/sys_socket: Likewise.
15649         * modules/sys_stat: Likewise.
15650         * modules/sys_time: Likewise.
15651         * modules/sys_times: Likewise.
15652         * modules/sys_utsname: Likewise.
15653         * modules/sys_wait: Likewise.
15654         * modules/sysexits: Likewise.
15655         * modules/time: Likewise.
15656         * modules/unistd: Likewise.
15657         * modules/wchar: Likewise.
15658         * modules/wctype: Likewise.
15659
15660 2009-08-22  Jim Meyering  <meyering@redhat.com>
15661
15662         announce-gen: detect write failure
15663         * build-aux/announce-gen: Add Coda at end.
15664         Remove equivalent-but-more-verbose block at top.
15665
15666 2009-08-19  Akim Demaille  <demaille@gostai.com>
15667
15668         bootstrap: --help to stdout.
15669         * bootstrap (usage): Don't send --help to stderr.
15670         Use a here doc instead of a long string.
15671
15672 2009-08-21  Eric Blake  <ebb9@byu.net>
15673
15674         test-popen-safer: split from test-popen
15675         * tests/test-popen.c (main): Move...
15676         * tests/test-popen.h: ...into new file.
15677         * tests/test-popen-safer2.c: New file.
15678         * modules/popen-tests (Files): Add test-popen.h.
15679         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
15680         Suggested by Bruno Haible.
15681
15682         test-fcntl-safer: split from test-open
15683         * tests/test-open.c (main): Move...
15684         * tests/test-open.h: ...into new file.
15685         * tests/test-fcntl-safer.c: New file.
15686         * modules/open-tests (Files): Add test-open.h.
15687         * modules/fcntl-safer-tests: New file.
15688         Suggested by Bruno Haible.
15689
15690         test-fopen-safer: split from test-fopen
15691         * tests/test-fopen.c (main): Move...
15692         * tests/test-fopen.h: ...into new file.
15693         * tests/test-fopen-safer.c: New file.
15694         * modules/fopen-tests (Files): Add test-fopen.h.
15695         * modules/fopen-safer-tests: New file.
15696         Suggested by Bruno Haible.
15697
15698 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15699
15700         popen-safer: test O_CLOEXEC at run-time.
15701         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
15702
15703 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15704
15705         fcntl: move more flags to the header
15706         * lib/cloexec.c: Do not define FD_CLOEXEC here.
15707         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
15708         * lib/fcntl.in.h: Do both things here.
15709
15710 2009-08-21  Jim Meyering  <meyering@redhat.com>
15711
15712         consistently remove $@-t before redirecting to it
15713         * modules/argz: Remove $@-t and $@ before redirecting to the former.
15714         * modules/alloca-opt: Likewise.
15715         * modules/byteswap: Likewise.
15716         * modules/fnmatch: Likewise.
15717         * modules/getopt-posix: Likewise.
15718         * modules/glob: Likewise.
15719         * modules/poll: Likewise.
15720         * modules/posix_spawnp-tests: Likewise.
15721         * modules/sys_socket: Likewise.
15722         * modules/sysexits: Likewise.
15723
15724 2009-08-21  Eric Blake  <ebb9@byu.net>
15725
15726         popen: simplify access to original popen
15727         * lib/popen.c (rpl_popen): No need to worry about popen being a
15728         macro.
15729         Reported by Bruno Haible.
15730
15731 2009-08-20  Eric Blake  <ebb9@byu.net>
15732
15733         build: avoid some compiler warnings
15734         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
15735         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
15736         type.
15737         (new_exclude_segment, excluded_file_pattern_p)
15738         (excluded_file_name_p): Reduce scope.
15739         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
15740         old-style declaration.
15741
15742 2009-08-20  Simon Josefsson  <simon@josefsson.org>
15743
15744         * tests/test-exclude1.sh: Handle Windows EOL.
15745         * tests/test-exclude2.sh: Likewise.
15746         * tests/test-exclude3.sh: Likewise.
15747         * tests/test-exclude4.sh: Likewise.
15748         * tests/test-exclude5.sh: Likewise.
15749         * tests/test-exclude6.sh: Likewise.
15750         * tests/test-exclude7.sh: Likewise.
15751
15752 2009-08-19  Akim Demaille  <demaille@gostai.com>
15753
15754         bootstrap: find sha1sum when named gsha1sum.
15755         * bootstrap (find_tool): New.
15756         ($SHA1SUM): New.
15757         Use it.
15758
15759 2009-08-20  Jim Meyering  <meyering@redhat.com>
15760
15761         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
15762         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
15763         expression that converts "." in a file name to "\." in the resulting
15764         regexp.  Start with a dummy statement, so that prior shell variable
15765         definitions are expanded portably.  Reported by Simon Josefsson.
15766
15767 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
15768
15769         Fix polling for writeability of a screen buffer.
15770         * lib/poll.c: Distinguish input and screen buffers for the
15771         Win32 implementation.
15772         * lib/select.c: Likewise.
15773
15774 2009-08-19  Eric Blake  <ebb9@byu.net>
15775
15776         popen-safer: prevent popen from clobbering std descriptors
15777         * modules/popen-safer: New file.
15778         * lib/popen-safer.c: Likewise.
15779         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
15780         * lib/stdio--.h (popen): Provide override.
15781         * lib/stdio-safer.h (popen_safer): Provide declaration.
15782         * tests/test-popen.c (includes): Partially test this.
15783         * modules/popen-safer-tests: New file, for more tests.
15784         * tests/test-popen-safer.c: Likewise.
15785         * MODULES.html.sh (file stream based Input/Output): Mention it.
15786
15787         tests: test some of the *-safer modules
15788         * modules/fopen-safer (Depends-on): Add fopen.
15789         * modules/fcntl-safer (Depends-on): Add fcntl.
15790         * modules/stdlib-safer (Depends-on): Add stdlib.
15791         (configure.ac): Set indicator.
15792         * modules/unistd-safer (configure.ac): Likewise.
15793         * modules/tmpfile-safer (configure.ac): Likewise.
15794         (Depends-on): Add tmpfile.
15795         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
15796         active.
15797         * tests/test-fopen.c (includes): Test safer versions when they are
15798         in use.
15799         * tests/test-open.c (includes): Likewise.
15800
15801         popen: fix cygwin 1.5 bug when stdin closed
15802         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
15803         * modules/popen: New file.
15804         * modules/popen-tests: Likewise.
15805         * tests/test-popen.c: Likewise.
15806         * m4/popen.m4: Likewise.
15807         * lib/popen.c: Likewise.
15808         * lib/stdio.in.h (popen): New declaration.
15809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
15810         * modules/stdio (Makefile.am): Likewise.
15811         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
15812
15813 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
15814
15815         maint.mk: give full control over update-copyright exclusions
15816         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
15817         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
15818         (update-copyright): Don't force inclusion of top-level
15819         ChangeLog.  Don't force exclusion of all COPYING files, but make
15820         them the default exclusion instead.
15821
15822 2009-08-16  Bruno Haible  <bruno@clisp.org>
15823
15824         Fix test failures on Solaris 10.
15825         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
15826         tests when Solaris iconv() is used.
15827         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15828         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15829         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15830         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15831         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15832
15833 2009-08-16  Bruno Haible  <bruno@clisp.org>
15834
15835         Fix test failures on Solaris 10.
15836         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
15837         'tr' program and pass it as first argument.
15838         * tests/test-pipe-filter-gi1.sh: Likewise.
15839         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
15840         program as first argument.
15841         * tests/test-pipe-filter-gi1.c (main): Likewise.
15842
15843 2009-08-16  Eric Blake  <ebb9@byu.net>
15844
15845         fpurge: fix previous commits
15846         * modules/fpurge (Makefile.am): Make replacement conditional,
15847         partially reverting 2007-04-29 change; missed in previous
15848         attempt.
15849         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
15850         is missing.
15851
15852 2009-08-16  Bruno Haible  <bruno@clisp.org>
15853
15854         Clarify fpurge's effect on the file position.
15855         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
15856         * tests/test-fpurge.c (main): Make a second pass for checking the file
15857         position.
15858
15859 2009-08-16  Bruno Haible  <bruno@clisp.org>
15860
15861         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
15862         declaration of fpurge is missing.
15863         * tests/test-fpurge.c (main): Check that the file has not more contents
15864         than expected. Close the file before removing it.
15865
15866 2009-08-15  Eric Blake  <ebb9@byu.net>
15867
15868         fpurge: don't wrap working cygwin implementation
15869         * lib/fpurge.c (fpurge): Fix comment typo.
15870         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
15871         1.7 to avoid replacement.
15872         * tests/test-fpurge.c (main): Enhance test.
15873
15874 2009-08-15  Eric Blake  <ebb9@byu.net>
15875         and Jim Meyering  <meyering@redhat.com>
15876
15877         test-update-copyright: skip if perl is insufficient
15878         * tests/test-update-copyright.sh: Failure to run maintainer tool
15879         should not cause testsuite failure on cygwin 1.5.
15880
15881 2009-08-14  Eric Blake  <ebb9@byu.net>
15882
15883         doc: mention more functions added in cygwin 1.7.0
15884         * doc/posix-headers/limits.texi (limits.h): Update for recent
15885         cygwin additions.
15886         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
15887         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15888         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
15889         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
15890         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
15891
15892 2009-08-14  Eric Blake  <ebb9@byu.net>
15893
15894         maint.mk: simplify update-copyright rule
15895         * top/maint.mk (update-copyright-local): Delete, and document how
15896         to do it in cfg.mk instead.
15897         (update-copyright-exclude-regexp): Delete, and document how to do
15898         it in .x-update-copyright instead.
15899         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
15900         exclude ChangeLog.
15901
15902 2009-08-14  Bruno Haible  <bruno@clisp.org>
15903
15904         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
15905
15906 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15907
15908         maint.mk: support update-copyright-env
15909         * top/maint.mk (update-copyright-env): Define place-holder.
15910         (update-copyright): Expand $(update-copyright-env) before
15911         invoking update-copyright.
15912
15913 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15914
15915         update-copyright: implement forced reformatting
15916         * build-aux/update-copyright: Implement and document
15917         UPDATE_COPYRIGHT_FORCE.
15918         * tests/test-update-copyright.sh: Test it.
15919
15920 2009-08-14  Eric Blake  <ebb9@byu.net>
15921         and Bruno Haible  <bruno@clisp.org>
15922
15923         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
15924         * tests/test-locale.c: Revert previous patch related to NULL.
15925         * tests/test-stdio.c: Likewise.
15926         * tests/test-stdlib.c: Likewise.
15927         * tests/test-string.c: Likewise.
15928         * tests/test-unistd.c: Likewise.
15929         * modules/time-tests (Depends-on): Add verify.
15930         * modules/wchar-tests (Depends-on): Likewise.
15931         * tests/test-time.c: Test for NULL compliance.
15932         * tests/test-wchar.c: Likewise.
15933         * modules/locale (Depends-on): Add stddef.
15934         * modules/stdio (Depends-on): Likewise.
15935         * modules/stdlib (Depends-on): Likewise.
15936         * modules/string (Depends-on): Likewise.
15937         * modules/time (Depends-on): Likewise.
15938         * modules/unistd (Depends-on): Likewise.
15939         * modules/wchar (Depends-on): Likewise.
15940         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
15941         * lib/stdlib.in.h (includes): Likewise.
15942         * lib/string.in.h (includes): Likewise.
15943         * lib/time.in.h (includes): Likewise.
15944         * lib/unistd.in.h (includes): Likewise.
15945         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
15946         replaced.
15947         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15948         * m4/stddef_h.m4: New file.
15949         * modules/stddef: Likewise.
15950         * lib/stddef.in.h: Likewise.
15951         * modules/stddef-tests: Likewise.
15952         * tests/test-stddef.c: Likewise.
15953         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
15954         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
15955         * doc/posix-headers/locale.texi (locale.h): Likewise.
15956         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
15957         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15958         * doc/posix-headers/string.texi (string.h): Likewise.
15959         * doc/posix-headers/time.texi (time.h): Likewise.
15960         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
15961         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
15962
15963 2009-08-14  Eric Blake  <ebb9@byu.net>
15964
15965         doc: improve git diff of texinfo files
15966         * .gitattributes: Add rule for *.texi files, with hint on how to
15967         use it.
15968         Copied from m4, and based on a report by Bruno Haible.
15969
15970 2009-08-14  Bruno Haible  <bruno@clisp.org>
15971
15972         Disable multithread support by default on Cygwin 1.5.x for real.
15973         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
15974
15975 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15976
15977         update-copyright: much ado about intervals
15978         * build-aux/update-copyright: Implement and document
15979         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
15980         of copyright year intervals.
15981         Also, document UPDATE_COPYRIGHT_YEAR.
15982         * tests/test-update-copyright.sh: Test it.
15983
15984         update-copyright: convert 2-digit to 4-digit years
15985         * build-aux/update-copyright: Implement and document.
15986         * tests/test-update-copyright.sh: Update.
15987
15988 2009-08-14  Jim Meyering  <meyering@redhat.com>
15989
15990         test-exclude: avoid coreutils "make check" failure
15991         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
15992         just as in test-argmatch.c.
15993
15994 2009-08-13  Eric Blake  <ebb9@byu.net>
15995
15996         test-dup2: fix bad assumption
15997         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
15998         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
15999
16000         test-version-etc: fix CRLF portability issue
16001         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
16002         recognize \r.
16003         * tests/test-argp-version-etc-1.sh: Likewise.
16004
16005         getopt: update client modules
16006         * modules/argp (Depends-on): Use getopt-gnu.
16007         * modules/git-merge-changelog (Depends-on): Likewise.
16008         * modules/long-options (Depends-on): Likewise.
16009         * modules/xstrtol (Depends-on): Likewise.
16010
16011 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16012
16013         * tests/test-version-etc.sh: Don't fail on different
16014         project/version.  Don't fail on CRLF differences.  Rewrite to use
16015         multiple -e instead of multiple sed forks, suggested by Eric Blake
16016         <ebb9@byu.net>.
16017         * tests/test-argp-version-etc-1.sh: Likewise.
16018
16019 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16020
16021         * tests/test-version-etc.sh: Don't fail on different
16022         project/version.
16023
16024 2009-08-12  Bruno Haible  <bruno@clisp.org>
16025
16026         Tests for modules 'getopt-posix', 'getopt-gnu'.
16027         * modules/getopt-posix-tests: New file.
16028         * tests/test-getopt.c: New file.
16029         * tests/test-getopt.h: New file.
16030         * tests/test-getopt_long.h: New file.
16031
16032         New modules 'getopt-posix', 'getopt-gnu'.
16033         * modules/getopt-gnu: New file, renamed from modules/getopt.
16034         * modules/getopt-posix: New file.
16035         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
16036         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
16037         (gl_GETOPT): Remove macro.
16038         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
16039         Disable the test against BSD systems that declare optreset. Test
16040         against mingw bug. Test against lack of support of optional arguments
16041         on many platforms.
16042         * doc/glibc-headers/getopt.texi: Update module name and list of
16043         relevant platforms.
16044         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
16045         'getopt-gnu' and more portability problems.
16046         * NEWS: Mention the changes.
16047
16048 2009-08-12  Bruno Haible  <bruno@clisp.org>
16049
16050         Ensure that optarg etc. get declared by <unistd.h>.
16051         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
16052         AC_USE_SYSTEM_EXTENSIONS.
16053         * modules/getopt (Depends-on): Add 'extensions'.
16054
16055 2009-08-12  Bruno Haible  <bruno@clisp.org>
16056
16057         Avoid test link errors.
16058         * modules/pipe-filter-ii-tests (Makefile.am): Define
16059         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
16060         * modules/pipe-filter-gi-tests (Makefile.am): Define
16061         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
16062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16063
16064 2009-08-12  Bruno Haible  <bruno@clisp.org>
16065
16066         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
16067         gl_GETOPT_SUBSTITUTE before.
16068         (gl_GETOPT): Use it.
16069         * m4/argp.m4 (gl_ARGP): Update.
16070         Reported by Sergey Poznyakoff.
16071
16072         * m4/getopt.m4: Reorder macros.
16073         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
16074         (gl_GETOPT_SUBSTITUTE): Remove macro.
16075
16076 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16077
16078         Minor improvement in gitlog-to-changelog
16079
16080         * build-aux/gitlog-to-changelog: New option `--format' makes
16081         output format string configurable.
16082
16083 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16084
16085         Optimize exclude: use hash tables for non-wildcard patterns.
16086
16087         * lib/exclude.c: Include hash.h and mbuiter.h
16088         (struct exclude_pattern, exclude_segment): New data types.
16089         (struct exclude): Rewrite.
16090         (fnmatch_pattern_has_wildcards): New function.
16091         (new_exclude_segment, free_exclude_segment): New functions.
16092         (excluded_file_pattern_p, excluded_file_name_p): New functions.
16093         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
16094         * lib/exclude.h (is_fnmatch_pattern): New prototype.
16095         * modules/exclude: Depend on hash and mbuiter.
16096
16097         * modules/exclude-tests: New file.
16098         * tests/test-exclude.c: New file.
16099         * tests/test-exclude1.sh: New file.
16100         * tests/test-exclude2.sh: New file.
16101         * tests/test-exclude3.sh: New file.
16102         * tests/test-exclude4.sh: New file.
16103         * tests/test-exclude5.sh: New file.
16104         * tests/test-exclude6.sh: New file.
16105         * tests/test-exclude7.sh: New file.
16106
16107 2009-08-12  Bruno Haible  <bruno@clisp.org>
16108
16109         Ensure that getopt() gets declared by <unistd.h>.
16110         * lib/unistd.in.h: Conditionally include getopt.h.
16111         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
16112         Set GNULIB_UNISTD_H_GETOPT.
16113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16114         GNULIB_UNISTD_H_GETOPT.
16115         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
16116
16117 2009-08-12  Bruno Haible  <bruno@clisp.org>
16118
16119         Clarify logic.
16120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
16121         gl_replace_getopt instead of GETOPT_H.
16122
16123 2009-08-12  Bruno Haible  <bruno@clisp.org>
16124
16125         * m4/getopt.m4: Add comments.
16126
16127 2009-08-12  Bruno Haible  <bruno@clisp.org>
16128
16129         Disable multithread support by default on Cygwin 1.5.x.
16130         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
16131         set gl_use_threads=no if not specified otherwise.
16132
16133 2009-08-11  Bruno Haible  <bruno@clisp.org>
16134
16135         Avoid compilation error on NetBSD 5.0.
16136         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
16137         * tests/test-stdio.c: Likewise.
16138         * tests/test-stdlib.c: Likewise.
16139         * tests/test-string.c: Likewise.
16140         * tests/test-unistd.c: Likewise.
16141         Reported by Greg Troxel <gdt@ir.bbn.com>
16142         at <https://savannah.gnu.org/support/?106973>.
16143
16144 2009-08-11  Bruno Haible  <bruno@clisp.org>
16145
16146         * modules/dup2-tests (Depends-on): Remove close.
16147
16148         Undo 2009-07-19 commit.
16149         * modules/acl-tests (Depends-on): Remove close.
16150         * modules/binary-io-tests (Depends-on): Likewise.
16151         * modules/closein-tests (Depends-on): Likewise.
16152         * modules/flock-tests (Depends-on): Likewise.
16153         * modules/fsync-tests (Depends-on): Likewise.
16154         * modules/lseek-tests (Depends-on): Likewise.
16155         * modules/pipe-tests (Depends-on): Likewise.
16156         * modules/posix_spawn-tests (Depends-on): Likewise.
16157         * modules/posix_spawnp-tests (Depends-on): Likewise.
16158         * modules/stat-time-tests (Depends-on): Likewise.
16159         * modules/yesno-tests (Depends-on): Likewise.
16160
16161 2009-08-10  Bruno Haible  <bruno@clisp.org>
16162
16163         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
16164
16165 2009-08-10  Bruno Haible  <bruno@clisp.org>
16166
16167         Fix a gcc warning.
16168         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
16169
16170 2009-08-10  Bruno Haible  <bruno@clisp.org>
16171
16172         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
16173         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
16174         not only the first time.
16175         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
16176         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
16177         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
16178         is 1, not only the the first time.
16179
16180 2009-08-10  Bruno Haible  <bruno@clisp.org>
16181
16182         Make it possible to use module 'gethostname' without module 'close'.
16183         * lib/unistd.in.h (close): Evoke a link error only if
16184         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16186         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16187         * modules/unistd (Makefile.am): Substitute
16188         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16189         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
16190         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16191         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16192         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16193         * modules/sys_ioctl (Makefile.am): Substitute
16194         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16195         * modules/socket (configure.ac): On native Windows, set
16196         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
16197         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16198         Reported by Sam Steingold <sds@gnu.org>.
16199
16200 2009-08-10  Bruno Haible  <bruno@clisp.org>
16201
16202         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
16203         * modules/ioctl (configure.ac): Likewise.
16204
16205 2009-08-10  Bruno Haible  <bruno@clisp.org>
16206
16207         Avoid collision between gnulib wrapper and libintl wrapper.
16208         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
16209         already defined in intl/printf.c.
16210         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
16211         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
16212
16213 2009-08-09  Bruno Haible  <bruno@clisp.org>
16214
16215         Make <sys/select.h> really self-contained, also on Solaris 10.
16216         * lib/sys_select.in.h: Include <string.h>.
16217         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
16218         Solaris 10 problem.
16219         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
16220         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
16221         Reported by Jim Meyering.
16222
16223 2009-08-09  Bruno Haible  <bruno@clisp.org>
16224
16225         Avoid warnings from 'aclocal' that are due to a use of macro name
16226         AM_XGETTEXT_OPTION that is not defined in automake.
16227         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
16228         automake.
16229         * modules/error (configure.ac): Likewise.
16230         * modules/propername (configure.ac): Likewise.
16231         * modules/vasprintf (configure.ac): Likewise.
16232         * modules/verror (configure.ac): Likewise.
16233         * modules/xprintf (configure.ac): Likewise.
16234         * modules/xvasprintf (configure.ac): Likewise.
16235
16236 2009-08-08  Bruno Haible  <bruno@clisp.org>
16237
16238         Avoid compilation error in C++ mode.
16239         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
16240         Reported by Sam Steingold <sds@gnu.org>.
16241
16242 2009-08-08  Bruno Haible  <bruno@clisp.org>
16243
16244         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
16245         for the various Unix platforms.
16246         * doc/posix-headers/limits.texi: Update platforms list regarding
16247         HOST_NAME_MAX.
16248         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16249
16250 2009-08-07  Jim Meyering  <meyering@redhat.com>
16251
16252         selinux-at: fix typo in a comment
16253         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
16254         Spotted by Paolo Bonzini.
16255
16256         selinux-at: remove redundant m4 code, add documentation
16257         * modules/selinux-at (configure.ac): Remove redundant code.
16258         LIB_SELINUX is already set via the dependent module, selinux-h.
16259         (Include): Add quotes around selinux-at.h.
16260         * lib/selinux-at.h: Add documentation.
16261         Reported by Bruno Haible in
16262         http://marc.info/?l=gnulib-bug&m=124958988300749
16263
16264 2009-08-07  Bruno Haible  <bruno@clisp.org>
16265
16266         Avoid link error on MacOS X 10.3 and 10.4.
16267         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
16268         on non-ELF systems.
16269         * lib/argp-pv.c (argp_program_version): Likewise.
16270         Reported by Simon Josefsson.
16271
16272 2009-08-07  Simon Josefsson  <simon@josefsson.org>
16273
16274         * tests/test-version-etc.sh: Use $EXEEXT.
16275
16276 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
16277
16278         update-copyright: update documentation to point to maint.mk
16279         * build-aux/update-copyright: Here.
16280
16281 2009-08-06  Jim Meyering  <meyering@redhat.com>
16282
16283         maint.mk: support update-copyright-local
16284         * top/maint.mk (update-copyright-local): Define place-holder.
16285         (update-copyright): Depend on $(update-copyright-local).
16286
16287 2009-08-06  Jim Meyering  <meyering@redhat.com>
16288
16289         selinux-at: new module
16290         Initially written for coreutils, this module will soon be
16291         used by findutils, too.
16292         * MODULES.html.sh [Misc]: Add selinux-at.
16293         * lib/selinux-at.h: New file, from coreutils.
16294         * lib/selinux-at.c: Likewise.
16295         * modules/selinux-at: Likewise.
16296         (License): Change from LGPL to GPL, since it depends
16297         on the GPL'd openat module.
16298
16299         doc: update README
16300         * README: Remove references to cogito.
16301         Remove cvs-repo-updating instructions from 2007.
16302         Don't imply that CVS is better if you have limited disk space.
16303
16304 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16305
16306         update-copyright: support C-style comments
16307         * build-aux/update-copyright: Implement and document.
16308         * tests/test-update-copyright.sh: Test.
16309
16310 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16311
16312         update-copyright: support omitted "(C)"
16313         * build-aux/update-copyright: Implement and document.  Also,
16314         allow variable whitespace before "(C)".
16315         * tests/test-update-copyright.sh: Test.
16316
16317 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16318
16319         update-copyright: don't trip on non-FSF copyright statements
16320         * build-aux/update-copyright: Fix so that the first correctly
16321         formatted FSF copyright statement is recognized no matter what
16322         appears before it.  Update documentation.
16323         * tests/test-update-copyright.sh: Test that.
16324
16325 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16326
16327         update-copyright: clean up code a little
16328         * build-aux/update-copyright: Append "_re" to the name of any
16329         variable holding a regular expression.
16330         Replace "old" and "new" with "stmt" in variable names.
16331         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
16332         handled correctly.
16333         Format code more consistently.
16334
16335 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16336
16337         update-copyright-tests: improve portability
16338         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
16339         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
16340
16341 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16342
16343         update-copyright: support @copyright{} and &copy;
16344         * build-aux/update-copyright: Implement and document.
16345         * tests/test-update-copyright.sh: Test.
16346
16347 2009-08-04  Jim Meyering  <meyering@redhat.com>
16348
16349         update-copyright-tests: correctly test EOL=\r\n handling
16350         * tests/test-update-copyright.sh: Put \r at the end of some lines
16351         for the dos-eol tests.  Based on a patch by Joel E. Denny.
16352
16353         maint.mk: make update-copyright exclusion list more configurable
16354         * top/maint.mk (update-copyright): Default to excluding COPYING,
16355         but allow an override, in case someone does want to update that file.
16356
16357         maint.mk: don't update copyright date in COPYING
16358         * top/maint.mk (update-copyright): Exclude COPYING.
16359
16360         maint.mk: add a copyright-updating rule
16361         * top/maint.mk (update-copyright): New rule.
16362         Derived from coreutils/Makefile.am.
16363
16364         update-copyright: rename some variables
16365         * build-aux/update-copyright: Rename a few variables for clarity.
16366         Tweak syntax.  List Joel E. Denny as coauthor.
16367
16368 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16369
16370         update-copyright: fix bug for 2-digit last year and add tests
16371         * build-aux/update-copyright: Fix bug.
16372         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
16373         specified.
16374         * modules/update-copyright-tests: New
16375         * tests/test-update-copyright.sh: New.
16376
16377 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16378
16379         update-copyright: handle leading tabs in line prefix
16380         * build-aux/update-copyright: Count leading tabs as 8 spaces
16381         when computing margin.  This helps with the formatting of
16382         ChangeLogs, for example.
16383         Fix documentation a little.
16384
16385 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16386
16387         update-copyright: support EOL=\r\n
16388         * build-aux/update-copyright: Implement that.
16389
16390 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16391
16392         update-copyright: automatically format copyright statements
16393         * build-aux/update-copyright: Implement that.
16394         Also, be a little more predictable and safer by always failing
16395         when the full copyright format is not perfectly recognized as an
16396         unbroken whole.  Discussed at
16397         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
16398         Rewrite documentation.
16399
16400 2009-08-03  Bruno Haible  <bruno@clisp.org>
16401
16402         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
16403
16404 2009-08-02  Bruno Haible  <bruno@clisp.org>
16405
16406         Tests for module 'uname'.
16407         * modules/uname-tests: New file.
16408         * tests/test-uname.c: New file.
16409
16410         New module 'uname'.
16411         * lib/uname.c: New file.
16412         * m4/uname.m4: New file.
16413         * modules/uname: New file.
16414         * doc/posix-functions/uname.texi: Mention the new module.
16415
16416 2009-08-02  Bruno Haible  <bruno@clisp.org>
16417
16418         Tests for module 'sys_utsname'.
16419         * modules/sys_utsname-tests: New file.
16420         * tests/test-sys_utsname.c: New file.
16421
16422         New module 'sys_utsname'.
16423         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
16424         * m4/sys_utsname_h.m4: New file.
16425         * modules/sys_utsname: New file.
16426         * doc/posix-headers/sys_utsname.texi: Mention the new module.
16427
16428 2009-08-02  Bruno Haible  <bruno@clisp.org>
16429
16430         Implicitly initialize the sockets library.
16431         * lib/gethostname.c: Include sockets.h.
16432         (rpl_gethostname): Invoke gl_sockets_startup.
16433         * lib/socket.c: Include sockets.h.
16434         (rpl_socket): Invoke gl_sockets_startup.
16435         * modules/gethostname (Depends-on): Add sockets.
16436         * modules/socket (Depends-on): Likewise.
16437         * tests/test-poll.c: Don't include sockets.h.
16438         (main): Don't invoke gl_sockets_startup.
16439         * tests/test-select.c: Don't include sockets.h.
16440         (main): Don't invoke gl_sockets_startup.
16441
16442 2009-08-02  Bruno Haible  <bruno@clisp.org>
16443
16444         Allow multiple calls to gl_sockets_startup.
16445         * lib/sockets.c (initialized_sockets_version): New variable.
16446         (gl_sockets_startup): Do nothing if already called for this or a higher
16447         version.
16448         (gl_sockets_cleanup): Reset initialized_sockets_version.
16449
16450 2009-08-03  Simon Josefsson  <simon@josefsson.org>
16451
16452         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
16453         different project/version.
16454
16455 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
16456             Bruno Haible  <bruno@clisp.org>
16457
16458         Tests for module 'pipe-filter-gi'.
16459         * modules/pipe-filter-gi-tests: New file.
16460         * tests/test-pipe-filter-gi1.sh: New file.
16461         * tests/test-pipe-filter-gi1.c: New file.
16462         * tests/test-pipe-filter-gi2.sh: New file.
16463         * tests/test-pipe-filter-gi2-main.c: New file.
16464         * tests/test-pipe-filter-gi2-child.c: New file.
16465
16466         New module 'pipe-filter-gi'.
16467         * lib/pipe-filter-gi.c: New file.
16468         * modules/pipe-filter-gi: New file.
16469
16470 2009-08-02  Bruno Haible  <bruno@clisp.org>
16471             Paolo Bonzini  <bonzini@gnu.org>
16472
16473         Tests for module 'pipe-filter-ii'.
16474         * modules/pipe-filter-ii-tests: New file.
16475         * tests/test-pipe-filter-ii1.sh: New file.
16476         * tests/test-pipe-filter-ii1.c: New file.
16477         * tests/test-pipe-filter-ii2.sh: New file.
16478         * tests/test-pipe-filter-ii2-main.c: New file.
16479         * tests/test-pipe-filter-ii2-child.c: New file.
16480
16481         New module 'pipe-filter-ii'.
16482         * lib/pipe-filter.h: New file.
16483         * lib/pipe-filter-ii.c: New file.
16484         * lib/pipe-filter-aux.h: New file.
16485         * modules/pipe-filter-ii: New file.
16486
16487 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16488
16489         * lib/gc-libgcrypt.c: Change copyright to FSF.
16490         * lib/gc-gnulib.c: Likewise.
16491
16492 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
16493
16494         * lib/gethostname.c: Include limits.h.
16495
16496 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16497             Bruno Haible  <bruno@clisp.org>
16498
16499         Ensure HOST_NAME_MAX as part of the gethostname module.
16500         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
16501         define also HOST_NAME_MAX.
16502         * tests/test-gethostname.c: Include <limits.h>.
16503         (main): Check also HOST_NAME_MAX.
16504         * doc/posix-headers/limits.texi: Document the mingw problem.
16505
16506 2009-08-02  Bruno Haible  <bruno@clisp.org>
16507
16508         * lib/gethostname.c (gethostname): Fix handling of large len argument.
16509         Add comments.
16510
16511 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16512
16513         * lib/gethostname.c: Add Windows wrapper.
16514         * m4/gethostname.m4: Look for gethostname in -lws2_32.
16515         * modules/gethostname: Depend on sys_socket & errno, for also
16516         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
16517         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
16518
16519 2009-07-31  Jim Meyering  <meyering@redhat.com>
16520
16521         getloadavg: fix symbol name in comment
16522         * lib/getloadavg.c: Correct a typo I introduced when adding
16523         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
16524         Matt Kraai spotted the problem.
16525
16526 2009-07-29  Matt Kraai  <mkraai@beckman.com>
16527
16528         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
16529         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
16530         code also if ! defined N_NAME_POINTER.
16531         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
16532         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
16533         but the n_name member is a 12-byte array.
16534
16535 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
16536
16537         update-copyright: generalize comment handling
16538         * build-aux/update-copyright: Handle copyright statements
16539         within more comment styles.
16540         Document usage.
16541         Report any file with an external copyright holder or parse failure.
16542
16543 2009-07-29  Jim Meyering  <meyering@redhat.com>
16544
16545         mktime: correct setting of REPLACE_MKTIME
16546         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
16547
16548         update-copyright: new module
16549         * modules/update-copyright: New file.
16550         * build-aux/update-copyright: New file.
16551         * MODULES.html.sh (maint+release support): Add update-copyright.
16552
16553 2009-07-27  Bruno Haible  <bruno@clisp.org>
16554
16555         Fix compilation error when <ctime> is used and mktime is replaced.
16556         * lib/time.in.h (mktime): New declaration.
16557         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
16558         REPLACE_MKTIME instead of defining mktime in config.h.
16559         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
16560         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
16561         Reported by Ross McFarland <rwmcfa1@neces.com>.
16562
16563 2009-07-27  Bruno Haible  <bruno@clisp.org>
16564
16565         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
16566         Reported by Matt Kraai <mkraai@beckman.com>.
16567
16568 2009-07-25  Jim Meyering  <meyering@redhat.com>
16569
16570         maint.mk: avoid warnings about missing files
16571         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
16572         diagnostic when .prev-version does not exist.
16573         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
16574         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
16575         nonexistent cfg.mk.
16576         Suggestions from Simon Josefsson.
16577
16578 2009-07-25  Bruno Haible  <bruno@clisp.org>
16579
16580         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
16581         defined as macros. Needed on QNX 6.4.1.
16582         Reported by Matt Kraai <mkraai@beckman.com>.
16583
16584 2009-07-23  Jim Meyering  <meyering@redhat.com>
16585
16586         maint.mk: invoke "make dist" with a working value of XZ_OPT
16587         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
16588
16589 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
16590
16591         Make fseeko.c compile on QNX.
16592         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
16593
16594 2009-07-22  Peter Simons  <simons@cryp.to>
16595
16596         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
16597         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
16598         * lib/md4.h: Likewise.
16599         * lib/md5.h: Likewise.
16600         * lib/sha1.h: Likewise.
16601         * lib/sha256.h: Likewise.
16602         * lib/sha512.h: Likewise.
16603
16604         tests-sha1: don't assign literal string to 'char *' variable
16605         * tests/test-sha1.c (main): Declare locals with "const" to match
16606         attributes of the right hand side.
16607
16608 2009-07-21  Eric Blake  <ebb9@byu.net>
16609
16610         dup2: fix more mingw problems
16611         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
16612         fd to itself.
16613         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16614         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
16615         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
16616         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
16617         care of mingw bugs.
16618
16619 2009-07-21  Jim Meyering  <meyering@redhat.com>
16620
16621         vc-list-files: avoid failure when /bin/sh is dash
16622         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
16623         On some Debian based systems, /bin/sh is a symlink to dash, and running
16624         this command would omit the "/" following each 'tests' prefix:
16625           dash -x build-aux/vc-list-files -C . tests
16626         That is because bash and dash work differently:
16627           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
16628           bash ok
16629           dash odd
16630
16631 2009-07-21  Eric Blake  <ebb9@byu.net>
16632
16633         dup2-tests: test previous patch
16634         * modules/dup2-tests: New file.
16635         * tests/test-dup2.c: Likewise.
16636         * tests/test-open.c (main): Avoid unspecified behavior.
16637         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
16638         test.
16639
16640         dup2: work around mingw and cygwin 1.5 bug
16641         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
16642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16643         * modules/unistd (Makefile.am): Substitute it.
16644         * lib/unistd.in.h (dup2): Declare the replacement.
16645         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
16646         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
16647         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
16648         * modules/execute (Depends-on): Add dup2.
16649         * modules/fseterr (Depends-on): Likewise.
16650         * modules/pipe (Depends-on): Likewise.
16651         * modules/posix_spawn-internal (Depends-on): Likewise.
16652
16653 2009-07-21  Bruno Haible  <bruno@clisp.org>
16654
16655         * modules/.gitattributes: New file.
16656
16657 2009-07-20  Bruno Haible  <bruno@clisp.org>
16658
16659         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
16660         (main): Use it.
16661
16662 2009-07-20  Eric Blake  <ebb9@byu.net>
16663
16664         test-pipe: make a bit more robust.
16665         * tests/test-pipe.c (myerr): Allow error messages regardless of
16666         what we do to stderr.
16667         (test_pipe): Rearrange to avoid deadlock.
16668         (child_main): Try a larger read, to ensure we avoided deadlock.
16669         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
16670         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
16671         if misused.
16672
16673 2009-07-19  Jim Meyering  <meyering@redhat.com>
16674
16675         fts: avoid false-positive cycle-detection
16676         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
16677         for each new command line argument.
16678
16679 2009-07-19  Bruno Haible  <bruno@clisp.org>
16680
16681         Fix build error on mingw with the modules sys_select and unistd.
16682         * modules/acl-tests (Depends-on): Add close.
16683         * modules/binary-io-tests (Depends-on): Likewise.
16684         * modules/closein-tests (Depends-on): Likewise.
16685         * modules/flock-tests (Depends-on): Likewise.
16686         * modules/fsync-tests (Depends-on): Likewise.
16687         * modules/lseek-tests (Depends-on): Likewise.
16688         * modules/pipe-tests (Depends-on): Likewise.
16689         * modules/posix_spawn-tests (Depends-on): Likewise.
16690         * modules/posix_spawnp-tests (Depends-on): Likewise.
16691         * modules/stat-time-tests (Depends-on): Likewise.
16692         * modules/yesno-tests (Depends-on): Likewise.
16693
16694 2009-07-19  Bruno Haible  <bruno@clisp.org>
16695
16696         Unify conditionals.
16697         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
16698         macros, not at the compiler macros.
16699         * lib/pipe.c: Likewise.
16700         * lib/execute.c: Likewise.
16701         * lib/spawni.c: Likewise.
16702
16703 2009-07-19  Bruno Haible  <bruno@clisp.org>
16704
16705         Fix handling of closed stdin/stdout/stderr on mingw.
16706         * lib/w32spawn.h: Include unistd.h.
16707         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
16708         file descriptor with O_NOINHERIT flag.
16709         (fd_safer_noinherit): New function, based on fd-safer.c.
16710         (dup_safer_noinherit): New function, based on dup-safer.c.
16711         (undup_safer_noinherit): New function.
16712         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
16713         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
16714         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
16715         instead of fd_safer.
16716         * tests/test-pipe.c: Include <windows.h>.
16717         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
16718
16719         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
16720         from main.
16721         (test_pipe): Pass an extra argument for disambiguation.
16722         (main): Invoke parent_main or child_main.
16723
16724         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
16725         consistently.
16726
16727 2009-07-18  Eric Blake  <ebb9@byu.net>
16728
16729         test-pipe: fix mingw build
16730         * tests/test-pipe.c (main): Avoid fcntl on mingw.
16731
16732 2009-07-18  Bruno Haible  <bruno@clisp.org>
16733
16734         * modules/pipe-tests (Makefile.am): Fix typo.
16735
16736 2009-07-18  Eric Blake  <ebb9@byu.net>
16737
16738         error: fix mingw build
16739         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
16740         Reported by Bruno Haible.
16741
16742         error: avoid undefined use of stdout
16743         * lib/error.c (error, error_at_line): Check that fd 1 is open
16744         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
16745         is handling faults and the close_stdout module wants to report the
16746         detection of closed stdout as an error.
16747
16748 2009-07-17  Eric Blake  <ebb9@byu.net>
16749
16750         pipe: be robust in face of closed fds
16751         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
16752         should cause child to misbehave.
16753         * modules/pipe-tests: New module.
16754         * tests/test-pipe.c: New file.
16755         * tests/test-pipe.sh: New file.
16756         Reported by Akim Demaille.
16757
16758 2009-07-14  Bruno Haible  <bruno@clisp.org>
16759
16760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
16761         Reported by anonymous kc.
16762
16763 2009-07-07  Jim Meyering  <meyering@redhat.com>
16764
16765         maint.mk: don't look for translatable strings in *.m4 or *.mk
16766         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
16767         when searching for translatable strings.
16768
16769 2009-07-05  Jim Meyering  <meyering@redhat.com>
16770
16771         remove superfluous parentheses in STREQ definition
16772         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
16773         * lib/getugroups.c (STREQ): Likewise.
16774         * lib/fnmatch.c (STREQ): Likewise.
16775         Spotted by Bruno Haible.
16776
16777 2009-07-04  Jim Meyering  <meyering@redhat.com>
16778
16779         argv-iter: new module
16780         * MODULES.html.sh: Add argv-iter.
16781         * lib/argv-iter.c, lib/argv-iter.h: New files.
16782         * modules/argv-iter: New file.
16783         * modules/argv-iter-tests: New file.
16784         * tests/test-argv-iter.c: Test it.
16785
16786 2009-07-04  Bruno Haible  <bruno@clisp.org>
16787
16788         Fix assertion.
16789         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
16790         contains more exact copies of a given entry than file2, leave the extra
16791         copies unpaired rather than aborting.
16792         Reported by Eric Blake.
16793
16794 2009-07-02  Bruno Haible  <bruno@clisp.org>
16795
16796         Speedup git-merge-changelog for git cherry-pick.
16797         * lib/git-merge-changelog.c (struct entries_mapping): New type.
16798         (entries_mapping_get): New function, extracted from compute_mapping.
16799         (entries_mapping_reverse_get): New function.
16800         (compute_mapping): Add a 'full' argument. Return the result in a
16801         'struct entries_mapping'.
16802         (main): Update. Access the mappings through entries_mapping_get.
16803         Reported by Eric Blake.
16804
16805 2009-07-02  Bruno Haible  <bruno@clisp.org>
16806
16807         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
16808         best_i.
16809
16810 2009-07-02  Bruno Haible  <bruno@clisp.org>
16811
16812         Speed up approximate search for matching ChangeLog entries.
16813         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
16814         argument. Call fstrcmp_bounded instead of fstrcmp.
16815         (compute_mapping, try_split_merged_entry, main): Update callers.
16816
16817 2009-07-02  Bruno Haible  <bruno@clisp.org>
16818
16819         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
16820
16821 2009-06-30  Bruno Haible  <bruno@clisp.org>
16822
16823         Reduce the number of uc_is_cased calls.
16824         * lib/unicase.h (casing_suffix_context_t): Add
16825         'first_char_except_ignorable' field.
16826         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
16827         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
16828         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
16829         Update initializer.
16830         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
16831         case-ignorable characters.
16832         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
16833         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
16834         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
16835         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
16836         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
16837
16838 2009-06-30  Bruno Haible  <bruno@clisp.org>
16839
16840         Tests for module 'unicase/ignorable'.
16841         * modules/unicase/ignorable-tests: New file.
16842         * tests/unicase/test-ignorable.c: New file, generated by
16843         gen-uni-tables.
16844
16845         Tests for module 'unicase/cased'.
16846         * modules/unicase/cased-tests: New file.
16847         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
16848         * tests/unicase/test-predicate-part1.h: New file, derived from
16849         tests/unictype/test-predicate-part1.h.
16850         * tests/unicase/test-predicate-part2.h: New file, same as
16851         tests/unictype/test-predicate-part2.h.
16852
16853         Fix evaluation of "Before C" condition of FINAL_SIGMA.
16854         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
16855         (output_casing_properties): New function.
16856         (main): Call it.
16857         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
16858         * lib/unicase/cased.c: Include unictype/bitmap.h.
16859         (uc_is_cased): Define through a bitmap lookup.
16860         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
16861         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
16862         (uc_is_case_ignorable): Define through a bitmap lookup.
16863         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
16864         lib/unictype/bitmap.h.
16865         (Depends-on): Add inline. Clean up.
16866         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
16867         lib/unictype/bitmap.h.
16868         (Depends-on): Add inline. Clean up.
16869         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
16870         recognition.
16871         * tests/unicase/test-u16-tolower.c (main): Likewise.
16872         * tests/unicase/test-u32-tolower.c (main): Likewise.
16873
16874 2009-06-30  Bruno Haible  <bruno@clisp.org>
16875
16876         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
16877         * lib/unicase/u16-casemap.c: Likewise.
16878         * lib/unicase/u32-casemap.c: Likewise.
16879
16880 2009-06-29  Bruno Haible  <bruno@clisp.org>
16881
16882         Define u32_casefold as a wrapper around u32_ct_casefold.
16883         * lib/unicase/u32-casefold.c: Update.
16884         * modules/unicase/u32-casefold (Depends-on): Add
16885         unicase/u32-ct-casefold, unicase/empty-prefix-context,
16886         unicase/empty-suffix-context. Clean up.
16887
16888         Define u16_casefold as a wrapper around u16_ct_casefold.
16889         * lib/unicase/u16-casefold.c: Update.
16890         * modules/unicase/u16-casefold (Depends-on): Add
16891         unicase/u16-ct-casefold, unicase/empty-prefix-context,
16892         unicase/empty-suffix-context. Clean up.
16893
16894         Define u8_casefold as a wrapper around u8_ct_casefold.
16895         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
16896         * lib/unicase/u8-casefold.c: Update.
16897         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
16898         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16899
16900         Define u32_totitle as a wrapper around u32_ct_totitle.
16901         * lib/unicase/u32-totitle.c: Update.
16902         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
16903         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16904
16905         Define u16_totitle as a wrapper around u16_ct_totitle.
16906         * lib/unicase/u16-totitle.c: Update.
16907         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
16908         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16909
16910         Define u8_totitle as a wrapper around u8_ct_totitle.
16911         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
16912         functions.
16913         (FUNC): Delegate to U_CT_TOTITLE.
16914         * lib/unicase/u8-totitle.c: Update.
16915         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
16916         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16917
16918         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
16919         invocation.
16920         * modules/unicase/u32-tolower (Depends-on): Add
16921         unicase/empty-prefix-context, unicase/empty-suffix-context.
16922
16923         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
16924         invocation.
16925         * modules/unicase/u16-tolower (Depends-on): Add
16926         unicase/empty-prefix-context, unicase/empty-suffix-context.
16927
16928         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
16929         * modules/unicase/u8-tolower (Depends-on): Add
16930         unicase/empty-prefix-context, unicase/empty-suffix-context.
16931
16932         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
16933         invocation.
16934         * modules/unicase/u32-toupper (Depends-on): Add
16935         unicase/empty-prefix-context, unicase/empty-suffix-context.
16936
16937         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
16938         invocation.
16939         * modules/unicase/u16-toupper (Depends-on): Add
16940         unicase/empty-prefix-context, unicase/empty-suffix-context.
16941
16942         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
16943         * modules/unicase/u8-toupper (Depends-on): Add
16944         unicase/empty-prefix-context, unicase/empty-suffix-context.
16945
16946         New module 'unicase/u32-ct-casefold'.
16947         * lib/unicase/u32-ct-casefold.c: New file.
16948         * modules/unicase/u32-ct-casefold: New file.
16949
16950         New module 'unicase/u16-ct-casefold'.
16951         * lib/unicase/u16-ct-casefold.c: New file.
16952         * modules/unicase/u16-ct-casefold: New file.
16953
16954         New module 'unicase/u8-ct-casefold'.
16955         * lib/unicase/u8-ct-casefold.c: New file.
16956         * lib/unicase/u-ct-casefold.h: New file, derived from
16957         lib/unicase/u-casefold.h.
16958         * modules/unicase/u8-ct-casefold: New file.
16959
16960         New module 'unicase/u32-ct-totitle'.
16961         * lib/unicase/u32-ct-totitle.c: New file.
16962         * modules/unicase/u32-ct-totitle: New file.
16963
16964         New module 'unicase/u16-ct-totitle'.
16965         * lib/unicase/u16-ct-totitle.c: New file.
16966         * modules/unicase/u16-ct-totitle: New file.
16967
16968         New module 'unicase/u8-ct-totitle'.
16969         * lib/unicase/u8-ct-totitle.c: New file.
16970         * lib/unicase/u-ct-totitle.h: New file, derived from
16971         lib/unicase/u-totitle.h.
16972         * modules/unicase/u8-ct-totitle: New file.
16973
16974         New module 'unicase/u32-ct-tolower'.
16975         * lib/unicase/u32-ct-tolower.c: New file.
16976         * modules/unicase/u32-ct-tolower: New file.
16977
16978         New module 'unicase/u16-ct-tolower'.
16979         * lib/unicase/u16-ct-tolower.c: New file.
16980         * modules/unicase/u16-ct-tolower: New file.
16981
16982         New module 'unicase/u8-ct-tolower'.
16983         * lib/unicase/u8-ct-tolower.c: New file.
16984         * modules/unicase/u8-ct-tolower: New file.
16985
16986         New module 'unicase/u32-ct-toupper'.
16987         * lib/unicase/u32-ct-toupper.c: New file.
16988         * modules/unicase/u32-ct-toupper: New file.
16989
16990         New module 'unicase/u16-ct-toupper'.
16991         * lib/unicase/u16-ct-toupper.c: New file.
16992         * modules/unicase/u16-ct-toupper: New file.
16993
16994         New module 'unicase/u8-ct-toupper'.
16995         * lib/unicase/u8-ct-toupper.c: New file.
16996         * modules/unicase/u8-ct-toupper: New file.
16997
16998         Add context arguments to u*_casemap functions.
16999         * lib/unicase/unicasemap.h: Include unicase.h.
17000         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
17001         suffix_context arguments.
17002         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
17003         functions.
17004         (FUNC): Add prefix_context and suffix_context arguments. Use
17005         uc_is_cased and uc_is_case_ignorable.
17006         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
17007         * lib/unicase/u16-casemap.c: Likewise.
17008         * lib/unicase/u32-casemap.c: Likewise.
17009         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
17010         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17011         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
17012         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17013         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
17014         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17015
17016         New module 'unicase/u32-suffix-context'.
17017         * lib/unicase/u32-suffix-context.c: New file.
17018         * modules/unicase/u32-suffix-context: New file.
17019
17020         New module 'unicase/u16-suffix-context'.
17021         * lib/unicase/u16-suffix-context.c: New file.
17022         * modules/unicase/u16-suffix-context: New file.
17023
17024         New module 'unicase/u8-suffix-context'.
17025         * lib/unicase/u8-suffix-context.c: New file.
17026         * lib/unicase/u-suffix-context.h: New file.
17027         * modules/unicase/u8-suffix-context: New file.
17028
17029         New module 'unicase/empty-suffix-context'.
17030         * lib/unicase/empty-suffix-context.c: New file.
17031         * modules/unicase/empty-suffix-context: New file.
17032
17033         New module 'unicase/u32-prefix-context'.
17034         * lib/unicase/u32-prefix-context.c: New file.
17035         * modules/unicase/u32-prefix-context: New file.
17036
17037         New module 'unicase/u16-prefix-context'.
17038         * lib/unicase/u16-prefix-context.c: New file.
17039         * modules/unicase/u16-prefix-context: New file.
17040
17041         New module 'unicase/u8-prefix-context'.
17042         * lib/unicase/u8-prefix-context.c: New file.
17043         * lib/unicase/u-prefix-context.h: New file.
17044         * lib/unicase/context.h: New file.
17045         * modules/unicase/u8-prefix-context: New file.
17046
17047         New module 'unicase/empty-prefix-context'.
17048         * lib/unicase/empty-prefix-context.c: New file.
17049         * modules/unicase/empty-prefix-context: New file.
17050
17051         New module 'unicase/ignorable'.
17052         * lib/unicase/ignorable.c: New file.
17053         * modules/unicase/ignorable: New file.
17054
17055         New module 'unicase/cased'.
17056         * lib/unicase/caseprop.h: New file.
17057         * lib/unicase/cased.c: New file.
17058         * modules/unicase/cased: New file.
17059
17060         New functions for case mapping of substrings.
17061         * lib/unicase.h (casing_prefix_context_t): New type.
17062         (unicase_empty_prefix_context): New variable.
17063         (u8_casing_prefix_context, u16_casing_prefix_context,
17064         u32_casing_prefix_context, u8_casing_prefixes_context,
17065         u16_casing_prefixes_context, u32_casing_prefixes_context): New
17066         declarations.
17067         (casing_suffix_context_t): New type.
17068         (unicase_empty_suffix_context): New variable.
17069         (u8_casing_suffix_context, u16_casing_suffix_context,
17070         u32_casing_suffix_context, u8_casing_suffixes_context,
17071         u16_casing_suffixes_context, u32_casing_suffixes_context,
17072         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
17073         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
17074         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
17075         declarations.
17076
17077 2009-06-28  Jim Meyering  <meyering@redhat.com>
17078
17079         boostrap: indent only with spaces
17080         * build-aux/bootstrap: Indent only with spaces, never TABs.
17081
17082         bootstrap: split long lines
17083         * build-aux/bootstrap: Keep line length < 80.
17084
17085         bootstrap: sync from coreutils
17086         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
17087         just as autoreconf does.  Verify a list of prerequisite
17088         package-name,version-number pairs if defined in bootstrap.conf.
17089         Refer to README-prereq, if prerequisites are not satisfied.
17090
17091 2009-06-27  Eric Blake  <ebb9@byu.net>
17092
17093         tests: add test for bogus NULL definition
17094         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
17095         * tests/test-stdlib.c: Likewise.
17096         * tests/test-string.c: Likewise.
17097         * tests/test-locale.c: Likewise.
17098         * tests/test-unistd.c: Likewise.
17099         * modules/stdio-tests (Depends-on): Add verify.
17100         * modules/stdlib-tests (Depends-on): Likewise.
17101         * modules/string-tests (Depends-on): Likewise.
17102         * modules/locale-tests (Depends-on): Likewise.
17103         * modules/unistd-tests (Depends-on): Likewise.
17104
17105 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
17106
17107         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
17108         self-explaining comment.
17109         * m4/selinux-selinux-h: Update serial.
17110         (gl_LIBSELINUX): New macro, adding a warning for missing development
17111         packages to code extracted from...
17112         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
17113         Add warning for missing development packages here, too.
17114
17115 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
17116
17117         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
17118
17119 2009-06-25  Eric Blake  <ebb9@byu.net>
17120
17121         version-etc: fix regression
17122         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
17123         gcc.
17124         (version_etc): Use it, to catch bugs with trailing NULL.
17125         * lib/version-etc.c (version_etc_arn): Delete unused argument.
17126         (version_etc_va): Fix logic bug.
17127         * modules/version-etc-tests: Add test.
17128         * tests/test-version-etc.c: New file.
17129         * tests/test-version-etc.sh: Likewise.
17130
17131 2009-06-25  Sam Steingold  <sds@gnu.org>
17132
17133         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
17134         mbtowc declaration.
17135
17136 2009-06-25  Eric Blake  <ebb9@byu.net>
17137
17138         fpurge: migrate into <stdio.h>
17139         * lib/fpurge.h: Delete...
17140         * lib/stdio.in.h (fpurge): ...and declare here, instead.
17141         * lib/fpurge.c (fpurge): Change declaring header.
17142         * modules/fpurge (Files): Drop deleted file.
17143         (Depends-on): Add stdio.
17144         (configure.ac): Set witness.
17145         * modules/stdio (Makefile.am): Support fpurge macros.
17146         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17147         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
17148         * lib/fflush.c: Update client.
17149         * tests/test-fpurge.c: Likewise.
17150         * NEWS: Mention the change.
17151
17152 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17153
17154         * lib/argp-version-etc.c (program_authors): Add const
17155         qualifier.
17156         * lib/version-etc.c: Fix typos in the comments.
17157         * modules/argp-version-etc: Depends on version-etc.
17158
17159 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17160
17161         argp-version-etc: new module.
17162
17163         * lib/argp-version-etc.c: New file.
17164         * lib/argp-version-etc.h: New file.
17165         * modules/argp-version-etc: New file.
17166         * modules/argp-version-etc-tests: New file.
17167         * tests/test-argp-version-etc.c: New test.
17168         * tests/test-argp-version-etc-1.sh: New test.
17169
17170 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17171
17172         Provide additional interfaces and documentation for version-etc
17173         module.
17174
17175         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
17176         interfaces.
17177         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
17178         prototypes.
17179
17180 2009-06-24  Bruno Haible  <bruno@clisp.org>
17181
17182         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
17183         HAVE_LIB${NAME} macro.
17184         Reported by Sam Steingold <sds@gnu.org>.
17185
17186 2009-06-23  Simon Josefsson  <simon@josefsson.org>
17187
17188         * modules/hash-tests (test_hash_LDADD): Link to libintl when
17189         needed.
17190
17191 2009-06-21  Bruno Haible  <bruno@clisp.org>
17192
17193         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
17194         work.
17195         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
17196         together with LIB${NAME}, LTLIB${NAME}.
17197         Reported by Sam Steingold <sds@gnu.org>.
17198
17199 2009-06-20  Jim Meyering  <meyering@redhat.com>
17200
17201         tests: make sc_require_test_exit_idiom more generic
17202         * top/maint.mk (Exit_witness_file): New overridable variable.
17203         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
17204         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
17205
17206 2009-06-19  Jim Meyering  <meyering@redhat.com>
17207
17208         hash: reverse order of src/dst parameters in an internal interface
17209         * lib/hash.c (transfer_entries): Reverse order of parameters to
17210         put DST before SRC.  Adjust callers.
17211
17212         tests: test-hash: avoid wholesale duplication
17213         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
17214         Instead, use a loop and add a single conditional.
17215
17216         tests: test-hash: allow seed selection via a command line argument
17217         * tests/test-hash.c (get_seed): New function.
17218         (main): Use it.
17219
17220 2009-06-19  Eric Blake  <ebb9@byu.net>
17221
17222         hash: avoid memory leak on allocation failure
17223         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
17224         failure.  Factor repeated algorithm...
17225         (transfer_entries): ...into new helper routine.
17226         (hash_delete): React to hash_rehash return value.
17227
17228         hash: reduce memory pressure in hash_rehash no-op case
17229         * lib/hash.c (next_prime): Avoid overflow.
17230         (hash_initialize): Factor bucket size computation...
17231         (compute_bucket_size): ...into new helper function.
17232         (hash_rehash): Use new function and open coding to reduce memory
17233         pressure, and avoid a memory leak in USE_OBSTACK code.
17234         Reported by Jim Meyering.
17235
17236 2009-06-18  Eric Blake  <ebb9@byu.net>
17237
17238         hash: make rotation more obvious
17239         * modules/hash (Depends-on): Add bitrotate and stdint.
17240         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
17241         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
17242         (SIZE_MAX): Rely on headers for definition.
17243         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
17244         (raw_hasher): Use rotr_sz.
17245         Suggested by Jim Meyering.
17246
17247         hash: fix memory leak in last patch
17248         * lib/hash.c (hash_rehash): Avoid memory leak.
17249
17250         hash: avoid no-op rehashing
17251         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
17252
17253         hash: provide default callback functions
17254         * lib/hash.c (raw_hasher, raw_comparator): New functions.
17255         (hash_initialize): Use them as defaults.
17256         * tests/test-hash.c (main): Test this.
17257
17258         hash: minor optimization
17259         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
17260         when possible.
17261         (hash_initialize): Document this promise.
17262         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
17263         * tests/test-hash.c (hash_compare_strings): Test this.
17264
17265 2009-06-18  Bruno Haible  <bruno@clisp.org>
17266
17267         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
17268         going to be replaced anyway.
17269
17270 2009-06-18  Bruno Haible  <bruno@clisp.org>
17271
17272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
17273         in one place.
17274         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
17275         be replaced anyway.
17276
17277 2009-06-18  Eric Blake  <ebb9@byu.net>
17278
17279         hash: check for resize before insertion
17280         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
17281         threshold before insertion, so that a pathological hash_rehash
17282         that fills every bucket can still trigger another rehash.
17283
17284 2009-06-18  Jim Meyering  <meyering@redhat.com>
17285
17286         hash-tests: add a loop around the small tests
17287         * tests/test-hash.c (main): Repeat small tests with selected
17288         small initial table sizes.
17289
17290 2009-06-17  Eric Blake  <ebb9@byu.net>
17291
17292         hash: minor cleanups
17293         * lib/hash.h (hash_entry): Make opaque, by moving...
17294         * lib/hash.c (hash_entry): ...here.
17295         (hash_insert): Clarify restrictions on what can be inserted.
17296         (hash_get_next): Clarify when it is safe to remove an element
17297         during traversal.
17298         (check_tuning): Skip verification when tuning is known safe.
17299         (hash_initialize): Clarify restrictions on tuning.
17300
17301 2009-06-17  Jim Meyering  <jim@meyering.net>
17302         and Eric Blake  <ebb9@byu.net>
17303
17304         hash-tests: new module
17305         * modules/hash-tests: New file.
17306         * tests/test-hash.c: New file.
17307
17308 2009-06-17  Eric Blake  <ebb9@byu.net>
17309
17310         strstr-simple: document new module
17311         * MODULES.html.sh: Document new module.
17312
17313         strstr, strcasestr: replace on platforms with broken memchr
17314         * modules/strstr: Split into...
17315         * modules/strstr-simple: ...new module that does not care about
17316         performance, but does care about glibc bug.
17317         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
17318         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
17319         if platform memchr is broken, per Debian bug 521737.
17320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
17321         memchr.
17322         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
17323         * doc/posix-functions/strstr.texi (strstr): Document the fix.
17324         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
17325         * modules/mountlist (Depends-on): Add strstr-simple.
17326         * modules/gen-uni-tables (Depends-on): Likewise.
17327         * modules/argz (Depends-on): Add strstr.
17328
17329 2009-06-17  Bruno Haible  <bruno@clisp.org>
17330
17331         * modules/posix_spawn-internal (Depends-on): Add errno.
17332
17333 2009-06-17  Bruno Haible  <bruno@clisp.org>
17334
17335         Define missing ESTALE on Interix 3.5.
17336         * lib/errno.in.h (ESTALE): Assign a value if missing.
17337         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
17338         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
17339         missing.
17340         * doc/posix-headers/errno.texi: Mention the Interix bug.
17341         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
17342
17343 2009-06-15  Eric Blake  <ebb9@byu.net>
17344
17345         memchr, memchr2: add valgrind exception
17346         * lib/memchr.valgrind: New file.
17347         * lib/memchr2.valgrind: New file.
17348         * modules/memchr (Files): Distribute valgrind file.
17349         * modules/memchr2 (Files): Likewise.
17350
17351         docs: memchr is no longer obsolete
17352         * MODULES.html.sh: Move memchr from obsolete to string.h section.
17353         * lib/string.in.h (memchr): Simplify logic.
17354
17355 2009-06-14  Jim Meyering  <meyering@redhat.com>
17356
17357         link-follow: fix the "checking..." message to not mention trailing slash
17358         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
17359         never considered trailing slashes.
17360
17361 2009-06-14  Bruno Haible  <bruno@clisp.org>
17362
17363         * m4/memchr.m4: Mention also the bug on IA-64.
17364         * doc/posix-functions/memchr.texi: Likewise.
17365
17366 2009-06-12  Eric Blake  <ebb9@byu.net>
17367
17368         memchr: detect broken x86_64 and alpha implementations
17369         * modules/memchr-tests (Depends-on): Move mmap detection...
17370         * modules/memchr (Depends-on): ...here.
17371         (configure.ac): Set indicator.
17372         * lib/string.in.h (memchr): Declare replacement.
17373         * modules/string (Makefile.am): Trigger replacement.
17374         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
17375         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
17376         bugs.
17377         * doc/posix-functions/memchr.texi (memchr): Document the bug.
17378         * modules/getpagesize (License): Relax license.
17379
17380 2009-06-11  Bruno Haible  <bruno@clisp.org>
17381
17382         * lib/idpriv.h: Add more references.
17383
17384 2009-06-08  Bruno Haible  <bruno@clisp.org>
17385
17386         Tests for module 'idpriv-droptemp'.
17387         * modules/idpriv-droptemp-tests: New file.
17388         * tests/test-idpriv-droptemp.sh: New file.
17389         * tests/test-idpriv-droptemp.su.sh: New file.
17390         * tests/test-idpriv-droptemp.c: New file.
17391
17392         New module 'idpriv-droptemp'.
17393         * lib/idpriv-droptemp.c: New file.
17394         * modules/idpriv-droptemp: New file.
17395
17396 2009-06-08  Bruno Haible  <bruno@clisp.org>
17397
17398         Tests for module 'idpriv-drop'.
17399         * modules/idpriv-drop-tests: New file.
17400         * tests/test-idpriv-drop.sh: New file.
17401         * tests/test-idpriv-drop.su.sh: New file.
17402         * tests/test-idpriv-drop.c: New file.
17403
17404         New module 'idpriv-drop'.
17405         * lib/idpriv.h: New file.
17406         * lib-idpriv-drop.c: New file.
17407         * m4/idpriv.m4: New file.
17408         * modules/idpriv-drop: New file.
17409
17410 2009-06-08  Bruno Haible  <bruno@clisp.org>
17411
17412         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
17413         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17414         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17415         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17416         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17417         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17418         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17419
17420 2009-06-08  Eric Blake  <ebb9@byu.net>
17421
17422         test-strstr: use memory fence, when possible
17423         * tests/test-strstr.c (main): Use memory fence, in order to be
17424         more likely to trigger Debian bug 521737.
17425         * modules/strstr-tests (Files): Pull in additional files.
17426
17427         memchr: no longer obsolete, for wider field testing
17428         * modules/memchr (Status, Notice): Delete, this module is no
17429         longer obsolete.
17430         * modules/vasnprintf (Depends-on): Add memchr.
17431
17432 2009-06-07  Jim Meyering  <meyering@redhat.com>
17433
17434         hash: declare some functions with the warn_unused_result attribute
17435         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
17436
17437 2009-06-07  Bruno Haible  <bruno@clisp.org>
17438
17439         * tests/test-alignof.c: Don't test int64_t if it does not exist.
17440         Reported by Eric Blake.
17441
17442 2009-06-06  Eric Blake  <ebb9@byu.net>
17443
17444         test-alignof: fix typo with long double
17445         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
17446         compiler error.
17447
17448 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
17449
17450         Escape non-texinfo { and }s.
17451         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
17452         markup error.
17453
17454 2009-06-04  Jim Meyering  <meyering@redhat.com>
17455
17456         gitlog-to-changelog: don't infloop on an empty commit log
17457         * build-aux/gitlog-to-changelog: Warn about an empty log message.
17458         Reported by Boris Petersen <transacid@centerim.org>.
17459
17460 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
17461
17462         version-etc: extend for packagers
17463         Add three new configure options, intended for packagers:
17464           --with-packager="packager name"
17465           --with-packager-version="packager-specific version"
17466           --with-packager-bug-reports="packager bug reporting"
17467         An example with coreutils:
17468           $ ./configure \
17469             --with-packager=Gentoo \
17470             --with-packager-bug-report=http://bugs.gentoo.org/ \
17471             --with-packager-version="patchset 1.6"
17472           $ ./src/ls --version | head -n2
17473           ls (GNU coreutils) 7.1-dirty
17474           Packaged by Gentoo (patchset 1.6)
17475         Note that the bug reporting info via --help doesn't show up because
17476         coreutils uses its own custom emit_bug_reporting_address() implementation
17477         in src/system.h.  If it didn't, it'd look like:
17478           $ ./src/ls --help | tail -n4
17479           Report bugs to <bug-coreutils@gnu.org>.
17480           Report Gentoo bugs to <http://bugs.gentoo.org/>.
17481           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
17482           General help using GNU software: <http://www.gnu.org/gethelp/>.
17483         * lib/version-etc.c: Print new information, if provided.
17484         * m4/version-etc.m4: New file.
17485         * modules/version-etc (Files): Add m4/version-etc.m4.
17486         (configure.ac): Add gl_VERSION_ETC.
17487
17488 2009-05-31  Bruno Haible  <bruno@clisp.org>
17489
17490         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
17491         and 'int64_t'.
17492         * modules/alignof-tests (Dependencies): Add stdint.
17493         Reported by Eric Blake.
17494
17495 2009-05-31  Bruno Haible  <bruno@clisp.org>
17496
17497         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
17498         restriction due to compiler bugs.
17499         Reported by Eric Blake.
17500
17501 2009-05-31  Simon Josefsson  <simon@josefsson.org>
17502             Bruno Haible  <bruno@clisp.org>
17503
17504         Fix test-alignof failure.
17505         * lib/alignof.h (alignof_slot): New macro.
17506         (alignof_type): New macro, with the same semantics as the previous
17507         'alignof'.
17508         (alignof): Alias to alignof_slot.
17509         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
17510         check that the results are usable as constant expressions.
17511
17512 2009-05-31  Bruno Haible  <bruno@clisp.org>
17513
17514         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
17515         * tests/test-memchr.c (main): Check that memchr does not read past the
17516         first occurrence of the byte.
17517         * tests/test-strstr.c (main): Update comment.
17518         Suggested by Eric Blake.
17519
17520 2009-05-30  Bruno Haible  <bruno@clisp.org>
17521
17522         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
17523         detail how to use dumpbin.
17524         Reported by David Byron <dbyron@dbyron.com>.
17525
17526 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17527
17528         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
17529
17530 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17531
17532         * m4/manywarnings.m4: Add GCC 4.4 warnings.
17533
17534 2009-05-28  Bruno Haible  <bruno@clisp.org>
17535
17536         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
17537         build-aux/ files.
17538
17539 2009-05-28  Simon Josefsson  <simon@josefsson.org>
17540
17541         * gnulib-tool (func_import): Transform license on build-aux/ files too.
17542
17543 2009-05-27  Simon Josefsson  <simon@josefsson.org>
17544
17545         * gnulib-tool (sed_transform_main_lib_file)
17546         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
17547         regexps.
17548
17549 2009-05-26  Simon Josefsson  <simon@josefsson.org>
17550
17551         * tests/test-strstr.c: Add another self-test.
17552         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
17553         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
17554
17555 2009-05-23  Bruno Haible  <bruno@clisp.org>
17556
17557         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
17558         change.
17559
17560 2009-05-21  Bruno Haible  <bruno@clisp.org>
17561
17562         Simplify use of mode_t varargs.
17563         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
17564         uses 'mode_t' or 'int'.
17565         * lib/openat.c (openat): Likewise.
17566         * lib/open-safer.c (open_safer): Likewise.
17567         * m4/mode_t.m4: New file.
17568         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
17569         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
17570         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
17571         * modules/open (Files): Add m4/mode_t.m4.
17572         * modules/openat (Files): Likewise.
17573         * modules/fcntl-safer (Files): Likewise.
17574         Suggested by Eric Blake.
17575
17576 2009-05-21  Pádraig Brady  <P@draigbrady.com>
17577
17578         * doc/glibc-functions/fallocate.texi: New file.
17579         * doc/gnulib.texi: Include it.
17580
17581 2009-05-21  Eric Blake  <ebb9@byu.net>
17582             Bruno Haible  <bruno@clisp.org>
17583
17584         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
17585         invocations.
17586         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17587
17588 2009-05-21  Eric Blake  <ebb9@byu.net>
17589             Bruno Haible  <bruno@clisp.org>
17590
17591         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
17592         include_next. Fix of 2008-11-20 commit.
17593         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
17594         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
17595         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
17596         NEXT_MATH_H.
17597         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
17598         instead of NEXT_MATH_H.
17599
17600 2009-05-21  Bruno Haible  <bruno@clisp.org>
17601
17602         Avoid redefinition warnings for SIZE_MAX.
17603         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
17604         Reported by Simon Josefsson.
17605
17606 2009-05-21  Bruno Haible  <bruno@clisp.org>
17607
17608         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
17609         AC_CACHE_VAL.
17610
17611 2009-05-20  Bruno Haible  <bruno@clisp.org>
17612
17613         Make zeroptr.h work on mingw.
17614         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
17615         mprotect.
17616         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
17617         * modules/memchr2-tests (configure.ac): Likewise.
17618         * modules/memcmp-tests (configure.ac): Likewise.
17619         * modules/memmem-tests (configure.ac): Likewise.
17620         * modules/memrchr-tests (configure.ac): Likewise.
17621         Reported by Simon Josefsson.
17622
17623 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17624
17625         * tests/test-glob.c: Include string.h for strcmp prototype.
17626
17627 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17628
17629         * modules/getdelim (Depends-on): Add explicit stdint, although it
17630         was implicitly already pulled in via realloc-posix.
17631         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
17632
17633 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17634
17635         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
17636         G. Christensen" <tgc@jupiterrise.com>.
17637         * m4/sys_socket_h.m4: Check for sa_family_t.
17638         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
17639         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
17640         * tests/test-sys_socket.c: Check that sa_family_t works.
17641
17642 2009-05-18  Eric Blake  <ebb9@byu.net>
17643
17644         maint.mk: allow gnulib_dir in VPATH build
17645         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
17646
17647 2009-05-15  Jim Meyering  <meyering@redhat.com>
17648
17649         maint.mk: Give gnulib_dir a default definition.
17650         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
17651         Thus, most packages no longer need to specify this variable in cfg.mk
17652
17653 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
17654
17655         rename.m4: fix typos that would make non-mingw cross-configure fail
17656         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
17657
17658 2009-05-13  Eric Blake  <ebb9@byu.net>
17659
17660         mmap-anon: avoid out-of-order autoconf expansion
17661         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
17662         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
17663         * modules/memchr-tests (Depends-on): Add extensions.
17664         * modules/memchr2-tests (Depends-on): Add extensions.
17665         * modules/memcmp-tests (Depends-on): Add extensions.
17666         * modules/memmem-tests (Depends-on): Add extensions.
17667         * modules/memrchr-tests (Depends-on): Add extensions.
17668
17669 2009-05-13  Bruno Haible  <bruno@clisp.org>
17670
17671         Make some tests ISO C 99 compliant.
17672         * tests/zerosize-ptr.h: New file.
17673         * tests/test-memchr.c: Include zerosize-ptr.h.
17674         (main): Use a zero-size object pointer instead of NULL.
17675         * tests/test-memchr2.c: Include zerosize-ptr.h.
17676         (main): Use a zero-size object pointer instead of NULL.
17677         * tests/test-memcmp.c: Include zerosize-ptr.h.
17678         (main): Use a zero-size object pointer instead of NULL.
17679         * tests/test-memmem.c: Include zerosize-ptr.h.
17680         (main): Use a zero-size object pointer instead of NULL.
17681         * tests/test-memrchr.c: Include zerosize-ptr.h.
17682         (main): Use a zero-size object pointer instead of NULL.
17683         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
17684         m4/mmap-anon.m4.
17685         (Depends-on): Add getpagesize.
17686         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17687         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
17688         m4/mmap-anon.m4.
17689         (Depends-on): Add getpagesize.
17690         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17691         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
17692         m4/mmap-anon.m4.
17693         (Depends-on): Add getpagesize.
17694         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17695         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
17696         m4/mmap-anon.m4.
17697         (Depends-on): Add getpagesize.
17698         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17699         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
17700         m4/mmap-anon.m4.
17701         (Depends-on): Add getpagesize.
17702         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17703
17704 2009-05-12  Bruno Haible  <bruno@clisp.org>
17705
17706         Tests for module 'alignof'.
17707         * modules/alignof-tests: New file.
17708         * tests/test-alignof.c: New file.
17709
17710 2009-05-12  Bruno Haible  <bruno@clisp.org>
17711
17712         Fix alignof macro.
17713         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
17714         vendor compilers that are always correct.
17715
17716 2009-05-12  Bruno Haible  <bruno@clisp.org>
17717
17718         Make the MAP_ANONYMOUS detection work on HP-UX 11.
17719         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
17720         not whether its fully works.
17721
17722 2009-05-12  Bruno Haible  <bruno@clisp.org>
17723
17724         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
17725
17726 2009-05-12  Jim Meyering  <meyering@redhat.com>
17727
17728         * top/maint.mk: Adjust backslash alignment.
17729
17730 2009-05-11  Simon Josefsson  <simon@josefsson.org>
17731
17732         * top/maint.mk: Make $(srcdir)/build-aux configurable.
17733
17734 2009-05-11  Eric Blake  <ebb9@byu.net>
17735
17736         argp: avoid undefined behavior
17737         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
17738         macros.
17739
17740 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17741
17742         * tests/test-vc-list-files-git.sh: Do git config of user.email and
17743         user.name to prevent git commit from complaining.
17744
17745 2009-05-10  Bruno Haible  <bruno@clisp.org>
17746
17747         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
17748         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
17749         it rewrites every file name only once.
17750         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
17751
17752 2009-05-08  Bruno Haible  <bruno@clisp.org>
17753
17754         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
17755         instead of 'max'.
17756
17757 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17758
17759         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
17760         sockaddr_storage test.
17761
17762 2009-05-07  Simon Josefsson  <simon@josefsson.org>
17763
17764         * modules/sys_socket (Makefile.am): Substitute
17765         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
17766         * m4/sys_socket_h.m4: Check for sockaddr_storage.
17767         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
17768         * tests/test-sys_socket.c: Check sockaddr_storage.
17769
17770 2009-05-08  Bruno Haible  <bruno@clisp.org>
17771
17772         New module 'alignof'.
17773         * lib/alignof.h: New file.
17774         * modules/alignof: New file.
17775
17776 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17777             Bruno Haible  <bruno@clisp.org>
17778
17779         Fix test-file-has-acl on FreeBSD.
17780         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
17781         mask is implicitly added.
17782         * tests/test-file-has-acl.c: Include <signal.h>.
17783         (main): Terminate the test after 5 seconds.
17784         * modules/acl-tests (configure.ac): Check for alarm function.
17785
17786 2009-05-04  Bruno Haible  <bruno@clisp.org>
17787
17788         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
17789         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
17790         * modules/errno (configure.ac): Drop AC_REQUIRE.
17791         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
17792         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
17793
17794 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17795
17796         * modules/glob-tests: New module.
17797         * tests/test-glob.c: Add.
17798
17799 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17800
17801         * modules/fnmatch-tests: New module.
17802         * tests/test-fnmatch.c: Add.
17803
17804 2009-05-04  Eric Blake  <ebb9@byu.net>
17805
17806         maint: make the new no-submodule-changes rule VPATH-safe
17807         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
17808
17809 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17810             Bruno Haible  <bruno@clisp.org>
17811
17812         acl: Fix infinite loop on FreeBSD.
17813         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
17814         of return value from acl_get_entry.
17815         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
17816         Likewise.
17817
17818 2009-05-03  Bruno Haible  <bruno@clisp.org>
17819
17820         * lib/acl-internal.h (acl_entries): Clarify return value.
17821         * lib/acl_entries.c (acl_entries): Likewise.
17822
17823 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17824
17825         Bug fix in acl module.
17826         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
17827
17828 2009-05-03  Bruno Haible  <bruno@clisp.org>
17829
17830         Create gperf-generated file in the source dir, not in the build dir.
17831         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
17832         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
17833         * modules/unicase/locale-language (unicase/locale-languages.h):
17834         Likewise.
17835         * modules/unicase/special-casing (unicase/special-casing-table.h):
17836         Likewise.
17837         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
17838         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
17839         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
17840         Reported by Ralf Wildenhues.
17841
17842 2009-05-03  Bruno Haible  <bruno@clisp.org>
17843
17844         * modules/fnmatch (Description, configure.ac): Taken from
17845         fnmatch-posix.
17846         * modules/fnmatch-posix: Turn into a symbolic reference to the
17847         'fnmatch' module, and deprecate.
17848         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
17849
17850 2009-05-03  Bruno Haible  <bruno@clisp.org>
17851
17852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
17853         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
17854         Reported by Ralf Wildenhues.
17855
17856 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17857
17858         * m4/fnmatch.m4: Fix fnmatch re-define.
17859
17860 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17861
17862         priv-set: new module and tests; adapt write-any-file
17863         * lib/priv-set.c: New file.
17864         * lib/priv-set.h: New file.
17865         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
17866         * lib/write-any-file.c: Simplify by using priv-set module.
17867         * m4/priv-set.m4: New file.
17868         * modules/priv-set: New file.
17869         * modules/unlinkdir: Add dependency on priv-set module.
17870         * modules/write-any-file: Likewise.
17871
17872         Tests for module 'priv-set'.
17873         * modules/priv-set-tests: New file.
17874         * tests/test-priv-set.c: New file.
17875
17876 2009-05-03  Jim Meyering  <meyering@redhat.com>
17877             Bruno Haible  <bruno@clisp.org>
17878
17879         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
17880         use the converted UTF-8 variant of the name instead.
17881
17882 2009-05-03  Jim Meyering  <meyering@redhat.com>
17883
17884         tests: tighten some getdate tests
17885         * tests/test-getdate.c (main): Tighten tests: require equality,
17886         not just greater than.  Set TZ envvar to UTC0.
17887
17888 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17889
17890         getdate: correctly interpret "next monday" when run on a Monday
17891         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
17892         that e.g., "next tues" (when run on a tuesday) results in a date
17893         that is one week in the future, and not today's date.
17894         I.e., add a week when the wday is the same as the current one.
17895         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
17896         and earlier by Martin Bernreuther and Jan Minář.
17897         * tests/test-getdate.c (main): Check that "next DAY" is always in
17898         the future and that "last DAY" is always in the past.
17899
17900 2009-05-02  Jim Meyering  <meyering@redhat.com>
17901
17902         build: ensure that a release build fails when a submodule is unclean
17903         * top/maint.mk (no-submodule-changes): New rule.
17904         (alpha beta major): Depend on it.
17905
17906 2009-05-02  Bruno Haible  <bruno@clisp.org>
17907
17908         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
17909         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
17910         shell variable gl_fnmatch_required to detect which variant is
17911         requested.
17912         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
17913         gl_FUNC_FNMATCH_POSIX.
17914         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
17915         exclude fnmatch-posix.
17916
17917 2009-05-02  Bruno Haible  <bruno@clisp.org>
17918
17919         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
17920         * modules/mbsrtowcs (License): Change to LGPLv2+.
17921         * modules/strnlen1 (License): Likewise.
17922         Reported by Simon Josefsson.
17923
17924 2009-05-02  Bruno Haible  <bruno@clisp.org>
17925
17926         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
17927         "cross".
17928         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
17929         gnulib-tool was called with option --source-base=lib.
17930
17931 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17932
17933         Use automake *-local hooks without commands, for extensibility.
17934         * modules/localcharset (Makefile.am): Rename install-exec-local
17935         rule to install-exec-localcharset, and make it a prerequisite of
17936         install-exec-local.  Likewise, rename the uninstall-local rule to
17937         uninstall-localcharset, and make it a prerequisite of the former.
17938
17939 2009-05-01  Bruno Haible  <bruno@clisp.org>
17940
17941         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
17942         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17943         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
17944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
17945         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
17946         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17947         m4/locale-zh.m4, m4/codeset.m4.
17948
17949         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17950         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
17951         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17952         m4/locale-zh.m4.
17953
17954         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
17955         REPLACE_WCRTOMB if mbstate_t must be replaced.
17956         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
17957         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
17958
17959 2009-05-01  Bruno Haible  <bruno@clisp.org>
17960
17961         Avoid compiler warnings when redefining macros defined by <libintl.h>.
17962         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
17963         dngettext, dcngettext, textdomain, bindtextdomain,
17964         bind_textdomain_codeset): Undefine before redefining.
17965
17966 2009-04-30  Bruno Haible  <bruno@clisp.org>
17967
17968         Fix bug introduced on 2009-04-25.
17969         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
17970         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
17971         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
17972         is defined.
17973         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
17974         is defined.
17975         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
17976         is defined.
17977         Reported by Elbert_Pol <elbert.pol@gmail.com>.
17978
17979 2009-04-28  Bruno Haible  <bruno@clisp.org>
17980
17981         Comment tweaks.
17982         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
17983         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
17984         * lib/unicase.h (u*_casexfrm): Likewise.
17985         Reported by Paolo Bonzini.
17986
17987 2009-04-28  Bruno Haible  <bruno@clisp.org>
17988
17989         Fix a compilation error.
17990         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
17991         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17992         Reported by Jim Meyering.
17993
17994 2009-04-27  Bruno Haible  <bruno@clisp.org>
17995
17996         New module 'libunistring'.
17997         * modules/libunistring: New file.
17998         * m4/libunistring.m4: New file.
17999         * MODULES.html.sh (Unicode string functions): Add it.
18000
18001 2009-04-27  Eric Blake  <ebb9@byu.net>
18002
18003         maint.mk: allow package-specific header to provide <config.h>
18004         * top/maint.mk (sc_require_config_h): New variable.
18005         (sc_require_config_h, sc_require_config_h_first): Use it.
18006
18007 2009-04-27  Simon Josefsson  <simon@josefsson.org>
18008
18009         * top/maint.mk (sc_avoid_if_before_free): Except
18010         useless-if-before-free script.
18011
18012 2009-04-27  Eric Blake  <ebb9@byu.net>
18013
18014         maintainer-makefile: depend on all required helper scripts
18015         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
18016         useless-if-before-free.
18017         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
18018         version, rather than assuming gnulib checkout is available.
18019         Reported by Simen Josefsson.
18020
18021 2009-04-26  Bruno Haible  <bruno@clisp.org>
18022
18023         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
18024         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
18025         "../" or "..".
18026
18027 2009-04-26  Bruno Haible  <bruno@clisp.org>
18028
18029         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
18030         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
18031         AC_LIB_HAVE_LINKFLAGS.
18032
18033 2009-04-26  Bruno Haible  <bruno@clisp.org>
18034
18035         Simplify calling convention of u*_conv_from_encoding.
18036         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
18037         u32_conv_from_encoding): Expect a resultbuf argument and return the
18038         result directly as a pointer.
18039         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
18040         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
18041         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
18042         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
18043         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
18044         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18045         Update.
18046         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
18047         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
18048         * lib/vasnprintf.c (VASNPRINTF): Update.
18049         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
18050         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
18051         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
18052         * NEWS: Mention the change.
18053
18054 2009-04-26  Bruno Haible  <bruno@clisp.org>
18055
18056         Simplify calling convention of u*_conv_to_encoding.
18057         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
18058         u32_conv_to_encoding): Expect a resultbuf argument and return the
18059         result directly as a pointer.
18060         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18061         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
18062         freeing scaled_offsets if mem_iconveha failed.
18063         * lib/unicase/u-casexfrm.h (FUNC): Update.
18064         * lib/uninorm/u-normxfrm.h (FUNC): Update.
18065         * lib/vasnprintf.c (VASNPRINTF): Update.
18066         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
18067         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
18068         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
18069         * NEWS: Mention the change.
18070
18071 2009-04-26  Bruno Haible  <bruno@clisp.org>
18072
18073         Avoid test failures on AIX and OSF/1.
18074         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
18075         malloc(0).
18076         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18077         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18078         Likewise.
18079         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
18080         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
18081         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
18082         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
18083         * doc/posix-functions/malloc.texi: Document the portability problem
18084         related to malloc(0).
18085
18086 2009-04-26  Bruno Haible  <bruno@clisp.org>
18087
18088         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
18089         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
18090         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
18091
18092 2009-04-25  Bruno Haible  <bruno@clisp.org>
18093
18094         Avoid link error when creating a namespace clean library.
18095         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
18096         as macro with arguments if already defined as an alias.
18097         * lib/signbitf.c (gl_signbitf): Don't undefine.
18098         * lib/signbitd.c (gl_signbitd): Don't undefine.
18099         * lib/signbitl.c (gl_signbitl): Don't undefine.
18100
18101 2009-04-25  Jim Meyering  <meyering@redhat.com>
18102
18103         vc-list-files: fix another quoting bug
18104         * build-aux/vc-list-files: Avoid sed backslash expansion
18105         of pathological directory names.
18106
18107 2009-04-25  Eric Blake  <ebb9@byu.net>
18108
18109         vc-list-files: fix shell quoting error
18110         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
18111         timestamp.
18112
18113 2009-04-25  Jim Meyering  <meyering@redhat.com>
18114
18115         vc-list-files: restore lost functionality with subdir argument
18116         * build-aux/vc-list-files: When given a non-"." sub-directory
18117         argument, substitute the $dir/ prefix back onto each resulting name.
18118         Otherwise, coreutils' root_tests check would fail.
18119
18120 2009-04-24  Eric Blake  <ebb9@byu.net>
18121
18122         vc-list-files: ignore git symlinks
18123         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
18124         than ls-files, to ignore git symlinks.
18125
18126         maint.mk: import improvements from m4
18127         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
18128         (move_if_change): Delete unused macro.
18129         (news-date-check, vc-diff-check): Support VPATH builds.
18130         (announcement): Likewise.  Split --bootstrap-tools list...
18131         (boostrap-tools): ...into separate list, which can be overridden
18132         in cfg.mk.
18133         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
18134         requiring dependency on useless-if-before-free module.
18135         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
18136         Support VPATH builds.
18137
18138 2009-04-24  Jim Meyering  <meyering@redhat.com>
18139
18140         maint.mk: remove coreutils-specific rules and variables
18141         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
18142         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
18143         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
18144
18145         maint.mk: remove obsolete rule
18146         * top/maint.mk (rel-check): Remove rule.
18147         (WGET, WGETFLAGS): Remove now-unused variables.
18148
18149 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18150
18151         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
18152         consistency.
18153
18154         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
18155         '$(PATH_SEPARATOR)' instead of ':'.
18156
18157 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18158
18159         * lib/getopt1.c (main): Use 'const' for static array.
18160
18161 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18162
18163         * top/maint.mk: Sync with coreutils.
18164         * NEWS: Explain incompatibilities.
18165
18166 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18167             Bruno Haible  <bruno@clisp.org>
18168
18169         Fix cross-compilation results.
18170         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
18171         statement, as third argument of AC_TRY_RUN.
18172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18173         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
18174         Likewise.
18175         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18176         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
18177         Likewise.
18178         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18179         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
18180         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
18181
18182 2009-04-20  Bruno Haible  <bruno@clisp.org>
18183
18184         Avoid test failure on mingw.
18185         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
18186
18187 2009-04-20  Bruno Haible  <bruno@clisp.org>
18188
18189         Avoid compilation error on mingw.
18190         * modules/localename-tests (Depends-on): Add locale.
18191
18192 2009-04-19  Bruno Haible  <bruno@clisp.org>
18193
18194         Support for building a shared library on Windows platforms.
18195         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
18196         (main): Test the presence of UNINORM_NFC here.
18197         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
18198         (main): Test the presence of UNINORM_NFD here.
18199         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
18200         (main): Test the presence of UNINORM_NFKC here.
18201         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
18202         (main): Test the presence of UNINORM_NFKD here.
18203
18204 2009-04-19  Bruno Haible  <bruno@clisp.org>
18205
18206         Avoid a compiler warning.
18207         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
18208         Change type of variable 'sequence'.
18209
18210 2009-04-19  Bruno Haible  <bruno@clisp.org>
18211
18212         * modules/configmake (Makefile.am): When the contents of configmake.h
18213         does not change, arrange to preserve its modification time.
18214
18215 2009-04-17  Simon Josefsson  <simon@josefsson.org>
18216
18217         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
18218         gettext domain.
18219
18220 2009-04-16  Jim Meyering  <meyering@redhat.com>
18221
18222         useless-if-before-free: improve conversion code
18223         * build-aux/useless-if-before-free: Adjust code-in-comment to match
18224         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
18225
18226 2009-04-14  Bruno Haible  <bruno@clisp.org>
18227
18228         * modules/fcntl (Depends-on): Add extensions.
18229         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
18230
18231 2009-04-12  Ben Pfaff  <blp@gnu.org>
18232
18233         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
18234         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
18235
18236 2009-03-20  Ben Pfaff  <blp@gnu.org>
18237
18238         Make rename replace existing destinations on Windows.
18239         * m4/rename.m4: Add test for Mingw.
18240         * lib/rename.c: Add rename replacement that uses MoveFileEx with
18241         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
18242         * doc/posix-functions/rename.texi: Document.
18243
18244 2009-04-10  Bruno Haible  <bruno@clisp.org>
18245
18246         New include file "iconveh.h".
18247         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
18248         * lib/striconveh.h: Include it.
18249         (enum iconv_ilseq_handler): Remove definition.
18250         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
18251         striconveh.h.
18252         * lib/striconveha.c: Include striconveh.h.
18253         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
18254         * modules/striconveh (Files): Add lib/iconveh.h.
18255         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
18256         lib/striconveh.h.
18257
18258 2009-04-10  Bruno Haible  <bruno@clisp.org>
18259
18260         * lib/uniconv.h: Update comment.
18261
18262 2009-04-10  Bruno Haible  <bruno@clisp.org>
18263
18264         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
18265         always.
18266         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
18267         * lib/unistr/u16-mbtouc-aux.c: Likewise.
18268         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
18269         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
18270         "unistring-notinline.h", so that the function gets defined always.
18271         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
18272         * lib/unistr/u8-uctomb.c: Likewise.
18273         * lib/unistr/u16-mbtouc.c: Likewise.
18274         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
18275         * lib/unistr/u16-uctomb.c: Likewise.
18276         * lib/unistr/u32-mbtouc.c: Likewise.
18277         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
18278         * lib/unistr/u32-uctomb.c: Likewise.
18279
18280 2009-04-10  Bruno Haible  <bruno@clisp.org>
18281
18282         Mark 'utime' obsolete.
18283         * modules/utime (Status, Notice): New sections.
18284         Suggested by Jim Meyering.
18285
18286         Fix cross-compile guess for utime test.
18287         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
18288         autoconf.
18289         * doc/posix-functions/utime.texi: Give more precisions.
18290         Reported by Jan <ipif@ymail.com>.
18291
18292 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
18293
18294         filevercmp: correct today's change
18295         * lib/filevercmp.c: Also handle coreutils' test inputs.
18296         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
18297
18298         Fix regression in 'filevercmp' module. Thanks Sven Joachim
18299         for reporting it.
18300         * lib/filevercmp.c: Special handle for "", "." and "..".
18301         * tests/test-filevercmp.c: Enlarge the set suite.
18302
18303 2009-04-07  Jim Meyering  <meyering@redhat.com>
18304
18305         useless-if-before-free: show how to remove braced useless free, too
18306         * build-aux/useless-if-before-free: still only in a comment, though.
18307
18308 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
18309
18310         maint.mk: import changes to syntax-check macros from coreutils
18311         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
18312         Use them in the relevant macros.
18313
18314 2009-04-06  Bruno Haible  <bruno@clisp.org>
18315
18316         Fix unportable use of bit-fields.
18317         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
18318         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
18319         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
18320
18321 2009-04-06  Bruno Haible  <bruno@clisp.org>
18322
18323         Avoid test failures on AIX and OSF/1.
18324         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
18325         that malloc(0) = NULL.
18326         * tests/unicase/test-u8-tolower.c (check): Likewise.
18327         * tests/unicase/test-u8-totitle.c (check): Likewise.
18328         * tests/unicase/test-u8-toupper.c (check): Likewise.
18329         * tests/unicase/test-u16-casefold.c (check): Likewise.
18330         * tests/unicase/test-u16-tolower.c (check): Likewise.
18331         * tests/unicase/test-u16-totitle.c (check): Likewise.
18332         * tests/unicase/test-u16-toupper.c (check): Likewise.
18333         * tests/unicase/test-u32-casefold.c (check): Likewise.
18334         * tests/unicase/test-u32-tolower.c (check): Likewise.
18335         * tests/unicase/test-u32-totitle.c (check): Likewise.
18336         * tests/unicase/test-u32-toupper.c (check): Likewise.
18337         * tests/uninorm/test-u8-nfc.c (check): Likewise.
18338         * tests/uninorm/test-u8-nfd.c (check): Likewise.
18339         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
18340         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
18341         * tests/uninorm/test-u16-nfc.c (check): Likewise.
18342         * tests/uninorm/test-u16-nfd.c (check): Likewise.
18343         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
18344         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
18345         * tests/uninorm/test-u32-nfc.c (check): Likewise.
18346         * tests/uninorm/test-u32-nfd.c (check): Likewise.
18347         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
18348         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
18349
18350 2009-04-05  Bruno Haible  <bruno@clisp.org>
18351
18352         Work around an autoconf limitation.
18353         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
18354         comment line if it would be longer than 3 KB.
18355
18356 2009-04-05  Bruno Haible  <bruno@clisp.org>
18357
18358         Avoid test failure with libiconv-1.13.
18359         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
18360         of the expected test results.
18361
18362 2009-04-05  Bruno Haible  <bruno@clisp.org>
18363
18364         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
18365         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
18366         that it should be installed.
18367
18368 2009-04-05  Bruno Haible  <bruno@clisp.org>
18369
18370         * gnulib-tool: New option --copy-file.
18371         (func_usage): Document it.
18372         (func_dest_tmpfilename): Moved out of func_import.
18373         (func_add_file, func_update_file): New functions, extracted from
18374         func_import.
18375         (func_import): Update.
18376
18377 2009-04-05  Karl Berry  <karl@gnu.org>
18378
18379         * README: prominently mention gnulib-tool.
18380         Rearrange sections so getting the code is near the top.
18381
18382 2009-04-05  Bruno Haible  <bruno@clisp.org>
18383
18384         * lib/unicase.h: Mention u*_cmp2.
18385         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18386         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
18387         * lib/unicase/ulc-casecmp.c: Likewise.
18388         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
18389         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
18390         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
18391         unistr/u8-cmp.
18392         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
18393         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
18394         unistr/u16-cmp.
18395         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
18396         unistr/u32-cmp.
18397
18398         * lib/uninorm.h: Mention u*_cmp2.
18399         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18400         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
18401         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
18402         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
18403         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
18404         unistr/u8-cmp.
18405         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
18406         unistr/u16-cmp.
18407         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
18408         unistr/u32-cmp.
18409
18410         New module 'unistr/u32-cmp2'.
18411         * lib/unistr/u32-cmp2.c: New file.
18412         * modules/unistr/u32-cmp2: New file.
18413
18414         New module 'unistr/u16-cmp2'.
18415         * lib/unistr/u16-cmp2.c: New file.
18416         * modules/unistr/u16-cmp2: New file.
18417
18418         New module 'unistr/u8-cmp2'.
18419         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
18420         * lib/unistr/u8-cmp2.c: New file.
18421         * lib/unistr/u-cmp2.h: New file.
18422         * modules/unistr/u8-cmp2: New file.
18423
18424 2009-04-05  Bruno Haible  <bruno@clisp.org>
18425
18426         * lib/unictype.h (uc_property_is_valid): New macro.
18427         * tests/unictype/test-pr_byname.c (main): Use it.
18428
18429         * lib/unistr.h: Doc fixes.
18430         * lib/uniconv.h: Doc fixes.
18431         * lib/unictype.h: Doc fixes.
18432
18433 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
18434
18435         Port coreutils 7.2 to Solaris 8.
18436
18437         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
18438         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
18439         for Solaris 8.  This is a bit of a hack, as it means it's the
18440         caller's responsibility to add -lnsl if needed, but most likely it
18441         won't be needed since only getaddrinfo uses this and getaddrinfo
18442         isn't needed on Solaris 8.
18443
18444         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
18445         problem to Solaris 8 encountered with coreutils 7.2, which
18446         resulted in a message "fnmatch.c:292: warning: passing argument 4
18447         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
18448         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
18449
18450 2009-04-03  Simon Josefsson  <simon@josefsson.org>
18451
18452         * m4/ld-version-script.m4: Add FIXME comment.
18453
18454 2009-04-02  Simon Josefsson  <simon@josefsson.org>
18455
18456         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
18457         SOVERSION variable.
18458
18459 2009-04-02  Bruno Haible  <bruno@clisp.org>
18460
18461         * Makefile (info, html, dvi, pdf): Combine the rules.
18462         Suggested by Jim Meyering.
18463
18464 2009-04-01  Bruno Haible  <bruno@clisp.org>
18465
18466         * Makefile (info, html, dvi, pdf): New targets.
18467         Reported by Reuben Thomas <rrt@sc3d.org>.
18468
18469 2009-04-01  Bruno Haible  <bruno@clisp.org>
18470
18471         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
18472         can be put into PATH.
18473         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
18474
18475 2009-04-01  Bruno Haible  <bruno@clisp.org>
18476
18477         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
18478
18479 2009-04-01  Bruno Haible  <bruno@clisp.org>
18480
18481         Rename module 'visibility'.
18482         * modules/lib-symbol-visibility: Renamed from modules/visibility.
18483         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
18484         * doc/gnulib.texi: Update.
18485         * MODULES.html.sh (Misc): Update.
18486         * NEWS: Mention the change.
18487
18488 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18489
18490         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
18491         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
18492         Eric Blake <ebb9@byu.net> for review.
18493         * MODULES.html.sh: Add lib-msvc-compat.
18494         * doc/gnulib.texi: Link to new section.
18495         * m4/ld-output-def.m4: New file.
18496         * doc/ld-output-def.texi: New file.
18497
18498 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18499
18500         Rename ld-version-script to lib-symbol-versions.  Suggested by
18501         Bruno Haible <bruno@clisp.org>.
18502         * modules/ld-version-script: Renamed to lib-symbol-versions.
18503         * doc/ld-version-script.texi: Fix module name.
18504         * MODULES.html.sh: Add lib-symbol-versions.
18505
18506 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18507
18508         * modules/u64-tests: New file.
18509         * tests/test-u64.c: New file.
18510
18511 2009-03-04  Simon Josefsson  <simon@josefsson.org>
18512
18513         * MODULES.html.sh: Mention u64.
18514         * modules/u64: New module.
18515         * modules/crypto/sha512: Depend on u64 module instead of providing
18516         u64.h.
18517
18518 2009-03-27  Eric Blake  <ebb9@byu.net>
18519
18520         test-strerror: make debugging EAI_SYSTEM easier
18521         * modules/getaddrinfo-tests (Depends-on): Add strerror.
18522         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
18523         failure was EAI_SYSTEM.
18524
18525 2009-03-25  Bruno Haible  <bruno@clisp.org>
18526
18527         Fix a problem with --enable-relocatable on Solaris 7.
18528         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
18529         since 2008-02-24.
18530
18531 2009-03-25  Eric Blake  <ebb9@byu.net>
18532
18533         test-sockets: avoid gcc warning
18534         * tests/test-sockets.c (main): Silence compiler warning.
18535
18536 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
18537
18538         New modules nproc, pthread, contributed by Glen Lenker.
18539
18540         * MODULES.html.sh: Add pthread, nproc.
18541         * lib/nproc.c: New file.
18542         * lib/nproc.h: New file.
18543         * lib/pthread.in.h: New file.
18544         * m4/pthread.m4: New file.
18545         * modules/nproc: New file.
18546         * modules/pthread: New file.
18547
18548 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18549
18550         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
18551         New variable.
18552
18553 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
18554
18555         filevercmp: handle simple~ and numbered.~3~ backup suffixes
18556         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
18557         * tests/test-filevercmp.c: Add tests for backup suffixes.
18558
18559 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18560
18561         * modules/stdlib (Depends-on): Add stdint, needed when defining
18562         struct random_data on, for example, HP-UX 10.20.  Reported by
18563         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18564
18565 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18566
18567         * lib/readline.c (readline): Call fflush on stdout after printing
18568         prompt.
18569
18570 2009-03-20  Bruno Haible  <bruno@clisp.org>
18571
18572         Remove dependency from 'close' module to -lws2_32 on native Windows.
18573         * lib/close-hook.h: New file.
18574         * lib/close-hook.c: New file.
18575         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
18576         w32sock.h.
18577         (_gl_close_fd_maybe_socket): Remove function.
18578         (rpl_close): Invoke execute_all_close_hooks instead of
18579         _gl_close_fd_maybe_socket.
18580         * lib/sockets.c: Include close-hook.h, w32sock.h.
18581         (close_fd_maybe_socket): New function, essentially from lib/close.c.
18582         (close_sockets_hook): New variable.
18583         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
18584         (gl_sockets_cleanup): Unregister it.
18585         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
18586         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
18587         * modules/close-hook: New file.
18588         * modules/close (Files): Remove lib/w32sock.h.
18589         (Depends-on): Add close-hook.
18590         (Link): Remove section.
18591         * modules/sockets (Files): Add lib/w32sock.h.
18592         (Depends-on): Add close-hook.
18593         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
18594         invocation.
18595         * NEWS: Mention that LIB_CLOSE is gone.
18596
18597 2009-03-23  Eric Blake  <ebb9@byu.net>
18598
18599         signal-tests: test previous patch
18600         * tests/test-signal.c: New file.
18601         * modules/signal-tests: Likewise.
18602
18603         signal.h: always support 'volatile sig_atomic_t'
18604         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
18605         (gl_SIGNAL_H_DEFAULTS): Add a default.
18606         * modules/signal (Makefile.am): Substitute if needed.
18607         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
18608         users can blindly add volatile.
18609         * doc/posix-headers/signal.texi (signal.h): Document it.
18610         Reported by Matthew Woehlke.
18611
18612 2009-03-23  Jim Meyering  <meyering@redhat.com>
18613
18614         pathmax: PATH_MAX: use pathconf only when available
18615         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
18616         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
18617         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
18618         This avoids a link failure in a PSP cross-compilation environment
18619         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
18620
18621         * lib/vasnprintf.c (divide): Fix typo in comment.
18622
18623 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18624
18625         * gnulib-tool (func_filter_filelist): Fix comment.
18626
18627 2009-03-20  Bruno Haible  <bruno@clisp.org>
18628
18629         Make sockets.h self-contained.
18630         * lib/sockets.c: Include sockets.h first.
18631         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
18632
18633 2009-03-19  Eric Blake  <ebb9@byu.net>
18634
18635         doc: mention more functions added in cygwin 1.7.0
18636         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
18637         addition.
18638         * doc/posix-functions/log2f.texi: Likewise.
18639
18640 2009-03-19  Jim Meyering  <meyering@redhat.com>
18641
18642         fsusage: avoid syntax error due to statement-before-declaration
18643         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
18644         after all declarations.  Reported by Matthew Woehlke in
18645         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
18646
18647 2009-03-18  Eric Blake  <ebb9@byu.net>
18648
18649         build-aux/compile: sync from automake
18650         * build-aux/compile: New file, from automake.
18651         * config/srclist.txt: Mention build-aux/compile.
18652
18653 2009-03-17  Bruno Haible  <bruno@clisp.org>
18654
18655         * lib/git-merge-changelog.c: Fix typo in comment.
18656         Reported by Reuben Thomas <rrt@sc3d.org>.
18657
18658 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
18659
18660         * m4/regex.m4: update and improve help for
18661         --without-included-regex.
18662
18663 2009-03-17  Simon Josefsson  <simon@josefsson.org>
18664
18665         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
18666         failure on missing include files.
18667
18668 2009-03-17  Eric Blake  <ebb9@byu.net>
18669
18670         doc: mention more functions added in cygwin 1.7.0
18671         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
18672         addition.
18673         * doc/posix-functions/fwscanf.texi: Likewise.
18674         * doc/posix-functions/swprintf.texi: Likewise.
18675         * doc/posix-functions/swscanf.texi: Likewise.
18676         * doc/posix-functions/vfwprintf.texi: Likewise.
18677         * doc/posix-functions/vfwscanf.texi: Likewise.
18678         * doc/posix-functions/vswprintf.texi: Likewise.
18679         * doc/posix-functions/vswscanf.texi: Likewise.
18680         * doc/posix-functions/vwprintf.texi: Likewise.
18681         * doc/posix-functions/vwscanf.texi: Likewise.
18682         * doc/posix-functions/wcscasecmp.texi: Likewise.
18683         * doc/posix-functions/wcsdup.texi: Likewise.
18684         * doc/posix-functions/wcsftime.texi: Likewise.
18685         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18686         * doc/posix-functions/wprintf.texi: Likewise.
18687         * doc/posix-functions/wscanf.texi: Likewise.
18688         * doc/glibc-functions/gethostbyname2.texi: Likewise.
18689
18690 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18691
18692         maint.mk: really add $(AM_MAKEFLAGS)
18693         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
18694         was inadvertently omitted in the last commit.
18695         Spotted by Bruno Haible.
18696
18697         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
18698         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
18699         $(AM_MAKEFLAGS)' rather than plain `make'.
18700
18701         gnulib-tool: execute $MAKE not make
18702         * gnulib-tool: Default $MAKE to 'make'.
18703         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
18704         than make.  Initialize $MAKE in the do-autobuild script.
18705
18706         gnulib-tool: use $MAKE not make in generated files
18707         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
18708         make, in generated files.  Initialize $MAKE in the do-autobuild
18709         script.
18710
18711         * top/GNUmakefile (_have-git-version-gen): Fix typo.
18712
18713         GNUmakefile: disable parallelism only for multiple, recursive targets
18714         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
18715         additions in the Makefile.
18716         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
18717         by Automake.
18718         (.NOTPARALLEL): Only disable parallel builds if multiple targets
18719         are listed on the command line and at least one of them is
18720         listed in $(ALL_RECURSIVE_TARGETS).
18721
18722 2009-03-14  Bruno Haible  <bruno@clisp.org>
18723
18724         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
18725         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
18726         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
18727         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
18728         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
18729         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
18730         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
18731         unistr/u8-uctomb.
18732         * modules/unistr/u8-strchr (Depends-on): Likewise.
18733         * modules/unistr/u8-strrchr (Depends-on): Likewise.
18734         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
18735         unistr/u16-uctomb.
18736         * modules/unistr/u16-strchr (Depends-on): Likewise.
18737         * modules/unistr/u16-strrchr (Depends-on): Likewise.
18738
18739 2009-03-12  Bruno Haible  <bruno@clisp.org>
18740
18741         Work around select() bug on Interix 3.5.
18742         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
18743         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
18744         * m4/select.m4: New file.
18745         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
18746         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
18747         * modules/select (Files): Add m4/select.m4.
18748         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
18749         * modules/nanosleep (Depends-on): Add select.
18750         * modules/poll (Depends-on): Likewise.
18751         * doc/posix-functions/select.texi: Mention the Interix bug.
18752         Reported by Markus Duft <mduft@gentoo.org>.
18753
18754         * lib/select.c: Renamed from lib/winsock-select.c.
18755         * modules/select (Files): Add lib/select.c, remove
18756         lib/winsock-select.c.
18757         (configure.ac): Update.
18758
18759 2009-03-12  Jim Meyering  <meyering@redhat.com>
18760
18761         avoid gcc warnings about unused macro definitions
18762         * lib/readtokens.c (STREQ): Remove unused definition.
18763         * lib/xmalloc.c (SIZE_MAX): Likewise.
18764         * lib/openat-die.c (N_): Likewise.
18765         * lib/mountlist.c (SIZE_MAX): Remove definition.
18766         Instead, include <stdint.h>.
18767         * lib/readutmp.c: Likewise.
18768         * modules/readutmp (Depends-on): Add stdint.
18769         * modules/mountlist (Depends-on): Add stdint.
18770         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
18771
18772 2009-03-10  Bruno Haible  <bruno@clisp.org>
18773
18774         Tests for module 'mbmemcasecoll'.
18775         * modules/mbmemcasecoll-tests: New file.
18776         * tests/test-mbmemcasecoll1.sh: New file.
18777         * tests/test-mbmemcasecoll2.sh: New file.
18778         * tests/test-mbmemcasecoll3.sh: New file.
18779         * tests/test-mbmemcasecoll.c: New file.
18780
18781         New module 'mbmemcasecoll'.
18782         * lib/mbmemcasecoll.h: New file.
18783         * lib/mbmemcasecoll.c: New file.
18784         * modules/mbmemcasecoll: New file.
18785
18786         * tests/test-mbmemcasecmp.h: New file, extracted from
18787         tests/test-mbmemcasecmp.c.
18788         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
18789         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
18790         (main): Update.
18791         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
18792
18793 2009-03-09  Bruno Haible  <bruno@clisp.org>
18794
18795         Tests for module 'mbmemcasecmp'.
18796         * modules/mbmemcasecmp-tests: New file.
18797         * tests/test-mbmemcasecmp1.sh: New file.
18798         * tests/test-mbmemcasecmp2.sh: New file.
18799         * tests/test-mbmemcasecmp3.sh: New file.
18800         * tests/test-mbmemcasecmp.c: New file.
18801
18802         New module 'mbmemcasecmp'.
18803         * lib/mbmemcasecmp.h: New file.
18804         * lib/mbmemcasecmp.c: New file.
18805         * modules/mbmemcasecmp: New file.
18806
18807 2009-03-09  Bruno Haible  <bruno@clisp.org>
18808
18809         Tests for module 'unicase/ulc-casecoll'.
18810         * modules/unicase/ulc-casecoll-tests: New file.
18811         * tests/unicase/test-ulc-casecoll1.sh: New file.
18812         * tests/unicase/test-ulc-casecoll2.sh: New file.
18813         * tests/unicase/test-ulc-casecoll.c: New file.
18814
18815         New module 'unicase/ulc-casecoll'.
18816         * lib/unicase.h (ulc_casecoll): New declaration.
18817         * lib/unicase/ulc-casecoll.c: New file.
18818         * modules/unicase/ulc-casecoll: New file.
18819
18820         New module 'unicase/ulc-casexfrm'.
18821         * lib/unicase.h (ulc_casexfrm): New declaration.
18822         * lib/unicase/ulc-casexfrm.c: New file.
18823         * modules/unicase/ulc-casexfrm: New file.
18824
18825 2009-03-09  Bruno Haible  <bruno@clisp.org>
18826
18827         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
18828         invocations.
18829
18830         * m4/mbscasecmp.m4: Remove file.
18831         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
18832         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
18833
18834         * m4/mbscasestr.m4: Remove file.
18835         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
18836         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
18837
18838         * m4/mbschr.m4: Remove file.
18839         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
18840         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
18841
18842         * m4/mbscspn.m4: Remove file.
18843         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
18844         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
18845
18846         * m4/mbslen.m4: Remove file.
18847         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
18848         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
18849
18850         * m4/mbsncasecmp.m4: Remove file.
18851         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
18852         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
18853
18854         * m4/mbsnlen.m4: Remove file.
18855         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
18856         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
18857
18858         * m4/mbspbrk.m4: Remove file.
18859         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
18860         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
18861
18862         * m4/mbspcasecmp.m4: Remove file.
18863         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
18864         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
18865
18866         * m4/mbsrchr.m4: Remove file.
18867         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
18868         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
18869
18870         * m4/mbssep.m4: Remove file.
18871         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
18872         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
18873
18874         * m4/mbsspn.m4: Remove file.
18875         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
18876         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
18877
18878         * m4/mbsstr.m4: Remove file.
18879         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
18880         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
18881
18882         * m4/mbstok_r.m4: Remove file.
18883         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
18884         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
18885
18886         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
18887
18888         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
18889         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
18890
18891         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
18892
18893 2009-03-08  Bruno Haible  <bruno@clisp.org>
18894
18895         Tests for module 'unicase/ulc-casecmp'.
18896         * modules/unicase/ulc-casecmp-tests: New file.
18897         * tests/unicase/test-ulc-casecmp1.sh: New file.
18898         * tests/unicase/test-ulc-casecmp2.sh: New file.
18899         * tests/unicase/test-ulc-casecmp.c: New file.
18900
18901         New module 'unicase/ulc-casecmp'.
18902         * lib/unicase.h (ulc_casecmp): New declaration.
18903         * lib/unicase/ulc-casecmp.c: New file.
18904         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
18905         'const SRC_UNIT *'.
18906         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
18907         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
18908         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
18909         * modules/unicase/ulc-casecmp: New file.
18910
18911         Tests for module 'unicase/u32-is-cased'.
18912         * modules/unicase/u32-is-cased-tests: New file.
18913         * tests/unicase/test-u32-is-cased.c: New file.
18914
18915         Tests for module 'unicase/u16-is-cased'.
18916         * modules/unicase/u16-is-cased-tests: New file.
18917         * tests/unicase/test-u16-is-cased.c: New file.
18918
18919         Tests for module 'unicase/u8-is-cased'.
18920         * modules/unicase/u8-is-cased-tests: New file.
18921         * tests/unicase/test-u8-is-cased.c: New file.
18922         * tests/unicase/test-is-cased.h: New file.
18923
18924         New module 'unicase/u32-is-cased'.
18925         * lib/unicase/u32-is-cased.c: New file.
18926         * modules/unicase/u32-is-cased: New file.
18927
18928         New module 'unicase/u16-is-cased'.
18929         * lib/unicase/u16-is-cased.c: New file.
18930         * modules/unicase/u16-is-cased: New file.
18931
18932         New module 'unicase/u8-is-cased'.
18933         * lib/unicase/u8-is-cased.c: New file.
18934         * lib/unicase/u-is-cased.h: New file.
18935         * modules/unicase/u8-is-cased: New file.
18936
18937         Tests for module 'unicase/u32-is-casefolded'.
18938         * modules/unicase/u32-is-casefolded-tests: New file.
18939         * tests/unicase/test-u32-is-casefolded.c: New file.
18940
18941         Tests for module 'unicase/u16-is-casefolded'.
18942         * modules/unicase/u16-is-casefolded-tests: New file.
18943         * tests/unicase/test-u16-is-casefolded.c: New file.
18944
18945         Tests for module 'unicase/u8-is-casefolded'.
18946         * modules/unicase/u8-is-casefolded-tests: New file.
18947         * tests/unicase/test-u8-is-casefolded.c: New file.
18948         * tests/unicase/test-is-casefolded.h: New file.
18949
18950         New module 'unicase/u32-is-casefolded'.
18951         * lib/unicase/u32-is-casefolded.c: New file.
18952         * modules/unicase/u32-is-casefolded: New file.
18953
18954         New module 'unicase/u16-is-casefolded'.
18955         * lib/unicase/u16-is-casefolded.c: New file.
18956         * modules/unicase/u16-is-casefolded: New file.
18957
18958         New module 'unicase/u8-is-casefolded'.
18959         * lib/unicase/u8-is-casefolded.c: New file.
18960         * modules/unicase/u8-is-casefolded: New file.
18961
18962         Tests for module 'unicase/u32-is-titlecase'.
18963         * modules/unicase/u32-is-titlecase-tests: New file.
18964         * tests/unicase/test-u32-is-titlecase.c: New file.
18965
18966         Tests for module 'unicase/u16-is-titlecase'.
18967         * modules/unicase/u16-is-titlecase-tests: New file.
18968         * tests/unicase/test-u16-is-titlecase.c: New file.
18969
18970         Tests for module 'unicase/u8-is-titlecase'.
18971         * modules/unicase/u8-is-titlecase-tests: New file.
18972         * tests/unicase/test-u8-is-titlecase.c: New file.
18973         * tests/unicase/test-is-titlecase.h: New file.
18974
18975         New module 'unicase/u32-is-titlecase'.
18976         * lib/unicase/u32-is-titlecase.c: New file.
18977         * modules/unicase/u32-is-titlecase: New file.
18978
18979         New module 'unicase/u16-is-titlecase'.
18980         * lib/unicase/u16-is-titlecase.c: New file.
18981         * modules/unicase/u16-is-titlecase: New file.
18982
18983         New module 'unicase/u8-is-titlecase'.
18984         * lib/unicase/u8-is-titlecase.c: New file.
18985         * modules/unicase/u8-is-titlecase: New file.
18986
18987         Tests for module 'unicase/u32-is-lowercase'.
18988         * modules/unicase/u32-is-lowercase-tests: New file.
18989         * tests/unicase/test-u32-is-lowercase.c: New file.
18990
18991         Tests for module 'unicase/u16-is-lowercase'.
18992         * modules/unicase/u16-is-lowercase-tests: New file.
18993         * tests/unicase/test-u16-is-lowercase.c: New file.
18994
18995         Tests for module 'unicase/u8-is-lowercase'.
18996         * modules/unicase/u8-is-lowercase-tests: New file.
18997         * tests/unicase/test-u8-is-lowercase.c: New file.
18998         * tests/unicase/test-is-lowercase.h: New file.
18999
19000         New module 'unicase/u32-is-lowercase'.
19001         * lib/unicase/u32-is-lowercase.c: New file.
19002         * modules/unicase/u32-is-lowercase: New file.
19003
19004         New module 'unicase/u16-is-lowercase'.
19005         * lib/unicase/u16-is-lowercase.c: New file.
19006         * modules/unicase/u16-is-lowercase: New file.
19007
19008         New module 'unicase/u8-is-lowercase'.
19009         * lib/unicase/u8-is-lowercase.c: New file.
19010         * modules/unicase/u8-is-lowercase: New file.
19011
19012         Tests for module 'unicase/u32-is-uppercase'.
19013         * modules/unicase/u32-is-uppercase-tests: New file.
19014         * tests/unicase/test-u32-is-uppercase.c: New file.
19015
19016         Tests for module 'unicase/u16-is-uppercase'.
19017         * modules/unicase/u16-is-uppercase-tests: New file.
19018         * tests/unicase/test-u16-is-uppercase.c: New file.
19019
19020         Tests for module 'unicase/u8-is-uppercase'.
19021         * modules/unicase/u8-is-uppercase-tests: New file.
19022         * tests/unicase/test-u8-is-uppercase.c: New file.
19023         * tests/unicase/test-is-uppercase.h: New file.
19024
19025         New module 'unicase/u32-is-uppercase'.
19026         * lib/unicase/u32-is-uppercase.c: New file.
19027         * modules/unicase/u32-is-uppercase: New file.
19028
19029         New module 'unicase/u16-is-uppercase'.
19030         * lib/unicase/u16-is-uppercase.c: New file.
19031         * modules/unicase/u16-is-uppercase: New file.
19032
19033         New module 'unicase/u8-is-uppercase'.
19034         * lib/unicase/u8-is-uppercase.c: New file.
19035         * modules/unicase/u8-is-uppercase: New file.
19036
19037         New module 'unicase/u32-is-invariant'.
19038         * lib/unicase/u32-is-invariant.c: New file.
19039         * modules/unicase/u32-is-invariant: New file.
19040
19041         New module 'unicase/u16-is-invariant'.
19042         * lib/unicase/u16-is-invariant.c: New file.
19043         * modules/unicase/u16-is-invariant: New file.
19044
19045         New module 'unicase/u8-is-invariant'.
19046         * lib/unicase/u8-is-invariant.c: New file.
19047         * lib/unicase/invariant.h: New file.
19048         * lib/unicase/u-is-invariant.h: New file.
19049         * modules/unicase/u8-is-invariant: New file.
19050
19051         Tests for module 'unicase/u32-casecoll'.
19052         * modules/unicase/u32-casecoll-tests: New file.
19053         * tests/unicase/test-u32-casecoll.c: New file.
19054
19055         Tests for module 'unicase/u16-casecoll'.
19056         * modules/unicase/u16-casecoll-tests: New file.
19057         * tests/unicase/test-u16-casecoll.c: New file.
19058
19059         Tests for module 'unicase/u8-casecoll'.
19060         * modules/unicase/u8-casecoll-tests: New file.
19061         * tests/unicase/test-u8-casecoll.c: New file.
19062
19063         New module 'unicase/u32-casecoll'.
19064         * lib/unicase/u32-casecoll.c: New file.
19065         * modules/unicase/u32-casecoll: New file.
19066
19067         New module 'unicase/u16-casecoll'.
19068         * lib/unicase/u16-casecoll.c: New file.
19069         * modules/unicase/u16-casecoll: New file.
19070
19071         New module 'unicase/u8-casecoll'.
19072         * lib/unicase/u8-casecoll.c: New file.
19073         * lib/unicase/u-casecoll.h: New file.
19074         * modules/unicase/u8-casecoll: New file.
19075
19076         New module 'unicase/u32-casexfrm'.
19077         * lib/unicase/u32-casexfrm.c: New file.
19078         * modules/unicase/u32-casexfrm: New file.
19079
19080         New module 'unicase/u16-casexfrm'.
19081         * lib/unicase/u16-casexfrm.c: New file.
19082         * modules/unicase/u16-casexfrm: New file.
19083
19084         New module 'unicase/u8-casexfrm'.
19085         * lib/unicase/u8-casexfrm.c: New file.
19086         * lib/unicase/u-casexfrm.h: New file.
19087         * modules/unicase/u8-casexfrm: New file.
19088
19089         Tests for module 'unicase/u32-casecmp'.
19090         * modules/unicase/u32-casecmp-tests: New file.
19091         * tests/unicase/test-u32-casecmp.c: New file.
19092
19093         Tests for module 'unicase/u16-casecmp'.
19094         * modules/unicase/u16-casecmp-tests: New file.
19095         * tests/unicase/test-u16-casecmp.c: New file.
19096
19097         Tests for module 'unicase/u8-casecmp'.
19098         * modules/unicase/u8-casecmp-tests: New file.
19099         * tests/unicase/test-u8-casecmp.c: New file.
19100         * tests/unicase/test-casecmp.h: New file.
19101
19102         New module 'unicase/u32-casecmp'.
19103         * lib/unicase/u32-casecmp.c: New file.
19104         * modules/unicase/u32-casecmp: New file.
19105
19106         New module 'unicase/u16-casecmp'.
19107         * lib/unicase/u16-casecmp.c: New file.
19108         * modules/unicase/u16-casecmp: New file.
19109
19110         New module 'unicase/u8-casecmp'.
19111         * lib/unicase/u8-casecmp.c: New file.
19112         * lib/unicase/u-casecmp.h: New file.
19113         * modules/unicase/u8-casecmp: New file.
19114
19115         Tests for module 'unicase/u32-casefold'.
19116         * modules/unicase/u32-casefold-tests: New file.
19117         * tests/unicase/test-u32-casefold.c: New file.
19118
19119         Tests for module 'unicase/u16-casefold'.
19120         * modules/unicase/u16-casefold-tests: New file.
19121         * tests/unicase/test-u16-casefold.c: New file.
19122
19123         Tests for module 'unicase/u8-casefold'.
19124         * modules/unicase/u8-casefold-tests: New file.
19125         * tests/unicase/test-u8-casefold.c: New file.
19126
19127         New module 'unicase/u32-casefold'.
19128         * lib/unicase/u32-casefold.c: New file.
19129         * modules/unicase/u32-casefold: New file.
19130
19131         New module 'unicase/u16-casefold'.
19132         * lib/unicase/u16-casefold.c: New file.
19133         * modules/unicase/u16-casefold: New file.
19134
19135         New module 'unicase/u8-casefold'.
19136         * lib/unicase/u8-casefold.c: New file.
19137         * lib/unicase/u-casefold.h: New file.
19138         * modules/unicase/u8-casefold: New file.
19139
19140         New module 'unicase/tocasefold'.
19141         * lib/unicase/casefold.h: New file.
19142         * lib/unicase/tocasefold.c: New file.
19143         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
19144         * modules/unicase/tocasefold: New file.
19145
19146         Tests for module 'unicase/u32-totitle'.
19147         * modules/unicase/u32-totitle-tests: New file.
19148         * tests/unicase/test-u32-totitle.c: New file.
19149
19150         Tests for module 'unicase/u16-totitle'.
19151         * modules/unicase/u16-totitle-tests: New file.
19152         * tests/unicase/test-u16-totitle.c: New file.
19153
19154         Tests for module 'unicase/u8-totitle'.
19155         * modules/unicase/u8-totitle-tests: New file.
19156         * tests/unicase/test-u8-totitle.c: New file.
19157
19158         New module 'unicase/u32-totitle'.
19159         * lib/unicase/u32-totitle.c: New file.
19160         * modules/unicase/u32-totitle: New file.
19161
19162         New module 'unicase/u16-totitle'.
19163         * lib/unicase/u16-totitle.c: New file.
19164         * modules/unicase/u16-totitle: New file.
19165
19166         New module 'unicase/u8-totitle'.
19167         * lib/unicase/u8-totitle.c: New file.
19168         * lib/unicase/u-totitle.h: New file.
19169         * modules/unicase/u8-totitle: New file.
19170
19171         Tests for module 'unicase/u32-tolower'.
19172         * modules/unicase/u32-tolower-tests: New file.
19173         * tests/unicase/test-u32-tolower.c: New file.
19174
19175         Tests for module 'unicase/u16-tolower'.
19176         * modules/unicase/u16-tolower-tests: New file.
19177         * tests/unicase/test-u16-tolower.c: New file.
19178
19179         Tests for module 'unicase/u8-tolower'.
19180         * modules/unicase/u8-tolower-tests: New file.
19181         * tests/unicase/test-u8-tolower.c: New file.
19182
19183         New module 'unicase/u32-tolower'.
19184         * lib/unicase/u32-tolower.c: New file.
19185         * modules/unicase/u32-tolower: New file.
19186
19187         New module 'unicase/u16-tolower'.
19188         * lib/unicase/u16-tolower.c: New file.
19189         * modules/unicase/u16-tolower: New file.
19190
19191         New module 'unicase/u8-tolower'.
19192         * lib/unicase/u8-tolower.c: New file.
19193         * modules/unicase/u8-tolower: New file.
19194
19195         Tests for module 'unicase/u32-toupper'.
19196         * modules/unicase/u32-toupper-tests: New file.
19197         * tests/unicase/test-u32-toupper.c: New file.
19198
19199         Tests for module 'unicase/u16-toupper'.
19200         * modules/unicase/u16-toupper-tests: New file.
19201         * tests/unicase/test-u16-toupper.c: New file.
19202
19203         Tests for module 'unicase/u8-toupper'.
19204         * modules/unicase/u8-toupper-tests: New file.
19205         * tests/unicase/test-u8-toupper.c: New file.
19206
19207         New module 'unicase/u32-toupper'.
19208         * lib/unicase/u32-toupper.c: New file.
19209         * modules/unicase/u32-toupper: New file.
19210
19211         New module 'unicase/u16-toupper'.
19212         * lib/unicase/u16-toupper.c: New file.
19213         * modules/unicase/u16-toupper: New file.
19214
19215         New module 'unicase/u8-toupper'.
19216         * lib/unicase/u8-toupper.c: New file.
19217         * modules/unicase/u8-toupper: New file.
19218
19219         New module 'unicase/u32-casemap'.
19220         * lib/unicase/u32-casemap.c: New file.
19221         * modules/unicase/u32-casemap: New file.
19222
19223         New module 'unicase/u16-casemap'.
19224         * lib/unicase/u16-casemap.c: New file.
19225         * modules/unicase/u16-casemap: New file.
19226
19227         New module 'unicase/u8-casemap'.
19228         * lib/unicase/unicasemap.h: New file.
19229         * lib/unicase/u8-casemap.c: New file.
19230         * lib/unicase/u-casemap.h: New file.
19231         * modules/unicase/u8-casemap: New file.
19232
19233         New module 'unicase/special-casing'.
19234         * lib/unicase/special-casing.h: New file.
19235         * lib/unicase/special-casing.c: New file.
19236         * lib/unicase/special-casing-table.gperf: New file, generated by
19237         gen-uni-tables.c.
19238         * modules/unicase/special-casing: New file.
19239
19240         Tests for module 'unicase/locale-language'.
19241         * modules/unicase/locale-language-tests: New file.
19242         * tests/unicase/test-locale-language.sh: New file.
19243         * tests/unicase/test-locale-language.c: New file.
19244
19245         New module 'unicase/locale-language'.
19246         * lib/unicase/locale-language.c: New file.
19247         * lib/unicase/locale-languages.gperf: New file.
19248         * modules/unicase/locale-language: New file.
19249
19250         Generate more tables for case conversion and case folding.
19251         * lib/gen-uni-tables.c (SCC_*): New enum items.
19252         (struct special_casing_rule): New type.
19253         (casing_rules, num_casing_rules, allocated_casing_rules): New
19254         variables.
19255         (add_casing_rule, fill_casing_rules): New functions.
19256         (struct casefold_rule): New type.
19257         (casefolding_rules, num_casefolding_rules,
19258         allocated_casefolding_rules): New variables.
19259         (fill_casefolding_rules): New function.
19260         (unicode_casefold): New variable.
19261         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
19262         sort_casing_rules, output_casing_rules): New functions.
19263         (main): Accept to more arguments: SpecialCasing.txt and
19264         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
19265         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
19266         Output mapping for casefolding.
19267
19268         * lib/unicase.h: Include stdbool.h, uninorm.h.
19269         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
19270         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
19271         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
19272         arguments.
19273         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
19274         resultp arguments.
19275         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
19276         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
19277         resultp arguments.
19278         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
19279         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
19280         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
19281         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
19282         declarations.
19283         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
19284
19285 2009-03-08  Bruno Haible  <bruno@clisp.org>
19286
19287         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19288         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
19289         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
19290         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19291
19292 2009-03-07  Bruno Haible  <bruno@clisp.org>
19293
19294         Adjust u*_normcmp, u*_normcoll API.
19295         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19296         u16_normcoll, u32_normcoll): Change failure conventions.
19297         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
19298         errno and return -1.
19299         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19300
19301 2009-03-07  Bruno Haible  <bruno@clisp.org>
19302
19303         Tests for module 'uninorm/u32-normcoll'.
19304         * modules/uninorm/u32-normcoll-tests: New file.
19305         * tests/uninorm/test-u32-normcoll.c: New file.
19306
19307         Tests for module 'uninorm/u16-normcoll'.
19308         * modules/uninorm/u16-normcoll-tests: New file.
19309         * tests/uninorm/test-u16-normcoll.c: New file.
19310
19311         Tests for module 'uninorm/u8-normcoll'.
19312         * modules/uninorm/u8-normcoll-tests: New file.
19313         * tests/uninorm/test-u8-normcoll.c: New file.
19314
19315 2009-03-07  Bruno Haible  <bruno@clisp.org>
19316
19317         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
19318         tests/uninorm/test-u32-normcmp.c.
19319         * tests/uninorm/test-u32-normcmp.c: Include it.
19320         (test_nonascii): New function, extracted from main. Add some more
19321         tests.
19322         (main): Invoke test_ascii and test_nonascii.
19323         * modules/uninorm/u32-normcmp-tests (Files): Add
19324         tests/uninorm/test-u32-normcmp.h.
19325         (Depends-on): Remove uninorm/u32-normcmp.
19326
19327         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
19328         tests/uninorm/test-u16-normcmp.c.
19329         * tests/uninorm/test-u16-normcmp.c: Include it.
19330         (test_nonascii): New function, extracted from main. Add some more
19331         tests.
19332         (main): Invoke test_ascii and test_nonascii.
19333         * modules/uninorm/u16-normcmp-tests (Files): Add
19334         tests/uninorm/test-u16-normcmp.h.
19335         (Depends-on): Remove uninorm/u16-normcmp.
19336
19337         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
19338         tests/uninorm/test-u8-normcmp.c.
19339         * tests/uninorm/test-u8-normcmp.c: Include it.
19340         (test_nonascii): New function, extracted from main. Add some more
19341         tests.
19342         (main): Invoke test_ascii and test_nonascii.
19343         * modules/uninorm/u8-normcmp-tests (Files): Add
19344         tests/uninorm/test-u8-normcmp.h.
19345         (Depends-on): Remove uninorm/u8-normcmp.
19346
19347 2009-03-07  Bruno Haible  <bruno@clisp.org>
19348
19349         New module 'uninorm/u32-normcoll'.
19350         * lib/uninorm/u32-normcoll.c: New file.
19351         * modules/uninorm/u32-normcoll: New file.
19352
19353         New module 'uninorm/u16-normcoll'.
19354         * lib/uninorm/u16-normcoll.c: New file.
19355         * modules/uninorm/u16-normcoll: New file.
19356
19357         New module 'uninorm/u8-normcoll'.
19358         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
19359         declarations.
19360         * lib/uninorm/u8-normcoll.c: New file.
19361         * lib/uninorm/u-normcoll.h: New file.
19362         * modules/uninorm/u8-normcoll: New file.
19363
19364         New module 'uninorm/u32-normxfrm'.
19365         * lib/uninorm/u32-normxfrm.c: New file.
19366         * modules/uninorm/u32-normxfrm: New file.
19367
19368         New module 'uninorm/u16-normxfrm'.
19369         * lib/uninorm/u16-normxfrm.c: New file.
19370         * modules/uninorm/u16-normxfrm: New file.
19371
19372         New module 'uninorm/u8-normxfrm'.
19373         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
19374         declarations.
19375         * lib/uninorm/u8-normxfrm.c: New file.
19376         * lib/uninorm/u-normxfrm.h: New file.
19377         * modules/uninorm/u8-normxfrm: New file.
19378
19379 2009-03-07  Bruno Haible  <bruno@clisp.org>
19380
19381         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
19382         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
19383         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
19384
19385 2009-03-07  Bruno Haible  <bruno@clisp.org>
19386
19387         New module 'memxfrm'.
19388         * lib/memxfrm.h: New file.
19389         * lib/memxfrm.c: New file.
19390         * modules/memxfrm: New file.
19391
19392 2009-03-07  Bruno Haible  <bruno@clisp.org>
19393
19394         New module 'memcmp2'.
19395         * lib/memcmp2.h: New file.
19396         * lib/memcmp2.c: New file.
19397         * modules/memcmp2: New file.
19398
19399 2009-03-07  Bruno Haible  <bruno@clisp.org>
19400
19401         Tests for module 'uninorm/decomposing-form'.
19402         * modules/uninorm/decomposing-form-tests: New file.
19403         * tests/uninorm/test-decomposing-form.c: New file.
19404
19405         New module 'uninorm/decomposing-form'.
19406         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
19407         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
19408         Add 'decomposing_variant' field.
19409         * lib/uninorm/decomposing-form.c: New file.
19410         * lib/uninorm/nfc.c (uninorm_nfc): Update.
19411         * lib/uninorm/nfd.c (uninorm_nfd): Update.
19412         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
19413         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
19414         * modules/uninorm/decomposing-form: New file.
19415         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
19416         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
19417
19418 2009-03-07  Bruno Haible  <bruno@clisp.org>
19419
19420         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
19421         strings.
19422
19423 2009-03-06  Bruno Haible  <bruno@clisp.org>
19424
19425         Tests for module 'uninorm/u32-normcmp'.
19426         * tests/uninorm/test-u32-normcmp.c: New file.
19427         * modules/uninorm/u32-normcmp-tests: New file.
19428
19429         Tests for module 'uninorm/u16-normcmp'.
19430         * tests/uninorm/test-u16-normcmp.c: New file.
19431         * modules/uninorm/u16-normcmp-tests: New file.
19432
19433         Tests for module 'uninorm/u8-normcmp'.
19434         * tests/uninorm/test-u8-normcmp.c: New file.
19435         * modules/uninorm/u8-normcmp-tests: New file.
19436
19437         New module 'uninorm/u32-normcmp'.
19438         * lib/uninorm/u32-normcmp.c: New file.
19439         * modules/uninorm/u32-normcmp: New file.
19440
19441         New module 'uninorm/u16-normcmp'.
19442         * lib/uninorm/u16-normcmp.c: New file.
19443         * modules/uninorm/u16-normcmp: New file.
19444
19445         New module 'uninorm/u8-normcmp'.
19446         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
19447         declarations.
19448         * lib/uninorm/u8-normcmp.c: New file.
19449         * lib/uninorm/u-normcmp.h: New file.
19450         * modules/uninorm/u8-normcmp: New file.
19451
19452 2009-03-06  Bruno Haible  <bruno@clisp.org>
19453
19454         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
19455         Reported by Eric Blake.
19456
19457 2009-03-06  Eric Blake  <ebb9@byu.net>
19458             Bruno Haible  <bruno@clisp.org>
19459
19460         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
19461         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
19462         condition.
19463         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19464         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
19465         condition.
19466         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19467
19468 2009-03-06  Eric Blake  <ebb9@byu.net>
19469
19470         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
19471         to avoid compiler warnings.
19472         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
19473
19474 2009-03-05  Bruno Haible  <bruno@clisp.org>
19475
19476         * tests/test-ftell.c (main): Disable test beyond end of file on
19477         FreeMiNT.
19478         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19479
19480 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
19481
19482         * lib/filevercmp.c: Move hidden files up in ordering.
19483         * tests/test-filevercmp.c: Add tests for hidden files.
19484
19485 2009-03-04  Bruno Haible  <bruno@clisp.org>
19486
19487         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
19488         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
19489         AM_CFLAGS.
19490         Reported by Simon Josefsson.
19491
19492 2009-03-03  Bruno Haible  <bruno@clisp.org>
19493
19494         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
19495         Reported by Simon Josefsson.
19496
19497         * doc/ld-version-script.texi: Update node reference.
19498
19499 2009-03-03  Bruno Haible  <bruno@clisp.org>
19500
19501         * modules/visibility (License): Change to 'unlimited'.
19502         Suggested by Simon Josefsson.
19503
19504 2009-03-03  Jim Meyering  <meyering@redhat.com>
19505
19506         unlinkdir: cannot_unlink_dir may modify process state
19507         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
19508         it's neither thread-safe nor appropriate for use in a library.
19509
19510 2009-03-03  Eric Blake  <ebb9@byu.net>
19511
19512         test-closein: silence test under Darwin
19513         * tests/test-closein.sh: Ignore stderr from cat, since we don't
19514         care if it dies from EPIPE or EBADF.
19515
19516 2009-03-03  Bruno Haible  <bruno@clisp.org>
19517
19518         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
19519         earlier.
19520         * doc/visibility.texi: Fix @node and @section.
19521
19522 2009-03-03  Simon Josefsson  <simon@josefsson.org>
19523
19524         * doc/gnulib.texi: Link to sections for ld version script and
19525         visibility.
19526         * doc/visibility.texi: Add @node and @section.
19527         * modules/ld-version-script: New module.
19528         * m4/ld-version-script.m4: New file.
19529         * doc/ld-version-script.texi: New file.
19530
19531 2009-03-02  David Lutterkort  <lutter@redhat.com>
19532
19533         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
19534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19535
19536 2009-03-02  Bruno Haible  <bruno@clisp.org>
19537
19538         * doc/visibility.texi: Mention libtool's -export-symbols option.
19539
19540 2009-03-02  Jim Meyering  <meyering@redhat.com>
19541
19542         announce-gen: new option: --no-print-checksums
19543         * build-aux/announce-gen (usage): Describe it.
19544         (print_checksums): Print a newline here, not in the [*] footnote.
19545         (main): Honor it.
19546
19547 2009-03-01  Bruno Haible  <bruno@clisp.org>
19548
19549         Use socklen_t in the native Windows replacements prototypes.
19550         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
19551         instead of 'int'.
19552         * lib/getsockopt.c (rpl_getsockopt): Likewise.
19553         * lib/setsockopt.c (rpl_setsockopt): Likewise.
19554         * modules/getsockopt (Depends-on): Add socklen.
19555         * modules/setsockopt (Depends-on): Add socklen.
19556
19557 2009-03-01  Bruno Haible  <bruno@clisp.org>
19558
19559         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
19560         least 4.2.
19561
19562 2009-03-01  Eric Blake  <ebb9@byu.net>
19563             Bruno Haible  <bruno@clisp.org>
19564
19565         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
19566         error messages.
19567         * lib/wait-process.c (wait_subprocess): Omit error message about
19568         deadly signal sent to the child of termsigp != NULL.
19569
19570 2009-03-01  Eric Blake  <ebb9@byu.net>
19571
19572         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
19573
19574 2009-03-01  Bruno Haible  <bruno@clisp.org>
19575
19576         Avoid a gcc warning.
19577         * tests/test-sched.c (b): Make global.
19578         Reported by Eric Blake.
19579
19580 2009-01-19  Martin Lambers  <marlam@marlam.de>
19581
19582         Provide POSIX semantics for socket timeout options on W32.
19583         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
19584         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
19585         * modules/setsockopt: Depend on sys_time module for struct timeval.
19586         * modules/getsockopt: Depend on sys_time module for struct timeval.
19587
19588 2009-03-01  Simon Josefsson  <simon@josefsson.org>
19589
19590         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
19591         __USE_GNU, for consistency with netdb.in.h.
19592         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19593
19594 2009-03-01  Bruno Haible  <bruno@clisp.org>
19595
19596         More support for FreeMiNT.
19597         * lib/fseeko.c (rpl_fseeko): Complete last commit.
19598         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19599
19600 2009-03-01  Bruno Haible  <bruno@clisp.org>
19601
19602         More support for FreeMiNT.
19603         * lib/fpurge.c (fpurge): Correct last commit.
19604         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19605
19606 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19607
19608         Fix unportable awk script in vc-list-files.
19609         * build-aux/vc-list-files: In the replacement awk script, use
19610         substr with a second argument of 1, not zero.
19611         Report by Simon Josefsson.
19612
19613 2009-02-28  Bruno Haible  <bruno@clisp.org>
19614
19615         More support for FreeMiNT.
19616         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
19617         to FreeMiNT today.
19618         * lib/fwriting.c (fwriting): Likewise.
19619         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
19620
19621 2009-02-28  Bruno Haible  <bruno@clisp.org>
19622
19623         * tests/test-freadseek.c (main): Disable test beyond end of file on
19624         FreeMiNT.
19625         * tests/test-ftello.c (main): Likewise.
19626         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19627
19628 2009-02-28  Bruno Haible  <bruno@clisp.org>
19629
19630         Add tentative support for FreeMiNT.
19631         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
19632         * lib/fpurge.c (fpurge): Likewise.
19633         * lib/freadable.c (freadable): Likewise.
19634         * lib/freading.c (freading): Likewise.
19635         * lib/freadptr.c (freadptr): Likewise.
19636         * lib/freadseek.c (freadptrinc): Likewise.
19637         * lib/fseeko.c (rpl_fseeko): Likewise.
19638         * lib/fseterr.c (fseterr): Likewise.
19639         * lib/fwritable.c (fwritable): Likewise.
19640         * lib/fwriting.c (fwriting): Likewise.
19641         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
19642         Hourihane.
19643         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19644
19645 2009-02-28  Bruno Haible  <bruno@clisp.org>
19646
19647         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
19648         SIGCHLD.
19649         Reported by Jim Meyering.
19650
19651 2009-02-28  Bruno Haible  <bruno@clisp.org>
19652
19653         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
19654         Mention the results of these tests on various platforms.
19655         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
19656         order.
19657         * doc/posix-functions/printf.texi: Likewise.
19658         * doc/posix-functions/snprintf.texi: Likewise.
19659         * doc/posix-functions/sprintf.texi: Likewise.
19660         * doc/posix-functions/vfprintf.texi: Likewise.
19661         * doc/posix-functions/vprintf.texi: Likewise.
19662         * doc/posix-functions/vsnprintf.texi: Likewise.
19663         * doc/posix-functions/vsprintf.texi: Likewise.
19664         * doc/glibc-functions/obstack_printf.texi: Likewise.
19665         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19666
19667 2009-02-28  Bruno Haible  <bruno@clisp.org>
19668
19669         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
19670         Reported by Loïc Minier <lool@dooz.org>.
19671
19672 2009-02-27  Bruno Haible  <bruno@clisp.org>
19673
19674         * gnulib-tool (func_import): Make the sed expression used to create the
19675         sed script for updating the .gitignore file POSIX compliant.
19676         Reported by Eric Blake.
19677
19678 2009-02-27  Bruno Haible  <bruno@clisp.org>
19679
19680         * gnulib-tool (sed): Don't alias as "sed --posix".
19681         Reported by Eric Blake.
19682
19683 2009-02-27  Bruno Haible  <bruno@clisp.org>
19684
19685         Avoid test link errors.
19686         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
19687         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
19688         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
19689         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
19690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19691
19692 2009-02-27  Bruno Haible  <bruno@clisp.org>
19693
19694         Avoid spurious "(cached)" in configure output.
19695         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
19696         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
19697         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19698         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19699         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19700         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19701         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19702         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
19703         Reported by Eric Blake.
19704
19705 2009-02-27  Eric Blake  <ebb9@byu.net>
19706
19707         printf: fix regression in previous patch
19708         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
19709
19710 2009-02-27  Bruno Haible  <bruno@clisp.org>
19711
19712         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
19713         value.
19714         * lib/stdint.in.h: Likewise.
19715         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
19716
19717 2009-02-27  Eric Blake  <ebb9@byu.net>
19718
19719         doc: mention more functions added in cygwin 1.7.0
19720         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
19721         addition.
19722         * doc/posix-functions/open_wmemstream.texi: Likewise.
19723         * doc/posix-functions/wcsnlen.texi: Likewise.
19724         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19725         * doc/posix-functions/wcstod.texi: Likewise.
19726         * doc/posix-functions/wcstof.texi: Likewise.
19727         * doc/posix-functions/wcstoimax.texi: Likewise.
19728         * doc/posix-functions/wcstok.texi: Likewise.
19729         * doc/posix-functions/wcstoumax.texi: Likewise.
19730
19731         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
19732         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
19733         * doc/posix-functions/fprintf.texi: Update.
19734         * doc/posix-functions/printf.texi: Update.
19735         * doc/posix-functions/snprintf.texi: Update.
19736         * doc/posix-functions/sprintf.texi: Update.
19737         * doc/posix-functions/vfprintf.texi: Update.
19738         * doc/posix-functions/vprintf.texi: Update.
19739         * doc/posix-functions/vsnprintf.texi: Update.
19740         * doc/posix-functions/vsprintf.texi: Update.
19741         * doc/glibc-functions/obstack_printf.texi: Update.
19742         * doc/glibc-functions/obstack_vprintf.texi: Update.
19743
19744 2009-02-26  Eric Blake  <ebb9@byu.net>
19745
19746         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
19747         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
19748         compilation bug by using runtime conversion.
19749         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19750         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
19751         * modules/ceill-tests (Files): Use nan.h.
19752         * modules/floorl-tests (Files): Likewise.
19753         * modules/frexpl-tests (Files): Likewise.
19754         * modules/isnanl-tests (Files): Likewise.
19755         * modules/ldexpl-tests (Files): Likewise.
19756         * modules/roundl-tests (Files): Likewise.
19757         * modules/truncl-tests (Files): Likewise.
19758         * tests/test-ceill.c (main): Use a working NaN.
19759         * tests/test-floorl.c (main): Likewise.
19760         * tests/test-frexpl.c (main): Likewise.
19761         * tests/test-isnan.c (test_long_double): Likewise.
19762         * tests/test-isnanl.h (main): Likewise.
19763         * tests/test-ldexpl.h (main): Likewise.
19764         * tests/test-roundl.h (main): Likewise.
19765         * tests/test-truncl.h (main): Likewise.
19766         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
19767
19768 2009-02-26  Eric Blake  <ebb9@byu.net>
19769             Bruno Haible  <bruno@clisp.org>
19770
19771         Work around a *printf bug with %ls on Solaris.
19772         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
19773         precision is specified, sprintf stops converting the wide string
19774         argument when the number of bytes that have been produced by this
19775         conversion equals or exceeds the precision.
19776         * doc/posix-functions/fprintf.texi: Update.
19777         * doc/posix-functions/printf.texi: Update.
19778         * doc/posix-functions/snprintf.texi: Update.
19779         * doc/posix-functions/sprintf.texi: Update.
19780         * doc/posix-functions/vfprintf.texi: Update.
19781         * doc/posix-functions/vprintf.texi: Update.
19782         * doc/posix-functions/vsnprintf.texi: Update.
19783         * doc/posix-functions/vsprintf.texi: Update.
19784         * doc/glibc-functions/obstack_printf.texi: Update.
19785         * doc/glibc-functions/obstack_vprintf.texi: Update.
19786
19787 2009-02-26  Eric Blake  <ebb9@byu.net>
19788
19789         stdlib: favor compiler check of random.h
19790         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
19791         to avoid an ObjC random.h installed by Swarm.
19792
19793 2009-02-26  Bruno Haible  <bruno@clisp.org>
19794
19795         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
19796         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
19797         Reported by Gary V. Vaughan <gary@gnu.org>.
19798
19799 2009-02-26  Bruno Haible  <bruno@clisp.org>
19800
19801         Fix *printf behaviour regarding the %ls directive.
19802         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
19803         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
19804         NEED_PRINTF_DIRECTIVE_LS.
19805         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
19806         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19807         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19808         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
19809         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
19810         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
19811         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
19812         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19813         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19814         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19815         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19816         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
19817         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19818         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19819         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19820         * doc/posix-functions/fprintf.texi: Update.
19821         * doc/posix-functions/printf.texi: Update.
19822         * doc/posix-functions/snprintf.texi: Update.
19823         * doc/posix-functions/sprintf.texi: Update.
19824         * doc/posix-functions/vfprintf.texi: Update.
19825         * doc/posix-functions/vprintf.texi: Update.
19826         * doc/posix-functions/vsnprintf.texi: Update.
19827         * doc/posix-functions/vsprintf.texi: Update.
19828         * doc/glibc-functions/obstack_printf.texi: Update.
19829         * doc/glibc-functions/obstack_vprintf.texi: Update.
19830         Reported by Eric Blake.
19831
19832 2009-02-25  Bruno Haible  <bruno@clisp.org>
19833
19834         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
19835         with known value.
19836         Reported by Gary V. Vaughan <gary@gnu.org>.
19837
19838 2009-02-25  Bruno Haible  <bruno@clisp.org>
19839
19840         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
19841         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
19842         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
19843         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
19844         Reported by Gary V. Vaughan <gary@gnu.org>.
19845
19846 2009-02-25  Bruno Haible  <bruno@clisp.org>
19847
19848         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
19849         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
19850         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
19851         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
19852         Reported by Gary V. Vaughan <gary@gnu.org>.
19853
19854 2009-02-25  Eric Blake  <ebb9@byu.net>
19855
19856         tests: skip fseek/ftell tests if ungetc is broken
19857         * m4/ungetc.m4: New file.
19858         * modules/fseek-tests: Split test, so ungetc dependency is
19859         separate from rest of test.
19860         * modules/fseeko-tests: Likewise.
19861         * modules/ftell-tests: Likewise.
19862         * modules/ftello-tests: Likewise.
19863         * tests/test-fseek.c (main): Isolate ungetc dependency.
19864         * tests/test-fseeko.c (main): Likewise.
19865         * tests/test-ftell.c (main): Likewise.
19866         * tests/test-ftello.c (main): Likewise.
19867         * tests/test-fseek2.sh: New file.
19868         * tests/test-fseeko2.sh: Likewise.
19869         * tests/test-ftell2.sh: Likewise.
19870         * tests/test-ftello2.sh: Likewise.
19871
19872 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
19873
19874         test-getaddrinfo: fix usage of skip return code 77
19875         * tests/test-gettaddrinfo.c: Return skip code 77 only
19876         for first occurance of skip (4x77 is not 77)
19877
19878 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
19879
19880         strtod: avoid C99 decl-after-statement
19881         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
19882
19883 2009-02-24  Eric Blake  <ebb9@byu.net>
19884
19885         strtod: detect HP-UX 11.31 bug
19886         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
19887         Reported by Gary V. Vaughan.
19888
19889 2009-02-23  Bruno Haible  <bruno@clisp.org>
19890
19891         Fix invalid read past end of memory block.
19892         * lib/vasnprintf.c (DCHAR_SET): Define.
19893         (local_wcslen): Define only when needed.
19894         (local_strnlen, local_wcsnlen): New functions.
19895         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
19896         directives that involve a conversion ourselves.
19897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
19898         wcsnlen, mbrtowc, wcrtomb.
19899         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
19900         * tests/test-vasprintf-posix.c (test_function): Likewise.
19901         * tests/test-snprintf-posix.h (test_function): Likewise.
19902         * tests/test-sprintf-posix.h (test_function): Likewise.
19903         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19904
19905 2009-02-22  Bruno Haible  <bruno@clisp.org>
19906
19907         Implement new clarified decomposition of Hangul syllables.
19908         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
19909         of type LTV, return only a pairwise decomposition.
19910         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
19911         Likewise.
19912         * tests/uninorm/test-decomposition.c (main): Updated expected result.
19913         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
19914         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
19915
19916 2009-02-22  Bruno Haible  <bruno@clisp.org>
19917
19918         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
19919         zero-length results and shrink excess allocated memory.
19920         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
19921         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
19922         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
19923         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
19924         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
19925         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
19926         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
19927         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
19928         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
19929         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
19930         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
19931         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
19932
19933 2009-02-21  Bruno Haible  <bruno@clisp.org>
19934
19935         * doc/gnulib.texi: Include safe-alloc.texi earlier.
19936         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
19937         spaces after a period. Put a space between a macro name and its
19938         argument list. Trivial rewordings.
19939         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
19940         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
19941         (main): Return 0 explicitly.
19942
19943 2009-02-21  Bruno Haible  <bruno@clisp.org>
19944
19945         Tests for module 'uninorm/filter'.
19946         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
19947         * modules/uninorm/filter-tests: New file.
19948
19949         New module 'uninorm/filter'.
19950         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
19951         uninorm_filter_flush, uninorm_filter_free): New declarations.
19952         * lib/uninorm/uninorm-filter.c: New file.
19953         * modules/uninorm/filter: New file.
19954
19955 2009-02-21  Bruno Haible  <bruno@clisp.org>
19956
19957         Tests for module 'uninorm/nfkc'.
19958         * tests/uninorm/test-nfkc.c: New file.
19959         * tests/uninorm/test-u8-nfkc.c: New file.
19960         * tests/uninorm/test-u16-nfkc.c: New file.
19961         * tests/uninorm/test-u32-nfkc.c: New file.
19962         * tests/uninorm/test-u32-nfkc-big.sh: New file.
19963         * tests/uninorm/test-u32-nfkc-big.c: New file.
19964         * modules/uninorm/nfkc-tests: New file.
19965
19966         New module 'uninorm/nfkc'.
19967         * lib/uninorm/nfkc.c: New file.
19968         * modules/uninorm/nfkc: New file.
19969
19970         Tests for module 'uninorm/nfkd'.
19971         * tests/uninorm/test-nfkd.c: New file.
19972         * tests/uninorm/test-u8-nfkd.c: New file.
19973         * tests/uninorm/test-u16-nfkd.c: New file.
19974         * tests/uninorm/test-u32-nfkd.c: New file.
19975         * tests/uninorm/test-u32-nfkd-big.sh: New file.
19976         * tests/uninorm/test-u32-nfkd-big.c: New file.
19977         * modules/uninorm/nfkd-tests: New file.
19978
19979         New module 'uninorm/nfkd'.
19980         * lib/uninorm/nfkd.c: New file.
19981         * modules/uninorm/nfkd: New file.
19982
19983         Tests for module 'uninorm/nfc'.
19984         * tests/uninorm/test-nfc.c: New file.
19985         * tests/uninorm/test-u8-nfc.c: New file.
19986         * tests/uninorm/test-u16-nfc.c: New file.
19987         * tests/uninorm/test-u32-nfc.c: New file.
19988         * tests/uninorm/test-u32-nfc-big.sh: New file.
19989         * tests/uninorm/test-u32-nfc-big.c: New file.
19990         * modules/uninorm/nfc-tests: New file.
19991
19992         New module 'uninorm/nfc'.
19993         * lib/uninorm/nfc.c: New file.
19994         * modules/uninorm/nfc: New file.
19995
19996         Tests for module 'uninorm/nfd'.
19997         * tests/uninorm/test-nfd.c: New file.
19998         * tests/uninorm/test-u8-nfd.c: New file.
19999         * tests/uninorm/test-u16-nfd.c: New file.
20000         * tests/uninorm/test-u32-nfd.c: New file.
20001         * tests/uninorm/test-u32-nfd-big.sh: New file.
20002         * tests/uninorm/test-u32-nfd-big.c: New file.
20003         * tests/uninorm/test-u32-normalize-big.h: New file.
20004         * tests/uninorm/test-u32-normalize-big.c: New file.
20005         * tests/uninorm/NormalizationTest.txt: New file, created from
20006         Unicode 5.1.0 NormalizationTest.txt.
20007         * modules/uninorm/nfd-tests: New file.
20008
20009         New module 'uninorm/nfd'.
20010         * lib/uninorm/nfd.c: New file.
20011         * modules/uninorm/nfd: New file.
20012
20013         New module 'uninorm/u32-normalize'.
20014         * lib/uninorm/u32-normalize.c: New file.
20015         * modules/uninorm/u32-normalize: New file.
20016
20017         New module 'uninorm/u16-normalize'.
20018         * lib/uninorm/u16-normalize.c: New file.
20019         * modules/uninorm/u16-normalize: New file.
20020
20021         New module 'uninorm/u8-normalize'.
20022         * lib/uninorm/u8-normalize.c: New file.
20023         * lib/uninorm/normalize-internal.h: New file.
20024         * lib/uninorm/u-normalize-internal.h: New file.
20025         * modules/uninorm/u8-normalize: New file.
20026
20027         New module 'uninorm/decompose-internal'.
20028         * lib/uninorm/decompose-internal.c: New file.
20029         * modules/uninorm/decompose-internal: New file.
20030
20031         Tests for module 'uninorm/composition'.
20032         * tests/uninorm/test-composition.c: New file.
20033         * modules/uninorm/composition-tests: New file.
20034
20035         New module 'uninorm/composition'.
20036         * lib/uninorm/composition.c: New file.
20037         * lib/uninorm/composition-table.gperf: New file, generated by
20038         gen-uni-tables.
20039         * modules/uninorm/composition: New file.
20040
20041         Tests for module 'uninorm/compat-decomposition'.
20042         * tests/uninorm/test-compat-decomposition.c: New file.
20043         * modules/uninorm/compat-decomposition-tests: New file.
20044
20045         New module 'uninorm/compat-decomposition'.
20046         * lib/uninorm/decompose-internal.h: New file.
20047         * lib/uninorm/compat-decomposition.c: New file.
20048         * modules/uninorm/compat-decomposition: New file.
20049
20050         Tests for module 'uninorm/canonical-decomposition'.
20051         * tests/uninorm/test-canonical-decomposition.c: New file.
20052         * modules/uninorm/canonical-decomposition-tests: New file.
20053
20054         New module 'uninorm/canonical-decomposition'.
20055         * lib/uninorm/canonical-decomposition.c: New file.
20056         * modules/uninorm/canonical-decomposition: New file.
20057
20058         Tests for module 'uninorm/decomposition'.
20059         * tests/uninorm/test-decomposition.c: New file.
20060         * modules/uninorm/decomposition-tests: New file.
20061
20062         New module 'uninorm/decomposition'.
20063         * lib/uninorm/decomposition.c: New file.
20064         * modules/uninorm/decomposition: New file.
20065
20066         New module 'uninorm/decomposition-table'.
20067         * lib/uninorm/decomposition-table.h: New file.
20068         * lib/uninorm/decomposition-table.c: New file.
20069         * lib/uninorm/decomposition-table1.h: New file, generated by
20070         gen-uni-tables.
20071         * lib/uninorm/decomposition-table2.h: New file, generated by
20072         gen-uni-tables.
20073         * modules/uninorm/decomposition-table: New file.
20074
20075         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
20076         (UC_DECOMP_*): New enumeration items.
20077         (get_decomposition): New function.
20078         (struct decomp_table): New type.
20079         (output_decomposition, output_decomposition_tables): New functions.
20080         (unicode_composition_exclusions): New variable.
20081         (fill_composition_exclusions, debug_output_composition_tables): New
20082         functions.
20083         (main): Accept one more argument. Invoke fill_composition_exclusions.
20084         Output decomposition and composition tables.
20085
20086         New module 'uninorm/base'.
20087         * lib/uninorm.h: New file.
20088         * lib/unictype.h: Update comment.
20089         * modules/uninorm/base: New file.
20090
20091 2009-02-21  David Lutterkort  <lutter@redhat.com>
20092
20093         Tests for module 'safe-alloc'.
20094         * tests/test-safe-alloc.c: New file.
20095         * modules/safe-alloc-tests: New file.
20096
20097         New module 'safe-alloc'.
20098         * lib/safe-alloc.h: New file.
20099         * lib/safe-alloc.c: New file.
20100         * m4/safe-alloc.m4: New file.
20101         * modules/safe-alloc: New file.
20102         * doc/safe-alloc.texi: New file.
20103         * doc/gnulib.texi: Include it.
20104         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20105         safe-alloc.
20106
20107 2009-02-18  Bruno Haible  <bruno@clisp.org>
20108
20109         Fix link error on non-glibc systems.
20110         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
20111         variable.
20112         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20113
20114 2009-02-18  Jim Meyering  <meyering@redhat.com>
20115
20116         fts: avoid used-uninitialized error due to recent change
20117         * lib/fts.c (fts_read): Guard uses of the new member,
20118         parent->fts_n_dirs_remaining, since it's not relevant for
20119         the parent of a directory specified on the command-line.
20120
20121 2009-02-17  James Youngman  <jay@gnu.org>
20122             Bruno Haible  <bruno@clisp.org>
20123
20124         * m4/include_next.m4: Reformulate comment.
20125
20126 2009-02-16  Jim Meyering  <meyering@redhat.com>
20127
20128         fts: add #if guards so that the fts_lgpl module still builds
20129         * lib/fts.c: Guard just-added hash-table-using parts with
20130         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
20131         Reported by Simon Josefsson.
20132
20133 2009-02-15  Bruno Haible  <bruno@clisp.org>
20134
20135         * modules/array-mergesort-tests: New file.
20136         * tests/test-array-mergesort.c: New file.
20137
20138         New module 'array-mergesort'.
20139         * modules/array-mergesort: New file.
20140         * lib/array-mergesort.h: New file.
20141
20142 2009-02-15  Bruno Haible  <bruno@clisp.org>
20143
20144         Fix 2009-02-07 commit.
20145         * lib/gen-uni-tables.c (output_predicate, output_category,
20146         output_combclass, output_bidi_category, output_decimal_digit,
20147         output_digit, output_numeric, output_mirror, output_scripts,
20148         output_ident_category, output_simple_mapping): Fix format directives.
20149         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
20150
20151 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
20152
20153         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
20154         fixes are available from IBM.
20155
20156 2009-02-13  Jim Meyering  <meyering@redhat.com>
20157
20158         fts: arrange not to stat non-directories in more cases
20159         This makes GNU find (when it doesn't need to stat each file)
20160         *much* more efficient at traversing reiserfs file systems.
20161         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
20162         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
20163         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
20164         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
20165         (leaf_optimization_applies): New function.
20166         (LCO_hash, LCO_compare): New helper functions.
20167         (link_count_optimize_ok): New function.
20168         (fts_stat): Initialize new member (if dir).
20169         (fts_read): Decrement parent's fts_n_dirs_remaining count if
20170         we've just stat'ed a directory.  Skip the stat call when possible.
20171         ---
20172         Note this AFS-related exchange:
20173         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
20174         and note find's pioctl call in find/fstype.c.
20175         But that is necessary only if you want to enable the
20176         optimization for AFS, and for now, I don't.
20177
20178         fts: move a function definition "up" (no semantic change)
20179         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
20180         "up" to precede upcoming use of a related function.
20181
20182 2009-02-11  Jim Meyering  <meyering@redhat.com>
20183
20184         fts: correct internal computation of nlinks (optimization-related)
20185         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
20186         whether the current entry is a directory, so don't test it.
20187
20188 2009-02-10  Bruno Haible  <bruno@clisp.org>
20189
20190         Tests for module 'uniwbrk/ulc-wordbreaks'.
20191         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
20192         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
20193         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
20194
20195         Tests for module 'uniwbrk/u32-wordbreaks'.
20196         * modules/uniwbrk/u32-wordbreaks-tests: New file.
20197         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
20198
20199         Tests for module 'uniwbrk/u16-wordbreaks'.
20200         * modules/uniwbrk/u16-wordbreaks-tests: New file.
20201         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
20202
20203         Tests for module 'uniwbrk/u8-wordbreaks'.
20204         * modules/uniwbrk/u8-wordbreaks-tests: New file.
20205         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
20206
20207 2009-02-10  Bruno Haible  <bruno@clisp.org>
20208
20209         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
20210         property.
20211         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
20212         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
20213         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
20214
20215 2009-02-10  Simon Josefsson  <simon@josefsson.org>
20216
20217         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
20218         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
20219
20220 2009-02-10  Bruno Haible  <bruno@clisp.org>
20221
20222         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
20223         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
20224         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
20225         * lib/unilbrk/u8-possible-linebreaks.c: Update.
20226         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
20227         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
20228
20229 2009-02-09  Simon Josefsson  <simon@josefsson.org>
20230
20231         * lib/sockets.h (gl_fd_to_handle): New function.
20232
20233         * tests/test-sockets.c: Call gl_fd_to_handle.
20234
20235 2009-02-09  Bruno Haible  <bruno@clisp.org>
20236
20237         * doc/havelib.texi: Document the conventions on bi-arch systems.
20238
20239 2009-02-08  Bruno Haible  <bruno@clisp.org>
20240
20241         Document the AC_LIB_LINKFLAGS macro.
20242         * doc/havelib.texi: New file, mostly written on 2005-05-24.
20243         * doc/gnulib.texi: Include it.
20244
20245 2009-02-08  Bruno Haible  <bruno@clisp.org>
20246
20247         Fix wrong order of sections, compared to TOC.
20248         * doc/gnulib.texi: Include relocatable-maint.texi after the
20249         "Regular expressions" node, not before.
20250
20251 2009-02-08  Bruno Haible  <bruno@clisp.org>
20252
20253         Tests for module 'unicase/totitle'.
20254         * modules/unicase/totitle-tests: New file.
20255
20256         Tests for module 'unicase/tolower'.
20257         * modules/unicase/tolower-tests: New file.
20258
20259         Tests for module 'unicase/toupper'.
20260         * modules/unicase/toupper-tests: New file.
20261         * tests/unicase/test-mapping-part1.h: New file.
20262         * tests/unicase/test-mapping-part2.h: New file.
20263
20264         New module 'unicase/totitle'.
20265         * modules/unicase/totitle: New file.
20266         * lib/unicase/totitle.c: New file.
20267
20268         New module 'unicase/tolower'.
20269         * modules/unicase/tolower: New file.
20270         * lib/unicase/tolower.c: New file.
20271
20272         New module 'unicase/toupper'.
20273         * modules/unicase/toupper: New file.
20274         * lib/unicase/toupper.c: New file.
20275         * lib/unicase/simple-mapping.h: New file.
20276
20277         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
20278         (mapping_table): New structure.
20279         (output_simple_mapping): New function.
20280         (main): Invoke output_simple_mapping_test and output_simple_mapping.
20281         * modules/gen-uni-tables (Description): Update.
20282         * lib/unicase/toupper.h: New file, automatically generated by
20283         gen-uni-tables.
20284         * lib/unicase/tolower.h: New file, automatically generated by
20285         gen-uni-tables.
20286         * lib/unicase/totitle.h: New file, automatically generated by
20287         gen-uni-tables.
20288         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
20289         gen-uni-tables.
20290         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
20291         gen-uni-tables.
20292         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
20293         gen-uni-tables.
20294
20295         New module 'unicase/base'.
20296         * modules/unicase/base: New file.
20297         * lib/unicase.h: New file.
20298
20299 2009-02-08  Bruno Haible  <bruno@clisp.org>
20300
20301         New module 'uniwbrk/ulc-wordbreaks'.
20302         * modules/uniwbrk/ulc-wordbreaks: New file.
20303         * lib/uniwbrk/ulc-wordbreaks.c: New file.
20304
20305         New module 'uniwbrk/u32-wordbreaks'.
20306         * modules/uniwbrk/u32-wordbreaks: New file.
20307         * lib/uniwbrk/u32-wordbreaks.c: New file.
20308
20309         New module 'uniwbrk/u16-wordbreaks'.
20310         * modules/uniwbrk/u16-wordbreaks: New file.
20311         * lib/uniwbrk/u16-wordbreaks.c: New file.
20312
20313         New module 'uniwbrk/u8-wordbreaks'.
20314         * modules/uniwbrk/u8-wordbreaks: New file.
20315         * lib/uniwbrk/u8-wordbreaks.c: New file.
20316         * lib/uniwbrk/u-wordbreaks.h: New file.
20317
20318         New module 'uniwbrk/table'.
20319         * modules/uniwbrk/table: New file.
20320         * lib/uniwbrk/wbrktable.h: New file.
20321         * lib/uniwbrk/wbrktable.c: New file.
20322
20323         New module 'uniwbrk/wordbreak-property'.
20324         * modules/uniwbrk/wordbreak-property: New file.
20325         * lib/uniwbrk/wordbreak-property.c: New file.
20326
20327         * lib/gen-uni-tables.c (WBP_*): New enum items.
20328         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
20329         (unicode_org_wbp): New variable.
20330         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
20331         New functions.
20332         (wbp_table): New structure.
20333         (output_wbp, output_wbrk_tables): New functions.
20334         (main): Accept additional argument. Invoke fill_org_wbp,
20335         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
20336         output_wbrk_tables.
20337         * modules/gen-uni-tables (Description): Update.
20338         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
20339         gen-uni-tables.
20340
20341         New module 'uniwbrk/base'.
20342         * modules/uniwbrk/base: New file.
20343         * lib/uniwbrk.h: New file.
20344
20345 2009-02-08  Bruno Haible  <bruno@clisp.org>
20346
20347         Update to Unicode 5.1.0.
20348         * lib/gen-uni-tables.c (is_property_alphabetic): Include
20349         U+2185..U+2188.
20350         (is_property_default_ignorable_code_point): Don't include characters
20351         of category Cc or Cs and not-a-characters.
20352         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
20353         U+0D79, U+109E, U+109F, U+A60C.
20354         * lib/unictype/bidi_of.h: Regenerated.
20355         * lib/unictype/blocks.h: Regenerated.
20356         * lib/unictype/categ_C.h: Regenerated.
20357         * lib/unictype/categ_Cf.h: Regenerated.
20358         * lib/unictype/categ_Cn.h: Regenerated.
20359         * lib/unictype/categ_L.h: Regenerated.
20360         * lib/unictype/categ_Ll.h: Regenerated.
20361         * lib/unictype/categ_Lm.h: Regenerated.
20362         * lib/unictype/categ_Lo.h: Regenerated.
20363         * lib/unictype/categ_Lu.h: Regenerated.
20364         * lib/unictype/categ_M.h: Regenerated.
20365         * lib/unictype/categ_Mc.h: Regenerated.
20366         * lib/unictype/categ_Me.h: Regenerated.
20367         * lib/unictype/categ_Mn.h: Regenerated.
20368         * lib/unictype/categ_N.h: Regenerated.
20369         * lib/unictype/categ_Nd.h: Regenerated.
20370         * lib/unictype/categ_Nl.h: Regenerated.
20371         * lib/unictype/categ_No.h: Regenerated.
20372         * lib/unictype/categ_P.h: Regenerated.
20373         * lib/unictype/categ_Pd.h: Regenerated.
20374         * lib/unictype/categ_Pe.h: Regenerated.
20375         * lib/unictype/categ_Pf.h: Regenerated.
20376         * lib/unictype/categ_Pi.h: Regenerated.
20377         * lib/unictype/categ_Po.h: Regenerated.
20378         * lib/unictype/categ_Ps.h: Regenerated.
20379         * lib/unictype/categ_S.h: Regenerated.
20380         * lib/unictype/categ_Sk.h: Regenerated.
20381         * lib/unictype/categ_Sm.h: Regenerated.
20382         * lib/unictype/categ_So.h: Regenerated.
20383         * lib/unictype/categ_of.h: Regenerated.
20384         * lib/unictype/combining.h: Regenerated.
20385         * lib/unictype/ctype_alnum.h: Regenerated.
20386         * lib/unictype/ctype_alpha.h: Regenerated.
20387         * lib/unictype/ctype_graph.h: Regenerated.
20388         * lib/unictype/ctype_lower.h: Regenerated.
20389         * lib/unictype/ctype_print.h: Regenerated.
20390         * lib/unictype/ctype_punct.h: Regenerated.
20391         * lib/unictype/ctype_upper.h: Regenerated.
20392         * lib/unictype/decdigit.h: Regenerated.
20393         * lib/unictype/digit.h: Regenerated.
20394         * lib/unictype/mirror.h: Regenerated.
20395         * lib/unictype/numeric.h: Regenerated.
20396         * lib/unictype/pr_alphabetic.h: Regenerated.
20397         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
20398         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
20399         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
20400         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
20401         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
20402         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
20403         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
20404         * lib/unictype/pr_combining.h: Regenerated.
20405         * lib/unictype/pr_dash.h: Regenerated.
20406         * lib/unictype/pr_decimal_digit.h: Regenerated.
20407         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
20408         * lib/unictype/pr_deprecated.h: Regenerated.
20409         * lib/unictype/pr_diacritic.h: Regenerated.
20410         * lib/unictype/pr_extender.h: Regenerated.
20411         * lib/unictype/pr_format_control.h: Regenerated.
20412         * lib/unictype/pr_grapheme_base.h: Regenerated.
20413         * lib/unictype/pr_grapheme_extend.h: Regenerated.
20414         * lib/unictype/pr_grapheme_link.h: Regenerated.
20415         * lib/unictype/pr_id_continue.h: Regenerated.
20416         * lib/unictype/pr_id_start.h: Regenerated.
20417         * lib/unictype/pr_ideographic.h: Regenerated.
20418         * lib/unictype/pr_ignorable_control.h: Regenerated.
20419         * lib/unictype/pr_lowercase.h: Regenerated.
20420         * lib/unictype/pr_math.h: Regenerated.
20421         * lib/unictype/pr_numeric.h: Regenerated.
20422         * lib/unictype/pr_other_alphabetic.h: Regenerated.
20423         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
20424         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
20425         * lib/unictype/pr_other_id_continue.h: Regenerated.
20426         * lib/unictype/pr_other_lowercase.h: Regenerated.
20427         * lib/unictype/pr_other_math.h: Regenerated.
20428         * lib/unictype/pr_punctuation.h: Regenerated.
20429         * lib/unictype/pr_sentence_terminal.h: Regenerated.
20430         * lib/unictype/pr_soft_dotted.h: Regenerated.
20431         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
20432         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
20433         * lib/unictype/pr_unified_ideograph.h: Regenerated.
20434         * lib/unictype/pr_uppercase.h: Regenerated.
20435         * lib/unictype/pr_xid_continue.h: Regenerated.
20436         * lib/unictype/pr_xid_start.h: Regenerated.
20437         * lib/unictype/pr_zero_width.h: Regenerated.
20438         * lib/unictype/scripts.h: Regenerated.
20439         * lib/unictype/scripts_byname.gperf: Regenerated.
20440         * lib/unictype/sy_java_ident.h: Regenerated.
20441         * lib/unilbrk/lbrkprop1.h: Regenerated.
20442         * lib/unilbrk/lbrkprop2.h: Regenerated.
20443         * tests/unictype/test-categ_C.c: Regenerated.
20444         * tests/unictype/test-categ_Cf.c: Regenerated.
20445         * tests/unictype/test-categ_Cn.c: Regenerated.
20446         * tests/unictype/test-categ_L.c: Regenerated.
20447         * tests/unictype/test-categ_Ll.c: Regenerated.
20448         * tests/unictype/test-categ_Lm.c: Regenerated.
20449         * tests/unictype/test-categ_Lo.c: Regenerated.
20450         * tests/unictype/test-categ_Lu.c: Regenerated.
20451         * tests/unictype/test-categ_M.c: Regenerated.
20452         * tests/unictype/test-categ_Mc.c: Regenerated.
20453         * tests/unictype/test-categ_Me.c: Regenerated.
20454         * tests/unictype/test-categ_Mn.c: Regenerated.
20455         * tests/unictype/test-categ_N.c: Regenerated.
20456         * tests/unictype/test-categ_Nd.c: Regenerated.
20457         * tests/unictype/test-categ_Nl.c: Regenerated.
20458         * tests/unictype/test-categ_No.c: Regenerated.
20459         * tests/unictype/test-categ_P.c: Regenerated.
20460         * tests/unictype/test-categ_Pd.c: Regenerated.
20461         * tests/unictype/test-categ_Pe.c: Regenerated.
20462         * tests/unictype/test-categ_Pf.c: Regenerated.
20463         * tests/unictype/test-categ_Pi.c: Regenerated.
20464         * tests/unictype/test-categ_Po.c: Regenerated.
20465         * tests/unictype/test-categ_Ps.c: Regenerated.
20466         * tests/unictype/test-categ_S.c: Regenerated.
20467         * tests/unictype/test-categ_Sk.c: Regenerated.
20468         * tests/unictype/test-categ_Sm.c: Regenerated.
20469         * tests/unictype/test-categ_So.c: Regenerated.
20470         * tests/unictype/test-ctype_alnum.c: Regenerated.
20471         * tests/unictype/test-ctype_alpha.c: Regenerated.
20472         * tests/unictype/test-ctype_graph.c: Regenerated.
20473         * tests/unictype/test-ctype_lower.c: Regenerated.
20474         * tests/unictype/test-ctype_print.c: Regenerated.
20475         * tests/unictype/test-ctype_punct.c: Regenerated.
20476         * tests/unictype/test-ctype_upper.c: Regenerated.
20477         * tests/unictype/test-decdigit.h: Regenerated.
20478         * tests/unictype/test-digit.h: Regenerated.
20479         * tests/unictype/test-numeric.h: Regenerated.
20480         * tests/unictype/test-pr_alphabetic.c: Regenerated.
20481         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
20482         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
20483         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
20484         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
20485         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
20486         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
20487         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
20488         * tests/unictype/test-pr_combining.c: Regenerated.
20489         * tests/unictype/test-pr_dash.c: Regenerated.
20490         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
20491         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
20492         * tests/unictype/test-pr_deprecated.c: Regenerated.
20493         * tests/unictype/test-pr_diacritic.c: Regenerated.
20494         * tests/unictype/test-pr_extender.c: Regenerated.
20495         * tests/unictype/test-pr_format_control.c: Regenerated.
20496         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
20497         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
20498         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
20499         * tests/unictype/test-pr_id_continue.c: Regenerated.
20500         * tests/unictype/test-pr_id_start.c: Regenerated.
20501         * tests/unictype/test-pr_ideographic.c: Regenerated.
20502         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
20503         * tests/unictype/test-pr_lowercase.c: Regenerated.
20504         * tests/unictype/test-pr_math.c: Regenerated.
20505         * tests/unictype/test-pr_numeric.c: Regenerated.
20506         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
20507         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
20508         Regenerated.
20509         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
20510         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
20511         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
20512         * tests/unictype/test-pr_other_math.c: Regenerated.
20513         * tests/unictype/test-pr_punctuation.c: Regenerated.
20514         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
20515         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
20516         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
20517         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
20518         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
20519         * tests/unictype/test-pr_uppercase.c: Regenerated.
20520         * tests/unictype/test-pr_xid_continue.c: Regenerated.
20521         * tests/unictype/test-pr_xid_start.c: Regenerated.
20522         * tests/unictype/test-pr_zero_width.c: Regenerated.
20523
20524         Update to Unicode 5.1.0.
20525         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
20526         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
20527         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
20528         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
20529         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
20530         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
20531         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
20532         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
20533         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
20534         (nonspacing_table_ind): Update.
20535         * tests/uniwidth/test-uc_width2.sh: Update expected result.
20536
20537         Update to Unicode 5.1.0.
20538         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
20539         code transform.
20540         * lib/uniname/uniname.c (unicode_character_name,
20541         unicode_name_character): Add the range 0x1Fxxx to the code transform.
20542         * lib/uniname/uninames.h: Regenerated.
20543         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
20544
20545 2009-02-07  Bruno Haible  <bruno@clisp.org>
20546
20547         Merge gen-ctype and gen-lbrk into a single program.
20548         * lib/gen-uni-tables.c: New file, incorporating
20549         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
20550         Add directory prefixes to the names of the generated files.
20551         * lib/unictype/gen-ctype.c: Remove file.
20552         * lib/unilbrk/gen-lbrk.c: Remove file.
20553         * modules/gen-uni-tables: New file.
20554         * modules/unictype/gen-ctype: Remove file.
20555         * modules/unilbrk/gen-lbrk: Remove file.
20556
20557 2009-02-07  Bruno Haible  <bruno@clisp.org>
20558
20559         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
20560
20561         New module 'unistr/u32-strcoll'.
20562         * modules/unistr/u32-strcoll: New file.
20563         * lib/unistr/u32-strcoll.c: New file.
20564
20565         New module 'unistr/u16-strcoll'.
20566         * modules/unistr/u16-strcoll: New file.
20567         * lib/unistr/u16-strcoll.c: New file.
20568
20569         New module 'unistr/u8-strcoll'.
20570         * modules/unistr/u8-strcoll: New file.
20571         * lib/unistr/u8-strcoll.c: New file.
20572         * lib/unistr/u-strcoll.h: New file.
20573
20574 2009-02-07  Bruno Haible  <bruno@clisp.org>
20575
20576         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
20577         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20578         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20579         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
20580         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
20581         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
20582
20583 2009-02-07  Bruno Haible  <bruno@clisp.org>
20584
20585         Make 64-bit clean.
20586         * lib/unictype/gen-ctype.c (output_predicate, output_category,
20587         output_combclass, output_bidi_category, output_decimal_digit,
20588         output_digit, output_numeric, output_mirror, output_scripts,
20589         output_ident_category): Use proper width specifier in format strings.
20590
20591 2009-02-07  Bruno Haible  <bruno@clisp.org>
20592
20593         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
20594         failure behaviour.
20595
20596 2009-02-07  Jim Meyering  <meyering@redhat.com>
20597
20598         regex: avoid compilation failure with upcoming gcc-4.4
20599         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
20600         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
20601         "... error: integer overflow in preprocessor expression".
20602
20603 2009-02-05  Ben Pfaff  <blp@gnu.org>
20604
20605         Fix link errors on Windows when close module is used.
20606         * modules/close: Add $(LIB_CLOSE) to Link section.
20607         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
20608         $(LIB_CLOSE) on Windows.
20609
20610 2009-02-05  Jim Meyering  <meyering@redhat.com>
20611
20612         still avoid unused-parameter warnings, but do it cleanly
20613         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
20614         (get_fs_usage): Cast to void instead.
20615         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
20616         (dev_from_mount_options, read_file_system_list): Cast to void.
20617         Prompted by Bruno Haible.
20618
20619 2009-02-04  Jim Meyering  <meyering@redhat.com>
20620
20621         fsusage.c: correct copyright year
20622         * lib/fsusage.c: Reflect year in which the change is pushed into
20623
20624         avoid misc. warnings
20625         * lib/fsusage.c (UNUSED_PARAM): Define.
20626         (get_fs_usage): Mark parameter "disk" as unused.
20627         * lib/getugroups.c (getgrent): Use "void" in prototype.
20628         * lib/mountlist.c: Mark unused parameters.
20629         (read_file_system_list): Declare a local with "const".
20630         * lib/nanosleep.c (getnow): Declare static.
20631         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
20632
20633         dirfd: set errno upon failure
20634         * lib/dirfd.c: Include <errno.h>.
20635         Set errno to ENOTSUP when returning -1.
20636         * modules/dirfd (Depends-on): Add errno.
20637         Suggested by John Kodis <kodis@comcast.net>.
20638
20639 2009-02-01  Bruno Haible  <bruno@clisp.org>
20640
20641         Don't assume sizeof (long) >= sizeof (void *).
20642         * lib/memcmp.c: Include stdint.h.
20643         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
20644         srcp2 to 'const byte *'.
20645         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
20646         types to uintptr_t.
20647         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
20648         * modules/memcmp (Depends-on): Add stdint.
20649         Reported by Ozkan Sezer <sezeroz@gmail.com>.
20650
20651 2009-01-30  Eric Blake  <ebb9@byu.net>
20652
20653         fix more require-before-expand issues
20654         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
20655         expand, AC_PROG_AWK.
20656         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
20657
20658 2009-01-28  Eric Blake  <ebb9@byu.net>
20659
20660         version-etc: use consistent URL formatting
20661         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
20662         Improve formatting.  Use fputs for string without %.
20663
20664 2009-01-28  Jim Meyering  <meyering@redhat.com>
20665
20666         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
20667         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
20668         "underquoted definition of NAME" from autoconf-2.59.
20669
20670 2009-01-28  Bruno Haible  <bruno@clisp.org>
20671
20672         * doc/gnulib.texi: Add "Obsolete modules" to index.
20673
20674 2009-01-28  Jim Meyering  <meyering@redhat.com>
20675
20676         useless-if-before-free: recognize more variants
20677         * build-aux/useless-if-before-free: Also recognize e.g.,
20678         if (NULL != p) free (p);
20679
20680 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
20681
20682         test-getaddrinfo: skip (don't fail) this test when there's no network
20683         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
20684         on the presumption that it means you lack network access.
20685
20686 2009-01-26  Jim Meyering  <meyering@redhat.com>
20687
20688         fflush: avoid warnings on modern systems
20689         * lib/fflush.c (rpl_fflush): Move declarations of locals,
20690         pos and result, into scopes where they're used.
20691
20692 2009-01-26  Eric Blake  <ebb9@byu.net>
20693
20694         Silence warning reintroduced by recent extensions patch.
20695         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
20696         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
20697         autoconf.
20698
20699         Backport improved autoconf semantics of AC_DEFUN_ONCE.
20700         * m4/00gnulib.m4: New file.
20701         * gnulib-tool (func_get_filelist): Always use it.
20702         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
20703         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
20704
20705 2009-01-25  Bruno Haible  <bruno@clisp.org>
20706
20707         Make test-quotearg work on MacOS X and AIX.
20708         * tests/test-quotearg.sh: New file.
20709         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
20710         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
20711         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
20712         include <libintl.h>.
20713         (fake_locale): Remove variable.
20714         (gettext, dgettext, dcgettext): Remove functions.
20715         (main): Instead of setting a fake locale, set a real locale. Call
20716         textdomain and bindtextdomain.
20717         * modules/quotearg-tests (Files): Add the new files.
20718         (Depends-on): Add gettext, setenv, unsetenv.
20719         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
20720         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
20721         Augment TESTS_ENVIRONMENT.
20722
20723 2009-01-25  Bruno Haible  <bruno@clisp.org>
20724
20725         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
20726         fr_FR.ISO8859-1 locale on MacOS X.
20727         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
20728         ja_JP.eucJP locale on MacOS X.
20729         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
20730         zh_CN.GB18030 locale on MacOS X.
20731
20732 2009-01-25  Bruno Haible  <bruno@clisp.org>
20733
20734         Avoid link errors on MacOS X 10.3.
20735         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
20736         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
20737
20738 2009-01-25  Bruno Haible  <bruno@clisp.org>
20739
20740         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20741         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
20742         * modules/pipe (Files): Remove m4/posix_spawn.m4.
20743         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20744         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
20745         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20746         posix_spawnattr_init, posix_spawnattr_setsigmask,
20747         posix_spawnattr_setflags, posix_spawnattr_destroy.
20748
20749         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20750         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
20751         * modules/execute (Files): Remove m4/posix_spawn.m4.
20752         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20753         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20754         posix_spawnattr_init, posix_spawnattr_setsigmask,
20755         posix_spawnattr_setflags, posix_spawnattr_destroy.
20756
20757 2009-01-25  Bruno Haible  <bruno@clisp.org>
20758
20759         * lib/glthread/threadlib.c: Include <stdlib.h>.
20760
20761 2009-01-25  Bruno Haible  <bruno@clisp.org>
20762
20763         * lib/glthread/threadlib.c (dummy): New declaration.
20764
20765 2009-01-25  Bruno Haible  <bruno@clisp.org>
20766
20767         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
20768         multibyte characters also for the GB18030 encoding. Don't crash when
20769         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
20770
20771 2009-01-25  Bruno Haible  <bruno@clisp.org>
20772
20773         Avoid redefining 'struct random_data' on OSF/1 5.1.
20774         * lib/stdlib.in.h: Include <random.h> if it exists.
20775         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
20776         HAVE_RANDOM_H. Include <random.h> when testing whether
20777         'struct random_data' exists.
20778         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
20779
20780 2009-01-25  Bruno Haible  <bruno@clisp.org>
20781
20782         Don't install charset.alias on MacOS X >= 10.3.
20783         * lib/localcharset.c (DARWIN7): New macro.
20784         (get_charset_aliases): Hardcode the result for Darwin7.
20785         * modules/localcharset (install-exec-local): Don't install
20786         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
20787
20788 2009-01-25  Bruno Haible  <bruno@clisp.org>
20789
20790         Don't install charset.alias on mingw and Cygwin.
20791         * modules/localcharset (install-exec-local): Don't install
20792         charset.alias on mingw and Cygwin, if the file does not yet exist.
20793         The result for these platforms is hardcoded in localcharset.c.
20794
20795 2009-01-25  Bruno Haible  <bruno@clisp.org>
20796
20797         Make it possible again to use AC_GNU_SOURCE together with gnulib.
20798         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
20799         before requiring AC_USE_SYSTEM_EXTENSIONS.
20800
20801 2009-01-25  Jim Meyering  <meyering@redhat.com>
20802
20803         c-strtod: avoid warnings
20804         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
20805         "assignment discards qualifiers from pointer target type" warnings.
20806
20807 2009-01-24  Bruno Haible  <bruno@clisp.org>
20808
20809         Add support for non-UTF-8 locales on MacOS X.
20810         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
20811         canonical encodings. For Darwin 7 and newer, don't map traditional
20812         encodings to UTF-8.
20813         Reported by Vincent Lefevre <vincent@vinc17.org>
20814         at <http://savannah.gnu.org/bugs/?25235>.
20815
20816 2009-01-24  Bruno Haible  <bruno@clisp.org>
20817
20818         * doc/gnulib.texi (Obsolete modules): New section.
20819         Reported by Mike Frysinger <vapier@gentoo.org>.
20820
20821 2009-01-24  Bruno Haible  <bruno@clisp.org>
20822
20823         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
20824         (%.dvi): New rule.
20825
20826 2009-01-24  Bruno Haible  <bruno@clisp.org>
20827
20828         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
20829         Reported by Eric Blake.
20830
20831 2009-01-24  Bruno Haible  <bruno@clisp.org>
20832
20833         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
20834         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
20835         Reported by Gary V. Vaughan <gary@gnu.org>.
20836
20837 2009-01-24  Bruno Haible  <bruno@clisp.org>
20838
20839         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
20840
20841 2009-01-23  Bruno Haible  <bruno@clisp.org>
20842
20843         Make c-strtod, c-strtold usable in libraries.
20844         * lib/c-strtod.c: Include string.h instead of xalloc.h.
20845         (C_STRTOD): Call strdup instead of xstrdup.
20846         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
20847         * modules/c-strtold (Depends-on): Likewise.
20848         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
20849         * NEWS: Mention the change.
20850         Reported by Michael Gold <mgold@ncf.ca>.
20851
20852 2009-01-23  Jim Meyering  <meyering@redhat.com>
20853
20854         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
20855         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
20856         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
20857
20858 2009-01-23  Simon Josefsson  <simon@josefsson.org>
20859
20860         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
20861         GNU CoreUtils.
20862         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
20863         * modules/version-etc (Description): Update.
20864
20865 2009-01-22  Bruno Haible  <bruno@clisp.org>
20866
20867         Cache the C locale object.
20868         * lib/c-strtod.c (c_locale_cache): New variable.
20869         (c_locale): New function.
20870         (C_STRTOD): Use it, and don't call freelocale.
20871         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
20872         Suggested by Paolo Bonzini.
20873
20874 2009-01-21  Bruno Haible  <bruno@clisp.org>
20875
20876         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
20877         conditions other than overflow.
20878
20879 2009-01-21  Bruno Haible  <bruno@clisp.org>
20880
20881         * lib/c-strtod.c: Include errno.h.
20882         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
20883         value from STRTOD_L and STRTOD.
20884
20885 2009-01-21  Bruno Haible  <bruno@clisp.org>
20886         and Jim Meyering  <meyering@redhat.com>
20887
20888         nanosleep: skip configure test (fail it) for apple universal builds
20889         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
20890         universal builds, assume that nanosleep does not work.
20891         * modules/nanosleep (Depends-on): Add multiarch.
20892
20893         mktime: skip configure test (fail it) for apple universal builds
20894         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
20895         universal builds, assume that mktime does not work.
20896         * modules/mktime (Depends-on): Add multiarch.
20897
20898 2009-01-21  Eric Blake  <ebb9@byu.net>
20899
20900         multiarch: avoid expand-before-require warning
20901         * modules/multiarch (configure.ac): Require, rather than expand,
20902         gl_MULTIARCH.
20903         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
20904         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
20905         enforce that all clients require it.  Partial reversion of
20906         2008-12-29 patch.
20907
20908         error: avoid expand-before-require warning
20909         * modules/errno (configure.ac): Require, rather than expand,
20910         gl_HEADER_ERRNO_H.
20911         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
20912         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
20913         enforce that all clients require it.
20914
20915         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
20916         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
20917         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
20918         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
20919
20920 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
20921
20922         Revert:
20923         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20924
20925         regex: do not depend on obsolete modules.
20926         * modules/regex: Remove memcmp and memmove.
20927
20928 2009-01-20  Bruno Haible  <bruno@clisp.org>
20929
20930         Make the 'link' module link on Windows NT 4.
20931         * lib/link.c (_WIN32_WINNT): Don't define.
20932         (CreateHardLinkFuncType): New type.
20933         (CreateHardLinkFunc, initialized): New variables.
20934         (initialize): New function.
20935         (link): Invoke CreateHardLink indirectly through the function pointer.
20936
20937 2009-01-20  Bruno Haible  <bruno@clisp.org>
20938
20939         Fix compilation failure on mingw.
20940         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
20941
20942 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
20943
20944         * doc/c-strtod.texi: Mention a couple of restrictions.
20945
20946 2009-01-20  Jim Meyering  <meyering@redhat.com>
20947
20948         gettimeofday: move more declarations out of functions
20949         * lib/gettimeofday.c: Move extern declarations of tzset and
20950         gmtime out of containing functions.  Prompted by Bruno Haible.
20951
20952 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20953
20954         regex: do not depend on obsolete modules.
20955         * modules/regex: Remove memcmp and memmove.
20956
20957 2009-01-19  Bruno Haible  <bruno@clisp.org>
20958
20959         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20960         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
20961         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20962         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
20963         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
20964
20965 2009-01-19  Bruno Haible  <bruno@clisp.org>
20966
20967         * tests/test-link.c: Include <errno.h>.
20968         (main): Exit with code 77 when a hard link cannot be created due to
20969         the file system.
20970         * tests/test-link.sh: Skip test when a hard link cannot be created due
20971         to the file system.
20972         Suggested by Eric Blake.
20973
20974 2009-01-19  Martin Lambers  <marlam@marlam.de>
20975
20976         * modules/link-tests: New file.
20977         * tests/test-link.sh: New file.
20978         * tests/test-link.c: New file.
20979
20980 2009-01-19  Eric Blake  <ebb9@byu.net>
20981
20982         doc: mention another function added in cygwin 1.7.0
20983         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
20984         Another new function in cygwin 1.7.
20985
20986 2009-01-19  Bruno Haible  <bruno@clisp.org>
20987
20988         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20989         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
20990         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
20991         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20992         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20993         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20994         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20995         * m4/md4.m4 (gl_MD4): Likewise.
20996         * m4/md5.m4 (gl_MD5): Likewise.
20997         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
20998         * m4/sha1.m4 (gl_SHA1): Likewise.
20999         * m4/sha256.m4 (gl_SHA256): Likewise.
21000         * m4/sha512.m4 (gl_SHA512): Likewise.
21001
21002 2009-01-19  Bruno Haible  <bruno@clisp.org>
21003
21004         * modules/uniname/uniname-tests (Depends-on): Add progname.
21005         * tests/uniname/test-uninames.c: Include progname.h.
21006         (main): Call set_program_name.
21007
21008         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
21009         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
21010         (main): Call set_program_name.
21011
21012         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
21013         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
21014         (main): Call set_program_name.
21015
21016         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
21017         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
21018         (main): Call set_program_name.
21019
21020         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
21021         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
21022         (main): Call set_program_name.
21023
21024         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
21025         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
21026         (main): Call set_program_name.
21027
21028         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
21029         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
21030         (main): Call set_program_name.
21031
21032         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
21033         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
21034         (main): Call set_program_name.
21035
21036         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
21037         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
21038         (main): Call set_program_name.
21039
21040 2009-01-19  Eric Blake  <ebb9@byu.net>
21041
21042         test-unistd: test previous patch
21043         * tests/test-unistd.c: Test *_FILENO macros.
21044
21045         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
21046         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21047         Guarantee a definition.
21048         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
21049         * modules/unistd-safer (Depends-on): Add dependency on unistd.
21050         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
21051         * lib/dup-safer.c (STDERR_FILENO): Likewise.
21052         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21053         Likewise.
21054         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
21055         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
21056         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21057         Likewise.
21058         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
21059         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
21060         (STDERR_FILENO): Likewise.
21061         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
21062         (STDERR_FILENO): Likewise.
21063         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
21064         (STDERR_FILENO): Likewise.
21065         Reported by Elbert Pol.
21066
21067 2009-01-19  Eric Blake  <ebb9@byu.net>
21068
21069         doc: mention more functions added in cygwin 1.7.0
21070         * doc/posix-functions/abort.texi (abort): Update wording related
21071         to cygwin.
21072         * doc/posix-functions/daylight.texi (daylight): Likewise.
21073         * doc/posix-functions/optarg.texi (optarg): Likewise.
21074         * doc/posix-functions/optarg.texi (opterr): Likewise.
21075         * doc/posix-functions/optarg.texi (optind): Likewise.
21076         * doc/posix-functions/optarg.texi (optopt): Likewise.
21077         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
21078         worked in 1.5.x, and was withdrawn in 1.7.
21079         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
21080         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
21081         cygwin versions.
21082         * doc/posix-functions/perror.texi (perror): Likewise.
21083         * doc/posix-functions/printf.texi (printf): Likewise.
21084         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
21085         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
21086         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
21087         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
21088         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21089         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
21090         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21091         Likewise.
21092         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21093         Likewise.
21094         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
21095         this function.
21096         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
21097         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
21098         Likewise.
21099         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
21100         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
21101         * doc/posix-functions/confstr.texi (confstr): Likewise.
21102         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
21103         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
21104         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
21105         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
21106         * doc/posix-functions/fputws.texi (fputws): Likewise.
21107         * doc/posix-functions/fwide.texi (fwide): Likewise.
21108         * doc/posix-functions/getwc.texi (getwc): Likewise.
21109         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
21110         * doc/posix-functions/putwc.texi (putwc): Likewise.
21111         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
21112         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
21113         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
21114         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
21115         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
21116         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
21117         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
21118         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
21119         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
21120         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
21121         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
21122
21123 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21124
21125         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
21126         * lib/ioctl.c: Include <sys/ioctl.h>.
21127
21128 2009-01-19  Simon Josefsson  <simon@josefsson.org>
21129
21130         * modules/getdate-tests (Depends-on): Add progname.
21131         * tests/test-getdate.c: Use progname module, to avoid link errors
21132         on non-glibc systems.
21133
21134 2009-01-18  Simon Josefsson  <simon@josefsson.org>
21135
21136         * modules/filenamecat-tests (Depends-on): Add progname.
21137         * modules/fstrcmp-tests (Depends-on): Likewise.
21138
21139         * tests/test-filenamecat.c: Use progname module, to avoid link
21140         errors on non-glibc systems.
21141         * tests/test-fstrcmp.c: Likewise.
21142
21143 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21144
21145         gettimeofday: avoid warning: nested extern declaration of 'localtime'
21146         * lib/gettimeofday.c: Move extern declaration out of function.
21147
21148 2009-01-18  Bruno Haible  <bruno@clisp.org>
21149
21150         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
21151         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
21152         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
21153
21154 2009-01-18  Bruno Haible  <bruno@clisp.org>
21155
21156         * lib/strftime.c (MEMPCPY): Remove unused macro.
21157         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
21158
21159 2009-01-18  Martin Lambers  <marlam@marlam.de>
21160
21161         New module 'link'.
21162         * lib/unistd.in.h (link): New declaration.
21163         * lib/link.c: New file.
21164         * m4/link.m4: New file.
21165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
21166         HAVE_LINK.
21167         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
21168         * modules/link: New file.
21169         * doc/posix-functions/link.texi: Mention the new module.
21170
21171 2009-01-18  Bruno Haible  <bruno@clisp.org>
21172
21173         * tests/test-avltree_list.c (main): Call set_program_name.
21174         * tests/test-avltree_oset.c (main): Likewise.
21175         * tests/test-obstack-printf.c: Include progname.h.
21176         (main): Call set_program_name.
21177         * tests/test-quotearg.c: Include progname.h.
21178         (main): Call set_program_name.
21179         * tests/test-xmemdup0.c: Include progname.h.
21180         (main): Call set_program_name.
21181
21182 2009-01-18  Bruno Haible  <bruno@clisp.org>
21183
21184         New module 'alphasort'.
21185         * lib/dirent.in.h (alphasort): New declaration.
21186         * lib/alphasort.c: New file, from glibc with modifications.
21187         * m4/alphasort.m4: New file.
21188         * modules/alphasort: New file.
21189         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
21190         HAVE_ALPHASORT.
21191         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
21192         HAVE_ALPHASORT.
21193         * doc/posix-functions/alphasort.texi: Mention the new module and the
21194         portability problems.
21195
21196 2009-01-18  Bruno Haible  <bruno@clisp.org>
21197
21198         New module 'scandir'.
21199         * lib/dirent.in.h (scandir): New declaration.
21200         * lib/scandir.c: New file, from glibc with modifications.
21201         * m4/scandir.m4: New file.
21202         * modules/scandir: New file.
21203         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
21204         HAVE_SCANDIR.
21205         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
21206         HAVE_SCANDIR.
21207         * doc/posix-functions/scandir.texi: Mention the new module and the
21208         portability problems.
21209
21210 2009-01-17  Bruno Haible  <bruno@clisp.org>
21211
21212         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
21213         Update documentation.
21214         (func_remove_suffix): Escape all dots in the suffix. Update
21215         documentation.
21216         (func_filter_filelist): Update documentation.
21217         Reported by Ralf Wildenhues.
21218
21219 2009-01-17  Bruno Haible  <bruno@clisp.org>
21220
21221         * modules/dprintf-posix-tests: New file.
21222         * tests/test-dprintf-posix.sh: New file.
21223         * tests/test-dprintf-posix.c: New file.
21224
21225         New modules 'dprintf', 'dprintf-posix'.
21226         * lib/stdio.in.h (dprintf): New declaration.
21227         * lib/dprintf.c: New file.
21228         * m4/dprintf.m4: New file.
21229         * m4/dprintf-posix.m4: New file.
21230         * modules/dprintf: New file.
21231         * modules/dprintf-posix: New file.
21232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
21233         HAVE_DPRINTF, REPLACE_DPRINTF.
21234         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
21235         HAVE_DPRINTF, REPLACE_DPRINTF.
21236         * doc/posix-functions/dprintf.texi: Mention the new modules.
21237
21238 2009-01-17  Bruno Haible  <bruno@clisp.org>
21239
21240         * modules/vdprintf-posix-tests: New file.
21241         * tests/test-vdprintf-posix.sh: New file.
21242         * tests/test-vdprintf-posix.c: New file.
21243
21244         New modules 'vdprintf', 'vdprintf-posix'.
21245         * lib/stdio.in.h (vdprintf): New declaration.
21246         * lib/vdprintf.c: New file.
21247         * m4/vdprintf.m4: New file.
21248         * m4/vdprintf-posix.m4: New file.
21249         * modules/vdprintf: New file.
21250         * modules/vdprintf-posix: New file.
21251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
21252         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21253         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
21254         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21255         * doc/posix-functions/vdprintf.texi: Mention the new modules.
21256
21257 2009-01-17  Bruno Haible  <bruno@clisp.org>
21258
21259         Fix replacement of fopen on mingw.
21260         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
21261         mingw.
21262
21263 2009-01-17  Bruno Haible  <bruno@clisp.org>
21264
21265         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
21266         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
21267
21268 2009-01-17  Bruno Haible  <bruno@clisp.org>
21269
21270         Avoid test-fflush2.sh failure on mingw.
21271         * tests/test-fflush2.c: Include binary-io.h.
21272         (main): Put standard input into binary mode.
21273         * modules/fflush-tests (Depends-on): Add binary-io.
21274
21275 2009-01-17  Bruno Haible  <bruno@clisp.org>
21276
21277         * lib/wchar.in.h: In another particular situation, include only the
21278         system's <wchar.h> file.
21279         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
21280         Reported by Albert Chin-A-Young <china@thewrittenword.com>
21281         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
21282
21283 2009-01-17  Bruno Haible  <bruno@clisp.org>
21284
21285         Support for stripping executables in --enable-relocatable.
21286         * build-aux/install-reloc: Expect one more argument, or an environment
21287         variable RELOC_STRIP_PROG. If set, strip the destination program and
21288         its wrapper.
21289         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
21290         RELOC_STRIP_PROG.
21291         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
21292         to set RELOCATABLE_STRIP.
21293         * NEWS: Mention the new Makefile requirement.
21294
21295 2009-01-17  Bruno Haible  <bruno@clisp.org>
21296
21297         * build-aux/install-reloc: Remove debugging information left over by
21298         C compiler on MacOS X.
21299
21300 2009-01-17  Bruno Haible  <bruno@clisp.org>
21301
21302         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
21303         * lib/progreloc.c (find_executable): Fix type of pointer passed to
21304         _NSGetExecutablePath.
21305
21306 2009-01-16  Jim Meyering  <meyering@redhat.com>
21307
21308         strerror: avoid warnings about discarding "const"
21309         * lib/strerror.c (rpl_strerror): Instead of returning a const
21310         string from each and every "case", use a variable, and add a single
21311         cast after the switch.
21312
21313 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
21314
21315         * lib/arpa_inet.in.h: Add extern "C" block for C++.
21316
21317 2009-01-16  Bruno Haible  <bruno@clisp.org>
21318
21319         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
21320         array initializer syntax that also works in C++ mode.
21321         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21322
21323 2009-01-16  Jim Meyering  <meyering@redhat.com>
21324
21325         poll: suppress a warning
21326         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
21327         to ignore "...unsigned expression < 0 is always false" warnings.
21328
21329 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
21330
21331         poll: remove declarations of unused variables
21332         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
21333         sockbuf and optlen.
21334
21335 2009-01-15  Bruno Haible  <bruno@clisp.org>
21336
21337         Make fflush-after-ungetc POSIX compliant on BSD systems.
21338         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
21339         (clear_ungetc_buffer): Implement also for other systems.
21340         (rpl_fflush): On glibc systems, invoke
21341         clear_ungetc_buffer_preserving_position. Otherwise, invoke
21342         clear_ungetc_buffer after fetching the stream's position, not before.
21343
21344 2009-01-15  Bruno Haible  <bruno@clisp.org>
21345
21346         Make fflush-after-ungetc POSIX compliant on glibc systems.
21347         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
21348         after ungetc.
21349         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
21350         (rpl_fflush): On glibc systems, simply call the system's fflush
21351         function after clearing the ungetc buffer.
21352         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
21353         Instead, lseek only to the end of file, then use the system's fseeko
21354         for the rest. On glibc systems, reset the EOF indicator bit.
21355
21356 2009-01-15  Jim Meyering  <meyering@redhat.com>
21357
21358         openmp.m4: revert quote-adding change, for portability to older autoconf
21359         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
21360         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
21361         Simon Josefsson noticed the problem when using autoconf-2.61.
21362
21363 2009-01-15  Bruno Haible  <bruno@clisp.org>
21364
21365         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
21366         * tests/test-fflush2.c (ASSERT): Always fail.
21367         (main): Add two tests for fflush() after ungetc(), taking into account
21368         the Austin Group's clarification.
21369         Suggested by Eric Blake.
21370
21371 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
21372
21373         mktime.m4: remove K&R-style function prototypes
21374         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
21375         for the Sun C++ compiler.
21376
21377 2009-01-14  Bruno Haible  <bruno@clisp.org>
21378
21379         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
21380         while including <wchar.h>.
21381         * lib/wchar.in.h: In two particular situations on HP-UX, include only
21382         the system's <wchar.h> file.
21383         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21384
21385 2009-01-14  Bruno Haible  <bruno@clisp.org>
21386
21387         * m4/csharp.m4: Don't mention gettext on the serial number line.
21388         * m4/csharpexec.m4: Likewise.
21389         * m4/eaccess.m4: Likewise.
21390         * m4/javaexec.m4: Likewise.
21391         * m4/sig_atomic_t.m4: Likewise.
21392         * m4/tmpdir.m4: Likewise.
21393         * m4/intldir.m4: Bump gettext version.
21394         * m4/lib-ld.m4: Likewise.
21395
21396 2009-01-14  Bruno Haible  <bruno@clisp.org>
21397
21398         * lib/progname.c (set_program_name): Add more comments.
21399         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
21400
21401 2009-01-14  Simon Josefsson  <simon@josefsson.org>
21402
21403         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
21404         were sys/stat.h does not define it.
21405
21406 2009-01-14  Jim Meyering  <meyering@redhat.com>
21407
21408         many *.m4 files: improve m4 quoting
21409         99% of this change was performed by running the following commands:
21410         git ls-files | grep '\.m4$' | xargs perl -pi \
21411           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
21412           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21413           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21414           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
21415         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
21416         The remainder were to add Copyright dates, increment serial numbers,
21417         undo some changes in comments, exclude m4/intl.m4, and add quotes
21418         around the "1" in ",1" where the unusual spacing prohibited the
21419         above regexps from doing the job.  For more details, see
21420         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
21421         * m4/acl.m4: Modified.
21422         * m4/afs.m4: Likewise.
21423         * m4/alloca.m4: Likewise.
21424         * m4/argp.m4: Likewise.
21425         * m4/argz.m4: Likewise.
21426         * m4/atexit.m4: Likewise.
21427         * m4/bison-i18n.m4: Likewise.
21428         * m4/bison.m4: Likewise.
21429         * m4/byteswap.m4: Likewise.
21430         * m4/c-stack.m4: Likewise.
21431         * m4/c-strtod.m4: Likewise.
21432         * m4/calloc.m4: Likewise.
21433         * m4/canonicalize-lgpl.m4: Likewise.
21434         * m4/chown.m4: Likewise.
21435         * m4/clock_time.m4: Likewise.
21436         * m4/codeset.m4: Likewise.
21437         * m4/copy-file.m4: Likewise.
21438         * m4/csharp.m4: Likewise.
21439         * m4/csharpcomp.m4: Likewise.
21440         * m4/csharpexec.m4: Likewise.
21441         * m4/d-ino.m4: Likewise.
21442         * m4/d-type.m4: Likewise.
21443         * m4/dirfd.m4: Likewise.
21444         * m4/double-slash-root.m4: Likewise.
21445         * m4/eaccess.m4: Likewise.
21446         * m4/eealloc.m4: Likewise.
21447         * m4/environ.m4: Likewise.
21448         * m4/errno_h.m4: Likewise.
21449         * m4/euidaccess.m4: Likewise.
21450         * m4/execute.m4: Likewise.
21451         * m4/fatal-signal.m4: Likewise.
21452         * m4/fchdir.m4: Likewise.
21453         * m4/fcntl_h.m4: Likewise.
21454         * m4/fileblocks.m4: Likewise.
21455         * m4/filenamecat.m4: Likewise.
21456         * m4/findprog.m4: Likewise.
21457         * m4/flexmember.m4: Likewise.
21458         * m4/fnmatch.m4: Likewise.
21459         * m4/fopen.m4: Likewise.
21460         * m4/fpending.m4: Likewise.
21461         * m4/fprintf-posix.m4: Likewise.
21462         * m4/free.m4: Likewise.
21463         * m4/frexp.m4: Likewise.
21464         * m4/frexpl.m4: Likewise.
21465         * m4/fsusage.m4: Likewise.
21466         * m4/ftruncate.m4: Likewise.
21467         * m4/gc-camellia.m4: Likewise.
21468         * m4/gc-random.m4: Likewise.
21469         * m4/gc.m4: Likewise.
21470         * m4/getaddrinfo.m4: Likewise.
21471         * m4/getcwd-abort-bug.m4: Likewise.
21472         * m4/getcwd-path-max.m4: Likewise.
21473         * m4/getdate.m4: Likewise.
21474         * m4/getdomainname.m4: Likewise.
21475         * m4/getgroups.m4: Likewise.
21476         * m4/gethostname.m4: Likewise.
21477         * m4/gethrxtime.m4: Likewise.
21478         * m4/getline.m4: Likewise.
21479         * m4/getloadavg.m4: Likewise.
21480         * m4/getndelim2.m4: Likewise.
21481         * m4/getpass.m4: Likewise.
21482         * m4/gettext.m4: Likewise.
21483         * m4/gettime.m4: Likewise.
21484         * m4/gettimeofday.m4: Likewise.
21485         * m4/gnulib-common.m4: Likewise.
21486         * m4/group-member.m4: Likewise.
21487         * m4/host-os.m4: Likewise.
21488         * m4/iconv.m4: Likewise.
21489         * m4/iconv_open.m4: Likewise.
21490         * m4/inet_ntop.m4: Likewise.
21491         * m4/inet_pton.m4: Likewise.
21492         * m4/inline.m4: Likewise.
21493         * m4/intldir.m4: Likewise.
21494         * m4/intlmacosx.m4: Likewise.
21495         * m4/intmax.m4: Likewise.
21496         * m4/intmax_t.m4: Likewise.
21497         * m4/inttypes.m4: Likewise.
21498         * m4/inttypes_h.m4: Likewise.
21499         * m4/inttypes-pri.m4: Likewise.
21500         * m4/isapipe.m4: Likewise.
21501         * m4/isnand.m4: Likewise.
21502         * m4/isnanf.m4: Likewise.
21503         * m4/isnanl.m4: Likewise.
21504         * m4/javacomp.m4: Likewise.
21505         * m4/javaexec.m4: Likewise.
21506         * m4/jm-winsz1.m4: Likewise.
21507         * m4/jm-winsz2.m4: Likewise.
21508         * m4/lchown.m4: Likewise.
21509         * m4/lcmessage.m4: Likewise.
21510         * m4/ldexpl.m4: Likewise.
21511         * m4/lib-ld.m4: Likewise.
21512         * m4/lib-link.m4: Likewise.
21513         * m4/libsigsegv.m4: Likewise.
21514         * m4/link-follow.m4: Likewise.
21515         * m4/localcharset.m4: Likewise.
21516         * m4/locale-fr.m4: Likewise.
21517         * m4/locale-ja.m4: Likewise.
21518         * m4/locale-tr.m4: Likewise.
21519         * m4/locale-zh.m4: Likewise.
21520         * m4/lock.m4: Likewise.
21521         * m4/longlong.m4: Likewise.
21522         * m4/ls-mntd-fs.m4: Likewise.
21523         * m4/lstat.m4: Likewise.
21524         * m4/malloc.m4: Likewise.
21525         * m4/mathl.m4: Likewise.
21526         * m4/mbrtowc.m4: Likewise.
21527         * m4/mbstate_t.m4: Likewise.
21528         * m4/mbswidth.m4: Likewise.
21529         * m4/memchr.m4: Likewise.
21530         * m4/memcmp.m4: Likewise.
21531         * m4/memcpy.m4: Likewise.
21532         * m4/memmem.m4: Likewise.
21533         * m4/memmove.m4: Likewise.
21534         * m4/mempcpy.m4: Likewise.
21535         * m4/memrchr.m4: Likewise.
21536         * m4/memset.m4: Likewise.
21537         * m4/minmax.m4: Likewise.
21538         * m4/mkdir-slash.m4: Likewise.
21539         * m4/mkdtemp.m4: Likewise.
21540         * m4/mktime.m4: Likewise.
21541         * m4/mmap-anon.m4: Likewise.
21542         * m4/mountlist.m4: Likewise.
21543         * m4/nanosleep.m4: Likewise.
21544         * m4/nls.m4: Likewise.
21545         * m4/nocrash.m4: Likewise.
21546         * m4/open.m4: Likewise.
21547         * m4/openat.m4: Likewise.
21548         * m4/openmp.m4: Likewise.
21549         * m4/pathmax.m4: Likewise.
21550         * m4/perl.m4: Likewise.
21551         * m4/physmem.m4: Likewise.
21552         * m4/pipe.m4: Likewise.
21553         * m4/po.m4: Likewise.
21554         * m4/poll.m4: Likewise.
21555         * m4/posixtm.m4: Likewise.
21556         * m4/posixver.m4: Likewise.
21557         * m4/printf-frexp.m4: Likewise.
21558         * m4/printf-frexpl.m4: Likewise.
21559         * m4/printf-posix.m4: Likewise.
21560         * m4/printf-posix-rpl.m4: Likewise.
21561         * m4/printf.m4: Likewise.
21562         * m4/progtest.m4: Likewise.
21563         * m4/putenv.m4: Likewise.
21564         * m4/readline.m4: Likewise.
21565         * m4/readlink.m4: Likewise.
21566         * m4/readutmp.m4: Likewise.
21567         * m4/realloc.m4: Likewise.
21568         * m4/regex.m4: Likewise.
21569         * m4/relocatable.m4: Likewise.
21570         * m4/relocatable-lib.m4: Likewise.
21571         * m4/rename-dest-slash.m4: Likewise.
21572         * m4/rename.m4: Likewise.
21573         * m4/rmdir-errno.m4: Likewise.
21574         * m4/rmdir.m4: Likewise.
21575         * m4/roundf.m4: Likewise.
21576         * m4/roundl.m4: Likewise.
21577         * m4/rpmatch.m4: Likewise.
21578         * m4/save-cwd.m4: Likewise.
21579         * m4/selinux-selinux-h.m4: Likewise.
21580         * m4/setenv.m4: Likewise.
21581         * m4/settime.m4: Likewise.
21582         * m4/sig2str.m4: Likewise.
21583         * m4/sig_atomic_t.m4: Likewise.
21584         * m4/signalblocking.m4: Likewise.
21585         * m4/signbit.m4: Likewise.
21586         * m4/sigpipe.m4: Likewise.
21587         * m4/sockets.m4: Likewise.
21588         * m4/sockpfaf.m4: Likewise.
21589         * m4/st_dm_mode.m4: Likewise.
21590         * m4/stat-time.m4: Likewise.
21591         * m4/stdbool.m4: Likewise.
21592         * m4/stdint.m4: Likewise.
21593         * m4/stdint_h.m4: Likewise.
21594         * m4/stpcpy.m4: Likewise.
21595         * m4/stpncpy.m4: Likewise.
21596         * m4/strcase.m4: Likewise.
21597         * m4/strchrnul.m4: Likewise.
21598         * m4/strcspn.m4: Likewise.
21599         * m4/strdup.m4: Likewise.
21600         * m4/strftime.m4: Likewise.
21601         * m4/strndup.m4: Likewise.
21602         * m4/strnlen.m4: Likewise.
21603         * m4/strpbrk.m4: Likewise.
21604         * m4/strptime.m4: Likewise.
21605         * m4/strsep.m4: Likewise.
21606         * m4/strtod.m4: Likewise.
21607         * m4/strtoimax.m4: Likewise.
21608         * m4/strtok_r.m4: Likewise.
21609         * m4/strtol.m4: Likewise.
21610         * m4/strtoll.m4: Likewise.
21611         * m4/strtoul.m4: Likewise.
21612         * m4/strtoull.m4: Likewise.
21613         * m4/strtoumax.m4: Likewise.
21614         * m4/strverscmp.m4: Likewise.
21615         * m4/threadlib.m4: Likewise.
21616         * m4/timegm.m4: Likewise.
21617         * m4/tm_gmtoff.m4: Likewise.
21618         * m4/tmpdir.m4: Likewise.
21619         * m4/tmpfile.m4: Likewise.
21620         * m4/tzset.m4: Likewise.
21621         * m4/uintmax_t.m4: Likewise.
21622         * m4/unlinkdir.m4: Likewise.
21623         * m4/unlocked-io.m4: Likewise.
21624         * m4/uptime.m4: Likewise.
21625         * m4/userspec.m4: Likewise.
21626         * m4/utimbuf.m4: Likewise.
21627         * m4/utime.m4: Likewise.
21628         * m4/utimes-null.m4: Likewise.
21629         * m4/utimes.m4: Likewise.
21630         * m4/vararrays.m4: Likewise.
21631         * m4/vasnprintf.m4: Likewise.
21632         * m4/vfprintf-posix.m4: Likewise.
21633         * m4/vprintf-posix.m4: Likewise.
21634         * m4/wait-process.m4: Likewise.
21635         * m4/wchar_t.m4: Likewise.
21636         * m4/wint_t.m4: Likewise.
21637         * m4/write-any-file.m4: Likewise.
21638         * m4/yield.m4: Likewise.
21639
21640 2009-01-13  Bruno Haible  <bruno@clisp.org>
21641
21642         Avoid test-copy-file.sh failures when ACL support insufficient.
21643         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
21644         TESTS_ENVIRONMENT.
21645         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
21646         Reported by Jim Meyering.
21647
21648 2009-01-13  Bruno Haible  <bruno@clisp.org>
21649
21650         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
21651         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
21652         * modules/unistdio/u8-printf-parse (Files): Likewise.
21653         * modules/unistdio/u32-printf-parse (Files): Likewise.
21654         * modules/unistdio/ulc-printf-parse (Files): Likewise.
21655
21656 2009-01-13  Simon Josefsson  <simon@josefsson.org>
21657
21658         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
21659         and m4/inttypes_h.m4 too.
21660
21661 2009-01-12  Eric Blake  <ebb9@byu.net>
21662
21663         tests: IRIX 6.2 cc can't compile -0.0 into .data
21664         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
21665         rather than at compile-time.
21666         * tests/test-floorl.c (minus_zero): Likewise.
21667         * tests/test-frexpl.c (minus_zero): Likewise.
21668         * tests/test-isnan.c (minus_zerol): Likewise.
21669         * tests/test-isnanl.h (minus_zero): Likewise.
21670         * tests/test-ldexpl.c (minus_zero): Likewise.
21671         * tests/test-roundl.c (minus_zero): Likewise.
21672         * tests/test-signbit.c (minus_zerol): Likewise.
21673         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21674         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21675         * tests/test-truncl.c (minus_zero): Likewise.
21676         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21677         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21678         Reported by Tom G. Christensen and Nelson H. F. Beebe.
21679
21680 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21681
21682         regex: fix glibc bug 9697
21683         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
21684         handling.
21685
21686 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21687
21688         regex: fix glibc bug 697
21689         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
21690         being NULL also if there are no backreferences.
21691
21692 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21693
21694         regex: merge glibc changes
21695         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
21696         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
21697         re_string_skip_chars, re_string_reconstruct): Likewise.
21698         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
21699
21700 2009-01-07  Jim Meyering  <meyering@redhat.com>
21701
21702         poll: filter through cppi
21703         * lib/poll.c: Indent cpp directives to reflect nesting.
21704
21705 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
21706
21707         poll: don't return uninitialized
21708         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
21709
21710 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
21711
21712         avoid compile failure on AIX 6.1
21713         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
21714         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
21715
21716 2009-01-04  Jim Meyering  <meyering@redhat.com>
21717
21718         remove duplicate inclusion of <stdio.h>
21719         * tests/test-fprintf-posix.c: Likewise.
21720         * tests/test-printf-posix.c: Likewise.
21721         * tests/test-snprintf-posix.c: Likewise.
21722         * tests/test-sprintf-posix.c: Likewise.
21723         * tests/test-vasprintf-posix.c: Likewise.
21724         * tests/test-vfprintf-posix.c: Likewise.
21725         * tests/test-vprintf-posix.c: Likewise.
21726         * tests/test-vsnprintf-posix.c: Likewise.
21727         * tests/test-vsprintf-posix.c: Likewise.
21728
21729 2009-01-03  Jim Meyering  <meyering@redhat.com>
21730
21731         gnulib-tool: fix sed-based filtering
21732         * gnulib-tool (func_filter_filelist): Remove extra backslash
21733         in sed_fff_filter definition.
21734
21735 2009-01-02  Jim Meyering  <meyering@redhat.com>
21736
21737         strftime: avoid compilation failure on Solaris 2.6
21738         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
21739         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
21740         Don't #define mbrlen or mbsinit, since now they're guaranteed to
21741         be available.  Reported by Tom G. Christensen.  Details in
21742         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
21743
21744 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21745             Bruno Haible  <bruno@clisp.org>
21746
21747         Speed up gnulib-tool by doing more string processing through shell
21748         built-ins.
21749         * gnulib-tool (fast_func_append): New variable.
21750         (func_remove_prefix, func_remove_suffix): New functions.
21751         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
21752         (func_filter_filelist): New function.
21753         (func_get_dependencies): Use func_remove_suffix instead of sed.
21754         (func_get_automake_snippet): Use func_filter_filelist instead of a
21755         subshell and sed invocation.
21756
21757 2009-01-01  Bruno Haible  <bruno@clisp.org>
21758
21759         Fix a security bug.
21760         * gnulib-tool (func_import, import, update): Don't allow the characters
21761         '"', '$', '`', '\' in macro arguments that become part of commands that
21762         are evaluated.
21763
21764 2009-01-01  Bruno Haible  <bruno@clisp.org>
21765
21766         * gnulib-tool (func_reset_sigpipe): Add more comments.
21767
21768 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21769
21770         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
21771         func_emit_tests_Makefile_am, func_import): Abort loops early if we
21772         already know the answer.
21773
21774 2009-01-01  Jim Meyering  <meyering@redhat.com>
21775
21776         * lib/version-etc.c (version_etc_va): Update copyright year.
21777
21778 2008-12-30  Bruno Haible  <bruno@clisp.org>
21779
21780         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
21781         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
21782         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
21783
21784 2008-12-29  Eric Blake  <ebb9@byu.net>
21785
21786         multiarch: avoid autoconf AC_REQUIRE bug
21787         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
21788         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
21789         2.63 and older.
21790         Reported by Bruno Haible, and analyzed in
21791         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
21792
21793 2008-12-29  Bruno Haible  <bruno@clisp.org>
21794
21795         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
21796         files in subdirectories correctly.
21797         Reported by Ralf Wildenhues.
21798
21799 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21800
21801         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
21802         rather than 'join FILE -', for Solaris join.
21803
21804 2008-12-29  Bruno Haible  <bruno@clisp.org>
21805
21806         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
21807         quoting.
21808         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21809         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21810         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21811         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
21812         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21813         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21814         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21815         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21816         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21817         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21818         * m4/nls.m4 (AM_NLS): Likewise.
21819         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
21820         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21821         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21822         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21823         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21824         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21825         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
21826         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21827         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21828         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21829         * m4/xsize.m4 (gl_XSIZE): Likewise.
21830         Suggested by Jim Meyering.
21831
21832 2008-11-17  Bruce Korb  <bkorb@gnu.org>
21833
21834         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
21835         * lib/parse-duration.c: use a switch instead of cascading if's.
21836
21837 2008-12-29  Eric Blake  <ebb9@byu.net>
21838
21839         wchar.h: supply WEOF on Irix 5.3
21840         * lib/wchar.in.h (wint_t): Also supply WEOF.
21841         * lib/wctype.in.h (wint_t): Likewise.
21842         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
21843         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
21844         Reported by Tom G. Christensen.
21845
21846 2008-12-26  Bruno Haible  <bruno@clisp.org>
21847
21848         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
21849         i486, i586, i686.
21850
21851 2008-12-26  Bruno Haible  <bruno@clisp.org>
21852
21853         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
21854
21855 2008-12-26  Bruno Haible  <bruno@clisp.org>
21856
21857         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
21858         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
21859         not __STDC_CONSTANT_MACROS.
21860         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21861
21862 2008-12-25  Bruno Haible  <bruno@clisp.org>
21863
21864         Add support for universal builds to vasnprintf.
21865         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
21866         universal builds, guess no.
21867         * modules/vasnprintf-posix (Depends-on): Add multiarch.
21868         * modules/vasprintf-posix (Depends-on): Likewise.
21869         * modules/fprintf-posix (Depends-on): Likewise.
21870         * modules/vfprintf-posix (Depends-on): Likewise.
21871         * modules/snprintf-posix (Depends-on): Likewise.
21872         * modules/vsnprintf-posix (Depends-on): Likewise.
21873         * modules/sprintf-posix (Depends-on): Likewise.
21874         * modules/vsprintf-posix (Depends-on): Likewise.
21875         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21876         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21877         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21878         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21879         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21880         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21881         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21882
21883         Add support for universal builds to <inttypes.h>.
21884         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
21885         _SCNu64_PREFIX): In Apple
21886         universal builds, define directly, using _LP64.
21887         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
21888         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
21889         * modules/inttypes (Depends-on): Add multiarch.
21890         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21891
21892         Add support for universal builds to <stdint.h>.
21893         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
21894         universal builds, define directly, using _LP64.
21895         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
21896         Apple universal builds, don't test for the size and suffix of ptrdiff_t
21897         and size_t.
21898         * modules/stdint (Depends-on): Add multiarch.
21899         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21900
21901         New module 'multiarch'.
21902         * modules/multiarch: New file.
21903         * m4/multiarch.m4: New file.
21904
21905 2008-12-25  Bruno Haible  <bruno@clisp.org>
21906
21907         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
21908
21909 2008-12-25  Bruno Haible  <bruno@clisp.org>
21910
21911         * modules/btowc (License): Relicense under LGPLv2+.
21912         * modules/mbsinit (License): Likewise.
21913         * modules/mbrtowc (License): Likewise.
21914         * modules/wcrtomb (License): Likewise.
21915         * modules/streq (License): Likewise.
21916         Reported by David Lutterkort <lutter@redhat.com>.
21917
21918 2008-12-23  Bruno Haible  <bruno@clisp.org>
21919
21920         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
21921
21922 2008-12-23  Bruno Haible  <bruno@clisp.org>
21923
21924         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
21925         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
21926         GETADDRINFO_LIB, not in LIBS.
21927         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
21928         * modules/canon-host (Link): Likewise.
21929         * NEWS: Mention the change.
21930         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
21931         GETADDRINFO_LIB.
21932
21933 2008-12-22  Bruno Haible  <bruno@clisp.org>
21934
21935         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
21936         * doc/posix-functions/iswalpha_l.texi: Likewise.
21937         * doc/posix-functions/iswblank_l.texi: Likewise.
21938         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21939         * doc/posix-functions/iswctype_l.texi: Likewise.
21940         * doc/posix-functions/iswdigit_l.texi: Likewise.
21941         * doc/posix-functions/iswgraph_l.texi: Likewise.
21942         * doc/posix-functions/iswlower_l.texi: Likewise.
21943         * doc/posix-functions/iswprint_l.texi: Likewise.
21944         * doc/posix-functions/iswpunct_l.texi: Likewise.
21945         * doc/posix-functions/iswspace_l.texi: Likewise.
21946         * doc/posix-functions/iswupper_l.texi: Likewise.
21947         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21948         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
21949         * doc/posix-functions/open_wmemstream.texi: Likewise.
21950         * doc/posix-functions/swscanf.texi: Likewise.
21951         * doc/posix-functions/towctrans_l.texi: Likewise.
21952         * doc/posix-functions/towlower.texi: Likewise.
21953         * doc/posix-functions/towlower_l.texi: Likewise.
21954         * doc/posix-functions/towupper.texi: Likewise.
21955         * doc/posix-functions/towupper_l.texi: Likewise.
21956         * doc/posix-functions/vfwprintf.texi: Likewise.
21957         * doc/posix-functions/vfwscanf.texi: Likewise.
21958         * doc/posix-functions/vswscanf.texi: Likewise.
21959         * doc/posix-functions/vwprintf.texi: Likewise.
21960         * doc/posix-functions/vwscanf.texi: Likewise.
21961         * doc/posix-functions/wcpcpy.texi: Likewise.
21962         * doc/posix-functions/wcpncpy.texi: Likewise.
21963         * doc/posix-functions/wcscasecmp.texi: Likewise.
21964         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
21965         * doc/posix-functions/wcscoll_l.texi: Likewise.
21966         * doc/posix-functions/wcsdup.texi: Likewise.
21967         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21968         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
21969         * doc/posix-functions/wcsnlen.texi: Likewise.
21970         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21971         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21972         * doc/posix-functions/wctrans_l.texi: Likewise.
21973         * doc/posix-functions/wctype_l.texi: Likewise.
21974         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
21975         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
21976         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
21977         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
21978         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
21979         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
21980         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
21981         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
21982         * doc/glibc-functions/wcschrnul.texi: Likewise.
21983         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21984         * doc/glibc-functions/wcstod_l.texi: Likewise.
21985         * doc/glibc-functions/wcstof_l.texi: Likewise.
21986         * doc/glibc-functions/wcstol_l.texi: Likewise.
21987         * doc/glibc-functions/wcstold_l.texi: Likewise.
21988         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21989         * doc/glibc-functions/wcstoq.texi: Likewise.
21990         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21991         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21992         * doc/glibc-functions/wcstouq.texi: Likewise.
21993         * doc/glibc-functions/wmempcpy.texi: Likewise.
21994
21995 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
21996             Eric Blake  <ebb9@byu.net>
21997             Paolo Bonzini  <bonzini@gnu.org>
21998             Bruno Haible  <bruno@clisp.org>
21999
22000         Make c-stack work on Haiku.
22001         * lib/c-stack.c (SA_ONSTACK): Define fallback.
22002         (c_stack_action): Use SA_ONSTACK flag.
22003
22004 2008-12-22  Bruno Haible  <bruno@clisp.org>
22005
22006         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
22007
22008 2008-12-22  Bruno Haible  <bruno@clisp.org>
22009
22010         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
22011         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
22012         being overridden.
22013         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
22014         New macros.
22015         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
22016         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
22017         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
22018         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
22019
22020 2008-12-22  Bruno Haible  <bruno@clisp.org>
22021
22022         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
22023         from test code.
22024
22025 2008-12-22  Eric Blake  <ebb9@byu.net>
22026
22027         Avoid gcc warnings on cygwin.
22028         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
22029         Avoid unused variable.
22030         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
22031         Likewise.
22032
22033 2008-12-22  Bruno Haible  <bruno@clisp.org>
22034
22035         Remove HAVE_MBRTOWC conditionals.
22036         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
22037         (mbscasecmp): Assume mbrtowc function.
22038         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
22039         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
22040         * lib/mbschr.c: Include mbuiter.h unconditionally.
22041         (mbschr): Assume mbrtowc function.
22042         * lib/mbscspn.c: Include mbuiter.h unconditionally.
22043         (mbscspn): Assume mbrtowc function.
22044         * lib/mbslen.c: Include mbuiter.h unconditionally.
22045         (mbslen): Assume mbrtowc function.
22046         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
22047         (mbsncasecmp): Assume mbrtowc function.
22048         * lib/mbsnlen.c: Include mbiter.h unconditionally.
22049         (mbsnlen): Assume mbrtowc function.
22050         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
22051         (mbspbrk): Assume mbrtowc function.
22052         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
22053         (mbspcasecmp): Assume mbrtowc function.
22054         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
22055         (mbsrchr): Assume mbrtowc function.
22056         * lib/mbssep.c: Include mbuiter.h unconditionally.
22057         (mbssep): Assume mbrtowc function.
22058         * lib/mbsspn.c: Include mbuiter.h unconditionally.
22059         (mbsspn): Assume mbrtowc function.
22060         * lib/mbsstr.c: Include mbuiter.h unconditionally.
22061         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
22062         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
22063         (mbstok_r): Assume mbrtowc function.
22064         * lib/propername.c: Include mbuiter.h unconditionally.
22065         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
22066         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
22067         (trim2): Assume mbrtowc function.
22068         * lib/mbswidth.c (mbsinit): Remove fallback definition.
22069         (mbsnwidth): Assume mbrtowc function.
22070         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
22071         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
22072         fallback definitions.
22073         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
22074
22075 2008-12-22  Bruno Haible  <bruno@clisp.org>
22076
22077         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
22078
22079 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
22080
22081         * modules/regex: Request emulations for the mb*/wc* functions we need.
22082         * m4/regex.m4: Don't look for those functions here.
22083         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
22084
22085 2008-12-22  Bruno Haible  <bruno@clisp.org>
22086
22087         * modules/fnmatch (Depends-on): Remove duplicated dependency.
22088
22089 2008-12-21  Bruno Haible  <bruno@clisp.org>
22090
22091         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
22092         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
22093         (Include): Remove conditionalization.
22094         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
22095         (Include): Remove conditionalization.
22096         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
22097         (Include): Remove conditionalization.
22098         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
22099         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22100         * NEWS: Mention the change.
22101         Reported by Alan Hourihane <alanh@fairlite.co.uk>
22102         via Sergey Poznyakoff <gray@gnu.org.ua>.
22103
22104 2008-12-21  Bruno Haible  <bruno@clisp.org>
22105
22106         * MODULES.html.sh (Extended multibyte and wide character utilities
22107         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
22108         wcrtomb, wcsrtombs.
22109         (Support for systems lacking POSIX:2008): Add accept, bind, close,
22110         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
22111         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
22112         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
22113
22114 2008-12-21  Bruno Haible  <bruno@clisp.org>
22115
22116         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
22117
22118 2008-12-21  Bruno Haible  <bruno@clisp.org>
22119
22120         * modules/wcsnrtombs-tests: New file.
22121         * tests/test-wcsnrtombs1.sh: New file.
22122         * tests/test-wcsnrtombs2.sh: New file.
22123         * tests/test-wcsnrtombs3.sh: New file.
22124         * tests/test-wcsnrtombs4.sh: New file.
22125         * tests/test-wcsnrtombs.c: New file.
22126
22127         New module 'wcsnrtombs'.
22128         * lib/wchar.in.h (wcsnrtombs): New declaration.
22129         * lib/wcsnrtombs.c: New file.
22130         * lib/wcsrtombs-state.c: New file.
22131         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
22132         (internal_state): Remove variable.
22133         * m4/wcsnrtombs.m4: New file.
22134         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
22135         compilation units.
22136         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
22137         HAVE_WCSNRTOMBS.
22138         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
22139         HAVE_WCSNRTOMBS.
22140         * modules/wcsnrtombs: New file.
22141         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
22142         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
22143
22144 2008-12-21  Bruno Haible  <bruno@clisp.org>
22145
22146         * modules/wcsrtombs-tests: New file.
22147         * tests/test-wcsrtombs1.sh: New file.
22148         * tests/test-wcsrtombs2.sh: New file.
22149         * tests/test-wcsrtombs3.sh: New file.
22150         * tests/test-wcsrtombs4.sh: New file.
22151         * tests/test-wcsrtombs.c: New file.
22152
22153         New module 'wcsrtombs'.
22154         * lib/wchar.in.h (wcsrtombs): New declaration.
22155         * lib/wcsrtombs.c: New file.
22156         * m4/wcsrtombs.m4: New file.
22157         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
22158         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
22160         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22161         * modules/wcsrtombs: New file.
22162         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
22163         bugs.
22164
22165 2008-12-21  Bruno Haible  <bruno@clisp.org>
22166
22167         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
22168         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
22169         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
22170         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
22171         if not correct.
22172         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
22173         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
22174         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22175         m4/locale-zh.m4, m4/codeset.m4.
22176         * doc/posix-functions/wcrtomb.texi: Document the bug.
22177
22178 2008-12-21  Bruno Haible  <bruno@clisp.org>
22179
22180         Work around a btowc() bug on IRIX 6.5.
22181         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
22182         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
22183         REPLACE_WTOBC if not.
22184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
22185         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
22186         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
22187
22188 2008-12-21  Bruno Haible  <bruno@clisp.org>
22189
22190         * modules/wcrtomb-tests: New file.
22191         * tests/test-wcrtomb.sh: New file.
22192         * tests/test-wcrtomb.c: New file.
22193
22194         New module 'wcrtomb'.
22195         * lib/wchar.in.h (wcrtomb): New declaration.
22196         * lib/wcrtomb.c: New file.
22197         * m4/wcrtomb.m4: New file.
22198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
22199         HAVE_WCRTOMB.
22200         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
22201         HAVE_WCRTOMB.
22202         * modules/wcrtomb: New file.
22203         * doc/posix-functions/wcrtomb.texi: Mention the new module.
22204
22205 2008-12-21  Bruno Haible  <bruno@clisp.org>
22206
22207         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
22208         * modules/mbsrtowcs (Files): Likewise.
22209         * modules/wctob (Files): Likewise.
22210         * modules/c-strcase-tests (Files): Likewise.
22211         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
22212         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
22213         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
22214         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
22215         * modules/vasnprintf-posix-tests (Files): Likewise.
22216
22217 2008-12-21  William Pursell  <bill.pursell@gmail.com>
22218
22219         gitlog-to-changelog: pass all command-line arguments to git-log
22220         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
22221         it is sometimes convenient to filter the commits in various ways.
22222         gitlog-to-changelog only allows --since to specify a start date,
22223         but git-log itself supports many other filtering mechanisms.
22224         At the moment, I want to filter by branch name.  Rather than
22225         adding a --branch option to gitlog-to-changelog, it seems more
22226         flexible to simply pass all options directly to git-log and let
22227         git do the work.  Notice that this effectively makes --since a
22228         redundant option for gitlog-to-changelog, but removing it would
22229         require current usage to change since calls would then require
22230         an additional '--'.
22231
22232 2008-12-21  Bruno Haible  <bruno@clisp.org>
22233
22234         * modules/mbsnrtowcs-tests: New file.
22235         * tests/test-mbsnrtowcs1.sh: New file.
22236         * tests/test-mbsnrtowcs2.sh: New file.
22237         * tests/test-mbsnrtowcs3.sh: New file.
22238         * tests/test-mbsnrtowcs4.sh: New file.
22239         * tests/test-mbsnrtowcs.c: New file.
22240
22241         New module 'mbsnrtowcs'.
22242         * lib/wchar.in.h (mbsnrtowcs): New declaration.
22243         * lib/mbsnrtowcs.c: New file.
22244         * lib/mbsrtowcs-state.c: New file.
22245         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
22246         (internal_state): Remove variable.
22247         * m4/mbsnrtowcs.m4: New file.
22248         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
22249         compilation units.
22250         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
22251         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22252         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
22253         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22254         * modules/mbsnrtowcs: New file.
22255         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
22256         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
22257         portability problem.
22258
22259 2008-12-21  Bruno Haible  <bruno@clisp.org>
22260
22261         Work around mbsrtowcs bug.
22262         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
22263         (gl_FUNC_MBSRTOWCS): Invoke it.
22264         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22265         m4/locale-zh.m4.
22266         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
22267
22268 2008-12-21  Bruno Haible  <bruno@clisp.org>
22269
22270         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
22271
22272 2008-12-21  Bruno Haible  <bruno@clisp.org>
22273
22274         Update doc for AIX.
22275         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
22276         16-bit wchar_t type.
22277         * doc/posix-functions/btowc.texi: Likewise.
22278         * doc/posix-functions/fgetwc.texi: Likewise.
22279         * doc/posix-functions/fgetws.texi: Likewise.
22280         * doc/posix-functions/fputwc.texi: Likewise.
22281         * doc/posix-functions/fputws.texi: Likewise.
22282         * doc/posix-functions/fwide.texi: Likewise.
22283         * doc/posix-functions/fwprintf.texi: Likewise.
22284         * doc/posix-functions/fwscanf.texi: Likewise.
22285         * doc/posix-functions/getwchar.texi: Likewise.
22286         * doc/posix-functions/getwc.texi: Likewise.
22287         * doc/posix-functions/iswalnum.texi: Likewise.
22288         * doc/posix-functions/iswalpha.texi: Likewise.
22289         * doc/posix-functions/iswblank.texi: Likewise.
22290         * doc/posix-functions/iswcntrl.texi: Likewise.
22291         * doc/posix-functions/iswctype.texi: Likewise.
22292         * doc/posix-functions/iswdigit.texi: Likewise.
22293         * doc/posix-functions/iswgraph.texi: Likewise.
22294         * doc/posix-functions/iswlower.texi: Likewise.
22295         * doc/posix-functions/iswprint.texi: Likewise.
22296         * doc/posix-functions/iswpunct.texi: Likewise.
22297         * doc/posix-functions/iswspace.texi: Likewise.
22298         * doc/posix-functions/iswupper.texi: Likewise.
22299         * doc/posix-functions/iswxdigit.texi: Likewise.
22300         * doc/posix-functions/mbrtowc.texi: Likewise.
22301         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22302         * doc/posix-functions/mbstowcs.texi: Likewise.
22303         * doc/posix-functions/mbtowc.texi: Likewise.
22304         * doc/posix-functions/putwchar.texi: Likewise.
22305         * doc/posix-functions/putwc.texi: Likewise.
22306         * doc/posix-functions/swprintf.texi: Likewise.
22307         * doc/posix-functions/tolower.texi: Likewise.
22308         * doc/posix-functions/toupper.texi: Likewise.
22309         * doc/posix-functions/towctrans.texi: Likewise.
22310         * doc/posix-functions/ungetwc.texi: Likewise.
22311         * doc/posix-functions/vswprintf.texi: Likewise.
22312         * doc/posix-functions/wcrtomb.texi: Likewise.
22313         * doc/posix-functions/wcscat.texi: Likewise.
22314         * doc/posix-functions/wcschr.texi: Likewise.
22315         * doc/posix-functions/wcscmp.texi: Likewise.
22316         * doc/posix-functions/wcscoll.texi: Likewise.
22317         * doc/posix-functions/wcscpy.texi: Likewise.
22318         * doc/posix-functions/wcscspn.texi: Likewise.
22319         * doc/posix-functions/wcsftime.texi: Likewise.
22320         * doc/posix-functions/wcslen.texi: Likewise.
22321         * doc/posix-functions/wcsncat.texi: Likewise.
22322         * doc/posix-functions/wcsncmp.texi: Likewise.
22323         * doc/posix-functions/wcsncpy.texi: Likewise.
22324         * doc/posix-functions/wcspbrk.texi: Likewise.
22325         * doc/posix-functions/wcsrchr.texi: Likewise.
22326         * doc/posix-functions/wcsrtombs.texi: Likewise.
22327         * doc/posix-functions/wcsspn.texi: Likewise.
22328         * doc/posix-functions/wcsstr.texi: Likewise.
22329         * doc/posix-functions/wcstod.texi: Likewise.
22330         * doc/posix-functions/wcstof.texi: Likewise.
22331         * doc/posix-functions/wcstoimax.texi: Likewise.
22332         * doc/posix-functions/wcstok.texi: Likewise.
22333         * doc/posix-functions/wcstold.texi: Likewise.
22334         * doc/posix-functions/wcstoll.texi: Likewise.
22335         * doc/posix-functions/wcstol.texi: Likewise.
22336         * doc/posix-functions/wcstombs.texi: Likewise.
22337         * doc/posix-functions/wcstoull.texi: Likewise.
22338         * doc/posix-functions/wcstoul.texi: Likewise.
22339         * doc/posix-functions/wcstoumax.texi: Likewise.
22340         * doc/posix-functions/wcswidth.texi: Likewise.
22341         * doc/posix-functions/wcsxfrm.texi: Likewise.
22342         * doc/posix-functions/wctob.texi: Likewise.
22343         * doc/posix-functions/wctomb.texi: Likewise.
22344         * doc/posix-functions/wctrans.texi: Likewise.
22345         * doc/posix-functions/wctype.texi: Likewise.
22346         * doc/posix-functions/wcwidth.texi: Likewise.
22347         * doc/posix-functions/wmemchr.texi: Likewise.
22348         * doc/posix-functions/wmemcmp.texi: Likewise.
22349         * doc/posix-functions/wmemcpy.texi: Likewise.
22350         * doc/posix-functions/wmemmove.texi: Likewise.
22351         * doc/posix-functions/wmemset.texi: Likewise.
22352         * doc/posix-functions/wprintf.texi: Likewise.
22353         * doc/posix-functions/wscanf.texi: Likewise.
22354
22355 2008-12-21  Bruno Haible  <bruno@clisp.org>
22356
22357         Update doc for HP-UX 11.11.
22358         * doc/posix-functions/btowc.texi: Clarify that the function is missing
22359         in HP-UX version 11.00, not in all versions of HP-UX 11.
22360         * doc/posix-functions/fwide.texi: Likewise.
22361         * doc/posix-functions/fwprintf.texi: Likewise.
22362         * doc/posix-functions/fwscanf.texi: Likewise.
22363         * doc/posix-functions/inet_ntop.texi: Likewise.
22364         * doc/posix-functions/inet_pton.texi: Likewise.
22365         * doc/posix-functions/mbrlen.texi: Likewise.
22366         * doc/posix-functions/mbrtowc.texi: Likewise.
22367         * doc/posix-functions/mbsinit.texi: Likewise.
22368         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22369         * doc/posix-functions/swprintf.texi: Likewise.
22370         * doc/posix-functions/swscanf.texi: Likewise.
22371         * doc/posix-functions/towctrans.texi: Likewise.
22372         * doc/posix-functions/vfwprintf.texi: Likewise.
22373         * doc/posix-functions/vswprintf.texi: Likewise.
22374         * doc/posix-functions/vwprintf.texi: Likewise.
22375         * doc/posix-functions/wcrtomb.texi: Likewise.
22376         * doc/posix-functions/wcsrtombs.texi: Likewise.
22377         * doc/posix-functions/wcsstr.texi: Likewise.
22378         * doc/posix-functions/wctob.texi: Likewise.
22379         * doc/posix-functions/wctrans.texi: Likewise.
22380         * doc/posix-functions/wmemchr.texi: Likewise.
22381         * doc/posix-functions/wmemcmp.texi: Likewise.
22382         * doc/posix-functions/wmemcpy.texi: Likewise.
22383         * doc/posix-functions/wmemmove.texi: Likewise.
22384         * doc/posix-functions/wmemset.texi: Likewise.
22385         * doc/posix-functions/wprintf.texi: Likewise.
22386         * doc/posix-functions/wscanf.texi: Likewise.
22387
22388 2008-12-21  Bruno Haible  <bruno@clisp.org>
22389
22390         Work around a portability problem.
22391         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
22392         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
22393
22394 2008-12-20  Bruno Haible  <bruno@clisp.org>
22395
22396         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
22397         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
22398         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
22399         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
22400         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
22401
22402         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
22403         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
22404         set.
22405         (GNULIB_defined_mbstate_t): New macro.
22406         (mbsinit): Redefine if REPLACE_MBSINIT is set.
22407         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
22408         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
22409         reuses the system's mbrtowc function but works around the bugs.
22410         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
22411         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
22412         macros.
22413         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
22414         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
22415         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
22416         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
22417         REPLACE_MBSINIT if mbsinit needs to be overridden.
22418         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
22419         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22420         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
22421         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22422         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22423         m4/locale-zh.m4.
22424         (Depends): Add mbsinit.
22425         * modules/mbsinit (Depends): Add mbrtowc.
22426         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
22427
22428 2008-12-20  Bruno Haible  <bruno@clisp.org>
22429
22430         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
22431         so that there are no conversion errors on AIX.
22432         * tests/test-mbsrtowcs.c (main): LIkewise.
22433
22434 2008-12-20  Bruno Haible  <bruno@clisp.org>
22435
22436         Work around wctob bug on Solaris <= 9.
22437         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
22438         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
22439         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
22440         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
22441         * modules/wctob (Files): Add m4/locale-fr.m4.
22442         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
22443
22444 2008-12-20  Bruno Haible  <bruno@clisp.org>
22445
22446         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
22447         /dev/null.
22448         * tests/test-select-in.sh: Likewise.
22449         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22450
22451 2008-12-20  Bruno Haible  <bruno@clisp.org>
22452
22453         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
22454         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
22455         Cygwin 1.5.x.
22456
22457 2008-12-20  Bruno Haible  <bruno@clisp.org>
22458
22459         Ensure mbstate_t is defined on HP-UX 11.11.
22460         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
22461         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
22462         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
22463         AC_USE_SYSTEM_EXTENSIONS.
22464         * modules/fnmatch (Depends-on): Add extensions.
22465         * modules/mbrlen (Depends-on): Likewise.
22466         * modules/mbrtowc (Depends-on): Likewise.
22467         * modules/mbsinit (Depends-on): Likewise.
22468         * modules/mbsrtowcs (Depends-on): Likewise.
22469         * modules/mbswidth (Depends-on): Likewise.
22470         * modules/quotearg (Depends-on): Likewise.
22471         * modules/strftime (Depends-on): Likewise.
22472
22473 2008-12-20  Bruno Haible  <bruno@clisp.org>
22474
22475         Ensure wctob is declared on IRIX 6.5.
22476         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
22477         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
22478         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
22479         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
22480         of HAVE_WCTOB.
22481         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
22482         HAVE_WCTOB.
22483         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
22484
22485 2008-12-19  Bruno Haible  <bruno@clisp.org>
22486
22487         * modules/mbsrtowcs-tests: New file.
22488         * tests/test-mbsrtowcs1.sh: New file.
22489         * tests/test-mbsrtowcs2.sh: New file.
22490         * tests/test-mbsrtowcs3.sh: New file.
22491         * tests/test-mbsrtowcs4.sh: New file.
22492         * tests/test-mbsrtowcs.c: New file.
22493
22494         New module 'mbsrtowcs'.
22495         * lib/wchar.in.h (mbsrtowcs): New declaration.
22496         * lib/mbsrtowcs.c: New file.
22497         * m4/mbsrtowcs.m4: New file.
22498         * modules/mbsrtowcs: New file.
22499         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
22500         HAVE_MBSRTOWCS.
22501         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
22502         HAVE_MBSRTOWCS.
22503         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
22504
22505 2008-12-19  Bruno Haible  <bruno@clisp.org>
22506
22507         New module 'mbrlen'.
22508         * lib/wchar.in.h (mbrlen): New declaration.
22509         * lib/mbrlen.c: New file.
22510         * m4/mbrlen.m4: New file.
22511         * modules/mbrlen: New file.
22512         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
22513         HAVE_MBRLEN.
22514         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
22515         HAVE_MBRLEN.
22516         * doc/posix-functions/mbrlen.texi: Document the new module.
22517
22518 2008-12-19  Bruno Haible  <bruno@clisp.org>
22519
22520         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
22521         * modules/mbrtowc (Depends-on): Add verify.
22522         Suggested by Paul Eggert.
22523
22524 2008-12-18  Bruno Haible  <bruno@clisp.org>
22525
22526         * modules/mbsinit-tests: New file.
22527         * tests/test-mbsinit.sh: New file.
22528         * tests/test-mbsinit.c: New file.
22529
22530 2008-12-18  Bruno Haible  <bruno@clisp.org>
22531
22532         * modules/mbrtowc-tests: New file.
22533         * tests/test-mbrtowc1.sh: New file.
22534         * tests/test-mbrtowc2.sh: New file.
22535         * tests/test-mbrtowc3.sh: New file.
22536         * tests/test-mbrtowc4.sh: New file.
22537         * tests/test-mbrtowc.c: New file.
22538
22539         New module 'mbrtowc'.
22540         * lib/wchar.in.h (mbstate_t): Override when the system does not have
22541         mbsinit and mbrtowc.
22542         (mbrtowc): New declaration.
22543         * lib/mbrtowc.c: New file.
22544         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
22545         * modules/mbrtowc: New file.
22546         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
22547         HAVE_MBRTOWC.
22548         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
22549         HAVE_MBRTOWC.
22550         * doc/posix-functions/mbrtowc.texi: Document the new module.
22551
22552 2008-12-18  Bruno Haible  <bruno@clisp.org>
22553
22554         New module 'wctob'.
22555         * lib/wchar.in.h (wctob): New declaration.
22556         * lib/wctob.c: New file.
22557         * m4/wctob.m4: New file.
22558         * modules/wctob: New file.
22559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
22560         HAVE_WCTOB.
22561         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
22562         * doc/posix-functions/wctob.texi: Document the new module.
22563
22564 2008-12-18  Bruno Haible  <bruno@clisp.org>
22565
22566         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
22567         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
22568
22569 2008-12-18  Simon Josefsson  <simon@josefsson.org>
22570
22571         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
22572         G. Christensen" <tgc@jupiterrise.com>.
22573
22574         * lib/flock.c: Need to include errno.h.  Reported by "Tom
22575         G. Christensen" <tgc@jupiterrise.com>.
22576
22577         * lib/flock.c: Need to include string.h.  Reported by "Tom
22578         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
22579         <ebb9@byu.net>.
22580
22581 2008-12-18  Bruno Haible  <bruno@clisp.org>
22582
22583         * m4/locale-ja.m4: New file, from GNU gettext.
22584
22585 2008-12-17  Bruno Haible  <bruno@clisp.org>
22586
22587         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
22588         Suggested by Eric Blake.
22589
22590 2008-12-17  Bruno Haible  <bruno@clisp.org>
22591
22592         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
22593
22594 2008-12-17  Bruno Haible  <bruno@clisp.org>
22595
22596         * lib/mbsinit.c: Include verify.h. Verify an assumption.
22597         * modules/mbsinit (Depends-on): Add verify.
22598         Suggested by Paul Eggert.
22599
22600 2008-12-17  Bruno Haible  <bruno@clisp.org>
22601
22602         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
22603         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
22604         gl_FUNC_MBRTOWC.
22605         * m4/mbiter.m4 (gl_MBITER): LIkewise.
22606         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
22607         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
22608         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
22609         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
22610         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
22611         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
22612         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
22613         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
22614         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
22615         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
22616         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
22617         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
22618         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
22619         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
22620         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22621         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
22622         * modules/trim (configure.ac): Likewise.
22623
22624 2008-12-17  Bruno Haible  <bruno@clisp.org>
22625
22626         * modules/btowc-tests: New file.
22627         * tests/test-btowc1.sh: New file.
22628         * tests/test-btowc2.sh: New file.
22629         * tests/test-btowc.c: New file.
22630
22631         New module 'btowc'.
22632         * lib/wchar.in.h (btowc): New declaration.
22633         * lib/btowc.c: New file.
22634         * m4/btowc.m4: New file.
22635         * modules/btowc: New file.
22636         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
22637         HAVE_BTOWC.
22638         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
22639         * doc/posix-functions/btowc.texi: Document the new module.
22640
22641 2008-12-17  Bruno Haible  <bruno@clisp.org>
22642
22643         New module 'mbsinit'.
22644         * lib/wchar.in.h (mbsinit): New declaration.
22645         * lib/mbsinit.c: New file.
22646         * m4/mbsinit.m4: New file.
22647         * modules/mbsinit: New file.
22648         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
22649         HAVE_MBSINIT.
22650         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
22651         HAVE_MBSINIT.
22652         * doc/posix-functions/mbsinit.texi: Document the new module.
22653
22654 2008-12-16  Bruno Haible  <bruno@clisp.org>
22655
22656         * lib/unistd.in.h: Add comment.
22657         * tests/test-environ.c: Don't include <stdlib.h>.
22658
22659 2008-12-16  Bruno Haible  <bruno@clisp.org>
22660
22661         * lib/parse-duration.h (parse_duration): Document return value
22662         convention.
22663         * lib/parse-duration.c: Include specification header first. Add
22664         comments.
22665         (_): Remove macro.
22666         (parse_year_month_day, parse_hour_minute_second): Move side effects
22667         outside of strchr call.
22668         (parse_non_iso8601): Move side effects outside of isspace call.
22669         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
22670         call.
22671
22672 2008-12-16  Bruno Haible  <bruno@clisp.org>
22673
22674         * tests/test-parse-duration.sh: Produce no output when the test
22675         succeeds.
22676
22677 2008-12-16  Bruno Haible  <bruno@clisp.org>
22678
22679         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
22680         expressions.
22681
22682 2008-12-15  Bruno Haible  <bruno@clisp.org>
22683
22684         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
22685         * doc/glibc-functions/flistxattr.texi: Likewise.
22686         * doc/glibc-functions/fopencookie.texi: Likewise.
22687         * doc/glibc-functions/fremovexattr.texi: Likewise.
22688         * doc/glibc-functions/fsetxattr.texi: Likewise.
22689         * doc/glibc-functions/getxattr.texi: Likewise.
22690         * doc/glibc-functions/lgetxattr.texi: Likewise.
22691         * doc/glibc-functions/listxattr.texi: Likewise.
22692         * doc/glibc-functions/llistxattr.texi: Likewise.
22693         * doc/glibc-functions/lremovexattr.texi: Likewise.
22694         * doc/glibc-functions/lsetxattr.texi: Likewise.
22695         * doc/glibc-functions/removexattr.texi: Likewise.
22696         * doc/glibc-functions/setxattr.texi: Likewise.
22697         * doc/posix-functions/open_memstream.texi: Likewise.
22698
22699 2008-12-15  Eric Blake  <ebb9@byu.net>
22700
22701         Update doc for cygwin 1.7.
22702         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
22703         functions.
22704         * doc/posix-functions/fchmodat.texi: Likewise.
22705         * doc/posix-functions/fchownat.texi: Likewise.
22706         * doc/posix-functions/fdopendir.texi: Likewise.
22707         * doc/posix-functions/fmemopen.texi: Likewise.
22708         * doc/posix-functions/freeaddrinfo.texi: Likewise.
22709         * doc/posix-functions/fstatat.texi: Likewise.
22710         * doc/posix-functions/futimens.texi: Likewise.
22711         * doc/posix-functions/gai_strerror.texi: Likewise.
22712         * doc/posix-functions/getaddrinfo.texi: Likewise.
22713         * doc/posix-functions/getnameinfo.texi: Likewise.
22714         * doc/posix-functions/if_freenameindex.texi: Likewise.
22715         * doc/posix-functions/if_indextoname.texi: Likewise.
22716         * doc/posix-functions/if_nameindex.texi: Likewise.
22717         * doc/posix-functions/if_nametoindex.texi: Likewise.
22718         * doc/posix-functions/insque.texi: Likewise.
22719         * doc/posix-functions/linkat.texi: Likewise.
22720         * doc/posix-functions/llrint.texi: Likewise.
22721         * doc/posix-functions/llrintf.texi: Likewise.
22722         * doc/posix-functions/llrintl.texi: Likewise.
22723         * doc/posix-functions/lockf.texi: Likewise.
22724         * doc/posix-functions/lrintl.texi: Likewise.
22725         * doc/posix-functions/mkdirat.texi: Likewise.
22726         * doc/posix-functions/mkfifoat.texi: Likewise.
22727         * doc/posix-functions/mknodat.texi: Likewise.
22728         * doc/posix-functions/mq_close.texi: Likewise.
22729         * doc/posix-functions/mq_getattr.texi: Likewise.
22730         * doc/posix-functions/mq_notify.texi: Likewise.
22731         * doc/posix-functions/mq_open.texi: Likewise.
22732         * doc/posix-functions/mq_receive.texi: Likewise.
22733         * doc/posix-functions/mq_send.texi: Likewise.
22734         * doc/posix-functions/mq_setattr.texi: Likewise.
22735         * doc/posix-functions/mq_timedreceive.texi: Likewise.
22736         * doc/posix-functions/mq_timedsend.texi: Likewise.
22737         * doc/posix-functions/mq_unlink.texi: Likewise.
22738         * doc/posix-functions/open_memstream.texi: Likewise.
22739         * doc/posix-functions/openat.texi: Likewise.
22740         * doc/posix-functions/posix_fadvise.texi: Likewise.
22741         * doc/posix-functions/posix_fallocate.texi: Likewise.
22742         * doc/posix-functions/posix_madvise.texi: Likewise.
22743         * doc/posix-functions/posix_memalign.texi: Likewise.
22744         * doc/posix-functions/posix_openpt.texi: Likewise.
22745         * doc/posix-functions/readlinkat.texi: Likewise.
22746         * doc/posix-functions/remque.texi: Likewise.
22747         * doc/posix-functions/renameat.texi: Likewise.
22748         * doc/posix-functions/rintl.texi: Likewise.
22749         * doc/posix-functions/sem_unlink.texi: Likewise.
22750         * doc/posix-functions/shm_open.texi: Likewise.
22751         * doc/posix-functions/shm_unlink.texi: Likewise.
22752         * doc/posix-functions/signgam.texi: Likewise.
22753         * doc/posix-functions/sigset.texi: Likewise.
22754         * doc/posix-functions/stpcpy.texi: Likewise.
22755         * doc/posix-functions/stpncpy.texi: Likewise.
22756         * doc/posix-functions/strerror.texi: Likewise.
22757         * doc/posix-functions/strtod.texi: Likewise.
22758         * doc/posix-functions/symlinkat.texi: Likewise.
22759         * doc/posix-functions/unlinkat.texi: Likewise.
22760         * doc/posix-functions/utimensat.texi: Likewise.
22761         * doc/glibc-functions/bindresvport.texi: Likewise.
22762         * doc/glibc-functions/dn_expand.texi: Likewise.
22763         * doc/glibc-functions/exp10.texi: Likewise.
22764         * doc/glibc-functions/exp10f.texi: Likewise.
22765         * doc/glibc-functions/fgetxattr.texi: Likewise.
22766         * doc/glibc-functions/flistxattr.texi: Likewise.
22767         * doc/glibc-functions/fopencookie.texi: Likewise.
22768         * doc/glibc-functions/freeifaddrs.texi: Likewise.
22769         * doc/glibc-functions/fremovexattr.texi: Likewise.
22770         * doc/glibc-functions/fsetxattr.texi: Likewise.
22771         * doc/glibc-functions/getifaddrs.texi: Likewise.
22772         * doc/glibc-functions/getxattr.texi: Likewise.
22773         * doc/glibc-functions/lgetxattr.texi: Likewise.
22774         * doc/glibc-functions/listxattr.texi: Likewise.
22775         * doc/glibc-functions/llistxattr.texi: Likewise.
22776         * doc/glibc-functions/lremovexattr.texi: Likewise.
22777         * doc/glibc-functions/lsetxattr.texi: Likewise.
22778         * doc/glibc-functions/pow10.texi: Likewise.
22779         * doc/glibc-functions/pow10f.texi: Likewise.
22780         * doc/glibc-functions/rcmd_af.texi: Likewise.
22781         * doc/glibc-functions/removexattr.texi: Likewise.
22782         * doc/glibc-functions/res_init.texi: Likewise.
22783         * doc/glibc-functions/res_mkquery.texi: Likewise.
22784         * doc/glibc-functions/res_query.texi: Likewise.
22785         * doc/glibc-functions/res_querydomain.texi: Likewise.
22786         * doc/glibc-functions/res_send.texi: Likewise.
22787         * doc/glibc-functions/rresvport_af.texi: Likewise.
22788         * doc/glibc-functions/setxattr.texi: Likewise.
22789         * doc/glibc-functions/strcasestr.texi: Likewise.
22790
22791 2008-12-15  Bruno Haible  <bruno@clisp.org>
22792
22793         Fix compilation error on OSF/1 4.0.
22794         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
22795         <sys/time.h>, simply delegate to the system header.
22796         Reported by Daniel Richard G. <oss@teragram.com>.
22797
22798 2008-12-15  Bruno Haible  <bruno@clisp.org>
22799
22800         * doc/posix-functions/openat.texi: Mention the 'openat' module.
22801         * doc/posix-functions/fchmodat.texi: Likewise.
22802         * doc/posix-functions/fchownat.texi: Likewise.
22803         * doc/posix-functions/fdopendir.texi: Likewise.
22804         * doc/posix-functions/fstatat.texi: Likewise.
22805         * doc/posix-functions/mkdirat.texi: Likewise.
22806         * doc/posix-functions/unlinkat.texi: Likewise.
22807
22808 2008-12-14  Bruno Haible  <bruno@clisp.org>
22809
22810         Update doc for POSIX:2008.
22811         * doc/posix-functions/faccessat.texi: New file.
22812         * doc/posix-functions/fchmodat.texi: New file.
22813         * doc/posix-functions/fchownat.texi: New file.
22814         * doc/posix-functions/fdopendir.texi: New file.
22815         * doc/posix-functions/fstatat.texi: New file.
22816         * doc/posix-functions/futimens.texi: New file.
22817         * doc/posix-functions/linkat.texi: New file.
22818         * doc/posix-functions/mkdirat.texi: New file.
22819         * doc/posix-functions/mkfifoat.texi: New file.
22820         * doc/posix-functions/mknodat.texi: New file.
22821         * doc/posix-functions/open_wmemstream.texi: New file.
22822         * doc/posix-functions/openat.texi: New file.
22823         * doc/posix-functions/psiginfo.texi: New file.
22824         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
22825         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
22826         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
22827         * doc/posix-functions/readlinkat.texi: New file.
22828         * doc/posix-functions/renameat.texi: New file.
22829         * doc/posix-functions/strerror_l.texi: New file.
22830         * doc/posix-functions/symlinkat.texi: New file.
22831         * doc/posix-functions/unlinkat.texi: New file.
22832         * doc/posix-functions/utimensat.texi: New file.
22833         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22834
22835 2008-12-14  Bruno Haible  <bruno@clisp.org>
22836
22837         Update doc for POSIX:2008.
22838         * doc/posix-functions/alphasort.texi: Renamed from
22839         doc/glibc-functions/alphasort.texi.
22840         * doc/posix-functions/dirfd.texi: Renamed from
22841         doc/glibc-functions/dirfd.texi.
22842         * doc/posix-functions/dprintf.texi: Renamed from
22843         doc/glibc-functions/dprintf.texi.
22844         * doc/posix-functions/duplocale.texi: Renamed from
22845         doc/glibc-functions/duplocale.texi.
22846         * doc/posix-functions/fexecve.texi: Renamed from
22847         doc/glibc-functions/fexecve.texi.
22848         * doc/posix-functions/fmemopen.texi: Renamed from
22849         doc/glibc-functions/fmemopen.texi.
22850         * doc/posix-functions/freelocale.texi: Renamed from
22851         doc/glibc-functions/freelocale.texi.
22852         * doc/posix-functions/getdate_err.texi: Renamed from
22853         doc/glibc-functions/getdate_err.texi.
22854         * doc/posix-functions/isalnum_l.texi: Renamed from
22855         doc/glibc-functions/isalnum_l.texi.
22856         * doc/posix-functions/isalpha_l.texi: Renamed from
22857         doc/glibc-functions/isalpha_l.texi.
22858         * doc/posix-functions/isblank_l.texi: Renamed from
22859         doc/glibc-functions/isblank_l.texi.
22860         * doc/posix-functions/iscntrl_l.texi: Renamed from
22861         doc/glibc-functions/iscntrl_l.texi.
22862         * doc/posix-functions/isdigit_l.texi: Renamed from
22863         doc/glibc-functions/isdigit_l.texi.
22864         * doc/posix-functions/isgraph_l.texi: Renamed from
22865         doc/glibc-functions/isgraph_l.texi.
22866         * doc/posix-functions/islower_l.texi: Renamed from
22867         doc/glibc-functions/islower_l.texi.
22868         * doc/posix-functions/isprint_l.texi: Renamed from
22869         doc/glibc-functions/isprint_l.texi.
22870         * doc/posix-functions/ispunct_l.texi: Renamed from
22871         doc/glibc-functions/ispunct_l.texi.
22872         * doc/posix-functions/isspace_l.texi: Renamed from
22873         doc/glibc-functions/isspace_l.texi.
22874         * doc/posix-functions/isupper_l.texi: Renamed from
22875         doc/glibc-functions/isupper_l.texi.
22876         * doc/posix-functions/iswalnum_l.texi: Renamed from
22877         doc/glibc-functions/iswalnum_l.texi.
22878         * doc/posix-functions/iswalpha_l.texi: Renamed from
22879         doc/glibc-functions/iswalpha_l.texi.
22880         * doc/posix-functions/iswblank_l.texi: Renamed from
22881         doc/glibc-functions/iswblank_l.texi.
22882         * doc/posix-functions/iswcntrl_l.texi: Renamed from
22883         doc/glibc-functions/iswcntrl_l.texi.
22884         * doc/posix-functions/iswctype_l.texi: Renamed from
22885         doc/glibc-functions/iswctype_l.texi.
22886         * doc/posix-functions/iswdigit_l.texi: Renamed from
22887         doc/glibc-functions/iswdigit_l.texi.
22888         * doc/posix-functions/iswgraph_l.texi: Renamed from
22889         doc/glibc-functions/iswgraph_l.texi.
22890         * doc/posix-functions/iswlower_l.texi: Renamed from
22891         doc/glibc-functions/iswlower_l.texi.
22892         * doc/posix-functions/iswprint_l.texi: Renamed from
22893         doc/glibc-functions/iswprint_l.texi.
22894         * doc/posix-functions/iswpunct_l.texi: Renamed from
22895         doc/glibc-functions/iswpunct_l.texi.
22896         * doc/posix-functions/iswspace_l.texi: Renamed from
22897         doc/glibc-functions/iswspace_l.texi.
22898         * doc/posix-functions/iswupper_l.texi: Renamed from
22899         doc/glibc-functions/iswupper_l.texi.
22900         * doc/posix-functions/iswxdigit_l.texi: Renamed from
22901         doc/glibc-functions/iswxdigit_l.texi.
22902         * doc/posix-functions/isxdigit_l.texi: Renamed from
22903         doc/glibc-functions/isxdigit_l.texi.
22904         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
22905         doc/glibc-functions/mbsnrtowcs.texi.
22906         * doc/posix-functions/mkdtemp.texi: Renamed from
22907         doc/glibc-functions/mkdtemp.texi.
22908         * doc/posix-functions/newlocale.texi: Renamed from
22909         doc/glibc-functions/newlocale.texi.
22910         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
22911         doc/glibc-functions/nl_langinfo_l.texi.
22912         * doc/posix-functions/open_memstream.texi: Renamed from
22913         doc/glibc-functions/open_memstream.texi.
22914         * doc/posix-functions/opterr.texi: Renamed from
22915         doc/glibc-functions/opterr.texi.
22916         * doc/posix-functions/optind.texi: Renamed from
22917         doc/glibc-functions/optind.texi.
22918         * doc/posix-functions/optopt.texi: Renamed from
22919         doc/glibc-functions/optopt.texi.
22920         * doc/posix-functions/psignal.texi: Renamed from
22921         doc/glibc-functions/psignal.texi.
22922         * doc/posix-functions/scandir.texi: Renamed from
22923         doc/glibc-functions/scandir.texi.
22924         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
22925         doc/glibc-functions/sched_get_priority_min.texi.
22926         * doc/posix-functions/signgam.texi: Renamed from
22927         doc/glibc-functions/signgam.texi.
22928         * doc/posix-functions/stpcpy.texi: Renamed from
22929         doc/glibc-functions/stpcpy.texi.
22930         * doc/posix-functions/stpncpy.texi: Renamed from
22931         doc/glibc-functions/stpncpy.texi.
22932         * doc/posix-functions/strcasecmp_l.texi: Renamed from
22933         doc/glibc-functions/strcasecmp_l.texi.
22934         * doc/posix-functions/strcoll_l.texi: Renamed from
22935         doc/glibc-functions/strcoll_l.texi.
22936         * doc/posix-functions/strfmon_l.texi: Renamed from
22937         doc/glibc-functions/strfmon_l.texi.
22938         * doc/posix-functions/strftime_l.texi: Renamed from
22939         doc/glibc-functions/strftime_l.texi.
22940         * doc/posix-functions/strncasecmp_l.texi: Renamed from
22941         doc/glibc-functions/strncasecmp_l.texi.
22942         * doc/posix-functions/strndup.texi: Renamed from
22943         doc/glibc-functions/strndup.texi.
22944         * doc/posix-functions/strnlen.texi: Renamed from
22945         doc/glibc-functions/strnlen.texi.
22946         * doc/posix-functions/strsignal.texi: Renamed from
22947         doc/glibc-functions/strsignal.texi.
22948         * doc/posix-functions/strxfrm_l.texi: Renamed from
22949         doc/glibc-functions/strxfrm_l.texi.
22950         * doc/posix-functions/timer_gettime.texi: Renamed from
22951         doc/glibc-functions/timer_gettime.texi.
22952         * doc/posix-functions/tolower_l.texi: Renamed from
22953         doc/glibc-functions/tolower_l.texi.
22954         * doc/posix-functions/toupper_l.texi: Renamed from
22955         doc/glibc-functions/toupper_l.texi.
22956         * doc/posix-functions/towctrans_l.texi: Renamed from
22957         doc/glibc-functions/towctrans_l.texi.
22958         * doc/posix-functions/towlower_l.texi: Renamed from
22959         doc/glibc-functions/towlower_l.texi.
22960         * doc/posix-functions/towupper_l.texi: Renamed from
22961         doc/glibc-functions/towupper_l.texi.
22962         * doc/posix-functions/uselocale.texi: Renamed from
22963         doc/glibc-functions/uselocale.texi.
22964         * doc/posix-functions/vdprintf.texi: Renamed from
22965         doc/glibc-functions/vdprintf.texi.
22966         * doc/posix-functions/wcpcpy.texi:
22967         Renamed from doc/glibc-functions/wcpcpy.texi.
22968         * doc/posix-functions/wcpncpy.texi: Renamed from
22969         doc/glibc-functions/wcpncpy.texi.
22970         * doc/posix-functions/wcscasecmp.texi: Renamed from
22971         doc/glibc-functions/wcscasecmp.texi.
22972         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
22973         doc/glibc-functions/wcscasecmp_l.texi.
22974         * doc/posix-functions/wcscoll_l.texi: Renamed from
22975         doc/glibc-functions/wcscoll_l.texi.
22976         * doc/posix-functions/wcsdup.texi: Renamed from
22977         doc/glibc-functions/wcsdup.texi.
22978         * doc/posix-functions/wcsncasecmp.texi: Renamed from
22979         doc/glibc-functions/wcsncasecmp.texi.
22980         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
22981         doc/glibc-functions/wcsncasecmp_l.texi.
22982         * doc/posix-functions/wcsnlen.texi: Renamed from
22983         doc/glibc-functions/wcsnlen.texi.
22984         * doc/posix-functions/wcsnrtombs.texi: Renamed from
22985         doc/glibc-functions/wcsnrtombs.texi.
22986         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
22987         doc/glibc-functions/wcsxfrm_l.texi.
22988         * doc/posix-functions/wctrans_l.texi: Renamed from
22989         doc/glibc-functions/wctrans_l.texi.
22990         * doc/posix-functions/wctype_l.texi: Renamed from
22991         doc/glibc-functions/wctype_l.texi.
22992         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22993         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
22994         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
22995         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
22996         these subsections.
22997         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
22998         Remove sections.
22999
23000 2008-12-14  Bruno Haible  <bruno@clisp.org>
23001
23002         Update doc for POSIX:2008.
23003         * doc/posix-functions/*.texi: Update URL of POSIX specification.
23004
23005 2008-12-14  Bruno Haible  <bruno@clisp.org>
23006
23007         Update doc for POSIX:2008.
23008         * doc/pastposix-functions/bcmp.texi: Renamed from
23009         doc/posix-functions/bcmp.texi.
23010         * doc/pastposix-functions/bcopy.texi: Renamed from
23011         doc/posix-functions/bcopy.texi.
23012         * doc/pastposix-functions/bsd_signal.texi: Renamed from
23013         doc/posix-functions/bsd_signal.texi.
23014         * doc/pastposix-functions/bzero.texi: Renamed from
23015         doc/posix-functions/bzero.texi.
23016         * doc/pastposix-functions/ecvt.texi: Renamed from
23017         doc/posix-functions/ecvt.texi.
23018         * doc/pastposix-functions/fcvt.texi: Renamed from
23019         doc/posix-functions/fcvt.texi.
23020         * doc/pastposix-functions/ftime.texi: Renamed from
23021         doc/posix-functions/ftime.texi.
23022         * doc/pastposix-functions/gcvt.texi: Renamed from
23023         doc/posix-functions/gcvt.texi.
23024         * doc/pastposix-functions/getcontext.texi: Renamed from
23025         doc/posix-functions/getcontext.texi.
23026         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
23027         doc/posix-functions/gethostbyaddr.texi.
23028         * doc/pastposix-functions/gethostbyname.texi: Renamed from
23029         doc/posix-functions/gethostbyname.texi.
23030         * doc/pastposix-functions/getwd.texi: Renamed from
23031         doc/posix-functions/getwd.texi.
23032         * doc/pastposix-functions/h_errno.texi: Renamed from
23033         doc/posix-functions/h_errno.texi.
23034         * doc/pastposix-functions/index.texi: Renamed from
23035         doc/posix-functions/index.texi.
23036         * doc/pastposix-functions/makecontext.texi: Renamed from
23037         doc/posix-functions/makecontext.texi.
23038         * doc/pastposix-functions/mktemp.texi: Renamed from
23039         doc/posix-functions/mktemp.texi.
23040         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
23041         doc/posix-functions/pthread_attr_getstackaddr.texi.
23042         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
23043         doc/posix-functions/pthread_attr_setstackaddr.texi.
23044         * doc/pastposix-functions/rindex.texi: Renamed from
23045         doc/posix-functions/rindex.texi.
23046         * doc/pastposix-functions/scalb.texi: Renamed from
23047         doc/posix-functions/scalb.texi.
23048         * doc/pastposix-functions/setcontext.texi: Renamed from
23049         doc/posix-functions/setcontext.texi.
23050         * doc/pastposix-functions/swapcontext.texi: Renamed from
23051         doc/posix-functions/swapcontext.texi.
23052         * doc/pastposix-functions/ualarm.texi: Renamed from
23053         doc/posix-functions/ualarm.texi.
23054         * doc/pastposix-functions/usleep.texi: Renamed from
23055         doc/posix-functions/usleep.texi.
23056         * doc/pastposix-functions/vfork.texi: Renamed from
23057         doc/posix-functions/vfork.texi.
23058         * doc/pastposix-functions/wcswcs.texi: Renamed from
23059         doc/posix-functions/wcswcs.texi.
23060         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
23061         (Function Substitutes): Update.
23062
23063 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23064
23065         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
23066         m4/strerror.m4.
23067
23068 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23069             Bruno Haible  <bruno@clisp.org>
23070
23071         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
23072
23073 2008-12-13  Bruno Haible  <bruno@clisp.org>
23074
23075         * modules/strtoull (Depends-on): Remove unistd.
23076
23077 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23078
23079         * modules/strtoull (Depends-on): Add stdlib.
23080
23081 2008-12-11  Simon Josefsson  <simon@josefsson.org>
23082
23083         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
23084
23085 2008-12-10  Jim Meyering  <meyering@redhat.com>
23086
23087         gl_ASSERT: don't say assertions are disabled when they're not
23088         * m4/assert.m4 (gl_ASSERT): Do not make configure report
23089         "checking whether to enable assertions... no", when they are in
23090         fact enabled.  This is solely a bug in the output of configure.
23091         In spite of saying "no", NDEBUG was not defined in that case.
23092         Also, as noted by Eric Blake, leave assertions enabled upon
23093         --enable-assert=INVALID.
23094
23095 2008-12-10  Bruno Haible  <bruno@clisp.org>
23096
23097         Change MODULES.html to refer to POSIX:2008 where possible.
23098         * MODULES.html.sh (POSIX2008_URL): New variable.
23099         (posix_headers): Remove sys/timeb, ucontext.
23100         (posix2001_headers): New variable.
23101         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
23102         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
23103         index, makecontext, mktemp, pthread_attr_getstackaddr,
23104         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
23105         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
23106         (posix2001_functions): New variable.
23107         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
23108         otherwise.
23109
23110 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23111
23112         add missing include to parse-duration.c
23113         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
23114         * modules/parse-duration (Depends-on): Add xalloc.
23115
23116         fix sed script reading maint.mk
23117         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
23118         (syntax-check-rules): Use it.
23119
23120 2008-12-09  Bruno Haible  <bruno@clisp.org>
23121
23122         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
23123         MacOS X 10.4/PowerPC.
23124         Reported by Simon Josefsson.
23125
23126 2008-12-08  Jim Meyering  <meyering@redhat.com>
23127
23128         work around mingw's lack of some S_IF definitions
23129         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
23130         Reported by Simon Josefsson.
23131
23132 2008-12-08  Bruno Haible  <bruno@clisp.org>
23133
23134         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
23135         applied to variables. Needed on MacOS X 10.4/PowerPC.
23136         Reported by Simon Josefsson.
23137
23138 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
23139         and Eric Blake  <ebb9@byu.net>
23140
23141         assert: honor --enable-assert
23142         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
23143         order to honor --enable-assert, rather than treating it as a
23144         synonym for --disable-assert.
23145
23146 2008-12-08  Jim Meyering  <meyering@redhat.com>
23147
23148         * lib/posixtm.c: Remove now-useless declaration of mktime.
23149
23150         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
23151
23152 2008-12-07  Bruno Haible  <bruno@clisp.org>
23153
23154         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
23155         test_once): Mark functions as static.
23156         * tests/test-tls.c (test_tls): Likewise.
23157
23158 2008-12-07  Bruno Haible  <bruno@clisp.org>
23159
23160         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
23161         iconv_register_autodetect.
23162
23163 2008-12-07  Jim Meyering  <meyering@redhat.com>
23164
23165         posixtm.c: avoid a warning
23166         * lib/posixtm.c (posixtime): Don't initialize tm0.
23167         It's no longer needed to placate gcc4's -Wuninitialized,
23168         and the attempt to placate would elicit a new warning.
23169
23170         unicodeio.c: mark unused parameters
23171         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23172         (fallback_failure_callback): Likewise.
23173
23174 2008-12-07  Bruno Haible  <bruno@clisp.org>
23175
23176         * gnulib-tool (func_create_testdir): When building the tests
23177         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
23178         Reported by Simon Josefsson.
23179
23180 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23181
23182         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
23183
23184 2008-12-06  Bruno Haible  <bruno@clisp.org>
23185
23186         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
23187         Suggested by Eric Blake.
23188
23189 2008-12-06  Bruno Haible  <bruno@clisp.org>
23190
23191         Fix a c-stack test failure on MacOS X.
23192         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
23193         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
23194         handler for SIGBUS as well.
23195         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
23196         install a signal handler for SIGBUS as well.
23197         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
23198
23199 2008-12-06  Bruno Haible  <bruno@clisp.org>
23200
23201         Advocacy documentation.
23202         * doc/gnulib-intro.texi (Benefits): New section.
23203         * doc/gnulib.texi: Update.
23204
23205 2008-12-06  Bruno Haible  <bruno@clisp.org>
23206
23207         Document the 'manywarnings' module.
23208         * doc/manywarnings.texi: New file.
23209         * doc/gnulib.texi: Include it.
23210
23211 2008-12-05  Eric Blake  <ebb9@byu.net>
23212
23213         tests: silence some gcc warnings
23214         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
23215         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
23216         type mismatches.
23217
23218 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23219             Bruno Haible  <bruno@clisp.org>
23220
23221         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
23222
23223 2008-11-29  Jim Meyering  <meyering@redhat.com>
23224
23225         unicodeio.c: mark unused parameters
23226         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23227         (fallback_failure_callback): Likewise.
23228
23229         fts: fix a thinko
23230         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
23231         (set_stat_type): Return S_IF*-valued "type" directly.
23232         Prompted by James Youngman's spotting a related bug.
23233         Confirmed by further testing through find.
23234
23235         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
23236         * lib/fts.c (D_TYPE): Define.
23237         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
23238         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
23239         (s_ifmt_shift_bits): New function.
23240         (set_stat_type): New function.
23241         (fts_build): When not calling fts_stat, call set_stat_type
23242         to propagate dirent.d_type info to fts_read caller.
23243         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
23244         fts_statp->st_mode type information may be valid.
23245
23246 2008-11-28  Simon Josefsson  <simon@josefsson.org>
23247
23248         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
23249         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
23250         <sds@gnu.org>.
23251
23252 2008-11-20  Bruno Haible  <bruno@clisp.org>
23253
23254         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
23255         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
23256         INCLUDE_NEXT.
23257         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
23258         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
23259         * modules/math (Makefile.am): Substitute
23260         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
23261         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23262
23263 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
23264             Bruno Haible  <bruno@clisp.org>
23265
23266         * lib/stdint.in.h: Define all type macros so that their expansion is
23267         a single typedef'ed token. Fixes a compilation failure in Boost which
23268         does "using ::int8_t;".
23269
23270 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23271
23272         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
23273         gl_MANYWARN_ALL_GCC.
23274         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
23275         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
23276         * modules/manywarnings: New file.
23277         * MODULES.html.sh: Mention manywarnings module.
23278
23279 2008-11-18  Bruno Haible  <bruno@clisp.org>
23280
23281         * doc/gnulib-tool.texi (Unit tests): New section.
23282
23283 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23284
23285         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
23286         paths like 'lib/po/foo.po'.
23287
23288 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23289
23290         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
23291         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
23292
23293 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23294
23295         * m4/warnings.m4: Use CPPFLAGS to really check whether the
23296         parameter works.
23297
23298 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23299
23300         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
23301
23302 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23303
23304         * modules/parse-duration-tests: New file.
23305         * tests/test-parse-duration.sh: New file.
23306         * tests/test-parse-duration.c: New file.
23307
23308         New module 'parse-duration'.
23309         * lib/parse-duration.h: New file.
23310         * lib/parse-duration.c: New file.
23311         * modules/parse-duration: New file.
23312
23313 2008-11-17  Bruno Haible  <bruno@clisp.org>
23314
23315         * tests/test-select-out.sh: Comment out the first pipe test.
23316         Reported by Simon Josefsson.
23317
23318 2008-11-17  Bruno Haible  <bruno@clisp.org>
23319
23320         * modules/getaddrinfo (Depends-on): Add servent, hostent.
23321         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
23322         gl_HOSTENT.
23323
23324 2008-11-17  Bruno Haible  <bruno@clisp.org>
23325
23326         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
23327         -lnetwork and -lnet. Needed for Haiku and BeOS.
23328
23329 2008-11-16  Bruno Haible  <bruno@clisp.org>
23330
23331         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
23332
23333 2008-11-16  Bruno Haible  <bruno@clisp.org>
23334
23335         Avoid test failure on Haiku.
23336         * tests/test-fsync.c: Include <errno.h>.
23337         (main): Don't require that fsync (0) fails.
23338
23339 2008-11-15  Bruno Haible  <bruno@clisp.org>
23340
23341         New module 'hostent'.
23342         * modules/hostent: New file.
23343         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
23344
23345 2008-11-15  Bruno Haible  <bruno@clisp.org>
23346
23347         New module 'servent'.
23348         * modules/servent: New file.
23349         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
23350
23351 2008-11-15  Bruno Haible  <bruno@clisp.org>
23352
23353         Avoid generating same test program with two different rules.
23354         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
23355         test-frexp to test-frexp-nolibm.
23356         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
23357         test-frexpl to test-frexpl-nolibm.
23358
23359 2008-11-15  Bruno Haible  <bruno@clisp.org>
23360
23361         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
23362         $(FREXPL_LIBM).
23363
23364 2008-11-15  Bruno Haible  <bruno@clisp.org>
23365
23366         * lib/netdb.in.h: Activate the definitions also when the system's
23367         <netdb.h> has 'struct addrinfo'.
23368         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
23369         EAI_OVERFLOW or AI_NUMERICSERV.
23370         * doc/posix-headers/netdb.texi: Document the problem.
23371
23372 2008-11-15  Bruno Haible  <bruno@clisp.org>
23373
23374         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
23375
23376         Make the 'sched' module work on platforms where <sched.h> exists but
23377         is incomplete (such as Haiku).
23378         * lib/sched.in.h; Include the system's <sched.h> if it exists.
23379         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
23380         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
23381         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
23382         HAVE_STRUCT_SCHED_PARAM.
23383         * modules/sched (Depends-on): Add include_next.
23384         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
23385         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
23386         * doc/posix-headers/sched.texi: Document the issue.
23387
23388 2008-11-13  Jim Meyering  <meyering@redhat.com>
23389
23390         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
23391         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
23392         test would fail due to the difference in the Report bugs to ...
23393         line.  The expected address is empty, "<>", while the actual
23394         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
23395
23396 2008-11-12  Bruno Haible  <bruno@clisp.org>
23397
23398         lstat: don't compile lstat.c on systems lacking lstat
23399         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
23400         which don't have lstat; this is handled by lib/sys_stat.in.h already.
23401         Reported by Daniel P. Berrange via Jim Meyering.
23402
23403 2008-11-12  Jim Meyering  <meyering@redhat.com>
23404
23405         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
23406
23407 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23408
23409         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
23410         instead.
23411
23412 2008-11-12  Bruno Haible  <bruno@clisp.org>
23413
23414         * lib/unicodeio.c: Include unistr.h.
23415         (utf8_wctomb): Remove function.
23416         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
23417
23418 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23419
23420         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
23421         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
23422         <bruno@clisp.org>.
23423         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
23424
23425 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23426
23427         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
23428         * doc/gnulib.texi: Add section for warnings.
23429
23430 2008-11-11  Bruno Haible  <bruno@clisp.org>
23431
23432         * lib/sockets.h: Add a comment.
23433
23434 2008-11-11  Karl Berry  <karl@gnu.org>
23435
23436         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
23437
23438 2008-11-11  Eric Blake  <ebb9@byu.net>
23439
23440         fdl.texi: avoid git symlinks
23441         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
23442
23443 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23444
23445         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
23446
23447 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23448
23449         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
23450         (gl_WARN_ADD): Substitute $2 if literal.
23451
23452 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23453
23454         * m4/warning.m4: Remove.
23455
23456 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23457
23458         * m4/warnings.m4: Almost complete rewrite. :-)
23459
23460 2008-11-10  Simon Josefsson  <simon@josefsson.org>
23461
23462         * modules/warnings: New module.
23463         * m4/warnings.m4: New file.
23464         * MODULES.html.sh: Mention warnings module.
23465         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
23466         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23467
23468 2008-11-10  Eric Blake  <ebb9@byu.net>
23469
23470         fdl.texi: make a symlink to the latest version
23471         * doc/standards.texi: Revert today's earlier change.
23472         * doc/fdl-1.2.texi: Rename from old fdl.texi...
23473         * doc/fdl.texi: ...and replace this with a symlink to the newer
23474         fdl-1.3.texi.
23475
23476 2008-11-10  Bruno Haible  <bruno@clisp.org>
23477
23478         * tests/test-select-fd.c (main): Accept the result file name as fourth
23479         argument.
23480         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
23481         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
23482
23483 2008-11-10  Bruno Haible  <bruno@clisp.org>
23484
23485         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
23486         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
23487         as autoconf-substituted macros.
23488         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
23489         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
23490         gl_NETDB_H_DEFAULTS. Set these variables.
23491         * modules/netdb (Makefile.am): Substitute these variables.
23492
23493 2008-11-10  Eric Blake  <ebb9@byu.net>
23494
23495         standards.texi: include correct file for FDL 1.3
23496         * doc/standards.texi (GNU Free Documentation License): Change
23497         include file to pull in FDL 1.3, not 1.2.
23498
23499         fdl.texi: revert accidental change to license
23500         * doc/fdl.texi: This is FDL 1.2, not 1.3.
23501
23502 2008-11-10  Bruno Haible  <bruno@clisp.org>
23503
23504         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
23505         cross-compiling guesses also when the native compile gives no result.
23506
23507 2008-11-10  Bruno Haible  <bruno@clisp.org>
23508
23509         * lib/spawni.c (__spawni): Force variable into the stack.
23510
23511 2008-11-10  Bruno Haible  <bruno@clisp.org>
23512
23513         Add support for Haiku.
23514         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
23515         glibc and BeOS, but also on Haiku.
23516         * lib/fpurge.c (fpurge): Likewise.
23517         * lib/freadable.c (freadable): Likewise.
23518         * lib/freadahead.c (freadahead): Likewise.
23519         * lib/freading.c (freading): Likewise.
23520         * lib/freadptr.c (freadptr): Likewise.
23521         * lib/freadseek.c (freadptrinc): Likewise.
23522         * lib/fseeko.c (rpl_fseeko): Likewise.
23523         * lib/fseterr.c (fseterr): Likewise.
23524         * lib/fwritable.c (fwritable): Likewise.
23525         * lib/fwriting.c (fwriting): Likewise.
23526         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
23527
23528 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23529
23530         * lib/config.charset: Treat Haiku like BeOS.
23531
23532 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23533
23534         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
23535         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
23536
23537 2008-11-08  Bruno Haible  <bruno@clisp.org>
23538
23539         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
23540         AC_CACHE_CHECK.
23541
23542 2008-11-08  Bruno Haible  <bruno@clisp.org>
23543
23544         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
23545
23546 2008-11-08  Bruno Haible  <bruno@clisp.org>
23547
23548         * tests/test-select-fd.c: New file.
23549         * tests/test-select-in.sh: New file.
23550         * tests/test-select-out.sh: New file.
23551         * tests/test-select-stdin.c: New file.
23552         * modules/select-tests (Files): Add the new files.
23553         (Depends-on): Add gettimeofday.
23554         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
23555         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
23556         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
23557
23558 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
23559             Bruno Haible  <bruno@clisp.org>
23560
23561         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
23562
23563 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
23564
23565         * build-aux/pmccabe2html: Added support for C++ source files.
23566
23567 2008-11-05  Ben Pfaff  <blp@gnu.org>
23568
23569         Fix lib/close.c build on Windows.
23570         * modules/close (Files): Add lib/w32sock.h.
23571
23572 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
23573
23574         Accept Bison's NEWS format.
23575         * build-aux/announce-gen (print_news_deltas): Tweak
23576         $re_prefix.
23577
23578 2008-11-04  Bruno Haible  <bruno@clisp.org>
23579
23580         * modules/random_r (Maintainer): Add glibc.
23581
23582 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23583
23584         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
23585         by karl@freefriends.org (Karl Berry).
23586         * doc/alloca.texi: Likewise.
23587         * doc/c-ctype.texi: Likewise.
23588         * doc/c-strcase.texi: Likewise.
23589         * doc/c-strcaseeq.texi: Likewise.
23590         * doc/c-strcasestr.texi: Likewise.
23591         * doc/c-strstr.texi: Likewise.
23592         * doc/c-strtod.texi: Likewise.
23593         * doc/c-strtold.texi: Likewise.
23594         * doc/ctime.texi: Likewise.
23595         * doc/error.texi: Likewise.
23596         * doc/fdl.texi: Likewise.
23597         * doc/gcd.texi: Likewise.
23598         * doc/getdate.texi: Likewise.
23599         * doc/gnulib-intro.texi: Likewise.
23600         * doc/gnulib-tool.texi: Likewise.
23601         * doc/gnulib.texi: Likewise.
23602         * doc/inet_ntoa.texi: Likewise.
23603         * doc/maintain.texi: Likewise.
23604         * doc/make-stds.texi: Likewise.
23605         * doc/quote.texi: Likewise.
23606         * doc/regexprops-generic.texi: Likewise.
23607         * doc/standards.texi: Likewise.
23608         * doc/verify.texi: Likewise.
23609         * doc/visibility.texi: Likewise.
23610         * doc/gnulib.texi (GNU Free Documentation License): Include
23611         fdl-1.3.texi instead of fdl.texi.
23612
23613 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23614
23615         * doc/fdl-1.3.texi: New file, from
23616         <http://www.gnu.org/licenses/fdl-1.3.texi>.
23617         * modules/fdl-1.3: Add.
23618         * MODULES.html.sh: Add fdl-1.3.
23619
23620 2008-11-03  Bruno Haible  <bruno@clisp.org>
23621
23622         Make determination of absolute name of header file work with AIX xlc.
23623         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
23624         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
23625         preprocessing.
23626         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23627         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
23628
23629 2008-11-03  Simon Josefsson  <simon@josefsson.org>
23630
23631         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
23632         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
23633         <ludo@gnu.org>.
23634
23635 2008-11-02  Bruno Haible  <bruno@clisp.org>
23636
23637         Mark 'strpbrk' obsolete.
23638         * modules/strpbrk (Status, Notice): New sections.
23639         * modules/strtok_r (Depends-on): Add strpbrk.
23640
23641 2008-11-02  Bruno Haible  <bruno@clisp.org>
23642
23643         Mark 'strdup' obsolete.
23644         * modules/strdup (Status, Notice): New sections.
23645         * modules/findprog (Depends-on): Add strdup.
23646         * modules/getaddrinfo (Depends-on): Likewise.
23647         * modules/localename (Depends-on): Likewise.
23648         * modules/relocatable-lib (Depends-on): Likewise.
23649         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
23650         * modules/relocatable-prog (Depends-on): Likewise.
23651         * modules/trim (Depends-on): Likewise.
23652         * modules/unictype/gen-ctype (Depends-on): Likewise.
23653         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23654
23655 2008-11-02  Bruno Haible  <bruno@clisp.org>
23656
23657         Mark 'strcspn' obsolete.
23658         * modules/strcspn (Status, Notice): New sections.
23659
23660 2008-11-02  Bruno Haible  <bruno@clisp.org>
23661
23662         Mark 'rmdir' obsolete.
23663         * modules/rmdir (Status, Notice): New sections.
23664         * modules/clean-temp (Depends-on): Add rmdir.
23665         * modules/openat (Depends-on): Likewise.
23666
23667 2008-11-02  Bruno Haible  <bruno@clisp.org>
23668
23669         Mark 'raise' obsolete.
23670         * modules/raise (Status, Notice): New sections.
23671         (Include): Specify <signal.h>.
23672         * modules/stdio (Depends-on): Add raise.
23673         * modules/write (Depends-on): Likewise.
23674
23675 2008-11-02  Bruno Haible  <bruno@clisp.org>
23676
23677         Mark 'memset' obsolete.
23678         * modules/memset (Status, Notice): New sections.
23679
23680 2008-11-02  Bruno Haible  <bruno@clisp.org>
23681
23682         Mark 'memmove' obsolete.
23683         * modules/memmove (Status, Notice): New sections.
23684         * modules/argp (Depends-on): Add memmove.
23685         * modules/argz (Depends-on): Likewise.
23686         * modules/canonicalize (Depends-on): Likewise.
23687         * modules/canonicalize-lgpl (Depends-on): Likewise.
23688         * modules/fts (Depends-on): Likewise.
23689         * modules/getcwd (Depends-on): Likewise.
23690         * modules/human (Depends-on): Likewise.
23691         * modules/regex (Depends-on): Likewise.
23692         * modules/striconveh (Depends-on): Likewise.
23693         * modules/trim (Depends-on): Likewise.
23694         * modules/unistr/u8-move (Depends-on): Likewise.
23695         * modules/unistr/u16-move (Depends-on): Likewise.
23696         * modules/unistr/u32-move (Depends-on): Likewise.
23697
23698 2008-11-02  Bruno Haible  <bruno@clisp.org>
23699
23700         Mark 'memcpy' obsolete.
23701         * modules/memcpy (Status, Notice): New sections.
23702
23703 2008-11-02  Bruno Haible  <bruno@clisp.org>
23704
23705         Mark 'memcmp' obsolete.
23706         * modules/memcmp (Status, Notice): New sections.
23707         * modules/argmatch (Depends-on): Add memchr.
23708         * modules/backupfile (Depends-on): Likewise.
23709         * modules/c-strcasestr (Depends-on): Likewise.
23710         * modules/crypto/des (Depends-on): Likewise.
23711         * modules/csharpcomp (Depends-on): Likewise.
23712         * modules/fnmatch (Depends-on): Likewise.
23713         * modules/git-merge-changelog (Depends-on): Likewise.
23714         * modules/isnand (Depends-on): Likewise.
23715         * modules/isnand-nolibm (Depends-on): Likewise.
23716         * modules/isnanf (Depends-on): Likewise.
23717         * modules/isnanf-nolibm (Depends-on): Likewise.
23718         * modules/isnanl (Depends-on): Likewise.
23719         * modules/isnanl-nolibm (Depends-on): Likewise.
23720         * modules/mbchar (Depends-on): Likewise.
23721         * modules/memcoll (Depends-on): Likewise.
23722         * modules/quotearg (Depends-on): Likewise.
23723         * modules/regex (Depends-on): Likewise.
23724         * modules/relocatable-prog (Depends-on): Likewise.
23725         * modules/same (Depends-on): Likewise.
23726         * modules/signbit (Depends-on): Likewise.
23727         * modules/strcasestr-simple (Depends-on): Likewise.
23728         * modules/unictype/gen-ctype (Depends-on): Likewise.
23729         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23730         * modules/uniname/uniname (Depends-on): Likewise.
23731         * modules/unistr/u8-cmp (Depends-on): Likewise.
23732
23733 2008-11-02  Bruno Haible  <bruno@clisp.org>
23734
23735         Mark 'memchr' obsolete.
23736         * modules/memchr (Status, Notice): New sections.
23737         * modules/argp (Depends-on): Add memchr.
23738         * modules/base64 (Depends-on): Likewise.
23739         * modules/c-strcasestr (Depends-on): Likewise.
23740         * modules/chdir-long (Depends-on): Likewise.
23741         * modules/fnmatch (Depends-on): Likewise.
23742         * modules/getsubopt (Depends-on): Likewise.
23743         * modules/git-merge-changelog (Depends-on): Likewise.
23744         * modules/glob (Depends-on): Likewise.
23745         * modules/strcasestr-simple (Depends-on): Likewise.
23746         * modules/strnlen (Depends-on): Likewise.
23747
23748 2008-11-02  Bruno Haible  <bruno@clisp.org>
23749
23750         Mark 'atexit' obsolete.
23751         * modules/atexit (Status, Notice): New sections.
23752         * modules/chdir-long (Depends-on): Add atexit.
23753         * modules/wait-process (Depends-on): Likewise.
23754
23755 2008-11-02  Bruno Haible  <bruno@clisp.org>
23756
23757         * gnulib-tool: New option --with-obsolete.
23758         (func_usage): Document it.
23759         (func_modules_transitive_closure): Drop obsolete dependencies if
23760         incobsolete is not true.
23761         (func_import): Read and save the incobsolete variable to the cache.
23762
23763 2008-11-02  Bruno Haible  <bruno@clisp.org>
23764
23765         * modules/TEMPLATE-EXTENDED: New field 'Status'.
23766         * gnulib-tool: New option --extract-status.
23767         (func_usage): Document it.
23768         (sed_extract_prog): Recognize it.
23769         (func_get_status): New function.
23770
23771 2008-10-30  Simon Josefsson  <simon@josefsson.org>
23772
23773         * modules/sockets (License): Change from LGPL to LGPLv2+.
23774
23775 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23776
23777         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
23778
23779 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23780
23781         * MODULES.html.sh (Support for systems lacking POSIX:2001):
23782         Mention times and sys_times.
23783         * modules/sys_times, modules/sys_times-tests: New modules.
23784         * modules/times, modules/times-tests: Likewise
23785         * m4/sys_times_h.m4: New file.
23786         * lib/sys_times.in.h: Likewise
23787         * lib/times.c: Likewise.
23788         * tests/test-sys_times.c: Likewise.
23789         * tests/test-times.c: Likewise.
23790         * doc/posix-headers/sys_times.texi: Update.
23791         * doc/posix-functions/times.texi: Update.
23792
23793 2008-10-28  Jim Meyering  <meyering@redhat.com>
23794
23795         * modules/tempname (Depends-on): Add lstat.
23796
23797         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
23798
23799 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23800
23801         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
23802         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
23803         using idiom used elsewhere in gnulib.
23804
23805 2008-10-27  Jim Meyering  <meyering@redhat.com>
23806
23807         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
23808
23809 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23810
23811         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
23812         TESTS_ENVIRONMENT, for shell scripts that needs to call built
23813         programs.
23814         * tests/test-argp-2.sh: Use $EXEEXT when needed.
23815
23816 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23817
23818         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
23819
23820 2008-10-27  Bruno Haible  <bruno@clisp.org>
23821
23822         * tests/test-lstat.c: Include <stdio.h>.
23823
23824 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23825
23826         * modules/lstat-tests: New module.
23827         * tests/test-lstat.c: New file.
23828
23829 2008-10-26  Jim Meyering  <meyering@redhat.com>
23830
23831         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
23832
23833 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23834             Bruno Haible  <bruno@clisp.org>
23835
23836         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
23837         * modules/configmake (Include): Add a note that the include must come
23838         after all system headers.
23839         * lib/javaversion.c: Include configmake.h after all other includes.
23840
23841 2008-10-26  Bruno Haible  <bruno@clisp.org>
23842
23843         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
23844         HAVE_STRUCT_RANDOM_DATA to 1.
23845         (gl_STDLIB_H): Simplify.
23846
23847 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23848
23849         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
23850         substitute HAVE_STRUCT_RANDOM_DATA.
23851         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
23852         random_data.
23853         * modules/stdlib (Makefile.am): Substitute
23854         HAVE_STRUCT_RANDOM_DATA.
23855
23856 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23857
23858         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
23859         * doc/gnulib-intro.texi (Copyright): Likewise.
23860
23861 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23862
23863         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
23864         findings.
23865
23866 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
23867             Bruno Haible  <bruno@clisp.org>
23868
23869         * lib/unistd.in.h: Include <winsock2.h>.
23870         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
23871         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
23872         Provide dummy declarations.
23873         (gethostname): Override.
23874         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
23875         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
23876         gl_PREREQ_SYS_H_WINSOCK2.
23877         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
23878         * doc/posix-functions/gethostname.texi: More details.
23879
23880 2008-10-25  Bruno Haible  <bruno@clisp.org>
23881
23882         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23883         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
23884         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
23885
23886         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
23887         here ...
23888         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
23889         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
23890         gl_UNISTD_H_DEFAULTS.
23891
23892 2008-10-25  Eric Blake  <ebb9@byu.net>
23893
23894         signbit: avoid spurious compiler failure
23895         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
23896         declarations inside function.
23897
23898 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23899             Bruno Haible  <bruno@clisp.org>
23900
23901         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
23902         * modules/random_r (Depends-on): Add stdint.
23903
23904 2008-10-24  Bruno Haible  <bruno@clisp.org>
23905
23906         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
23907         Eggert.
23908         * modules/strerror (License): Likewise.
23909
23910 2008-10-24  Jim Meyering  <meyering@redhat.com>
23911
23912         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
23913         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
23914
23915 2008-10-24  Eric Blake  <ebb9@byu.net>
23916
23917         getgroups: fix compilation when getgroups is available
23918         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
23919         but with <config.h> override of getgroups disabled.
23920
23921 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23922
23923         * doc/gnulib.texi (Header files): Add note about C++ problems.
23924         Explained by Bruno Haible <bruno@clisp.org>.
23925
23926 2008-10-23  Bruno Haible  <bruno@clisp.org>
23927
23928         Define a dummy SA_NODEFER macro on Interix.
23929         * lib/signal.in.h (SA_NODEFER): Define fallback.
23930         Reported by Aleksey Cheusov <cheusov@tut.by> via
23931         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
23932
23933 2008-10-23  Bruno Haible  <bruno@clisp.org>
23934
23935         * modules/freadahead (License): Change to LGPLv2+.
23936         Suggested by Simon Josefsson.
23937
23938 2008-10-23  Jim Meyering  <meyering@redhat.com>
23939
23940         random_r: new module
23941         * modules/random_r: New file.
23942         * m4/random_r.m4: New file.
23943         * lib/random_r.c: New file, from glibc.
23944         * modules/random_r-tests: New file.
23945         * tests/test-random_r.c: New file.
23946         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
23947          Declare.
23948         (RAND_MAX): Define.
23949         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
23950         * modules/stdlib: Substitute them, too.
23951         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
23952         * doc/glibc-functions/initstate_r.texi: Mention the new module.
23953         * doc/glibc-functions/random_r.texi: Likewise.
23954         * doc/glibc-functions/setstate_r.texi: Likewise.
23955         * doc/glibc-functions/srandom_r.texi: Likewise.
23956         * config/srclist.txt: Mention it.
23957
23958 2008-10-23  David Lutterkort  <lutter@redhat.com>
23959
23960         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
23961         link requirement
23962
23963 2008-10-23  Jim Meyering  <meyering@redhat.com>
23964
23965         selinux-h: mark parameters of stub functions as intentionally unused
23966         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
23967         * lib/se-context.in.h: Likewise.
23968
23969 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23970
23971         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
23972
23973 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23974
23975         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
23976
23977 2008-10-22  Eric Blake  <ebb9@byu.net>
23978
23979         glthread/thread: avoid compiler warning
23980         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
23981         Add unreachable abort to silence compiler.
23982
23983 2008-10-22  Eric Blake  <ebb9@byu.net>
23984
23985         netdb: also supply struct addrinfo for cygwin 1.5.x
23986         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
23987         older cygwin.
23988         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
23989         cygwin.
23990         * doc/posix-headers/netdb.texi (netdb.h): Document this.
23991
23992 2008-10-22  Bruno Haible  <bruno@clisp.org>
23993
23994         * users.txt: Update entry about pspp.
23995
23996 2008-10-21  Bruno Haible  <bruno@clisp.org>
23997
23998         Simplification.
23999         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
24000         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
24001
24002         Simplification.
24003         * lib/ioctl.c (ioctl): Don't undefine.
24004         * lib/socket.c (socket): Don't undefine.
24005
24006         Remove unused module indicator macros.
24007         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
24008         GNULIB_$1 as a C macro.
24009
24010         * doc/posix-functions/close.texi: Undo last change.
24011         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
24012         Windows platforms.
24013
24014 2008-10-21  Bruno Haible  <bruno@clisp.org>
24015
24016         Add gethostname() declaration to <unistd.h>.
24017         * lib/unistd.in.h (gethostname): New declaration.
24018         * lib/gethostname.c: Include <unistd.h>.
24019         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
24020         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
24021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
24022         and HAVE_GETHOSTNAME.
24023         * modules/gethostname (Depends-on): Add unistd.
24024         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24025         (Include): Specify <unistd.h>.
24026         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
24027         HAVE_GETHOSTNAME.
24028         * tests/test-gethostname.c: Include <unistd.h> first.
24029
24030 2008-10-21  Bruno Haible  <bruno@clisp.org>
24031
24032         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
24033         * modules/select-tests (Depends-on): Likewise.
24034         Reported by Simon Josefsson.
24035
24036 2008-10-21  Simon Josefsson  <simon@josefsson.org>
24037
24038         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
24039         * lib/accept.c: New file, based on winsock.c.
24040         * lib/bind.c: New file, based on winsock.c.
24041         * lib/connect.c: New file, based on winsock.c.
24042         * lib/getpeername.c: New file, based on winsock.c.
24043         * lib/getsockname.c: New file, based on winsock.c.
24044         * lib/getsockopt.c: New file, based on winsock.c.
24045         * lib/ioctl.c: New file, based on winsock.c.
24046         * lib/listen.c: New file, based on winsock.c.
24047         * lib/recv.c: New file, based on winsock.c.
24048         * lib/recvfrom.c: New file, based on winsock.c.
24049         * lib/send.c: New file, based on winsock.c.
24050         * lib/sendto.c: New file, based on winsock.c.
24051         * lib/setsockopt.c: New file, based on winsock.c.
24052         * lib/shutdown.c: New file, based on winsock.c.
24053         * lib/socket.c: New file, based on winsock.c.
24054         * lib/w32sock.h: New file, based on winsock.c.
24055         * lib/winsock.c: Remove file.
24056         * modules/accept: Likewise.
24057         * modules/bind: Likewise.
24058         * modules/connect: Likewise.
24059         * modules/getpeername: Likewise.
24060         * modules/getsockname: Likewise.
24061         * modules/getsockopt: Likewise.
24062         * modules/ioctl: Likewise.
24063         * modules/listen: Likewise.
24064         * modules/recv: Likewise.
24065         * modules/recvfrom: Likewise.
24066         * modules/send: Likewise.
24067         * modules/sendto: Likewise.
24068         * modules/setsockopt: Likewise.
24069         * modules/shutdown: Likewise.
24070         * modules/socket: Use socket.c instead of winsock.c.
24071         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
24072         * doc/posix-functions/accept.texi: Doc fix.
24073         * doc/posix-functions/bind.texi: Doc fix.
24074         * doc/posix-functions/close.texi: Doc fix.
24075         * doc/posix-functions/connect.texi: Doc fix.
24076         * doc/posix-functions/getpeername.texi: Doc fix.
24077         * doc/posix-functions/getsockname.texi: Doc fix.
24078         * doc/posix-functions/getsockopt.texi: Doc fix.
24079         * doc/posix-functions/ioctl.texi: Doc fix.
24080         * doc/posix-functions/listen.texi: Doc fix.
24081         * doc/posix-functions/recv.texi: Doc fix.
24082         * doc/posix-functions/recvfrom.texi: Doc fix.
24083         * doc/posix-functions/send.texi: Doc fix.
24084         * doc/posix-functions/sendto.texi: Doc fix.
24085         * doc/posix-functions/setsockopt.texi: Doc fix.
24086         * doc/posix-functions/shutdown.texi: Doc fix.
24087         * doc/posix-functions/socket.texi: Doc fix.
24088
24089 2008-10-20  Bruno Haible  <bruno@clisp.org>
24090
24091         Take into account the role of SIGABRT_COMPAT on Windows 2008.
24092         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
24093         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
24094         as an alias for SIGABRT.
24095         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
24096         (sigaction): Map it to SIGABRT.
24097         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
24098
24099 2008-10-20  Bruno Haible  <bruno@clisp.org>
24100
24101         * lib/fts.c: Don't include lstat.h.
24102         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
24103
24104         Move the lstat() declaration to <sys/stat.h>.
24105         * lib/lstat.h: Remove file.
24106         * lib/sys_stat.in.h: Add special invocation convention.
24107         (lstat): New declaration.
24108         * lib/lstat.c (orig_lstat): New function.
24109         (rpl_lstat): Use orig_lstat instead of lstat.
24110         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
24111         AC_C_INLINE. Set REPLACE_LSTAT.
24112         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
24113         and REPLACE_LSTAT.
24114         * modules/lstat (Files): Remove lib/lstat.h.
24115         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24116         (Include): Specify <sys/stat.h> instead of lstat.h.
24117         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
24118         REPLACE_LSTAT.
24119         * NEWS: Mention the change.
24120
24121 2008-10-20  Bruno Haible  <bruno@clisp.org>
24122
24123         * modules/posix_spawn-tests: New file.
24124         * tests/test-posix_spawn3.c: New file.
24125
24126 2008-10-20  Bruno Haible  <bruno@clisp.org>
24127
24128         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
24129         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24130         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
24131         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24132         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
24133
24134 2008-10-20  Bruno Haible  <bruno@clisp.org>
24135
24136         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
24137         of posix_spawn on AIX 5.3.
24138
24139 2008-10-20  Bruno Haible  <bruno@clisp.org>
24140
24141         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
24142
24143 2008-10-20  Bruno Haible  <bruno@clisp.org>
24144
24145         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
24146         of AC_LANG_PROGRAM.
24147
24148 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24149
24150         * lib/netdb.in.h: Don't define GNU specific constants until they
24151         are supported or needed.  Reported by Bruno Haible
24152         <bruno@clisp.org>.
24153
24154 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24155
24156         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
24157
24158 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24159
24160         * lib/getaddrinfo.h: Remove file.
24161         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
24162         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
24163         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
24164         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
24165         * modules/netdb: Substitute GNULIB_GETADDRINFO.
24166         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
24167         * tests/test-getaddrinfo.c: Likewise.
24168         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
24169         * NEWS: Mention change.
24170
24171 2008-10-19  Bruno Haible  <bruno@clisp.org>
24172
24173         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
24174
24175 2008-10-19  Bruno Haible  <bruno@clisp.org>
24176
24177         * lib/wait-process.c: Include simply <sys/wait.h>.
24178         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
24179         WIFSTOPPED): Remove fallback definitions.
24180         * modules/wait-process (Depends-on): Add sys_wait.
24181
24182         New module 'sys_wait'.
24183         * modules/sys_wait: New file.
24184         * lib/sys_wait.in.h: New file, partially copied from
24185         lib/wait-process.c.
24186         * m4/sys_wait_h.m4: New file.
24187         * doc/posix-headers/sys_wait.texi: Mention the new module.
24188
24189 2008-10-19  Bruno Haible  <bruno@clisp.org>
24190
24191         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
24192
24193 2008-10-19  Bruno Haible  <bruno@clisp.org>
24194
24195         Assume that waitpid() fills an 'int' status, not a 'union wait'.
24196         * lib/wait-process.c (WAIT_T): Remove type.
24197         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
24198         (wait_subprocess): Update.
24199
24200 2008-10-19  Bruno Haible  <bruno@clisp.org>
24201
24202         New module 'atoll'.
24203         * modules/atoll: New file.
24204         * lib/stdlib.in.h (atoll): New declaration.
24205         * lib/atoll.c: New file, from glibc with modifications.
24206         * m4/atoll.m4: New file.
24207         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
24208         HAVE_ATOLL.
24209         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
24210         * doc/posix-functions/atoll.texi: Mention the new module.
24211
24212 2008-10-19  Bruno Haible  <bruno@clisp.org>
24213
24214         Add strtoull() declaration to <stdlib.h>.
24215         * lib/stdlib.in.h (strtoull): New declaration.
24216         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24217         Set HAVE_STRTOULL.
24218         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
24219         HAVE_STRTOULL.
24220         * modules/strtoull (Depends-on): Add stdlib.
24221         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24222         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
24223         HAVE_STRTOULL.
24224
24225 2008-10-19  Bruno Haible  <bruno@clisp.org>
24226
24227         Add strtoll() declaration to <stdlib.h>.
24228         * lib/stdlib.in.h (strtoll): New declaration.
24229         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24230         Set HAVE_STRTOLL.
24231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
24232         HAVE_STRTOLL.
24233         * modules/strtoll (Depends-on): Add stdlib.
24234         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24235         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
24236
24237 2008-10-19  Bruno Haible  <bruno@clisp.org>
24238
24239         * modules/bcopy (Depends-on): Add strings.
24240         (Include): Specify <strings.h>.
24241
24242 2008-10-19  Bruno Haible  <bruno@clisp.org>
24243
24244         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
24245
24246 2008-10-19  Bruno Haible  <bruno@clisp.org>
24247
24248         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
24249         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
24250         mingw.
24251
24252 2008-10-19  Bruno Haible  <bruno@clisp.org>
24253
24254         * lib/atanl.c: Don't include isnanl.h.
24255         * lib/cosl.c: Likewise.
24256         * lib/ldexpl.c: Likewise.
24257         * lib/logl.c: Likewise.
24258         * lib/sinl.c: Likewise.
24259         * lib/sqrtl.c: Likewise.
24260         * lib/tanl.c: Likewise.
24261
24262         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
24263         * lib/isnanf.h: Remove file.
24264         * lib/isnand.h: Remove file.
24265         * lib/isnanl.h: Remove file.
24266         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
24267         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
24268         macros.
24269         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
24270         HAVE_ISNANF, don't define it as a C macro.
24271         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
24272         HAVE_ISNAND, don't define it as a C macro.
24273         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
24274         HAVE_ISNANL, don't define it as a C macro.
24275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
24276         HAVE_ISNAN[FDL].
24277         * modules/isnanf (Files): Remove lib/isnanf.h.
24278         (Depends-on): Add math.
24279         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24280         (Include): Specify <math.h> instead of isnanf.h.
24281         * modules/isnand (Files): Remove lib/isnand.h.
24282         (Depends-on): Add math.
24283         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24284         (Include): Specify <math.h> instead of isnand.h.
24285         * modules/isnanl (Files): Remove lib/isnanl.h.
24286         (Depends-on): Add math.
24287         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24288         (Include): Specify <math.h> instead of isnanl.h.
24289         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
24290         HAVE_ISNAN[FDL].
24291         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
24292         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
24293         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
24294         * NEWS: Mention the change.
24295
24296 2008-10-18  Bruno Haible  <bruno@clisp.org>
24297
24298         Add getusershell(), setusershell(), endusershell() declarations to
24299         <unistd.h>.
24300         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
24301         declarations.
24302         * lib/getusershell.c: Include unistd.h.
24303         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
24304         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24305         HAVE_GETUSERSHELL.
24306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
24307         and HAVE_GETUSERSHELL.
24308         * modules/getusershell (Depends-on): Add unistd, extensions.
24309         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24310         (Include): Specify <unistd.h>.
24311         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
24312         HAVE_GETUSERSHELL.
24313
24314 2008-10-18  Bruno Haible  <bruno@clisp.org>
24315
24316         Add a getloadavg() declaration to <stdlib.h>.
24317         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
24318         getloadavg declaration.
24319         (getloadavg): New declaration.
24320         * lib/getloadavg.c: Include <stdlib.h> first.
24321         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
24322         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
24323         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
24324         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
24325         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24326         * modules/getloadavg (Depends-on): Add stdlib, extensions.
24327         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24328         (Include): Specify <stdlib.h>.
24329         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
24330         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24331
24332 2008-10-18  Bruno Haible  <bruno@clisp.org>
24333
24334         * lib/dirchownmod.c: Don't include lchmod.h.
24335
24336         Move the lchmod() declaration to <sys/stat.h>.
24337         * lib/lchmod.h: Remove file.
24338         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
24339         (lchmod): New declaration, moved here from lib/lchown.h.
24340         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
24341         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
24342         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
24343         and HAVE_LCHMOD.
24344         * modules/lchmod (Files): Remove lib/lchmod.h.
24345         (Depends-on): Add sys_stat, extensions.
24346         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24347         (Include): Specify <sys/stat.h> instead of lchmod.h.
24348         * modules/sys_stat (Depends-on): Add link-warning.
24349         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
24350         definition of GL_LINK_WARNING.
24351         * NEWS: Mention the change.
24352
24353 2008-10-18  Bruno Haible  <bruno@clisp.org>
24354
24355         * lib/fchdir.c: Don't include dirfd.h.
24356         * lib/fts.c: Likewise.
24357         * lib/getcwd.c: Likewise.
24358         * lib/glob.c: Likewise.
24359
24360         Move the dirfd() declaration to <dirent.h>.
24361         * lib/dirfd.h: Remove file.
24362         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
24363         (dirfd): New declaration.
24364         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
24365         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
24366         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
24367         HAVE_DECL_DIRFD.
24368         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
24369         HAVE_DECL_DIRFD.
24370         * modules/dirfd (Files): Remove lib/dirfd.h.
24371         (Depends-on): Add dirent, extensions.
24372         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
24373         (Include): Specify <dirent.h> instead of dirfd.h.
24374         * modules/dirent (Depends-on): Add link-warning.
24375         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
24376         definition of GL_LINK_WARNING.
24377         * NEWS: Mention the change.
24378
24379 2008-10-18  Bruno Haible  <bruno@clisp.org>
24380
24381         Move the euidaccess() declaration to <unistd.h>.
24382         * lib/euidaccess.h: Remove file.
24383         * lib/unistd.in.h (euidaccess): New declaration.
24384         * lib/euidaccess.c: Don't include euidaccess.h.
24385         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
24386         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
24387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
24388         and HAVE_EUIDACCESS.
24389         * modules/euidaccess (Files): Remove lib/euidaccess.h.
24390         (Depends-on): Add unistd.
24391         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24392         (Include): Specify <unistd.h> instead of euidaccess.h.
24393         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
24394         HAVE_EUIDACCESS.
24395         * NEWS: Mention the change.
24396
24397 2008-10-18  Bruno Haible  <bruno@clisp.org>
24398
24399         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
24400
24401         Move the getdomainname() declaration to <unistd.h>.
24402         * lib/getdomainname.h: Remove file.
24403         * lib/unistd.in.h (getdomainname): New declaration.
24404         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
24405         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24406         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24407         HAVE_GETDOMAINNAME.
24408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24409         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
24410         * modules/getdomainname (Files): Remove lib/getdomainname.h.
24411         (Depends-on): Add unistd, extensions.
24412         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24413         (Includes): Specify <unistd.h> instead of getdomainname.h.
24414         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
24415         HAVE_GETDOMAINNAME.
24416         * NEWS: Mention the change.
24417
24418 2008-10-18  Bruno Haible  <bruno@clisp.org>
24419
24420         * modules/dirent: New file.
24421         * m4/dirent_h.m4: New file.
24422         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
24423         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
24424         * modules/fchdir (Files): Remove lib/dirent.in.h.
24425         (Depends-on): Add dirent.
24426         (Makefile.am): Move rules to modules/dirent.
24427         * doc/posix-headers/dirent.texi: Mention the new module.
24428
24429 2008-10-18  Bruno Haible  <bruno@clisp.org>
24430
24431         Avoid -Wunused-parameter warnings in public gnulib header files.
24432         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
24433         macro.
24434         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
24435
24436 2008-10-18  Bruno Haible  <bruno@clisp.org>
24437
24438         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
24439         * doc/glibc-functions/error.texi: Mention the module 'error'.
24440         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
24441         * doc/glibc-functions/getdomainname.texi: Mention the module
24442         'getdomainname'.
24443         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
24444         * doc/glibc-functions/getpagesize.texi: Mention the module
24445         'getpagesize'.
24446         * doc/glibc-functions/getusershell.texi: Mention the module
24447         'getusershell'.
24448         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
24449         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
24450         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
24451         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
24452         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
24453         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
24454         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
24455         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
24456         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
24457         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
24458         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
24459         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
24460         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
24461         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
24462
24463 2008-10-17  Bruno Haible  <bruno@clisp.org>
24464
24465         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
24466         HP-UX and IRIX, use -0.0L.
24467         * tests/test-ceill.c (minus_zero): Likewise.
24468         * tests/test-floorl.c (minus_zero): Likewise.
24469         * tests/test-frexpl.c (minus_zero): Likewise.
24470         * tests/test-isnan.c (minus_zerol): Likewise.
24471         * tests/test-isnanl.h (minus_zero): Likewise.
24472         * tests/test-ldexpl.c (minus_zero): Likewise.
24473         * tests/test-roundl.c (minus_zero): Likewise.
24474         * tests/test-signbit.c (minus_zerol): Likewise.
24475         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24476         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24477         * tests/test-truncl.c (minus_zero): Likewise.
24478         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24479         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24480         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
24481         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24482
24483 2008-10-17  Bruno Haible  <bruno@clisp.org>
24484
24485         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
24486         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
24487         that it gets activated only for gcc >= 3.0.
24488         * lib/dirent.in.h: Likewise.
24489         * lib/errno.in.h: Likewise.
24490         * lib/fcntl.in.h: Likewise.
24491         * lib/float.in.h: Likewise.
24492         * lib/iconv.in.h: Likewise.
24493         * lib/inttypes.in.h: Likewise.
24494         * lib/locale.in.h: Likewise.
24495         * lib/math.in.h: Likewise.
24496         * lib/netdb.in.h: Likewise.
24497         * lib/netinet_in.in.h: Likewise.
24498         * lib/search.in.h: Likewise.
24499         * lib/signal.in.h: Likewise.
24500         * lib/spawn.in.h: Likewise.
24501         * lib/stdarg.in.h: Likewise.
24502         * lib/stdint.in.h: Likewise.
24503         * lib/stdio.in.h: Likewise.
24504         * lib/stdlib.in.h: Likewise.
24505         * lib/string.in.h: Likewise.
24506         * lib/strings.in.h: Likewise.
24507         * lib/sys_file.in.h: Likewise.
24508         * lib/sys_ioctl.in.h: Likewise.
24509         * lib/sys_select.in.h: Likewise.
24510         * lib/sys_socket.in.h: Likewise.
24511         * lib/sys_stat.in.h: Likewise.
24512         * lib/sys_time.in.h: Likewise.
24513         * lib/sysexits.in.h: Likewise.
24514         * lib/time.in.h: Likewise.
24515         * lib/unistd.in.h: Likewise.
24516         * lib/wchar.in.h: Likewise.
24517         * lib/wctype.in.h: Likewise.
24518         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24519
24520 2008-10-17  Jim Meyering  <meyering@redhat.com>
24521
24522         ignore-value: don't depend on inline module
24523         * modules/ignore-value (Depends-on): Remove 'inline'.
24524         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
24525         Suggestion from Bruno Haible.
24526
24527 2008-10-17  Bruno Haible  <bruno@clisp.org>
24528
24529         New implementation of condition variables for Win32.
24530         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
24531         (gl_linked_waitqueue_t): New type.
24532         (gl_cond_t): Use it.
24533         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
24534         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
24535         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
24536         (glthread_cond_init_func, glthread_cond_wait_func,
24537         glthread_cond_timedwait_func, glthread_cond_signal_func,
24538         glthread_cond_broadcast_func, glthread_cond_destroy_func):
24539         Reimplemented on the basis of gl_linked_waitqueue_t.
24540         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
24541         gl_waitqueue_t.
24542         (gl_rwlock_t): Update.
24543         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
24544
24545 2008-10-17  Simon Josefsson  <simon@josefsson.org>
24546
24547         * modules/recvfrom (Depends-on): Add dependency on getpeername.
24548         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24549
24550 2008-10-17  Jim Meyering  <meyering@redhat.com>
24551
24552         ignore-value: new module
24553         * modules/ignore-value: New file.
24554         * lib/ignore-value.h: New file.
24555         * MODULES.html.sh (Compiler warning management): New section,
24556         just for this module.  More to come.
24557
24558 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
24559
24560         open-safer.c: avoid 'signed and unsigned in conditional...' warning
24561         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
24562         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
24563
24564 2008-10-16  Jim Meyering  <meyering@redhat.com>
24565
24566         openat-die.c: avoid 'no previous prototype' warning
24567         * lib/openat-die.c: Include "openat.h".
24568         Reported by Reuben Thomas <rrt@sc3d.org>.
24569
24570 2008-10-16  Simon Josefsson  <simon@josefsson.org>
24571
24572         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
24573         * lib/netdb.in.h: Fix typo.
24574         Reported by Bruno Haible  <bruno@clisp.org>
24575
24576         * lib/netdb.in.h: Include sys/socket.h for platforms without
24577         netdb.h, to get structures like hostent on MinGW.
24578         * modules/netdb (Depends-on): Add sys_socket.
24579
24580 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24581
24582         * modules/netdb, modules/netdb-tests: New file.
24583         * m4/netdb_h.m4: New file.
24584         * lib/netdb.in.h: Add, currently just an empty file pending
24585         definitions.
24586         * tests/test-netdb.c: New file.
24587         * doc/posix-headers/netdb.texi: Mention that we replace it if
24588         needed.
24589         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24590         netdb.
24591
24592 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24593
24594         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
24595         with code.
24596
24597 2008-10-13  Bruno Haible  <bruno@clisp.org>
24598
24599         * lib/glthread/cond.c (glthread_cond_wait_func,
24600         glthread_cond_timedwait_func): Add a comment.
24601
24602 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24603
24604         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
24605         * tests/test-select.c: Likewise,
24606
24607 2008-10-13  Bruno Haible  <bruno@clisp.org>
24608
24609         * lib/glthread/cond.c (glthread_cond_wait_func,
24610         glthread_cond_timedwait_func): Fix variable name.
24611         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24612
24613 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
24614
24615         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
24616         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
24617         struct sockaddr.sa_len.
24618         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
24619
24620 2008-10-13  Simon Josefsson  <simon@josefsson.org>
24621
24622         * build-aux/pmccabe2html: Add css and css_url parameters.
24623
24624 2008-10-12  Bruno Haible  <bruno@clisp.org>
24625
24626         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
24627         calling aclx_get.
24628         Reported by Rainer Tammer <tammer@tammer.net>.
24629
24630 2008-10-12  Bruno Haible  <bruno@clisp.org>
24631
24632         Use msvcrt aware primitives for creation/termination of Win32 threads.
24633         * lib/glthread/thread.c: Include <process.h>.
24634         (glthread_create_func): Use _beginthreadex instead of CreateThread.
24635         (wrapper_func): Update signature.
24636         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
24637
24638 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24639             Bruno Haible  <bruno@clisp.org>
24640
24641         Provide a Win32 implementation of the 'cond' module.
24642         * lib/glthread/cond.h [USE_WIN32]: New implementation.
24643         * lib/glthread/cond.c (glthread_cond_init_func,
24644         glthread_cond_wait_func, glthread_cond_timedwait_func,
24645         glthread_cond_signal_func, glthread_cond_broadcast_func,
24646         glthread_cond_destroy_func) [USE_WIN32]: New functions.
24647         * modules/cond (Dependencies): Add gettimeofday.
24648
24649 2008-10-11  Bruno Haible  <bruno@clisp.org>
24650
24651         Make sleep work on older versions of mingw.
24652         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
24653         only whether it exists.
24654         * doc/posix-functions/sleep.texi: Mention the problem with older
24655         versions of mingw.
24656
24657 2008-10-11  Bruno Haible  <bruno@clisp.org>
24658
24659         New module 'shutdown'.
24660         * modules/shutdown: New file.
24661         * lib/sys_socket.in.h (shutdown): New declaration.
24662         * lib/winsock.c (shutdown): New function.
24663         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24664         GNULIB_SHUTDOWN.
24665         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
24666         * doc/posix-functions/shutdown.texi: Document the new module.
24667
24668 2008-10-11  Jim Meyering  <meyering@redhat.com>
24669
24670         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
24671
24672 2008-10-11  Bruno Haible  <bruno@clisp.org>
24673
24674         New module 'fclose'.
24675         * modules/fclose: New file.
24676         * lib/stdio.in.h (fclose): New declaration.
24677         * lib/fclose.c: New file.
24678         * m4/fclose.m4: New file.
24679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
24680         REPLACE_FCLOSE.
24681         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
24682         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
24683         REPLACE_FCLOSE.
24684         * modules/close (Depends-on): fclose.
24685         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
24686
24687 2008-10-11  Bruno Haible  <bruno@clisp.org>
24688
24689         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
24690         set errno and don't call _close.
24691
24692 2008-10-10  Bruno Haible  <bruno@clisp.org>
24693
24694         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
24695         ACL, not afterwards. Fixes test failure on Cygwin.
24696
24697 2008-10-09  Ben Pfaff  <blp@gnu.org>
24698
24699         * build-aux/announce-gen: Fix gnulib version related part of usage
24700         message.  Die with a useful error message if no tarballs are
24701         found.
24702
24703 2008-10-10  Jim Meyering  <meyering@redhat.com>
24704
24705         bootstrap: use git's --depth=N option only if it's supported
24706         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
24707         recognize the --depth option.  Reported by Pádraig Brady.
24708
24709 2008-10-09  Bruno Haible  <bruno@clisp.org>
24710
24711         New module 'ioctl'.
24712         * modules/ioctl: New file.
24713         * lib/sys_socket.in.h (ioctl): Remove declaration.
24714         * lib/winsock.c: Include <sys/ioctl.h>.
24715         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
24716         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24717         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
24718         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
24719         * doc/posix-functions/ioctl.texi: Mention the new module.
24720
24721 2008-10-09  Bruno Haible  <bruno@clisp.org>
24722
24723         New module 'sys_ioctl'.
24724         * lib/sys_ioctl.in.h: New file.
24725         * m4/sys_ioctl_h.m4: New file.
24726         * modules/sys_ioctl: New file.
24727         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
24728
24729 2008-10-09  Bruno Haible  <bruno@clisp.org>
24730
24731         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
24732         * lib/winsock.c: Include <stdarg.h>.
24733         (rpl_ioctl): Change to second argument 'int' and then varargs.
24734
24735 2008-10-09  Bruno Haible  <bruno@clisp.org>
24736
24737         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
24738         when the sys_socket module is present and the system has <winsock2.h>.
24739
24740 2008-10-09  Bruno Haible  <bruno@clisp.org>
24741
24742         * doc/posix-functions/close.texi: Mention module 'close' instead of
24743         module 'sys_socket'.
24744
24745 2008-10-09  Bruno Haible  <bruno@clisp.org>
24746
24747         * doc/glibc-headers/sys_ioctl.texi: New file.
24748         * doc/gnulib.texi: Include it.
24749
24750 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24751             Bruno Haible  <bruno@clisp.org>
24752
24753         Combine the two replacements of 'close'.
24754         * lib/sys_socket.in.h (close): Define to a reminder to include
24755         <unistd.h>.
24756         (_gl_close_fd_maybe_socket): New declaration.
24757         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
24758         * lib/winsock.c (close): Remove undefinition.
24759         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
24760         needed for the gnulib module 'close'.
24761         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
24762         define to an error symbol or to a warning, if suitable.
24763         * lib/close.c: Include <sys/socket.h>.
24764         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
24765         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
24766         UNISTD_H_HAVE_WINSOCK2_H.
24767         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
24768         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24769         UNISTD_H_HAVE_WINSOCK2_H.
24770         * modules/sys_socket (Files): Add m4/unistd_h.m4.
24771         (configure.ac): Set a module indicator.
24772         (Makefile.am): Substitute GNULIB_CLOSE.
24773         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
24774         * modules/poll-tests (Depends-on): Add close.
24775         * modules/select-tests (Depends-on): Likewise.
24776
24777 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24778             Bruno Haible  <bruno@clisp.org>
24779
24780         New module 'close'.
24781         * modules/close: New file.
24782         * lib/unistd.in.h (close): Move declaration out of the
24783         FCHDIR_REPLACEMENT scope.
24784         (_gl_unregister_fd): New declaration.
24785         * lib/close.c: New file.
24786         * lib/fchdir.c (rpl_close): Remove function.
24787         * m4/close.m4: New file.
24788         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24789         close.
24790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
24791         REPLACE_CLOSE.
24792         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
24793         REPLACE_CLOSE.
24794         * modules/fchdir (Depends-on): Add close.
24795
24796 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24797             Bruno Haible  <bruno@clisp.org>
24798
24799         * lib/fcntl.in.h (open): Simplify conditionals.
24800         (_gl_register_fd): New declaration.
24801         * lib/fchdir.c (rpl_open): Remove function.
24802         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
24803         also.
24804         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
24805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24806         open.
24807
24808 2008-10-09  Jim Meyering  <meyering@redhat.com>
24809
24810         GNUmakefile: use the more name-space-friendly "_version"
24811         * top/GNUmakefile (_dummy): Update.
24812         (_version): Rename from "version".
24813
24814 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24815             Bruno Haible  <bruno@clisp.org>
24816
24817         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
24818         rpl_close.
24819         (_gl_register_fd): New function, extracted from rpl_open.
24820         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
24821         (rpl_open, rpl_opendir): Use _gl_register_fd.
24822
24823 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24824
24825         Fix organization of 'open' replacement.
24826         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
24827         (gl_FUNC_OPEN): Use it.
24828         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
24829
24830 2008-10-08  Bruno Haible  <bruno@clisp.org>
24831
24832         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
24833
24834 2008-10-08  Simon Josefsson  <simon@josefsson.org>
24835
24836         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
24837         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
24838         listen).
24839
24840 2008-10-08  Eric Blake  <ebb9@byu.net>
24841
24842         GNUmakefile: add 'make version' target
24843         * top/GNUmakefile (_curr-ver): Split version update rules...
24844         (version): ...into a target.
24845
24846 2008-10-07  Bruno Haible  <bruno@clisp.org>
24847
24848         Use a more portable replacement expression for -0.0L.
24849         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
24850         instead of -0.0L. Fix m4 quotation.
24851
24852         * tests/test-signbit.c: Include <float.h>.
24853         (minus_zero): New variable.
24854         (test_signbitl): Use minus_zero instead of -zero.
24855         * modules/signbit-tests (Depends-on): Add float.
24856
24857         * tests/test-ceill.c: Include <float.h>.
24858         (zero): Remove variable.
24859         (minus_zero): New variable.
24860         (main): Use minus_zero instead of -zero.
24861         * modules/ceill-tests (Depends-on): Add float.
24862
24863         * tests/test-floorl.c: Include <float.h>.
24864         (zero): Remove variable.
24865         (minus_zero): New variable.
24866         (main): Use minus_zero instead of -zero.
24867         * modules/floorl-tests (Depends-on): Add float.
24868
24869         * tests/test-roundl.c: Include <float.h>.
24870         (zero): Remove variable.
24871         (minus_zero): New variable.
24872         (main): Use minus_zero instead of -zero.
24873         * modules/roundl-tests (Depends-on): Add float.
24874
24875         * tests/test-truncl.c: Include <float.h>.
24876         (zero): Remove variable.
24877         (minus_zero): New variable.
24878         (main): Use minus_zero instead of -zero.
24879         * modules/truncl-tests (Depends-on): Add float.
24880
24881         * tests/test-frexpl.c (zero): Remove variable.
24882         (minus_zero): New variable.
24883         (main): Use minus_zero instead of -zero.
24884         * modules/frexpl-tests (Depends-on): Add float.
24885
24886         * tests/test-isnan.c (zerol): Remove variable.
24887         (minus_zerol): New variable.
24888         (test_long_double): Use minus_zerol instead of -zerol.
24889         * modules/isnan-tests (Depends-on): Add float.
24890
24891         * tests/test-isnanl.h (zero): Remove variable.
24892         (minus_zero): New variable.
24893         (main): Use minus_zero instead of -zero.
24894         * modules/isnanl-nolibm-tests (Depends-on): Add float.
24895         * modules/isnanl-tests (Depends-on): Add float.
24896
24897         * tests/test-ldexpl.c (zero): Remove variable.
24898         (minus_zero): New variable.
24899         (main): Use minus_zero instead of -zero.
24900         * modules/ldexpl-tests (Depends-on): Add float.
24901
24902         * tests/test-snprintf-posix.h (zerol): Remove variable.
24903         (minus_zerol): New variable.
24904         (test_function): Use minus_zerol instead of -zerol.
24905         * modules/snprintf-posix-tests (Depends-on): Add float.
24906         * modules/vsnprintf-posix-tests (Depends-on): Add float.
24907
24908         * tests/test-sprintf-posix.h (zerol): Remove variable.
24909         (minus_zerol): New variable.
24910         (test_function): Use minus_zerol instead of -zerol.
24911         * modules/sprintf-posix-tests (Depends-on): Add float.
24912         * modules/vsprintf-posix-tests (Depends-on): Add float.
24913
24914         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
24915         (minus_zerol): New variable.
24916         (test_function): Use minus_zerol instead of -zerol.
24917         * modules/vasnprintf-posix-tests (Depends-on): Add float.
24918
24919         * tests/test-vasprintf-posix.c (zerol): Remove variable.
24920         (minus_zerol): New variable.
24921         (test_function): Use minus_zerol instead of -zerol.
24922         * modules/vasprintf-posix-tests (Depends-on): Add float.
24923
24924 2008-10-07  Simon Josefsson  <simon@josefsson.org>
24925
24926         * MODULES.html.sh (Support for building documentation): Mention
24927         pmccabe2html.  Sort entries.
24928
24929         Add pmccabe2html module, from gnupdf.
24930         * build-aux/pmccabe.css: New file.
24931         * build-aux/pmccabe2html: New file.
24932         * m4/pmccabe2html.m4: New file.
24933         * modules/pmccabe2html: New file.
24934
24935 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
24936
24937         flock: new module
24938         * MODULES.html.sh: Add to list of modules.
24939         * lib/flock.c: flock implementation for Windows and Unix systems
24940         which have fcntl.
24941         * doc/glibc-functions/flock.texi: Update documentation.
24942         * lib/sys_file.in.h: <sys/file.h> header file.
24943         * m4/flock.m4: M4 macros.
24944         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
24945         * modules/flock: flock module.
24946         * modules/flock-tests: flock tests module.
24947         * modules/sys_file: sys/file.h module.
24948         * tests/test-flock.c: test suite for flock.
24949
24950 2008-10-06  Jim Meyering  <meyering@redhat.com>
24951
24952         bootstrap: check for LT_INIT more portably still ;-)
24953         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
24954         Spotted by Bruno Haible.
24955
24956 2008-10-06  Eric Blake  <ebb9@byu.net>
24957
24958         test-signbit: avoid tripping Irix cc bug on -0.0L
24959         * tests/test-signbit.c (minus_zerol): Delete, and replace with
24960         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
24961         entire testsuite consistent and avoids an Irix 6.2 bug.
24962
24963 2008-10-05  Bruno Haible  <bruno@clisp.org>
24964             Jim Meyering  <jim@meyering.net>
24965
24966         Add an option for ignoring EPIPE during close_stdout.
24967         * lib/closeout.h: Include <stdbool.h>.
24968         (close_stdout_set_ignore_EPIPE): New declaration.
24969         * lib/closeout.c: Include <stdbool.h>.
24970         (ignore_EPIPE): New variable.
24971         (close_stdout_set_ignore_EPIPE): New function.
24972         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
24973         * lib/close-stream.c (close_stream): Mention the possible EPIPE
24974         failure.
24975         * modules/closeout (Depends-on): Add stdbool.
24976
24977 2008-10-05  Bruno Haible  <bruno@clisp.org>
24978
24979         * modules/accept: New file.
24980         * modules/bind: New file.
24981         * modules/connect: New file.
24982         * modules/getpeername: New file.
24983         * modules/getsockname: New file.
24984         * modules/getsockopt: New file.
24985         * modules/listen: New file.
24986         * modules/recv: New file.
24987         * modules/recvfrom: New file.
24988         * modules/send: New file.
24989         * modules/sendto: New file.
24990         * modules/setsockopt: New file.
24991         * modules/socket: New file.
24992         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
24993         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24994         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
24995         the particular module is requested. Add a link warning when the
24996         particular module is not requested.
24997         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
24998         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
24999         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
25000         the particular module is requested.
25001         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
25002         gl_SYS_SOCKET_H_DEFAULTS): New macros.
25003         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
25004         * modules/sys_socket (Depends-on): Add link-warning.
25005         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
25006         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
25007         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
25008         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
25009         GL_LINK_WARNING.
25010         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
25011         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
25012         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
25013         * doc/posix-functions/getpeername.texi: Mention the new module
25014         'getpeername'.
25015         * doc/posix-functions/getsockname.texi: Mention the new module
25016         'getsockname'.
25017         * doc/posix-functions/getsockopt.texi: Mention the new module
25018         'getsockopt'.
25019         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
25020         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
25021         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
25022         * doc/posix-functions/send.texi: Mention the new module 'send'.
25023         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
25024         * doc/posix-functions/setsockopt.texi: Mention the new module
25025         'setsockopt'.
25026         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
25027         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
25028         listen, connect, accept.
25029         * modules/select-tests (Depends-on): Likewise.
25030
25031 2008-10-05  Bruno Haible  <bruno@clisp.org>
25032
25033         * lib/winsock.c (strerror): Remove unused #undef.
25034         (rpl_close): Remove unused local variable.
25035
25036         * modules/sys_socket (Depends-on); Add errno.
25037
25038 2008-10-05  Bruno Haible  <bruno@clisp.org>
25039
25040         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
25041         (select): Add a link warning when the 'select' module is not used.
25042         * modules/sys_select (Depends-on): Add link-warning.
25043         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
25044         Suggested by Paolo Bonzini.
25045
25046 2008-10-05  Jim Meyering  <meyering@redhat.com>
25047
25048         bootstrap: check for LT_INIT more portably
25049         * build-aux/bootstrap: Avoid using grep -E, since it's not
25050         portable enough.  Suggestion from Bruno Haible.
25051
25052 2008-10-05  Bruno Haible  <bruno@clisp.org>
25053
25054         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
25055         as being fixed by gnulib.
25056
25057 2008-10-05  Bruno Haible  <bruno@clisp.org>
25058
25059         * modules/select-tests: New file, mostly copied from
25060         modules/sys_select-tests.
25061         * tests/test-select.c: New file, mostly copied from
25062         tests/test-sys_select.c.
25063         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
25064         * modules/sys_select-tests (Depends-on): Remove all dependencies.
25065         (Makefile.am): Remove test_sys_select_LDADD.
25066
25067         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
25068         to an undefined symbol, for an error message.
25069         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
25070         (gl_SYS_SELECT_H_DEFAULTS): New macro.
25071         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
25072         winsock-select.c here.
25073         * modules/sys_select (Files): Remove lib/winsock-select.c.
25074         (Depends-on): Remove alloca.
25075         (Makefile.am): Substitute GNULIB_SELECT.
25076         * modules/select: New file.
25077         * doc/posix-functions/select.texi: Update.
25078
25079 2008-10-05  Bruno Haible  <bruno@clisp.org>
25080
25081         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
25082         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
25083         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
25084         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
25085         getdtablesize.
25086         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
25087         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
25088
25089 2008-10-05  Bruno Haible  <bruno@clisp.org>
25090
25091         * modules/getdtablesize-tests: New file.
25092         * tests/test-getdtablesize.c: New file.
25093
25094         New module 'getdtablesize'.
25095         * lib/unistd.in.h (getdtablesize): New declaration.
25096         * lib/getdtablesize.c: New file.
25097         * m4/getdtablesize.m4: New file.
25098         * modules/getdtablesize: New file.
25099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25100         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
25101         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
25102         HAVE_GETDTABLESIZE.
25103         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
25104
25105 2008-10-05  Bruno Haible  <bruno@clisp.org>
25106
25107         * modules/sched (Makefile.am): Fix typo.
25108         Reported by Simon Josefsson.
25109
25110 2008-10-05  Jim Meyering  <meyering@redhat.com>
25111
25112         bootstrap: check for LT_INIT, too
25113         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
25114         are deprecated.  Suggestion from Ralf Wildenhues.
25115
25116 2008-10-05  Bruno Haible  <bruno@clisp.org>
25117
25118         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
25119         overriding them by ours.
25120         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
25121
25122 2008-10-05  Jim Meyering  <meyering@redhat.com>
25123
25124         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
25125         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
25126         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
25127
25128 2008-10-04  Bruno Haible  <bruno@clisp.org>
25129
25130         * modules/dup2 (License): Change to LGPLv2+.
25131         * modules/sleep (License): Likewise.
25132         * modules/perror (License): Likewise.
25133         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
25134         Blake.
25135         * modules/signal (License): Likewise.
25136         * modules/sigprocmask (License): Likewise.
25137         * modules/raise (License): Change to LGPLv2+, with approval by Jim
25138         Meyering.
25139
25140 2008-10-04  Bruno Haible  <bruno@clisp.org>
25141
25142         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
25143         Reported by Rainer Tammer <tammer@tammer.net>.
25144
25145 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
25146             Bruno Haible  <bruno@clisp.org>
25147
25148         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
25149         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
25150         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
25151
25152 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
25153
25154         filevercmp: new module
25155         * lib/filevercmp.h: New function filevercmp comparing version strings.
25156         * lib/filevercmp.c: Implementation of filevercmp function.
25157         * modules/filevercmp: Module metadata.
25158         * tests/test-filevercmp.c: Unit test for new module.
25159         * modules/filevercmp-tests: Unit test metadata.
25160         * MODULES.html.sh: Add filevercmp module.
25161
25162 2008-10-03  Bruno Haible  <bruno@clisp.org>
25163
25164         * lib/c-ctype.h: Add comment.
25165         Reported by Jim Meyering.
25166
25167 2008-10-02  Bruno Haible  <bruno@clisp.org>
25168
25169         * modules/posix_spawn-internal (Depends-on): Add 'open'.
25170
25171 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25172
25173         * build-aux/bootstrap: Allow renaming bootstrap, and change the
25174         name of bootstrap.conf accordingly.
25175
25176 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25177
25178         * build-aux/bootstrap: Install git-merge-changelog configuration
25179         items into .gitconfig if needed.
25180
25181 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25182
25183         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
25184         git repository, and initialize/update it accordingly.
25185
25186 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
25187
25188         * modules/fsync-tests: New file.
25189         * tests/test-fsync.c: New file.
25190
25191         New module 'fsync'.
25192         * lib/fsync.c: New file.
25193         * m4/fsync.m4: New file.
25194         * modules/fsync: New file.
25195         * lib/unistd.in.h (fsync): New declaration.
25196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
25197         GNULIB_FSYNC and HAVE_FSYNC.
25198         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
25199         * MODULES.html.sh (posix_functions): Add fsync.
25200         * doc/posix-functions/fsync.texi: Mention the new module.
25201
25202 2008-10-02  Jim Meyering  <meyering@redhat.com>
25203
25204         fts.c: sync with similar code from coreutils' remove.c
25205         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
25206         Guard also with "#if defined __linux__", since for now at least,
25207         this code is Linux-kernel-specific.
25208
25209 2008-10-02  Jim Meyering  <meyering@redhat.com>
25210
25211         fts: bug fixes
25212         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
25213         Include <sys/vfs.h>, not <sys/statfs.h>.
25214
25215         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
25216         Include <sys/vfs.h>, not <sys/statfs.h>.
25217
25218 2008-10-01  Bruno Haible  <bruno@clisp.org>
25219
25220         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
25221         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
25222         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
25223         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
25224         * doc/posix-functions/posix_spawnp.texi: Likewise.
25225         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
25226         whether posix_spawn actually works.
25227         * m4/pipe.m4 (gl_PIPE): Likewise.
25228         * modules/execute (Files): Add m4/posix_spawn.m4.
25229         * modules/pipe (Files): Add m4/posix_spawn.m4.
25230         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
25231
25232 2008-10-01  Jim Meyering  <meyering@redhat.com>
25233
25234         remove trailing spaces
25235         * NEWS: Likewise.
25236         * lib/poll.c (poll): Likewise.
25237         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
25238         * lib/winsock.c (rpl_close): Likewise.
25239         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
25240         * modules/yield: Likewise.
25241         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
25242         * tests/test-sys_select.c (connect_to_socket): Likewise.
25243
25244         fts.c: adjust a new interface to be more generally useful
25245         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
25246         (fts_build): Adjust caller.
25247
25248 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25249
25250         * modules/cond-tests: New file.
25251         * tests/test-cond.c: New file.
25252
25253 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25254             Bruno Haible  <bruno@clisp.org>
25255
25256         * modules/cond (Dependencies): Add errno, time.
25257         * lib/glthread/cond.h: Include <time.h>.
25258         (gl_cond_define, gl_cond_define_initialized): Use the same definition
25259         across platforms.
25260
25261 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25262             Bruno Haible  <bruno@clisp.org>
25263
25264         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
25265
25266 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25267             Bruno Haible  <bruno@clisp.org>
25268
25269         * modules/tls-tests (Depends-on): Add thread, yield.
25270         (configure.ac): Remove all checks.
25271         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
25272         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25273         gl_thread_self): Remove definitions. Include glthread/thread.h and
25274         glthread/yield.h instead.
25275         (test_tls): Pass an additional NULL argument to gl_thread_join.
25276
25277 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25278             Bruno Haible  <bruno@clisp.org>
25279
25280         * modules/lock-tests (Depends-on): Add thread, yield.
25281         (configure.ac): Remove all checks.
25282         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
25283         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25284         gl_thread_self): Remove definitions. Include glthread/thread.h and
25285         glthread/yield.h instead.
25286         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
25287         additional NULL argument to gl_thread_join.
25288
25289 2008-09-30  Bruno Haible  <bruno@clisp.org>
25290
25291         Fix the Win32 implementation of the 'thread' module.
25292         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
25293         pointer type.
25294         (gl_thread_self): Invoke gl_thread_self_func.
25295         (gl_thread_self_func): New declaration.
25296         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
25297         (do_init_self_key, init_self_key): New functions.
25298         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
25299         Remove some fields.
25300         (running_threads, running_lock): Remove variables.
25301         (get_current_thread_handle): New function.
25302         (gl_thread_self_func, wrapper_func, glthread_create_func,
25303         glthread_join_func, gl_thread_exit_func): Largely rewritten and
25304         simplified.
25305
25306 2008-09-30  Bruno Haible  <bruno@clisp.org>
25307
25308         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
25309         files.
25310
25311 2008-09-30  Jim Meyering  <meyering@redhat.com>
25312
25313         fts.m4: correct the test for statfs.f_type
25314         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
25315         when checking for statfs.f_type.
25316
25317 2008-09-15  Simon Josefsson  <simon@josefsson.org>
25318
25319         tests: avoid some compiler warnings
25320         * tests/test-memchr.c (main): Pass NULL indirectly.
25321         * tests/test-getdate.c (main): Remove unused variable 'ret'.
25322
25323 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
25324
25325         getdate.y: disallow countable dayshifts like "4 yesterday ago"
25326         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
25327         exactly specified dayshifts.
25328         (dayshift): New rule.
25329         (rel): Add dayshift.
25330         (relative_time_table) [tomorrow, yesterday, today, now]:
25331         Use tDAY_SHIFT in place of tDAY_UNIT.
25332         * tests/test-getdate.c: Add tests for now-disallowed countable
25333         dayshifts, e.g., "4 yesterday ago".
25334
25335 2008-09-29  Bruno Haible  <bruno@clisp.org>
25336
25337         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
25338         * tests/test-posix_spawn1.in.sh: Renamed from
25339         tests/test-posix_spawn.in.sh.
25340         * tests/test-posix_spawn2.c: New file.
25341         * tests/test-posix_spawn2.in.sh: New file.
25342         * modules/posix_spawnp-tests (Files): Update.
25343         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
25344
25345 2008-09-29  Bruno Haible  <bruno@clisp.org>
25346
25347         Propagate effects of putenv/setenv/unsetenv to child processes.
25348         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
25349         * lib/pipe.c (create_pipe): Likewise.
25350
25351 2008-09-29  Bruno Haible  <bruno@clisp.org>
25352
25353         Enable use of shell scripts as executables in mingw.
25354         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
25355         run the program as a shell script.
25356         * lib/pipe.c (create_pipe): Likewise.
25357         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
25358         resulting array.
25359
25360 2008-09-29  Eric Blake  <ebb9@byu.net>
25361
25362         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
25363
25364 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
25365
25366         * doc/posix-functions/accept.texi: Update mingw problems.
25367         * doc/posix-functions/bind.texi: Update mingw problems.
25368         * doc/posix-functions/close.texi: Update mingw problems.
25369         * doc/posix-functions/connect.texi: Update mingw problems.
25370         * doc/posix-functions/getpeername.texi: Update mingw problems.
25371         * doc/posix-functions/getsockname.texi: Update mingw problems.
25372         * doc/posix-functions/getsockopt.texi: Update mingw problems.
25373         * doc/posix-functions/ioctl.texi: Update mingw problems.
25374         * doc/posix-functions/listen.texi: Update mingw problems.
25375         * doc/posix-functions/recv.texi: Update mingw problems.
25376         * doc/posix-functions/recvfrom.texi: Update mingw problems.
25377         * doc/posix-functions/select.texi: Update mingw problems.
25378         * doc/posix-functions/send.texi: Update mingw problems.
25379         * doc/posix-functions/sendto.texi: Update mingw problems.
25380         * doc/posix-functions/setsockopt.texi: Update mingw problems.
25381         * doc/posix-functions/socket.texi: Update mingw problems.
25382
25383 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
25384             Bruno Haible  <bruno@clisp.org>
25385
25386         * lib/sys_select.in.h: Include sys/time.h.
25387         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
25388         * modules/sys_select: Depend on sys_time.
25389         * tests/test-sys_select.c: Test that sys/select.h defines struct
25390         timeval fully.
25391
25392 2008-09-29  Bruno Haible  <bruno@clisp.org>
25393
25394         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
25395         * lib/sys_select.in.h: Likewise.
25396
25397 2008-09-29  Bruno Haible  <bruno@clisp.org>
25398
25399         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
25400
25401 2008-09-29  Bruno Haible  <bruno@clisp.org>
25402
25403         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
25404         Set LIBSOCKET instead of augmenting LIBS.
25405         * modules/sockets (Link): New section.
25406         * modules/sockets-tests (test_sockets_LDADD): New variable.
25407         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
25408         * modules/poll-tests (test_poll_LDADD): New variable.
25409         * NEWS: Document the change.
25410
25411 2008-09-29  Bruno Haible  <bruno@clisp.org>
25412
25413         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
25414         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
25415         ARPA_INET_H directly.
25416         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25417
25418 2008-09-28  Bruno Haible  <bruno@clisp.org>
25419
25420         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
25421         from gl_HEADER_SYS_SOCKET.
25422         (gl_HEADER_SYS_SOCKET): Invoke it.
25423         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25424
25425 2008-09-28  Bruno Haible  <bruno@clisp.org>
25426
25427         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
25428         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
25429         Needed on OSF/1 4.0.
25430
25431 2008-09-28  Bruno Haible  <bruno@clisp.org>
25432
25433         Override open more carefully.
25434         * lib/open.c (orig_open): New function.
25435         (rpl_open): Use orig_open instead of open.
25436         * lib/fcntl.in.h: Add special invocation convention.
25437         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
25438         (gl_FUNC_OPEN): Invoke it.
25439
25440         Override freopen more carefully.
25441         * lib/freopen.c (orig_freopen): New function.
25442         (rpl_freopen): Use orig_freopen instead of freopen.
25443         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
25444         (gl_FUNC_FREOPEN): Invoke it.
25445
25446         Override fopen more carefully.
25447         * lib/fopen.c (orig_fopen): New function.
25448         (rpl_fopen): Use orig_fopen instead of fopen.
25449         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
25450         (gl_FUNC_FOPEN): Invoke it.
25451         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
25452
25453 2008-09-28  Bruno Haible  <bruno@clisp.org>
25454
25455         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
25456         SIGPIPE.
25457
25458 2008-09-28  Bruno Haible  <bruno@clisp.org>
25459
25460         * tests/test-sigaction.c (handler, main): Disable the check whether
25461         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
25462         glibc systems with LinuxThreads.
25463
25464 2008-09-28  Bruno Haible  <bruno@clisp.org>
25465
25466         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
25467
25468         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
25469         with AIX xlc.
25470         * lib/fcntl.in.h (open): Likewise.
25471         Reported by Rainer Tammer <tammer@tammer.net>.
25472
25473 2008-09-28  Bruno Haible  <bruno@clisp.org>
25474
25475         * modules/posix_spawnp-tests: New file.
25476         * tests/test-posix_spawn.c: New file.
25477         * tests/test-posix_spawn.in.sh: New file.
25478
25479         New module 'posix_spawnp'.
25480         * modules/posix_spawnp: New file.
25481         * lib/spawnp.c: New file, from GNU libc with modifications.
25482         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
25483
25484         New module 'posix_spawn'.
25485         * modules/posix_spawn: New file.
25486         * lib/spawn.c: New file, from GNU libc with modifications.
25487         * doc/posix-functions/posix_spawn.texi: Mention the new module.
25488
25489         New module 'posix_spawnattr_destroy'.
25490         * modules/posix_spawnattr_destroy: New file.
25491         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
25492         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
25493         module.
25494
25495         New module 'posix_spawnattr_setsigmask'.
25496         * modules/posix_spawnattr_setsigmask: New file.
25497         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
25498         modifications.
25499         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
25500         new module.
25501
25502         New module 'posix_spawnattr_getsigmask'.
25503         * modules/posix_spawnattr_getsigmask: New file.
25504         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
25505         modifications.
25506         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
25507         new module.
25508
25509         New module 'posix_spawnattr_setsigdefault'.
25510         * modules/posix_spawnattr_setsigdefault: New file.
25511         * lib/spawnattr_setdefault.c: New file, from GNU libc with
25512         modifications.
25513         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
25514         new module.
25515
25516         New module 'posix_spawnattr_getsigdefault'.
25517         * modules/posix_spawnattr_getsigdefault: New file.
25518         * lib/spawnattr_getdefault.c: New file, from GNU libc with
25519         modifications.
25520         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
25521         new module.
25522
25523         New module 'posix_spawnattr_setschedpolicy'.
25524         * modules/posix_spawnattr_setschedpolicy: New file.
25525         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
25526         modifications.
25527         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
25528         new module.
25529
25530         New module 'posix_spawnattr_getschedpolicy'.
25531         * modules/posix_spawnattr_getschedpolicy: New file.
25532         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
25533         modifications.
25534         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
25535         new module.
25536
25537         New module 'posix_spawnattr_setschedparam'.
25538         * modules/posix_spawnattr_setschedparam: New file.
25539         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
25540         modifications.
25541         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
25542         new module.
25543
25544         New module 'posix_spawnattr_getschedparam'.
25545         * modules/posix_spawnattr_getschedparam: New file.
25546         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
25547         modifications.
25548         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
25549         new module.
25550
25551         New module 'posix_spawnattr_setpgroup'.
25552         * modules/posix_spawnattr_setpgroup: New file.
25553         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
25554         modifications.
25555         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
25556         module.
25557
25558         New module 'posix_spawnattr_getpgroup'.
25559         * modules/posix_spawnattr_getpgroup: New file.
25560         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
25561         modifications.
25562         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
25563         module.
25564
25565         New module 'posix_spawnattr_setflags'.
25566         * modules/posix_spawnattr_setflags: New file.
25567         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
25568         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
25569         module.
25570
25571         New module 'posix_spawnattr_getflags'.
25572         * modules/posix_spawnattr_getflags: New file.
25573         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
25574         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
25575         module.
25576
25577         New module 'posix_spawnattr_init'.
25578         * modules/posix_spawnattr_init: New file.
25579         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
25580         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
25581         module.
25582
25583         New module 'posix_spawn_file_actions_destroy'.
25584         * modules/posix_spawn_file_actions_destroy: New file.
25585         * lib/spawn_faction_destroy.c: New file, from GNU libc with
25586         modifications.
25587         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
25588         the new module.
25589
25590         New module 'posix_spawn_file_actions_addopen'.
25591         * modules/posix_spawn_file_actions_addopen: New file.
25592         * lib/spawn_faction_addopen.c: New file, from GNU libc with
25593         modifications.
25594         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
25595         the new module.
25596
25597         New module 'posix_spawn_file_actions_adddup2'.
25598         * modules/posix_spawn_file_actions_adddup2: New file.
25599         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
25600         modifications.
25601         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
25602         the new module.
25603
25604         New module 'posix_spawn_file_actions_addclose'.
25605         * modules/posix_spawn_file_actions_addclose: New file.
25606         * lib/spawn_faction_addclose.c: New file, from GNU libc with
25607         modifications.
25608         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
25609         the new module.
25610
25611         New module 'posix_spawn_file_actions_init'.
25612         * modules/posix_spawn_file_actions_init: New file.
25613         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
25614         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
25615         new module.
25616
25617         New module 'posix_spawn-internal'.
25618         * modules/posix_spawn-internal: New file.
25619         * lib/spawn_int.h: New file, from GNU libc with modifications.
25620         * lib/spawni.c: New file, from GNU libc with modifications.
25621         * m4/posix_spawn.m4: New file.
25622
25623         New module 'spawn'.
25624         * modules/spawn: New file.
25625         * lib/spawn.in.h: New file, from GNU libc with modifications.
25626         * m4/spawn_h.m4: New file.
25627         * doc/posix-headers/spawn.texi: Mention the new module.
25628
25629 2008-09-28  Bruno Haible  <bruno@clisp.org>
25630
25631         * modules/sched-tests: New file.
25632         * tests/test-sched.c: New file.
25633
25634         New module 'sched'.
25635         * modules/sched: New file.
25636         * lib/sched.in.h: New file.
25637         * m4/sched_h.m4: New file.
25638         * doc/posix-headers/sched.texi: Mention the new module.
25639
25640 2008-09-27  Eric Blake  <ebb9@byu.net>
25641
25642         Fix previous patch, and tweak references to $0.
25643         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
25644         (func_version, func_gnulib_dir): Don't call this program
25645         gnulib-tool.
25646         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
25647         with using $0 in function.
25648         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
25649         (func_fatal_error): Reuse the name the user invoked us with.
25650
25651 2008-09-27  Bruno Haible  <bruno@clisp.org>
25652
25653         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
25654         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
25655         (gl_ICONV_H): Not here.
25656         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25657         instead of assigning ICONV_H directly.
25658
25659         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
25660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
25661         WCHAR_H directly.
25662
25663 2008-09-27  Bruno Haible  <bruno@clisp.org>
25664
25665         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
25666         * modules/arpa_inet (Depends-on): Add link-warning.
25667         (Makefile.am): Insert the definition of GL_LINK-WARNING.
25668         * modules/unistd (Makefile.am): Likewise.
25669
25670 2008-09-26  Bruno Haible  <bruno@clisp.org>
25671
25672         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
25673         variables.
25674         (func_version): Essentially copied from gnulib-tool.
25675         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
25676         func_readlink): Copied from gnulib-tool.
25677
25678 2008-09-26  Bruno Haible  <bruno@clisp.org>
25679
25680         * gnulib-tool (func_version): Change directory to $gnulib_dir before
25681         invoking git-version-gen.
25682
25683 2008-09-26  Bruno Haible  <bruno@clisp.org>
25684
25685         * posix-modules: Update to directory names changed on 2008-01-19.
25686         Remove commas in output before splitting into words. No more need to
25687         avoid 'ftruncate' since 2007-02-19.
25688
25689 2008-09-26  Bruno Haible  <bruno@clisp.org>
25690
25691         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
25692
25693 2008-09-26  Bruno Haible  <bruno@clisp.org>
25694
25695         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
25696         * modules/fwriteerror (Depends-on): Add errno.
25697
25698 2008-09-26  Bruno Haible  <bruno@clisp.org>
25699
25700         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
25701         * tests/test-vc-list-files-cvs.sh: Likewise.
25702
25703 2008-09-26  Bruno Haible  <bruno@clisp.org>
25704
25705         * doc/posix-headers/sys_resource.texi: Reorder items.
25706
25707 2008-09-26  Jim Meyering  <meyering@redhat.com>
25708
25709         fts: tweak inode comparison function
25710         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
25711         inode numbers, as documented.
25712
25713         fts: sort dirent entries on inode number before traversing
25714         This avoids a quadratic, seek-related performance penalty when
25715         operating on a directory containing many entries (measurable at 10k;
25716         3.5 hours at 2 million entries with a cold cache) on certain types
25717         of file systems, including ext3 and ext4, but not tmpfs.
25718         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
25719         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
25720         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
25721         (fs_handles_readdir_ordered_dirents_efficiently): New function.
25722         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
25723         (fts_build): Set the stat.st_ino member from D_INO.
25724         If it is likely to be useful, sort dirent entries on inode number.
25725
25726         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
25727         and the struct statfs.f_type member.
25728         * modules/fts (Depends-on): Add d-ino.
25729
25730 2008-09-26  Bruno Haible  <bruno@clisp.org>
25731
25732         * modules/sigpipe-die (Depends-on): Add sigpipe.
25733
25734         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
25735         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
25736         and GNULIB_STDIO_H_SIGPIPE are set.
25737         * lib/stdio-write.c: New file.
25738         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
25739         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25740         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25741         REPLACE_STDIO_WRITE_FUNCS.
25742         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
25743         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25744         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25745         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25746         * modules/stdio (Files): Add lib/stdio-write.c.
25747         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
25748         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25749         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25750         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25751         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
25752         REPLACE_FPRINTF_POSIX.
25753         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
25754         REPLACE_PRINTF_POSIX.
25755         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
25756         REPLACE_VFPRINTF_POSIX.
25757         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
25758         REPLACE_VPRINTF_POSIX.
25759         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
25760         SIGPIPE issue.
25761         * doc/posix-functions/fputc.texi: Likewise.
25762         * doc/posix-functions/fputs.texi: Likewise.
25763         * doc/posix-functions/fwrite.texi: Likewise.
25764         * doc/posix-functions/printf.texi: Likewise.
25765         * doc/posix-functions/putc.texi: Likewise.
25766         * doc/posix-functions/putchar.texi: Likewise.
25767         * doc/posix-functions/puts.texi: Likewise.
25768         * doc/posix-functions/vfprintf.texi: Likewise.
25769         * doc/posix-functions/vprintf.texi: Likewise.
25770
25771         * modules/safe-write (Depends-on): Add write.
25772
25773         * modules/sigpipe-tests: New file.
25774         * tests/test-sigpipe.c: New file.
25775         * tests/test-sigpipe.sh: New file.
25776
25777         * modules/write: New file.
25778         * lib/unistd.in.h: Include <sys/types.h>.
25779         (write): New declaration.
25780         * lib/write.c: New file.
25781         * m4/write.m4: New file.
25782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25783         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
25784         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
25785         GNULIB_WRITE, REPLACE_WRITE.
25786         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
25787         and the SIGPIPE issue.
25788
25789         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
25790         (raise): New declaration.
25791         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
25792         (ext_signal): New function.
25793         (rpl_raise): New function.
25794         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
25795         GNULIB_SIGNAL_H_SIGPIPE.
25796         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
25797         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
25798
25799         * modules/sigpipe: New file.
25800         * m4/sigpipe.m4: New file.
25801
25802 2008-09-25  Derek Price  <derek@ximbiot.com>
25803             Bruno Haible  <bruno@clisp.org>
25804
25805         * gnulib-tool (func_import): Report all license incompatibilities, not
25806         just the first one.
25807
25808 2008-09-25  Bruno Haible  <bruno@clisp.org>
25809
25810         * gnulib-tool (func_import): When computing the edits, consider not
25811         only the Makefile.ams that exist but also those that will be generated.
25812
25813 2008-09-25  Simon Josefsson  <simon@josefsson.org>
25814
25815         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
25816         fixes gnulib-tool --test warning about duplicate dependency.
25817
25818 2008-09-25  Bruno Haible  <bruno@clisp.org>
25819
25820         * gnulib-tool: Don't ask the user to perform edits in the generated
25821         Makefile.ams.
25822         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
25823         apply to the Makefile.am being generated.
25824         (func_emit_tests_Makefile_am): Execute edits that apply to the
25825         Makefile.am being generated.
25826         (func_import): Setup list of Makefile.am edits before emitting the
25827         Makefile.ams, not at the end.
25828         (func_create_testdir): Update.
25829         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25830
25831 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25832
25833         * gnulib-tool (func_import): Store the --tests-base option in the
25834         comment in gnulib-cache.m4.
25835
25836 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
25837
25838         * NEWS: Document increased portability that sys_select now provides.
25839
25840         * lib/sys_select.in.h: Install select wrapper.
25841         * lib/sys_socket.in.h: Use more descriptive name when there is no
25842         select wrapper.
25843         * lib/winsock-select.c: New.
25844         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
25845         Require gl_HEADER_SYS_SOCKET.
25846         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
25847         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
25848         * tests/test-sys_select.c: Add functional tests.
25849
25850 2008-09-24  Eric Blake  <ebb9@byu.net>
25851
25852         open, fopen: close fd leak in last patch
25853         * lib/open.c (rpl_open): Close fd before returning error.
25854         * lib/fopen.c (rpl_fopen): Close fd before returning error.
25855         * doc/posix-functions/open.texi (open): Document that Irix also
25856         has the bug.
25857         * doc/posix-functions/fopen.texi (fopen): Likewise.
25858         Reported by Paolo Bonzini.
25859
25860 2008-09-24  Bruno Haible  <bruno@clisp.org>
25861
25862         Ensure that a filename ending in a slash cannot be used to access a
25863         non-directory.
25864         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
25865         to check whether it's really a directory.
25866         * lib/fopen.c: Include fcntl.h, unistd.h.
25867         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
25868         and fdopen().
25869         * modules/fopen (Depends-on): Add unistd.
25870         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
25871         * tests/test-fopen.c (main): Likewise.
25872         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
25873         * doc/posix-functions/fopen.texi: Likewise.
25874         Reported by Eric Blake.
25875
25876 2008-09-23  Eric Blake  <ebb9@byu.net>
25877
25878         c-stack: avoid compiler optimizations when provoking overflow
25879         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
25880         recursion harder to optimize, to ensure a stack overflow occurs.
25881         * tests/test-c-stack.c (recurse): Likewise.
25882         Borrowed from libsigsegv.
25883
25884         c-stack: work around Irix sigaltstack bug
25885         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
25886         whether sigaltstack uses wrong end of stack_t (copied in part from
25887         libsigsegv).
25888         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
25889         Irix bug, without requiring an over-allocation.
25890         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
25891         bug.
25892
25893         fopen: document mingw bug on directories
25894         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
25895         not allowing a stream visiting a directory, even though reading
25896         from such a stream is not portable.
25897
25898 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25899
25900         * lib/poll.c: Rewrite.
25901         * modules/poll: Depend on alloca.
25902
25903 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25904
25905         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
25906         instead define prototypes for a full set of wrappers.  Ensure
25907         that Cygwin does not use the compatibility code, which is only
25908         for MinGW.
25909         * lib/winsock.c: New.
25910         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
25911         * modules/sys_socket: Add lib/winsock.c.
25912
25913         * modules/poll-tests: Add errno and perror.
25914         * tests/test-poll.c: Use ioctl, not ioctlsocket.
25915
25916 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25917
25918         * tests/test-poll.c: Downgrade minimum needed Winsock version.
25919
25920 2008-09-23  Bruno Haible  <bruno@clisp.org>
25921
25922         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
25923         * doc/glibc-functions/*: Likewise.
25924
25925 2008-09-23  Simon Josefsson  <simon@josefsson.org>
25926
25927         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
25928         success.
25929
25930 2008-09-22  Eric Blake  <ebb9@byu.net>
25931             Bruno Haible  <bruno@clisp.org>
25932
25933         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
25934         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
25935         supply %A but mishandle pseudo-NaN.
25936         Reported by Simon Josefsson.
25937
25938 2008-09-21  Bruno Haible  <bruno@clisp.org>
25939
25940         * tests/test-lock.c (main): Tweak skip message.
25941         * tests/test-tls.c (main): Likewise.
25942
25943 2008-09-21  Bruno Haible  <bruno@clisp.org>
25944
25945         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
25946         whether 'struct sigaction' has sa_sigaction here...
25947         (gl_PREREQ_SIG_HANDLER_H): ... not here.
25948         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
25949
25950 2008-09-21  Bruno Haible  <bruno@clisp.org>
25951
25952         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
25953         section.
25954         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
25955         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
25956         the new section.
25957         (Support for obsolete systems lacking POSIX:2001): New section.
25958         (String handling <string.h>): Move strdup to the new section.
25959         Suggested by Simon Josefsson and Paolo Bonzini.
25960
25961 2008-09-21  Bruno Haible  <bruno@clisp.org>
25962
25963         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
25964         exponents in %e and %g results on 'long double'. Needed for mingw's
25965         improved *printf functions.
25966         * tests/test-vasprintf-posix.c (test_function): Likewise.
25967         * tests/test-snprintf-posix.h (test_function): Likewise.
25968         * tests/test-sprintf-posix.h (test_function): Likewise.
25969         Reported by Eric Blake.
25970
25971 2008-09-21  Bruno Haible  <bruno@clisp.org>
25972
25973         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
25974         * tests/test-sprintf-posix.h (test_function): Likewise.
25975
25976 2008-09-21  Bruno Haible  <bruno@clisp.org>
25977
25978         * modules/getpass (Depends-on): Add strdup-posix.
25979
25980         New module 'strdup-posix'.
25981         * modules/strdup-posix: New file.
25982         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
25983         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
25984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25985         REPLACE_STRDUP.
25986         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
25987         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
25988         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25989         strdup-posix.
25990
25991         * modules/strdup (Depends-on): Remove malloc-posix.
25992
25993 2008-09-20  Bruno Haible  <bruno@clisp.org>
25994
25995         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
25996         Wildenhues.
25997
25998 2008-09-20  Bruno Haible  <bruno@clisp.org>
25999
26000         Ensure that wint_t gets defined on IRIX 5.3.
26001         * lib/wchar.in.h (wint_t): Define if not defined by the system.
26002         * lib/wctype.in.h (wint_t): Likewise.
26003         (__wctype_wint_t): Remove type.
26004         (isw*): Use wint_t instead of __wctype_wint_t.
26005         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
26006         * modules/wchar (Files): Add m4/wint_t.m4.
26007         (Makefile.am): Substitute HAVE_WINT_T.
26008         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
26009         * tests/test-wctype.c: Check that wint_t is defined.
26010         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
26011         * doc/posix-headers/wctype.texi: Likewise.
26012         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26013
26014 2008-09-18  Bruno Haible  <bruno@clisp.org>
26015
26016         * gnulib-tool (func_exit): Update comment.
26017
26018 2008-09-18  Simon Josefsson  <simon@josefsson.org>
26019
26020         * modules/getaddrinfo (Depends-on): Remove strdup, this module
26021         assumes strdup exists and does not depend on strdup to return
26022         ENOMEM on out of memory conditions.
26023
26024 2008-09-18  Bruno Haible  <bruno@clisp.org>
26025
26026         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
26027         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
26028         digits for the exponent.
26029
26030 2008-09-18  Jim Meyering  <meyering@redhat.com>
26031             Bruno Haible  <bruno@clisp.org>
26032
26033         * lib/vasnprintf.c (decimal_point_char): Define also if
26034         NEED_PRINTF_INFINITE_LONG_DOUBLE.
26035
26036 2008-09-16  Bruno Haible  <bruno@clisp.org>
26037         and Eric Blake  <ebb9@byu.net>
26038
26039         vasnprintf: support Irix 5.3
26040         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
26041         that mishandle long double infinity.
26042         Reported by Tom G. Christensen.
26043
26044 2008-09-16  Bruno Haible  <bruno@clisp.org>
26045
26046         * doc/glibc-functions/scandir.texi: Mention the function is missing on
26047         Solaris 9.
26048         * doc/glibc-functions/alphasort.texi: Likewise.
26049         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
26050
26051 2008-09-16  Jim Meyering  <meyering@redhat.com>
26052
26053         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
26054         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
26055         a umask modification leak out of a subshell.  Otherwise, the
26056         opensolaris /bin/sh would be accepted and thus cause unwarranted
26057         failures in the coreutils test suite.
26058
26059 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
26060
26061         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
26062         to succeed.
26063
26064 2008-09-16  Jim Meyering  <meyering@redhat.com>
26065
26066         avoid spurious test failure when library is built without ACL support
26067         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
26068         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
26069         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
26070         * tests/test-copy-acl.sh: Likewise.
26071
26072 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26073
26074         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
26075         based on character occurrence counts.
26076
26077 2008-09-15  Eric Blake  <ebb9@byu.net>
26078
26079         tests: avoid some compiler warnings
26080         * tests/test-memchr.c (main): Pass NULL indirectly.
26081         * tests/test-closein.c (main): Avoid unused variable.
26082
26083 2008-09-15  Bruno Haible  <bruno@clisp.org>
26084
26085         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
26086         are missing on OpenBSD 4.0 individually.
26087         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26088
26089 2008-09-15  Bruno Haible  <bruno@clisp.org>
26090
26091         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
26092         * doc/posix-functions/strerror.texi: Mention also Cygwin.
26093         * doc/posix-functions/perror.texi: Likewise.
26094         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
26095         is missing.
26096         Reported by Eric Blake.
26097
26098         * lib/errno.in.h: Use replacement values >= 2000.
26099         Reported by Eric Blake.
26100
26101 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26102
26103         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
26104         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
26105         limit.
26106         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
26107         compareseq was aborted.
26108
26109 2008-09-14  Bruno Haible  <bruno@clisp.org>
26110
26111         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
26112         yvec_edit_count.
26113         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
26114         (fstrcmp_bounded): Simplify result computation accordingly.
26115
26116 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26117
26118         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
26119         (fstrcmp): Define in terms of fstrcmp_bounded.
26120         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
26121         lower_bound argument.
26122         Return quickly if the result is certainly < lower_bound.
26123         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
26124
26125 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26126
26127         * lib/diffseq.h (EARLY_ABORT): New macro.
26128         (compareseq): Change return type to bool. Return true when EARLY_ABORT
26129         evaluates to true.
26130
26131 2008-09-14  Bruno Haible  <bruno@clisp.org>
26132
26133         * modules/perror-tests: New file.
26134         * tests/test-perror.sh: New file.
26135         * tests/test-perror.c: New file.
26136
26137         New module 'perror'.
26138         * lib/stdio.in.h (perror): New declaration.
26139         * lib/perror.c: New file.
26140         * m4/perror.m4: New file.
26141         * modules/perror: New file.
26142         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
26143         * doc/posix-functions/perror.texi: Mention the perror module.
26144         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
26145         REPLACE_PERROR.
26146         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
26147         REPLACE_PERROR.
26148
26149 2008-09-14  Bruno Haible  <bruno@clisp.org>
26150
26151         * modules/stdio (Makefile.am): Reorder to match the order in
26152         lib/stdio.in.h.
26153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26154
26155 2008-09-13  Bruno Haible  <bruno@clisp.org>
26156
26157         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
26158
26159 2008-09-13  Bruno Haible  <bruno@clisp.org>
26160
26161         Extend strerror to cover the added errno values.
26162         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
26163         (rpl_strerror): Provide error messages for the added errno values and
26164         for the WSA* values.
26165         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
26166         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
26167         strerror.
26168         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
26169         * modules/strerror (Depends-on): Add errno.
26170         * doc/posix-functions/strerror.texi: Document the change.
26171         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
26172         and EOVERFLOW.
26173
26174 2008-09-13  Bruno Haible  <bruno@clisp.org>
26175
26176         * modules/EOVERFLOW: Remove file.
26177         * m4/eoverflow.m4: Remove file.
26178         * modules/EOVERFLOW-tests: Remove file.
26179         * tests/test-EOVERFLOW.c: Remove file.
26180         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
26181         * modules/ftell (Depends-on): Likewise.
26182         * modules/getdelim (Depends-on): Likewise.
26183         * modules/getugroups (Depends-on): Likewise.
26184         * modules/poll (Depends-on): Likewise.
26185         * modules/snprintf (Depends-on): Likewise.
26186         * modules/sprintf-posix (Depends-on): Likewise.
26187         * modules/vasnprintf (Depends-on): Likewise.
26188         * modules/vasprintf (Depends-on): Likewise.
26189         * modules/vfprintf-posix (Depends-on): Likewise.
26190         * modules/vsnprintf (Depends-on): Likewise.
26191         * modules/vsprintf-posix (Depends-on): Likewise.
26192         * modules/xvasprintf (Depends-on): Likewise.
26193         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26194         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
26195         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
26196         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
26197         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26198         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
26199         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
26200         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
26201         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26202         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
26203         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
26204         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
26205         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26206         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
26207         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
26208         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
26209         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26210         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
26211         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
26212         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
26213         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26214         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
26215         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
26216         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
26217         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
26218         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26219         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
26220         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
26221         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
26222         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
26223         * MODULES.html.sh: Remove EOVERFLOW.
26224         * NEWS: Mention the change.
26225
26226 2008-09-13  Bruno Haible  <bruno@clisp.org>
26227
26228         * modules/errno-tests: New file.
26229         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
26230
26231         * lib/errno.in.h: New file.
26232         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
26233         * modules/errno: New file.
26234         * doc/posix-headers/errno.texi: Update documentation.
26235         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
26236
26237 2008-09-13  Bruno Haible  <bruno@clisp.org>
26238
26239         * tests/test-poll.c: Use #if for native Windows, rather than testing
26240         __MSVCRT__.
26241
26242 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26243             Bruno Haible  <bruno@clisp.org>
26244
26245         * lib/glob.c: Don't include <pwd.h> on native Windows.
26246         (WINDOWS32): New macro.
26247         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
26248
26249 2008-09-13  Bruno Haible  <bruno@clisp.org>
26250
26251         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
26252         (ETIMEDOUT): Remove macro.
26253         (glthread_cond_timedwait_multithreaded): New declaration.
26254         (glthread_cond_timedwait): Use it.
26255         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
26256         (glthread_cond_timedwait_multithreaded): New function.
26257
26258 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26259
26260         * modules/poll-tests: Do not check for io.h.
26261         * tests/test-poll.c: Check for __MSVCRT__ instead.
26262
26263 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26264
26265         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
26266         * modules/poll-tests: Add inet_pton, stdbool, sockets.
26267         * tests/test-poll.c: Use them.  Use _pipe on Windows.
26268
26269 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26270
26271         * modules/poll-tests: New.
26272         * tests/test-poll.c: New.
26273
26274 2008-09-12  Eric Blake  <ebb9@byu.net>
26275
26276         frexp: test for NetBSD failure on -0.0
26277         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
26278         not all, bugs from NetBSD 3.0 have been fixed.
26279         * doc/posix-functions/frexp.texi (frexp): Document bug.
26280         Reported by Thomas Klausner.
26281
26282         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
26283         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
26284         literal -0.0.
26285         Reported by Jonathan C. Patschke <jp@centtech.com>.
26286
26287 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26288
26289         * lib/glthread/cond.h: Use dummy implementation also if
26290         USE_WIN32_THREADS.
26291
26292 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26293
26294         * modules/fnmatch-posix (License): Change to LGPLv2+.
26295         * modules/fnmatch-gnu (License): Likewise.
26296
26297 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26298
26299         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
26300
26301 2008-09-11  Jim Meyering  <meyering@redhat.com>
26302
26303         * users.txt: Add gtk-vnc.
26304
26305 2008-09-08  Simon Josefsson  <simon@josefsson.org>
26306
26307         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
26308         rotate amounts.
26309
26310         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
26311         required for 16-bit and 8-bit rotates.
26312         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
26313         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
26314         UINT8_MAX instead of hard-coded constants.
26315         Suggested by Paul Eggert.
26316
26317 2008-09-07  Bruno Haible  <bruno@clisp.org>
26318
26319         * tests/test-striconveh.c (main): Check behaviour when converting from
26320         UTF-7.
26321
26322         Make striconveh work better with stateful encodings.
26323         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
26324         that iconv does not increment the inptr when returning -1/EINVAL.
26325
26326 2008-09-07  Bruno Haible  <bruno@clisp.org>
26327
26328         * build-aux/config.rpath: Update according to libtool-2.2.6.
26329         * build-aux/config.libpath: Likewise.
26330
26331 2008-09-06  Bruno Haible  <bruno@clisp.org>
26332
26333         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
26334         * lib/freadptr.c (freadptr): Likewise.
26335         * lib/freadseek.c (freadptrinc): Likewise.
26336         Reported by Simon Josefsson.
26337
26338 2008-09-06  Bruno Haible  <bruno@clisp.org>
26339
26340         * modules/freadptr (License): Change to LGPLv2+.
26341         * modules/freadseek (License): Likewise.
26342         Suggested by Eric Blake.
26343
26344         * modules/memchr2 (License): Change to LGPLv2+.
26345         Approved by Eric Blake.
26346
26347 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26348             Bruno Haible  <bruno@clisp.org>
26349
26350         Make gnulib-tool work with native 'sed' on AIX.
26351         * gnulib-tool (sed_noop): New variable.
26352         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
26353         func_add_or_update, func_create_testdir): Use it to initialize sed
26354         script variables.
26355         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26356
26357 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
26358             Bruno Haible  <bruno@clisp.org>
26359
26360         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
26361         also works after #include directives.
26362
26363 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
26364
26365         getdate.y: reject an out-of-range timezone value
26366         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
26367         the range [-24...+24].  When specified with only one or two digits,
26368         * tests/test-getdate.c: Tests for the fix.
26369         * doc/getdate.texi: Document this change.
26370
26371 2008-09-03  Bruno Haible  <bruno@clisp.org>
26372
26373         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
26374
26375 2008-09-02  Simon Josefsson  <simon@josefsson.org>
26376
26377         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
26378         <bruce.korb@gmail.com> with ideas from Ben Pfaff
26379         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
26380         Blake <ebb9@byu.net>.
26381
26382         * tests/test-bitrotate.c: Add more test vectors.
26383
26384 2008-09-02  Eric Blake  <ebb9@byu.net>
26385
26386         vasnprintf-posix: handle large precision via %.*d
26387         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
26388         when handling it ourselves.
26389         * tests/test-vasnprintf-posix.c (test_function): Add test.
26390         * tests/test-snprintf-posix.h (test_function): Likewise.
26391         * tests/test-sprintf-posix.h (test_function): Likewise.
26392         * tests/test-vasprintf-posix.c (test_function): Likewise.
26393         Reported by Alain Guibert.
26394
26395 2008-09-01  Eric Blake  <ebb9@byu.net>
26396
26397         c-stack: make configure-time check more robust
26398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
26399         successful sigaction call.
26400         Reported by Tom G. Christensen.
26401
26402 2008-09-01  Bruno Haible  <bruno@clisp.org>
26403
26404         New module 'findprog-lgpl'.
26405         * modules/findprog-lgpl: New file.
26406         * lib/findprog-lgpl.c: New file.
26407         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
26408         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
26409         to decide whether to use strdup or xstrdup, concatenated_filename or
26410         xconcatenated_filename.
26411
26412 2008-09-01  Bruno Haible  <bruno@clisp.org>
26413
26414         Split module 'concat-filename' into 'concat-filename' (LGPL) and
26415         'xconcat-filename' (GPL).
26416         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
26417         (License): Change to LGPLv2+.
26418         * modules/xconcat-filename: New file.
26419         * lib/concat-filename.h (concatenated_filename): Change specification.
26420         (xconcatenated_filename): New declaration.
26421         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
26422         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
26423         memory situations.
26424         * lib/xconcat-filename.c: New file.
26425         * NEWS: Mention the change.
26426         * lib/findprog.c: Include concat-filename.h, not filename.h.
26427         (find_in_path): Use xconcatenated_filename instead of
26428         concatenated_filename.
26429         * lib/javacomp.c: Include concat-filename.h, not filename.h.
26430         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
26431         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
26432         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
26433         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
26434         instead of concatenated_filename.
26435         * lib/javaexec.c: Include concat-filename.h, not filename.h.
26436         (execute_java_class): Use xconcatenated_filename instead of
26437         concatenated_filename.
26438         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
26439         * modules/javacomp (Depends-on): Likewise.
26440         * modules/javaexec (Depends-on): Likewise.
26441
26442 2008-09-01  Bruno Haible  <bruno@clisp.org>
26443
26444         Split module 'filename' into 'filename' and 'concat-filename'.
26445         * modules/filename: Keep only lib/filename.h.
26446         (License): Change to LGPLv2+.
26447         * modules/concat-filename: New file, extracted from modules/filename.
26448         * lib/filename.h (concatenated_filename): Remove declaration.
26449         * lib/concat-filename.h: New file, extracted from lib/filename.h.
26450         * lib/concat-filename.c: Include concat-filename.h.
26451         * NEWS: Mention the change.
26452
26453 2008-09-01  Simon Josefsson  <simon@josefsson.org>
26454
26455         * lib/bitrotate.h (rotl8, rotr8): Add.
26456
26457         * modules/bitrotate (configure.ac): Need
26458         AC_REQUIRE([AC_C_INLINE]).
26459         (Description): Mention stdint.h.  Reported by Bruno Haible
26460         <bruno@clisp.org>.
26461
26462         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
26463         Paolo Bonzini <bonzini@gnu.org>.
26464
26465 2008-08-31  Bruno Haible  <bruno@clisp.org>
26466
26467         Assume Solaris specific bi-arch conventions on Solaris systems.
26468         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
26469         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
26470         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
26471         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
26472         like acl_libdirstem.
26473         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
26474         acl_libdirstem.
26475         * NEWS: Mention the change.
26476         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
26477
26478 2008-08-31  Jim Meyering  <meyering@redhat.com>
26479
26480         * lib/strftime.h: Add comments describing the two added arguments.
26481
26482         remove duplicate #include directives
26483         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
26484         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
26485
26486 2008-08-31  Bruno Haible  <bruno@clisp.org>
26487
26488         New module 'sigpipe-die'.
26489         * modules/sigpipe-die: New file.
26490         * lib/sigpipe-die.h: New file.
26491         * lib/sigpipe-die.c: New file.
26492         * MODULES.html.sh (Signal handling): Add sigpipe-die.
26493
26494 2008-08-31  Bruno Haible  <bruno@clisp.org>
26495
26496         Don't override previously installed signal handlers.
26497         * lib/fatal-signal.c (saved_sigactions): New variable.
26498         (uninstall_handlers): Reset the signal to the saved handler, not
26499         to SIG_DFL (except when ignored).
26500         (install_handlers): Save the previous handlers.
26501
26502 2008-08-30  Bruno Haible  <bruno@clisp.org>
26503
26504         * gnulib-tool (func_reset_sigpipe): New function.
26505         (func_get_automake_snippet, func_modules_transitive_closure,
26506         func_import): Invoke it before a join command that reads from stdin,
26507         to avoid "echo: write error: Broken pipe" error messages on stderr.
26508         Reported by Sam Steingold <sds@gnu.org>.
26509
26510 2008-08-30  Bruno Haible  <bruno@clisp.org>
26511
26512         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
26513         Code copied from m4/open.m4.
26514         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
26515         access and the filename ends in a slash. Code copied from lib/open.c.
26516         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
26517         * tests/test-fopen.c (main): Check against bug with trailing slash.
26518
26519 2008-08-29  Bruno Haible  <bruno@clisp.org>
26520
26521         Avoid some "gcc -pedantic" warnings.
26522         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
26523         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
26524         * lib/dirent.in.h: Likewise.
26525         * lib/fcntl.in.h: Likewise.
26526         * lib/float.in.h: Likewise.
26527         * lib/iconv.in.h: Likewise.
26528         * lib/inttypes.in.h: Likewise.
26529         * lib/locale.in.h: Likewise.
26530         * lib/math.in.h: Likewise.
26531         * lib/netinet_in.in.h: Likewise.
26532         * lib/search.in.h: Likewise.
26533         * lib/signal.in.h: Likewise.
26534         * lib/stdarg.in.h: Likewise.
26535         * lib/stdint.in.h: Likewise.
26536         * lib/stdio.in.h: Likewise.
26537         * lib/stdlib.in.h: Likewise.
26538         * lib/string.in.h: Likewise.
26539         * lib/strings.in.h: Likewise.
26540         * lib/sys_select.in.h: Likewise.
26541         * lib/sys_socket.in.h: Likewise.
26542         * lib/sys_stat.in.h: Likewise.
26543         * lib/sys_time.in.h: Likewise.
26544         * lib/sysexits.in.h: Likewise.
26545         * lib/time.in.h: Likewise.
26546         * lib/unistd.in.h: Likewise.
26547         * lib/wchar.in.h: Likewise.
26548         * lib/wctype.in.h: Likewise.
26549         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
26550         * modules/fchdir (Makefile.am): Likewise.
26551         * modules/fcntl (Makefile.am): Likewise.
26552         * modules/float (Makefile.am): Likewise.
26553         * modules/iconv_open (Makefile.am): Likewise.
26554         * modules/inttypes (Makefile.am): Likewise.
26555         * modules/locale (Makefile.am): Likewise.
26556         * modules/math (Makefile.am): Likewise.
26557         * modules/netinet_in (Makefile.am): Likewise.
26558         * modules/search (Makefile.am): Likewise.
26559         * modules/signal (Makefile.am): Likewise.
26560         * modules/stdarg (Makefile.am): Likewise.
26561         * modules/stdint (Makefile.am): Likewise.
26562         * modules/stdio (Makefile.am): Likewise.
26563         * modules/stdlib (Makefile.am): Likewise.
26564         * modules/string (Makefile.am): Likewise.
26565         * modules/strings (Makefile.am): Likewise.
26566         * modules/sys_select (Makefile.am): Likewise.
26567         * modules/sys_socket (Makefile.am): Likewise.
26568         * modules/sys_stat (Makefile.am): Likewise.
26569         * modules/sys_time (Makefile.am): Likewise.
26570         * modules/sysexits (Makefile.am): Likewise.
26571         * modules/time (Makefile.am): Likewise.
26572         * modules/unistd (Makefile.am): Likewise.
26573         * modules/wchar (Makefile.am): Likewise.
26574         * modules/wctype (Makefile.am): Likewise.
26575         Reported by Reuben Thomas <rrt@sc3d.org>.
26576
26577 2008-08-29  Bruno Haible  <bruno@clisp.org>
26578
26579         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
26580         any more.
26581
26582 2008-08-29  Simon Josefsson  <simon@josefsson.org>
26583
26584         * MODULES.html.sh (Misc): Add bitrotate.
26585
26586         * modules/bitrotate: New file.
26587
26588         * lib/bitrotate.h: New file.
26589
26590         * modules/bitrotate-tests: New file.
26591
26592         * tests/test-bitrotate.c: New file.
26593
26594         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
26595         on the bitrotate module.
26596
26597         * lib/arctwo.c: Use new bitrotate module.
26598
26599 2008-08-29  Jim Meyering  <meyering@redhat.com>
26600
26601         bootstrap: merge changes from coreutils
26602         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
26603         of copied files.  Remove a kludge, now that this is fixed.
26604         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
26605         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
26606         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
26607
26608 2008-08-29  Bruno Haible  <bruno@clisp.org>
26609
26610         * MODULES.html.sh: Remove --cvs-urls option.
26611
26612 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
26613
26614         maint.mk: adjust to file name change
26615         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
26616
26617 2008-08-28  Jim Meyering  <meyering@redhat.com>
26618
26619         * modules/getndelim2 (License): Relicense to LGPLv2+.
26620         Approved by Richard Stallman for the version of 1995, and by
26621         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
26622
26623 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
26624
26625         * lib/getdelim.c (flockfile, funlockfile): Make all of them
26626         dummy if one is not available.  Do not touch them if
26627         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
26628         (getc_maybe_unlocked): New.
26629         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
26630
26631 2008-08-26  Eric Blake  <ebb9@byu.net>
26632
26633         doc/INSTALL: resync from autoconf
26634         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
26635         (INSTALL_PRELUDE): Delete; this is done more efficiently by
26636         moving...
26637         * install.texi [!autoconf]: ...here.  Resync from autoconf.
26638         * INSTALL: Regenerate.
26639         * INSTALL.ISO: New file.
26640         * INSTALL.UTF-8: Likewise.
26641
26642 2008-08-26  Jim Meyering  <meyering@redhat.com>
26643
26644         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
26645         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
26646         these definitions conditional, so that they may be overridden, too.
26647
26648 2008-08-26  Bruno Haible  <bruno@clisp.org>
26649
26650         Generate INSTALL file variants with prettier quotes.
26651         * doc/Makefile (INSTALL_PRELUDE): New macro.
26652         (INSTALL): Use it.
26653         (INSTALL.ISO, INSTALL.UTF-8): New rules.
26654
26655 2008-08-26  Bruno Haible  <bruno@clisp.org>
26656
26657         Run makeinfo in an English locale.
26658         * doc/Makefile (MAKEINFO): New variable.
26659
26660 2008-08-26  Bruno Haible  <bruno@clisp.org>
26661
26662         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
26663         Suggested by Eric Blake.
26664
26665 2008-08-25  Bruno Haible  <bruno@clisp.org>
26666
26667         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
26668
26669 2008-08-25  Eric Blake  <ebb9@byu.net>
26670
26671         c-stack: test that stack overflow can be caught
26672         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
26673         that platform allows handling stack overflow; at least OS/2 EMX
26674         has sigaltstack, but crashes before transferring control to
26675         handler on stack overflow.
26676         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
26677         check for HAVE_STACK_OVERFLOW_HANDLING.
26678         Reported by Elbert Pol.
26679
26680 2008-08-25  Bruno Haible  <bruno@clisp.org>
26681
26682         * doc/posix-functions/strftime.texi: Fix description of strftime
26683         module.
26684
26685 2008-08-24  Bruno Haible  <bruno@clisp.org>
26686
26687         * tests/uniwidth/test-uc_width2.c: New file.
26688         * tests/uniwidth/test-uc_width2.sh: New file.
26689         * modules/uniwidth/width-tests (Files): Add the new files.
26690         (TESTS): Add uniwidth/test-uc_width2.sh.
26691         (TESTS_ENVIRONMENT): New variable.
26692         (check_PROGRAMS): Add test-uc_width2.
26693         (test_uc_width2_SOURCES): New variable.
26694
26695         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
26696         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
26697         not 0x00AB.
26698         Reported by Alexander V. Lukyanov <lav@netis.ru>.
26699
26700 2008-08-22  Eric Blake  <ebb9@byu.net>
26701
26702         test-lock, test-tls: mention why a test is skipped
26703         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
26704         skipped.
26705         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
26706
26707         count-one-bits: relax license
26708         * modules/count-one-bits (License): Relicense to LGPLv2+.
26709         Suggested by Ludovic Courtès, approved by Ben Pfaff.
26710
26711 2008-08-22  Andreas Schwab  <schwab@suse.de>
26712
26713         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26714         Remove spurious space in assignment.
26715
26716 2008-08-21  Simon Josefsson  <simon@josefsson.org>
26717
26718         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
26719         Paul Eggert <eggert@CS.UCLA.EDU>.
26720
26721 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
26722
26723         * modules/gettext: Add m4/threadlib.m4.
26724
26725 2008-08-19  Eric Blake  <ebb9@byu.net>
26726
26727         test-c-stack: fix compilation failure on FreeBSD 5.0
26728         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
26729         headers before <sys/resource.h>.
26730         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
26731         the bug.
26732         Reported by Nelson H. F. Beebe.
26733
26734         strverscmp: migrate from "strverscmp.h" to <string.h>
26735         * modules/string (Makefile.am): Add new hooks.
26736         * modules/strverscmp (Files): Remove strverscmp.h.
26737         (Depends-on): Add string.
26738         (configure.ac): Add indicator.
26739         (Include): Mention new header.
26740         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
26741         defaults.
26742         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
26743         results.
26744         * lib/strverscmp.h: Delete.
26745         * lib/string.in.h (strverscmp): Provide declaration, when needed.
26746         * tests/test-strverscmp.c (includes): Adjust client.
26747         * lib/check-version.c (includes): Likewise.
26748         * NEWS: Document the change.
26749
26750         strverscmp: add unit test
26751         * modules/strverscmp-tests: New file.
26752         * tests/test-strverscmp.c: Likewise.
26753
26754 2008-08-19  Simon Josefsson  <simon@josefsson.org>
26755
26756         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
26757         regarding Windows crypto stuff, from Mono.
26758
26759 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
26760
26761         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
26762         if present, for intel RND.  Return error on failures.
26763
26764 2008-08-18  Ben Pfaff  <blp@gnu.org>
26765
26766         gitlog-to-changelog: give better diagnostic for failed pipe-open
26767         * build-aux/gitlog-to-changelog: Improve error message: suggest
26768         that the version of Git may be too old.
26769
26770 2008-08-18  Simon Josefsson  <simon@josefsson.org>
26771
26772         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
26773         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
26774
26775 2008-08-18  Bruno Haible  <bruno@clisp.org>
26776
26777         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
26778         pthread_in_use().
26779
26780 2008-08-18  Bruno Haible  <bruno@clisp.org>
26781
26782         * lib/glthread/threadlib.c: Include <pthread.h>.
26783
26784 2008-08-18  Bruno Haible  <bruno@clisp.org>
26785
26786         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
26787         glthread_recursive_lock_* macros.
26788         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
26789         Fix syntax error.
26790
26791 2008-08-18  Bruno Haible  <bruno@clisp.org>
26792
26793         * lib/glthread/thread.c: Avoid forcing a context switch right after
26794         thread creation.
26795
26796 2008-08-17  Bruno Haible  <bruno@clisp.org>
26797
26798         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
26799         * lib/glthread/thread.h: Provide Win32 specific implementation.
26800         * modules/thread (Files): Add lib/glthread/thread.c.
26801         (Depends-on): Add lock.
26802         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
26803
26804 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26805
26806         New module 'yield'.
26807         * modules/yield: New file.
26808         * lib/glthread/yield.h: New file.
26809         * m4/yield.m4: New file.
26810         * MODULES.html.sh (Multithreading): Add yield.
26811
26812 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26813
26814         New module 'thread'.
26815         * modules/thread: New file.
26816         * lib/glthread/thread.h: New file.
26817         * m4/thread.m4: New file.
26818         * MODULES.html.sh (Multithreading): Add thread.
26819
26820 2008-08-17  Bruno Haible  <bruno@clisp.org>
26821
26822         * lib/glthread/lock.h: Include <stdlib.h> always.
26823         * lib/glthread/tls.h: Likewise.
26824         * lib/glthread/cond.h: Likewise.
26825
26826 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26827
26828         New module 'cond'.
26829         * modules/cond: New file.
26830         * lib/glthread/cond.h: New file.
26831         * lib/glthread/cond.c: New file.
26832         * m4/cond.m4: New file.
26833         * MODULES.html.sh (Multithreading): Add cond.
26834
26835 2008-08-16  Eric Blake  <ebb9@byu.net>
26836
26837         c-stack: fix regression on Irix 5.3 from 2008-06-21
26838         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
26839         sa_sigaction...
26840         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
26841         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
26842         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
26843         * modules/signal (Makefile.am): Use the value.
26844         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
26845         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
26846         * doc/posix-headers/signal.texi (signal.h): Document this
26847         portability issue.
26848         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
26849         Reported by Tom G. Christensen.
26850
26851 2008-08-17  Bruno Haible  <bruno@clisp.org>
26852
26853         New module 'threadlib'.
26854         * modules/threadlib: New file.
26855         * lib/glthread/threadlib.c: New file, extracted from
26856         lib/glthread/lock.c.
26857         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
26858         functions.
26859         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
26860         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
26861         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
26862         macros.
26863         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
26864         (gl_DISABLE_THREADS): Remove macro.
26865         * modules/lock (Files): Remove build-aux/config.rpath.
26866         (Depends-on): Remove havelib. Add threadlib.
26867         (configure.ac-early): Remove section.
26868         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
26869         * modules/tls (Depends-on): Remove lock. Add threadlib.
26870         (Link): New section, copied from threadlib.
26871         * MODULES.html.sh (Multithreading): Add threadlib.
26872
26873 2008-08-14  Bruno Haible  <bruno@clisp.org>
26874
26875         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
26876         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
26877         glthread_rwlock_unlock, glthread_rwlock_destroy,
26878         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
26879         glthread_recursive_lock_destroy): Define as macros always.
26880         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
26881         glthread_lock_lock.
26882         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
26883         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
26884         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
26885         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
26886         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
26887         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
26888         (glthread_recursive_lock_lock_func): Renamed from
26889         glthread_recursive_lock_lock.
26890         (glthread_recursive_lock_unlock_func): Renamed from
26891         glthread_recursive_lock_unlock.
26892         (glthread_recursive_lock_destroy_func): Renamed from
26893         glthread_recursive_lock_destroy.
26894
26895 2008-08-14  Bruno Haible  <bruno@clisp.org>
26896
26897         * lib/glthread/lock.h: Renamed from lib/lock.h.
26898         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
26899         * lib/glthread/tls.h: Renamed from lib/tls.h.
26900         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
26901         * lib/fstrcmp.c: Update includes.
26902         * lib/strsignal.c: Update includes.
26903         * modules/lock (Files, Makefile.am): Update.
26904         (Include): Change to "glthread/lock.h".
26905         * modules/tls (Files, Makefile.am): Update.
26906         (Include): Change to "glthread/tls.h".
26907         * tests/test-lock.c: Update includes.
26908         * tests/test-tls.c: Update includes.
26909         * NEWS: Mention the renamed header files.
26910
26911 2008-08-11  Jim Meyering  <meyering@redhat.com>
26912
26913         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
26914
26915 2008-08-11  Eric Blake  <ebb9@byu.net>
26916
26917         test-c-stack: avoid C99-ism
26918         * tests/test-c-stack.c (main): Fix whitespace, move declaration
26919         before statement.
26920         Reported by Alain Guibert.
26921
26922 2008-08-10  Jim Meyering  <meyering@redhat.com>
26923
26924         ensure that return value of uinttostr et al are not ignored
26925         * lib/inttostr.h (__GNUC_PREREQ): Define.
26926         (__attribute_warn_unused_result__): Define.
26927         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
26928
26929 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
26930
26931         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
26932         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
26933
26934 2008-08-07  Jim Meyering  <meyering@redhat.com>
26935
26936         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
26937
26938         * modules/mkstemp (License): Relicense under LGPLv2+.
26939         * modules/tempname (License): Likewise.
26940
26941 2008-08-06  Bruno Haible  <bruno@clisp.org>
26942
26943         * lib/poll.c (poll): Further micro-optimization.
26944
26945 2008-08-06  Jim Meyering  <meyering@redhat.com>
26946
26947         inet_pton.c: use locale-independent tolower
26948         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
26949         (inet_pton6): Use c_tolower rather than tolower.
26950         * modules/inet_pton (Depends-on): Add c-ctype.
26951
26952 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
26953
26954         * lib/poll.c (poll): Avoid division when timeout is 0, cache
26955         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
26956
26957 2008-08-06  Jim Meyering  <meyering@redhat.com>
26958
26959         * modules/inet_pton (License): Relicense under LGPLv2+.
26960
26961 2008-08-03  Bruno Haible  <bruno@clisp.org>
26962
26963         Additional non-aborting API for lock and tls.
26964         * lib/lock.h: Include <errno.h>.
26965         (glthread_lock_init): New macro/function.
26966         (gl_lock_init): Define as wrapper around glthread_lock_init.
26967         (glthread_lock_lock): New macro/function.
26968         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
26969         (glthread_lock_unlock): New macro/function.
26970         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
26971         (glthread_lock_destroy): New macro/function.
26972         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
26973         (glthread_rwlock_init): New macro/function.
26974         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
26975         (glthread_rwlock_rdlock): New macro/function.
26976         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
26977         (glthread_rwlock_wrlock): New macro/function.
26978         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
26979         (glthread_rwlock_unlock): New macro/function.
26980         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
26981         (glthread_rwlock_destroy): New macro/function.
26982         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
26983         (glthread_recursive_lock_init): New macro/function.
26984         (gl_recursive_lock_init): Define as wrapper around
26985         glthread_recursive_lock_init.
26986         (glthread_recursive_lock_lock): New macro/function.
26987         (gl_recursive_lock_lock): Define as wrapper around
26988         glthread_recursive_lock_lock.
26989         (glthread_recursive_lock_unlock): New macro/function.
26990         (gl_recursive_lock_unlock): Define as wrapper around
26991         glthread_recursive_lock_unlock.
26992         (glthread_recursive_lock_destroy): New macro/function.
26993         (gl_recursive_lock_destroy): Define as wrapper around
26994         glthread_recursive_lock_destroy.
26995         (glthread_once): New macro/function.
26996         (gl_once): Define as wrapper around glthread_once.
26997         Update function declarations.
26998         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
26999         glthread_rwlock_init. Return error code.
27000         (glthread_rwlock_rdlock_multithreaded): Renamed from
27001         glthread_rwlock_rdlock. Return error code.
27002         (glthread_rwlock_wrlock_multithreaded): Renamed from
27003         glthread_rwlock_wrlock. Return error code.
27004         (glthread_rwlock_unlock_multithreaded): Renamed from
27005         glthread_rwlock_unlock. Return error code.
27006         (glthread_rwlock_destroy_multithreaded): Renamed from
27007         glthread_rwlock_destroy. Return error code.
27008         (glthread_recursive_lock_init_multithreaded): Renamed from
27009         glthread_recursive_lock_init. Return error code.
27010         (glthread_recursive_lock_lock_multithreaded): Renamed from
27011         glthread_recursive_lock_lock. Return error code.
27012         (glthread_recursive_lock_unlock_multithreaded): Renamed from
27013         glthread_recursive_lock_unlock. Return error code.
27014         (glthread_recursive_lock_destroy_multithreaded): Renamed from
27015         glthread_recursive_lock_destroy. Return error code.
27016         (glthread_once_call): Make static.
27017         (glthread_once_multithreaded): Renamed from glthread_once.
27018         * lib/tls.h: Include <errno.h>.
27019         (glthread_tls_key_init): New macro/function.
27020         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
27021         (glthread_tls_set): New macro/function.
27022         (gl_tls_set): Define as wrapper around glthread_tls_set.
27023         (glthread_tls_key_destroy): New macro/function.
27024         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
27025         Update function declarations.
27026         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
27027         glthread_tls_get.
27028         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27029
27030 2008-08-04  Eric Blake  <ebb9@byu.net>
27031
27032         gnumakefile: use space, not TAB, outside of targets
27033         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
27034
27035 2008-08-02  Jim Meyering  <meyering@redhat.com>
27036
27037         getdate.y: avoid locale-dependent date parsing failure
27038         In Turkish locales, getdate would fail to recognize keywords
27039         containing a lowercase "i".  The solution is not to rely on
27040         locale-sensitive case-conversion.
27041         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
27042         (lookup_word): Use c_toupper in place of toupper.
27043         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
27044         Reported by Vefa Bicakci <bicave@superonline.com> in
27045         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
27046         * modules/getdate (Depends-on): Add c-ctype.
27047
27048 2008-08-02  Bruno Haible  <bruno@clisp.org>
27049
27050         * gnulib-tool (func_import): When updating or creating a .gitignore
27051         file, prepend each added line with a slash, and ignore leading slashes
27052         from the existing lines.
27053         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
27054
27055 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27056
27057         Portability fix for GNU make 3.79.1.
27058         * top/GNUmakefile: Avoid 'else COND', which older GNU make
27059         versions do not understand.
27060
27061 2008-08-01  Bruno Haible  <bruno@clisp.org>
27062
27063         Work around bug of HP-UX 10.20 cc with -0.0 literal.
27064         * tests/test-isnanf.h (zero): New variable.
27065         (main): Avoid literal -0.0f.
27066         * tests/test-isnand.h (zero): New variable.
27067         (main): Avoid literal -0.0.
27068         * tests/test-isnanl.h (zero): New variable.
27069         (main): Avoid literal -0.0L.
27070         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
27071         (test_float, test_double, test_long_double): Avoid literals -0.0f,
27072         -0.0, -0.0L.
27073         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
27074         (test_signbitd): Avoid literal -0.0.
27075         (test_signbitl): Avoid literal -0.0L.
27076         * tests/test-ceilf1.c (zero): New variable.
27077         (main): Avoid literal -0.0f.
27078         * tests/test-ceill.c (zero): New variable.
27079         (main): Avoid literal -0.0L.
27080         * tests/test-floorf1.c (zero): New variable.
27081         (main): Avoid literal -0.0f.
27082         * tests/test-floorl.c (zero): New variable.
27083         (main): Avoid literal -0.0L.
27084         * tests/test-roundf1.c (zero): New variable.
27085         (main): Avoid literal -0.0f.
27086         * tests/test-round1.c (zero): New variable.
27087         (main): Avoid literal -0.0.
27088         * tests/test-roundl.c (zero): New variable.
27089         (main): Avoid literal -0.0L.
27090         * tests/test-truncf1.c (zero): New variable.
27091         (main): Avoid literal -0.0f.
27092         * tests/test-trunc1.c (zero): New variable.
27093         (main): Avoid literal -0.0.
27094         * tests/test-truncl.c (zero): New variable.
27095         (main): Avoid literal -0.0L.
27096         * tests/test-frexp.c (zero): New variable.
27097         (main): Avoid literal -0.0.
27098         * tests/test-frexpl.c (zero): New variable.
27099         (main): Avoid literal -0.0L.
27100         * tests/test-ldexpl.c (zero): New variable.
27101         (main): Avoid literal -0.0L.
27102         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27103         (zerod, zerol): New variables.
27104         (test_function): Avoid literals -0.0, -0.0L.
27105         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27106         (zerod, zerol): New variables.
27107         (test_function): Avoid literals -0.0, -0.0L.
27108         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27109         (zerod, zerol): New variables.
27110         (test_function): Avoid literals -0.0, -0.0L.
27111         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27112         (zerod, zerol): New variables.
27113         (test_function): Avoid literals -0.0, -0.0L.
27114         * tests/test-strtod.c (zero): New variable.
27115         (main): Avoid literal -0.0.
27116         Reported by Jonathan C. Patschke <jp@centtech.com>.
27117
27118 2008-07-31  Jim Meyering  <meyering@redhat.com>
27119
27120         sha256.h: correct definition of SHA224_DIGEST_SIZE
27121         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
27122         Reported by Paulie Pena IV <paulie4@gmail.com>.
27123         Define as 224 / 8, rather than as a literal.
27124         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
27125         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
27126         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
27127
27128 2008-07-31  Bruno Haible  <bruno@clisp.org>
27129
27130         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
27131         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
27132         Reported by Jonathan Patschke <jp@centtech.com>.
27133
27134 2008-07-31  Bruno Haible  <bruno@clisp.org>
27135
27136         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
27137         Reported by Paolo Bonzini <bonzini@gnu.org>.
27138
27139 2008-07-30  Eric Blake  <ebb9@byu.net>
27140
27141         test-strtod: allow compilation without -lm
27142         * tests/test-strtod.c (main): Avoid link dependence on fabs.
27143         Reported by Dennis Clarke <blastwave@gmail.com>.
27144
27145 2008-07-28  Jim Meyering  <meyering@redhat.com>
27146
27147         bootstrap: work also when there are no .po files in po/
27148         * build-aux/bootstrap (update_po_files): Complete the change
27149         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
27150
27151 2008-07-27  Jim Meyering  <meyering@redhat.com>
27152
27153         * users.txt: Add zile.
27154
27155 2008-07-26  Ben Pfaff  <blp@gnu.org>
27156
27157         Add missing dependencies on new m4/exponent[fdl].m4 files.
27158         * modules/isnanf-nolibm: Add m4/exponentf.m4.
27159         * modules/isnand-nolibm: Add m4/exponentd.m4.
27160         * modules/isnanl-nolibm: Add m4/exponentl.m4.
27161         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
27162         m4/isnan[fdl].m4, because the macros actually used moved.
27163         Reported by Jim Meyering.
27164
27165 2008-07-14  Ben Pfaff  <blp@gnu.org>
27166
27167         Add isinf module.
27168         * lib/isinf.c: New file.
27169         * lib/math.in.h: Define isinf macro if we have decided to replace
27170         it.
27171         * m4/isinf.m4: New file.
27172         * m4/math_h.m4: Initialize and substitute variables for isinf
27173         module.
27174         * modules/isinf: New file.
27175         * modules/isinf-tests: New file.
27176         * modules/math: Add substitutions for new module.
27177         * tests/test-isinf.c: New file.
27178         * doc/posix-functions/isinf.texi: Mention new module.
27179         * MODULES.html.sh: Mention new module.
27180
27181 2008-07-14  Ben Pfaff  <blp@gnu.org>
27182
27183         Factor out some macros for use by additional modules.
27184         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
27185         exponentf.m4.
27186         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
27187         exponentd.m4.
27188         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
27189         file exponentl.m4.
27190         * m4/exponentf.m4: New file.
27191         * m4/exponentd.m4: New file.
27192         * m4/exponentl.m4: New file.
27193         * modules/isnanf: Use new file m4/exponentf.m4.
27194         * modules/isnand: Use new file m4/exponentd.m4.
27195         * modules/isnanl: Use new file m4/exponentl.m4.
27196
27197 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
27198
27199         mktime.c: normalize tp->tm_isdst value to -1/0/1.
27200         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
27201         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
27202         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
27203
27204         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
27205         readlink on platforms without PATH_MAX.
27206
27207 2008-07-21  Eric Blake  <ebb9@byu.net>
27208
27209         Warn, not fail, on stale version.
27210         * top/GNUmakefile (_curr-ver): Tone down previous patch.
27211
27212         Don't allow installation with stale devel version number.
27213         * top/GNUmakefile (_is-install-target): New macro.
27214         (_curr-ver): Forbid installation with stale version number.
27215
27216 2008-07-20  Bruno Haible  <bruno@clisp.org>
27217
27218         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
27219         TESTS_ENVIRONMENT.
27220         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
27221
27222 2008-07-20  Bruno Haible  <bruno@clisp.org>
27223
27224         * lib/c-stack.h (c_stack_action): Add documentation.
27225         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
27226
27227 2008-07-20  Bruno Haible  <bruno@clisp.org>
27228
27229         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
27230         * modules/readlink (License): Likewise.
27231
27232 2008-07-17  Eric Blake  <ebb9@byu.net>
27233
27234         * modules/c-stack (Link): Fix typo.
27235
27236         Make c-stack use libsigsegv, when available.
27237         * modules/c-stack (Depends-on): Add libsigsegv.
27238         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
27239         needed.
27240         * lib/c-stack.c (SIGSTKSZ): Define fallback.
27241         (segv_handler, overflow_handler, c_stack_action)
27242         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
27243         implementation when libsigsegv is available, but only when using
27244         the library is necessary.
27245         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
27246         comment, explaining why XSI check fails on Linux.
27247         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
27248         * tests/test-c-stack2.sh: Tweak skip message.
27249         * NEWS: Document new link-time requirements.
27250
27251 2008-07-16  Eric Blake  <ebb9@byu.net>
27252
27253         c-stack: Expose false positives when not using libsigsegv.
27254         * modules/c-stack-tests (Files): Expand test.
27255         * tests/test-c-stack.c (main): Add means to conditionally trigger
27256         non-overflow SIGSEGV.
27257         * tests/test-c-stack2.sh: New file.
27258
27259 2008-07-14  Bruno Haible  <bruno@clisp.org>
27260
27261         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
27262         Reported by Eric Blake.
27263
27264 2008-07-14  Sam Steingold  <sds@gnu.org>
27265             Bruno Haible  <bruno@clisp.org>
27266
27267         New module libsigsegv.
27268         * modules/libsigsegv: New file.
27269         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
27270         modifications.
27271         * MODULES.html.sh (Signal handling): New section.
27272
27273 2008-07-14  Bruno Haible  <bruno@clisp.org>
27274
27275         * modules/unictype/ctype-* (Description): Add the word "function".
27276         Improves the resulting doc in MODULES.html.
27277
27278 2008-07-12  Ben Pfaff  <blp@gnu.org>
27279
27280         Add longlong module.
27281         * modules/longlong: New file.
27282
27283 2008-07-12  Bruno Haible  <bruno@clisp.org>
27284
27285         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
27286         to empty.
27287
27288 2008-07-10  Ben Pfaff  <blp@gnu.org>
27289
27290         Add isnan module.
27291         * doc/posix-functions/isnan.texi: Mention new module.
27292         * lib/math.in.h: Define isnan macro if we have decided to replace
27293         it.
27294         * m4/isnan.m4: New file.
27295         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
27296         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
27297         also.
27298         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
27299         redundancy.
27300         * m4/math_h.m4: Initialize and substitute variables for isnan
27301         module.
27302         * modules/isnan: New file.
27303         * modules/isnan-tests: New file.
27304         * modules/math: Add substitutions for new module.
27305         * tests/test-isnan.c: New file.
27306         * MODULES.html.sh: Mention new module.
27307
27308 2008-07-10  Ben Pfaff  <blp@gnu.org>
27309
27310         Add isnanf module.
27311         * lib/isnanf.m4: New file.
27312         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
27313         (gl_HAVE_ISNANF_IN_LIBM): New macro.
27314         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
27315         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
27316         * modules/isnanf: New file.
27317         * modules/isnanf-tests: New file.
27318         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
27319         files.
27320         * tests/test-isnanf-nolibm.c: factored most of its contents into
27321         new file tests/test-isnanf.h.
27322         * tests/test-isnanf.h: New file.
27323         * tests/test-isnanf.c: New file.
27324         * MODULES.html.sh: Mention new module.
27325         * doc/glibc-functions/isnanf.texi: Mention new module.
27326
27327 2008-07-10  Ben Pfaff  <blp@gnu.org>
27328
27329         Add isnand module.
27330         * lib/isnand.h: New file.
27331         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
27332         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
27333         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
27334         functionality also.
27335         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
27336         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
27337         (gl_HAVE_ISNAND_IN_LIBM): New macro.
27338         * modules/isnand: New file.
27339         * modules/isnand-tests: New file.
27340         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
27341         files.
27342         * tests/test-isnand-nolibm.c: factored most of its contents into
27343         new file tests/test-isnand.h.
27344         * tests/test-isnand.h: New file.
27345         * tests/test-isnand.c: New file.
27346         * MODULES.html.sh: Mention new module.
27347
27348 2008-07-10  Ben Pfaff  <blp@gnu.org>
27349
27350         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
27351         * lib/isnand.h: Rename lib/isnand-nolibm.h.
27352         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
27353         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
27354         * modules/isnanf-nolibm: Update references to renamed files.
27355         * modules/isnand-nolibm: Likewise.
27356         * modules/isnanf-nolibm-tests: Likewise.
27357         * modules/isnand-nolibm-tests: Likewise.
27358         * lib/frexp.c: Likewise.
27359         * lib/isfinite.c: Likewise.
27360         * lib/signbitd.c: Likewise.
27361         * lib/signbitf.c: Likewise.
27362         * lib/vasnprintf.c: Likewise.
27363         * tests/test-ceilf1.c: Likewise.
27364         * tests/test-ceilf2.c: Likewise.
27365         * tests/test-floorf1.c: Likewise.
27366         * tests/test-floorf2.c: Likewise.
27367         * tests/test-frexp.c: Likewise.
27368         * tests/test-round1.c: Likewise.
27369         * tests/test-round2.c: Likewise.
27370         * tests/test-roundf1.c: Likewise.
27371         * tests/test-strtod.c: Likewise.
27372         * tests/test-trunc1.c: Likewise.
27373         * tests/test-trunc2.c: Likewise.
27374         * tests/test-truncf1.c: Likewise.
27375         * tests/test-truncf2.c: Likewise.
27376         * NEWS: Mention the renamed header files.
27377
27378 2008-07-11  Jim Meyering  <meyering@redhat.com>
27379
27380         vc-list-files: make the last-resort awk code more portable
27381         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
27382         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
27383         does not support it.
27384
27385 2008-07-10  Eric Blake  <ebb9@byu.net>
27386
27387         Work with tar's bootstrap.
27388         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
27389         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
27390         an m4 comment.
27391
27392 2008-07-09  Jim Meyering  <meyering@redhat.com>
27393
27394         posix-shell.m4: fix typo that made this test malfunction
27395         * m4/posix-shell.m4: Remove capitalization in variable name.
27396
27397 2008-07-08  Bruno Haible  <bruno@clisp.org>
27398
27399         * m4/onceonly.m4: Update comments.
27400         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27401
27402 2008-07-04  Jim Meyering  <meyering@redhat.com>
27403
27404         * users.txt: Add vc-dwim.
27405         (bison, coreutils): Use the gitweb URL.
27406
27407 2008-07-03  Jim Meyering  <meyering@redhat.com>
27408
27409         * users.txt: Add libffcall.  From Sam Steingold.
27410
27411 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
27412
27413         getdate.y: do not ignore TZ with relative day, month or year offset
27414         * lib/getdate.y (get_date): Move the tz-handling block to follow the
27415         relative-date-handling, since otherwise, the latter would clobber the
27416         sole output (an updated Start value) of the tz-handling block.
27417         * tests/test-getdate.c: Tests for the fix
27418
27419 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27420
27421         Recognize 'foo_LIBRARIES += libgnu.a'.
27422         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
27423         makefile snippet has already specified an installation location,
27424         also using '+='.
27425
27426 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
27427
27428         getdate.y: factor out common actions
27429         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
27430         Use them in place of open-coded actions.
27431
27432 2008-07-01  Simon Josefsson  <simon@josefsson.org>
27433
27434         Add self-test for getdate module.
27435         * modules/getdate-tests: New file.
27436         * tests/test-getdate.c: New file.
27437
27438 2008-06-29  Bruno Haible  <bruno@clisp.org>
27439
27440         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
27441         .gitignore.
27442         Reported by Sylvain Beucler <beuc@beuc.net>.
27443
27444 2008-06-29  Bruno Haible  <bruno@clisp.org>
27445
27446         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
27447         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
27448
27449 2008-06-29  Bruno Haible  <bruno@clisp.org>
27450
27451         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
27452         EXTRA_DIST.
27453         Reported by Sylvain Beucler <beuc@beuc.net>.
27454
27455 2008-06-26  Jim Meyering  <meyering@redhat.com>
27456
27457         make several modules depend on the "open" module
27458         This provides slightly increased consistency when opening-for-write
27459         the name of a non-directory spelled with a trailing slash.
27460         * modules/chdir-safer: Likewise.
27461         * modules/chown: Likewise.
27462         * modules/clean-temp: Likewise.
27463         * modules/copy-file: Likewise.
27464         * modules/fchdir: Likewise.
27465         * modules/fcntl-safer: Likewise.
27466         * modules/pipe: Likewise.
27467         * modules/utime: Likewise.
27468         Prompted by Eric Blake and Bruno Haible.
27469
27470 2008-06-24  Andreas Schwab  <schwab@suse.de>
27471
27472         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
27473         literals can be used as initializers for global variables.
27474
27475 2008-06-23  Eric Blake  <ebb9@byu.net>
27476
27477         Make gnulib-cache.m4 easier to diff.
27478         * gnulib-tool (func_import): Allow newlines when reading cached
27479         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
27480
27481 2008-06-23  Bruno Haible  <bruno@clisp.org>
27482
27483         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
27484         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
27485         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
27486         m4/signalblocking.m4.
27487         (gl_PREREQ_SIGACTION): Don't invoke it.
27488         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
27489         gl_PREREQ_SIG_HANDLER_H.
27490         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27491         Don't check for sigaction here.
27492
27493 2008-06-23  Bruno Haible  <bruno@clisp.org>
27494
27495         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
27496         (install_handlers): Don't set the SA_RESETHAND flag.
27497
27498 2008-06-23  Bruno Haible  <bruno@clisp.org>
27499
27500         * m4/sigaction.m4: Comment fixes.
27501         * lib/signal.in.h: Likewise.
27502
27503 2008-06-23  Eric Blake  <ebb9@byu.net>
27504
27505         Fix typo.
27506         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
27507
27508         Avoid SA_ namespace.
27509         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
27510         Reported by Ralf Wildenhues.
27511
27512         Avoid test failure due to SA_RESTORER.
27513         * tests/test-sigaction.c (SA_MASK): New macro.
27514         (main): Avoid failing due to extension flags being set.
27515         Reported by Jim Meyering.
27516
27517         Revert use of sig-handler.h in sigprocmask.c.
27518         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
27519         it requires the existence of struct sigaction.
27520         * lib/sigprocmask.c (handler_t): Restore typedef.
27521         (rpl_signal, old_handlers): Use local type.
27522
27523 2008-06-22  Bruno Haible  <bruno@clisp.org>
27524
27525         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
27526         conditionally.
27527         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27528
27529 2008-06-22  Bruno Haible  <bruno@clisp.org>
27530
27531         * doc/posix-functions/siginterrupt.texi: Move note.
27532
27533         * lib/signal.in.h (SA_RESTART): New macro.
27534         * lib/sigaction.c: Update comment.
27535
27536         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
27537
27538         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
27539         (gl_PREREQ_SIGPROCMASK): Invoke it.
27540         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
27541
27542         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
27543
27544         * lib/sigprocmask.c: Update a comment.
27545
27546 2008-06-21  Eric Blake  <ebb9@byu.net>
27547
27548         Use sigaction module rather than signal().
27549         * modules/c-stack (Depends-on): Add sigaction.
27550         * modules/fatal-signal (Depends-on): Likewise.
27551         * modules/nanosleep (Depends-on): Likewise.
27552         * modules/sigprocmask (Files): Add sig-handler.h.
27553         * modules/sigaction (Files): Likewise.
27554         * lib/sig-handler.h (get_handler): New file, suggested by Paul
27555         Eggert.
27556         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
27557         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
27558         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
27559         (init_fatal_signals): Likewise.
27560         * lib/nanosleep.c (rpl_nanosleep): Likewise.
27561         (siginterrupt): Delete fallback.
27562         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
27563         instead.
27564         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
27565         siginterrupt.
27566
27567         New module sigaction, for mingw.
27568         * modules/sigaction: New module...
27569         * modules/sigaction-tests: ...and its test.
27570         * m4/sigaction.m4: New file.
27571         * lib/sigaction.c: Likewise.
27572         * tests/test-sigaction.c: Likewise.
27573         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
27574         * modules/signal (Makefile.am): Likewise.
27575         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
27576         needed.
27577         * doc/posix-headers/signal.texi (signal.h): Mention provided
27578         types.
27579         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
27580         that sigaction is preferable.
27581         * doc/posix-functions/sigaction.texi (sigaction): Mention new
27582         module.
27583         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27584         sigaction.
27585
27586         Improve robustness of sigprocmask by overriding signal.
27587         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
27588         is in use.
27589         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
27590         (SIGKILL, SIGSTOP): Provide fallbacks.
27591         (rpl_signal): Implement.
27592         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
27593         signal can be called inside handlers.
27594
27595         Fix nanosleep module on mingw.
27596         * modules/nanosleep (Depends-on): Add sys_select.
27597         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
27598
27599         Fix licensing of sigprocmask.
27600         * modules/raise (License): Relicense as LGPL.
27601
27602 2008-06-21  Bruno Haible  <bruno@clisp.org>
27603
27604         * lib/propername.c (proper_name_utf8): Don't use the transliterated
27605         result if it contains question marks.
27606         Reported by Michael Geng <linux@michaelgeng.de>.
27607
27608 2008-06-19  Bruno Haible  <bruno@clisp.org>
27609
27610         Fix CVS-ism.
27611         * doc/gnulib.texi: Include updated-stamp.texi.
27612         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
27613         (updated-stamp.texi): New rule.
27614         (gnulib.info): Depend on it.
27615         * doc/.gitignore: Add updated-stamp.texi.
27616         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
27617
27618 2008-06-19  Bruno Haible  <bruno@clisp.org>
27619
27620         * doc/Makefile (gnulib.info): Update and simplify dependencies.
27621         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27622
27623 2008-06-19  Eric Blake  <ebb9@byu.net>
27624
27625         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
27626         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
27627         Reported by Stepan Kasal.
27628
27629 2008-06-18  Bruno Haible  <bruno@clisp.org>
27630
27631         * lib/fatal-signal.c (init_fatal_signals): Add comment.
27632         Reported by Eric Blake.
27633
27634 2008-06-18  Eric Blake  <ebb9@byu.net>
27635
27636         Work around cygwin 1.5.25 strsignal bug.
27637         * tests/test-strsignal.c: Allow for const char *.
27638         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
27639
27640 2008-06-18  Simon Josefsson  <simon@josefsson.org>
27641
27642         * users.txt: Update URL to article and add author/date
27643         information.
27644
27645 2008-06-17  Bruno Haible  <bruno@clisp.org>
27646
27647         New macro gl_DISABLE_THREADS.
27648         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
27649         if the user did not pass --enable-threads or --disable-threads option.
27650         (gl_DISABLE_THREADS): New macro.
27651         Reported by Eric Blake <ebb9@byu.net>.
27652
27653 2008-06-17  Bruno Haible  <bruno@clisp.org>
27654
27655         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
27656         when the macro ignores it.
27657         Based on a patch by Eric Blake <ebb9@byu.net>.
27658
27659 2008-06-17  Bruno Haible  <bruno@clisp.org>
27660
27661         * modules/tls (License): Change to LGPLv2+.
27662         Reported by Eric Blake.
27663
27664 2008-06-17  Eric Blake  <ebb9@byu.net>
27665
27666         Simplify c-stack prerequisites.
27667         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
27668         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
27669         no longer requires <ucontext.h> to exist.  Optimize setrlimit
27670         check.
27671         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
27672         <sys/resource.h>.
27673
27674         Move c-stack test into testsuite.
27675         * modules/c-stack-tests: New file.
27676         * lib/c-stack.c [DEBUG]: Move test program...
27677         * tests/test-c-stack.c: ...into this new file.  Skip rather than
27678         fail test if sigaltstack is lacking.
27679         * tests/test-c-stack.sh: New driver file.
27680
27681 2008-06-16  Eric Blake  <ebb9@byu.net>
27682
27683         Use raise module consistently.
27684         * modules/fatal-signal (Depends-on): Add raise.
27685         * modules/sigprocmask (Depends-on): Likewise.
27686         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
27687         * lib/sigprocmask.c (sigprocmask): Likewise.
27688         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27689         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
27690
27691         Fix compliance bug in sigpending.
27692         * lib/sigprocmask.c (sigpending): Return pending array via
27693         parameter, not return value.
27694
27695 2008-06-14  Eric Blake  <ebb9@byu.net>
27696
27697         Improve obstack-printf test code.
27698         * tests/test-obstack-printf.c (test_function): Fix comment, and
27699         simplify usage of obstack_* in macros.  Add a test for coverage.
27700         Reported by Bruno Haible.
27701
27702 2008-06-14  Bruno Haible  <bruno@clisp.org>
27703
27704         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
27705         array size as a constant, not as a const variable.
27706         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
27707         AC_USE_SYSTEM_EXTENSIONS.
27708         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
27709         Test whether the obstack_printf function actually exists.
27710         * modules/obstack-printf (Depends-on): Add extensions.
27711         (Include): Remove obstack.h.
27712         * modules/obstack-printf-posix (Depends-on): Add extensions.
27713         (Include): Remove obstack.h.
27714
27715 2008-06-13  Eric Blake  <ebb9@byu.net>
27716
27717         Add obstack-printf and obstack-printf-posix modules.
27718         * modules/obstack-printf: New file.
27719         * modules/obstack-printf-posix: Likewise.
27720         * MODULES.html.sh (Misc): Mention them.
27721         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27722         Likewise.
27723         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27724         Likewise.
27725         * modules/stdio (Makefile.am): Accomodate new modules.
27726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27727         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
27728         Declare.
27729         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
27730         functions.
27731         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
27732         (gl_REPLACE_OBSTACK_PRINTF): New macros
27733         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
27734         * tests/test-obstack-printf.c: New file.
27735         * modules/obstack-printf-tests: Likewise.
27736         * modules/obstack-printf-posix-tests: Likewise.
27737
27738 2008-06-11  Bruno Haible  <bruno@clisp.org>
27739
27740         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
27741         * lib/open.c: Include errno.h.
27742         (open): Fail when attempting to write to a file that has a trailing
27743         slash.
27744         * tests/test-open.c (main): Test against trailing slash bug.
27745         * doc/posix-functions/open.texi: Mention the trailing slash bug.
27746
27747 2008-06-10  Bruno Haible  <bruno@clisp.org>
27748
27749         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
27750         for $? to work inside the trap command, with various /bin/sh-s.
27751         * tests/test-vc-list-files-cvs.sh: Likewise.
27752
27753 2008-06-10  Bruno Haible  <bruno@clisp.org>
27754
27755         * lib/acl-internal.h: Don't include gettext.h here.
27756         * lib/set-mode-acl.c: Include gettext.h here.
27757         * lib/copy-acl.c: Likewise.
27758
27759 2008-06-10  Bruno Haible  <bruno@clisp.org>
27760
27761         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
27762         * lib/wait-process.c (wait_subprocess): Likewise.
27763         * lib/execute.h (execute): Add termsigp argument.
27764         * lib/execute.c (execute): Likewise.
27765         * lib/csharpcomp.c (compile_csharp_using_pnet,
27766         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
27767         * lib/csharpexec.c (execute_csharp_using_pnet,
27768         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
27769         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
27770         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
27771         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
27772         is_jikes_present): Update.
27773         * lib/javaexec.c (execute_java_class): Update.
27774         * lib/javaversion.c (execute_and_read_line): Update.
27775         * NEWS: Document the changes.
27776         Reported by Eric Blake.
27777
27778 2008-06-10  Eric Blake  <ebb9@byu.net>
27779
27780         Add missing include.
27781         * tests/test-strstr.c (includes): Add <signal.h>.
27782         * tests/test-strcasestr.c (includes): Likewise.
27783         * tests/test-memmem.c (includes): Likewise.
27784
27785 2008-06-10  Bruno Haible  <bruno@clisp.org>
27786
27787         * lib/wait-process.c (wait_subprocess): Add an assertion.
27788
27789 2008-06-10  Bruno Haible  <bruno@clisp.org>
27790
27791         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
27792
27793 2008-06-10  Bruno Haible  <bruno@clisp.org>
27794
27795         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
27796         using alarm().
27797         * tests/test-strcasestr.c (main): Likewise.
27798         * tests/test-strstr.c (main): Likewise.
27799
27800 2008-06-09  Bruno Haible  <bruno@clisp.org>
27801
27802         Work around the Solaris 10 ACE ACLs ABI change.
27803         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
27804         declare if ACL_NO_TRIVIAL is present.
27805         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
27806         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
27807         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
27808         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
27809         define if ACL_NO_TRIVIAL is present.
27810         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
27811         and use the current ABI.
27812         (file_has_acl): Use same #if condition as elsewhere.
27813         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
27814         in use, and use the current ABI.
27815         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
27816         Reported by Jim Meyering.
27817
27818 2008-06-09  Eric Blake  <ebb9@byu.net>
27819
27820         Work around environments that (stupidly) ignore SIGALRM.
27821         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
27822         before using alarm().
27823         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27824         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27825         Reported by Ian Beckwith <ianb@erislabs.net>.
27826
27827         Produce autobuild blurb earlier in log.
27828         * modules/autobuild (configure.ac-early): Move AB_INIT here.
27829
27830 2008-06-09  Jim Meyering  <meyering@redhat.com>
27831         and Ondřej Vašík  <ovasik@redhat.com>
27832
27833         utimens.c: correct kernel bug work-around
27834         Ondřej Vašík found that the invalid return value of 280 indicates
27835         failure, not success, and the kernel bug we're trying to work
27836         around affects not just the utimensat call, but also the fallback
27837         futimens call.
27838         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
27839         not success.
27840         [HAVE_FUTIMENS]: Use the same work-around, here.
27841
27842 2008-06-09  Jim Meyering  <meyering@redhat.com>
27843
27844         add more guards around definition of ACE_-related code
27845         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
27846         ALLOW and ACE_OWNER are also defined.
27847
27848 2008-06-08  Bruno Haible  <bruno@clisp.org>
27849
27850         * lib/acl-internal.h: Add me as co-author.
27851         * lib/file-has-acl.c: Likewise.
27852         * lib/set-mode-acl.c: Likewise.
27853         * lib/copy-acl.c: Likewise.
27854
27855 2008-06-08  Bruno Haible  <bruno@clisp.org>
27856
27857         Add support for AIX ACLs.
27858         * lib/acl-internal.h (acl_nontrivial): New declaration.
27859         * lib/file-has-acl.c (acl_nontrivial): New function.
27860         (file_has_acl): Add implementation using AIX 4 ACL API.
27861         * lib/set-mode-acl.c (qset_acl): Likewise.
27862         * lib/copy-acl.c (qcopy_acl): Likewise.
27863
27864 2008-06-08  Bruno Haible  <bruno@clisp.org>
27865
27866         Add support for HP-UX ACLs.
27867         * lib/acl-internal.h (acl_nontrivial): New declaration.
27868         * lib/file-has-acl.c (acl_nontrivial): New function.
27869         (file_has_acl): Add implementation using HP-UX 11 ACL API.
27870         * lib/set-mode-acl.c (qset_acl): Likewise.
27871         * lib/copy-acl.c (qcopy_acl): Likewise.
27872
27873 2008-06-08  Bruno Haible  <bruno@clisp.org>
27874
27875         Add support for Cygwin ACLs.
27876         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
27877         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
27878         the chmod_or_fchmod call.
27879         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
27880
27881 2008-06-08  Bruno Haible  <bruno@clisp.org>
27882
27883         Fix bug with setuid modes in Solaris 10+ code.
27884         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
27885         succeeded, when the mode contains some special bits.
27886
27887 2008-06-08  Bruno Haible  <bruno@clisp.org>
27888
27889         Add support for Solaris 7..10 ACLs.
27890         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
27891         declarations.
27892         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
27893         functions.
27894         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
27895         * lib/set-mode-acl.c (qset_acl): Likewise.
27896         * lib/copy-acl.c (qcopy_acl): Likewise.
27897
27898 2008-06-08  Bruno Haible  <bruno@clisp.org>
27899
27900         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
27901         declaration.
27902         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
27903         (acl_access_nontrivial): Remove MacOS X case.
27904         (file_has_acl): Use acl_extended_nontrivial.
27905         * lib/copy-acl.c (qcopy_acl): Likewise.
27906
27907 2008-06-08  Bruno Haible  <bruno@clisp.org>
27908
27909         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
27910
27911 2008-06-08  Jim Meyering  <meyering@redhat.com>
27912
27913         * modules/acl (Maintainer): Add Bruno Haible.
27914
27915 2008-06-07  Bruno Haible  <bruno@clisp.org>
27916
27917         Improve support for Tru64 ACLs.
27918         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
27919         ACL on OSF/1.
27920
27921 2008-06-07  Bruno Haible  <bruno@clisp.org>
27922
27923         Add support for MacOS X ACLs.
27924         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
27925         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
27926         * lib/set-mode-acl.c (qset_acl): Likewise.
27927         * lib/copy-acl.c (qcopy_acl): Likewise.
27928
27929 2008-06-07  Bruno Haible  <bruno@clisp.org>
27930
27931         Fix memory leak introduced on 2008-05-22.
27932         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
27933         use.
27934
27935 2008-06-07  Bruno Haible  <bruno@clisp.org>
27936
27937         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
27938         to construct an empty ACL.
27939
27940 2008-06-07  Bruno Haible  <bruno@clisp.org>
27941
27942         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
27943         precisely.
27944         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
27945
27946 2008-06-07  Bruno Haible  <bruno@clisp.org>
27947
27948         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
27949         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
27950
27951 2008-06-07  Bruno Haible  <bruno@clisp.org>
27952
27953         * doc/posix-functions/_setjmp.texi: Explain the use of this function
27954         regardless of POSIX.
27955         * doc/posix-functions/_longjmp.texi: Likewise.
27956         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
27957         SystemV platform in this case.
27958
27959 2008-06-06  Eric Blake  <ebb9@byu.net>
27960
27961         Document abort() bugs.
27962         * doc/posix-functions/abort.texi (abort): Mention anomalies.
27963
27964         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
27965         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
27966         sigsetjmp.
27967         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
27968         siglongjmp, but only as a macro.
27969         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
27970         is obsolete.
27971         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
27972
27973         Tweak documentation to cover cygwin argz bugs.
27974         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
27975         argz bug fix; no code change needed since no cygwin releases
27976         occurred between the last fix and the bug being tested.
27977         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
27978         module and recently fixed cygwin bugs.
27979         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
27980         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
27981         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
27982         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
27983         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
27984         Likewise.
27985         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
27986         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
27987         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
27988         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
27989         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
27990         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
27991         Likewise.
27992
27993         Avoid gcc warning on cygwin.
27994         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
27995         !ACL_NO_TRIVIAL]: Avoid unused variable.
27996
27997 2008-06-05  Eric Blake  <ebb9@byu.net>
27998
27999         Be tolerant of UNKNOWN version in gnulib-tool test dir.
28000         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
28001         git-version-gen fails to come up with a version.
28002         Reported by Simon Josefsson.
28003
28004 2008-06-05  Jim Meyering  <meyering@redhat.com>
28005             Paul Eggert  <eggert@cs.ucla.edu>
28006
28007         utimens.c: work around a probable Linux kernel bug
28008         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
28009         appears to be a kernel bug that causes utimensat to return 280
28010         instead of 0, indicating success.
28011
28012 2008-06-04  Bruno Haible  <bruno@clisp.org>
28013
28014         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
28015         2008-06-01 commit.
28016
28017 2008-06-04  Bruno Haible  <bruno@clisp.org>
28018
28019         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
28020         * lib/file-has-acl.c (acl_access_nontrivial): New function.
28021         (file_has_acl): Use it. Save errno afterwards.
28022         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
28023
28024 2008-06-03  Bruno Haible  <bruno@clisp.org>
28025
28026         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
28027         draft code. Simplify #ifs.
28028         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
28029         Put Solaris code after POSIX-draft code. Fix comments regarding
28030         Solaris 10, HP-UX. Mention Cygwin.
28031         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
28032
28033 2008-06-03  Eric Blake  <ebb9@byu.net>
28034
28035         Provide fallback for older kernels.
28036         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
28037         Provide runtime fallback if kernel lacks support.
28038         Reported by Mike Frysinger.
28039
28040 2008-06-02  Bruno Haible  <bruno@clisp.org>
28041
28042         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
28043         it exists.
28044
28045 2008-06-02  Bruno Haible  <bruno@clisp.org>
28046
28047         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
28048         * lib/copy-acl.c (qcopy_acl): Update comment.
28049
28050 2008-06-02  Bruno Haible  <bruno@clisp.org>
28051
28052         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
28053         like ACL APIs.
28054
28055 2008-06-02  Bruno Haible  <bruno@clisp.org>
28056
28057         * tests/test-file-has-acl.sh: Use different code for Cygwin.
28058         * tests/test-set-mode-acl.sh: Likewise.
28059         * tests/test-copy-acl.sh: Likewise.
28060         * tests/test-copy-file.sh: Likewise.
28061
28062 2008-06-02  Bruno Haible  <bruno@clisp.org>
28063
28064         * tests/test-file-has-acl.sh: Remove unused code.
28065
28066 2008-06-01  Bruno Haible  <bruno@clisp.org>
28067
28068         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
28069         (copy_acl): Just a wrapper around qcopy_acl that emits the error
28070         messages.
28071         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
28072
28073 2008-06-01  Bruno Haible  <bruno@clisp.org>
28074
28075         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
28076         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
28077         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
28078         APIs.
28079         * modules/acl-tests (configure.ac): Remove tests now contained in
28080         m4/acl.m4.
28081
28082 2008-06-02  Jim Meyering  <meyering@redhat.com>
28083
28084         announce-gen: use a better key-server host name
28085         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
28086         it may be more consistently reliable.  Suggested by Werner Koch
28087         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
28088
28089 2008-06-01  Bruno Haible  <bruno@clisp.org>
28090
28091         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
28092         Reported by Voroskoi Andras <voroskoi@gmail.com>.
28093
28094 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
28095
28096         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
28097
28098 2008-06-01  Bruno Haible  <bruno@clisp.org>
28099
28100         New ACL tests.
28101         * tests/test-file-has-acl.sh: New file.
28102         * tests/test-file-has-acl.c: New file.
28103         * tests/test-set-mode-acl.sh: New file.
28104         * tests/test-set-mode-acl.c: New file.
28105         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
28106         * tests/test-copy-acl.c: New file.
28107         * modules/acl-tests: New file, based on modules/copy-file-tests.
28108         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
28109         (Depends-on): Add acl-tests.
28110         (configure.ac): Remove checks.
28111         (Makefile.am): Don't create test-sameacls program here any more.
28112
28113 2008-06-01  Bruno Haible  <bruno@clisp.org>
28114
28115         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
28116         * tests/test-sameacls.c: Include progname.h.
28117         (main): Invoke set_program_name. Portability fixes for MacOS X,
28118         Solaris, HP-UX.
28119
28120 2008-06-01  Bruno Haible  <bruno@clisp.org>
28121
28122         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
28123         function.
28124         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
28125
28126 2008-06-01  Bruno Haible  <bruno@clisp.org>
28127
28128         * modules/rpmatch (Depends-on): Add strdup.
28129
28130 2008-06-01  Bruno Haible  <bruno@clisp.org>
28131
28132         * lib/pipe.c: Include unistd-safer.h.
28133         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
28134         * modules/pipe (Depends-on): Add unistd-safer.
28135
28136 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28137
28138         * modules/autobuild (configure.ac): Call AB_INIT.
28139
28140 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28141
28142         * tests/test-getaddrinfo.c: Don't print debug messages by default.
28143         Suggested by Bruno Haible <bruno@clisp.org>.
28144
28145 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28146
28147         * tests/test-base64.c: Cast size_t to unsigned long when invoking
28148         printf.  Use %lu instead of %d.  Reported by Bruno Haible
28149         <bruno@clisp.org>.
28150
28151 2008-05-29  Eric Blake  <ebb9@byu.net>
28152
28153         Prefer new POSIX 200x interfaces over futimesat.
28154         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
28155         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
28156         when available.
28157         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
28158
28159 2008-05-28  Bruno Haible  <bruno@clisp.org>
28160
28161         * modules/stpcpy (License): Change to LGPLv2+.
28162         Requested by David Lutterkort <dlutter@redhat.com>.
28163
28164 2008-05-27  Bruno Haible  <bruno@clisp.org>
28165
28166         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
28167         current mingw.
28168         Reported by Jose E. Marchesi <jemarch@gnu.org>.
28169
28170 2008-05-27  Bruno Haible  <bruno@clisp.org>
28171
28172         * modules/iconv_open (Link): New section, from module 'iconv'.
28173         * modules/striconv (Link): Likewise.
28174         * modules/striconveh (Link): Likewise.
28175         * modules/xstriconv (Link): Likewise.
28176         * modules/unicodeio (Link): Likewise.
28177         * modules/propername (Link): Likewise.
28178         Reported by Jim Meyering.
28179
28180 2008-05-26  Jim Meyering  <meyering@redhat.com>
28181
28182         sha256: do not artificially restrict buffer length to be < 2^32
28183         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
28184         uint32_t to size_t.
28185         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
28186         to match.
28187
28188         avoid unaligned access errors, e.g., on sparc
28189         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
28190         direct access through a possibly-unaligned uint64* pointer.
28191         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
28192         direct access through a possibly-unaligned uint32* pointer.
28193         Prompted by this patch from Tom "spot" Callaway:
28194         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
28195
28196         sha512.c: fix typo in comment
28197         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
28198
28199 2008-05-25  Bruno Haible  <bruno@clisp.org>
28200
28201         * lib/set-mode-acl.c: Renamed from lib/acl.c.
28202         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
28203         (Makefile.am): Update lib_SOURCES.
28204
28205 2008-05-25  Bruno Haible  <bruno@clisp.org>
28206
28207         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
28208
28209 2008-05-25  Jim Meyering  <meyering@redhat.com>
28210
28211         useless-if-before-free: freed expr may have white-space differences
28212         * build-aux/useless-if-before-free: Recognize cases in which the
28213         freed expression differs from the tested one in embedded white
28214         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
28215         $1 was used, so we can't make any regexp shy.  Improved tests now
28216         detect this.
28217
28218         useless-if-before-free: accept white space in the expression.
28219         * build-aux/useless-if-before-free: For now, any white space
28220         in the expression must be identical in the free argument.
28221
28222         useless-if-before-free: efficiency tweak
28223         * build-aux/useless-if-before-free: Make the expression-matching
28224         regexp "shy".
28225         Make the *outer* regexp shy, not the expr-matching one.
28226
28227         update code-in-comment to accept cast of free arg
28228         * build-aux/useless-if-before-free: Update regexp.
28229
28230 2008-05-25  Bruno Haible  <bruno@clisp.org>
28231
28232         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
28233         * modules/copy-file-tests (Files, Makefile.am): Update.
28234         * tests/test-copy-file.c (func_test_copy): Update.
28235
28236 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
28237
28238         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
28239
28240 2008-05-23  Bruno Haible  <bruno@clisp.org>
28241
28242         Improve support for ACLs on OSF/1.
28243         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
28244         Remove fallback for unknown flavors of ACLs.
28245
28246 2008-05-22  Bruno Haible  <bruno@clisp.org>
28247
28248         Add support for ACLs on OSF/1.
28249         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
28250         replacements.
28251         (acl_free_text): New macro fallback.
28252         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
28253         acl_free.
28254         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
28255         acl_free_text function. Require AC_C_INLINE.
28256
28257 2008-05-22  Bruno Haible  <bruno@clisp.org>
28258
28259         Make copy_acl work on MacOS X 10.5.
28260         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
28261         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
28262         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
28263         If MODE_INSIDE_ACL, don't assume that every system has the same text
28264         representation for ACLs as FreeBSD.
28265         * lib/copy-acl.c (copy_acl): Add support for platforms with
28266         !MODE_INSIDE_ACL.
28267         * lib/file-has-acl.c (file_has_acl): Likewise.
28268         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
28269         FreeBSD, MacOS X, or IRIX, respectively.
28270
28271 2008-05-22  Bruno Haible  <bruno@clisp.org>
28272
28273         * lib/acl.h: Don't include <sys/acl.h>.
28274         (GETACLCNT): Move fallback to lib/acl-internal.h.
28275         * lib/acl-internal.h: Include <sys/acl.h> here.
28276         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
28277
28278 2008-05-22  Bruno Haible  <bruno@clisp.org>
28279
28280         Split off copy_acl function to separate file.
28281         * lib/copy-acl.c: New file, extracted from lib/acl.c.
28282         * lib/acl.c (copy_acl): Moved function to separate file.
28283         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
28284         * modules/acl (Files): Add lib/copy-acl.c.
28285         (Makefiles.am): Augment lib_SOURCES.
28286
28287 2008-05-22  Bruno Haible  <bruno@clisp.org>
28288
28289         * modules/copy-file-tests: New file.
28290         * tests/test-copy-file.sh: New file.
28291         * tests/test-copy-file.c: New file.
28292         * tests/test-copy-file-sameacls.c: New file.
28293
28294 2008-05-22  Eric Blake  <ebb9@byu.net>
28295
28296         Avoid gcc warning.
28297         * tests/test-memcmp.c (main): Pass NULL indirectly.
28298
28299 2008-05-21  Bruno Haible  <bruno@clisp.org>
28300
28301         Add reference doc about ACLs.
28302         * doc/acl-resources.txt: New file.
28303         * doc/acl-cygwin.txt: New file.
28304
28305 2008-05-21  Bruno Haible  <bruno@clisp.org>
28306
28307         Avoid one more warning from gcc.
28308         * lib/vasnprintf.c (IF_LINT): Update comments.
28309         (VASNPRINTF): Use it also for the 'prefix' array initializer.
28310
28311 2008-05-21  Jim Meyering  <meyering@redhat.com>
28312
28313         avoid a warning from gcc
28314         * lib/vasnprintf.c (IF_LINT): Define.
28315         (scale10_round_decimal_long_double):
28316         Use it to avoid a "may be used uninitialized" warning.
28317         (scale10_round_decimal_double): Likewise.
28318
28319 2008-05-21  Simon Josefsson  <simon@josefsson.org>
28320
28321         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
28322         declared.
28323
28324 2008-05-20  Bruno Haible  <bruno@clisp.org>
28325
28326         * tests/test-memcmp.c (main): Test also the sign of the result. Test
28327         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
28328
28329 2008-05-20  Simon Josefsson  <simon@josefsson.org>
28330
28331         * modules/memcmp-tests: New file.
28332         * tests/test-memcmp.c: New file.
28333
28334 2008-05-19  Bruno Haible  <bruno@clisp.org>
28335
28336         * modules/propername (Notice, configure.ac): Put quoted "..." into
28337         --keyword option.
28338         * lib/propername.h: Update comments accordingly.
28339         Reported by Eric Blake.
28340
28341 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
28342
28343         * modules/getpass-gnu (Depends-on): Add fseeko.
28344
28345 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28346
28347         * modules/base64-tests: New file.
28348
28349 2008-05-19  Bo Borgerson <gigabo@gmail.com>
28350
28351         * lib/base64.c (base64_decode_ctx): If a decode context structure
28352         was passed in use it to ignore newlines.  If a context structure
28353         was _not_ passed in, continue to treat newlines as garbage (this
28354         is the historical behavior).  Formerly base64_decode.
28355         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28356         takes a decode context structure.
28357         * lib/base64.h (base64_decode): Macro for four-argument calls.
28358         (base64_decode_alloc): Likewise.
28359         * lib/base64.c (base64_decode_ctx): If a decode context structure
28360         was passed in use it to ignore newlines.  If a context structure
28361         was _not_ passed in, continue to treat newlines as garbage (this
28362         is the historical behavior).  Formerly base64_decode.
28363         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28364         takes a decode context structure.
28365         * lib/base64.h (base64_decode): Macro for four-argument calls.
28366         (base64_decode_alloc): Likewise.
28367
28368 2008-05-19  Jim Meyering  <meyering@redhat.com>
28369
28370         avoid a warning from gcc
28371         * lib/trim.c (IF_LINT): Define.
28372         (trim2): Use it to avoid a "may be used uninitialized" warning.
28373
28374         Fix doc typo.
28375         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
28376
28377 2008-05-19  Bruno Haible  <bruno@clisp.org>
28378
28379         * doc/glibc-functions/getpass.texi: Document limits of other
28380         implementations.
28381
28382 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28383             Bruno Haible <bruno@clisp.org>
28384
28385         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
28386
28387 2008-05-18  Bruno Haible  <bruno@clisp.org>
28388
28389         * modules/propername: New file, from GNU gettext.
28390         * lib/propername.h: New file, from GNU gettext.
28391         * lib/propername.c: New file, from GNU gettext.
28392         * MODULES.html.sh (Internationalization functions): Add propername.
28393
28394 2008-05-16  Jim Meyering  <meyering@redhat.com>
28395             Bruno Haible  <bruno@clisp.org>
28396
28397         Avoid some warnings from "gcc -Wshadow".
28398         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
28399
28400 2008-05-15  Eric Blake  <ebb9@byu.net>
28401
28402         Extend previous patch to cygwin 1.7.0.
28403         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
28404         fast implementation in cygwin >= 1.7.0.
28405         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28406         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28407
28408 2008-05-15  Bruno Haible  <bruno@clisp.org>
28409
28410         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
28411         implementation in glibc >= 2.9.
28412         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28413         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28414
28415 2008-05-15  Bruno Haible  <bruno@clisp.org>
28416
28417         * MODULES.html.sh (Internationalization functions): Remove linebreak.
28418         (Unicode string functions): Add unilbrk/*.
28419         Reported by Karl Berry.
28420
28421 2008-05-15  Eric Blake  <ebb9@byu.net>
28422
28423         Fix violation of <stdbool.h> replacement in regex.
28424         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
28425         * lib/regexec.c (re_search_internal): Likewise.
28426         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
28427
28428 2008-05-15  Jim Meyering  <meyering@redhat.com>
28429
28430         avoid distracting test output when git or cvs is not found
28431         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
28432         * tests/test-vc-list-files-git.sh: Likewise.
28433
28434 2008-05-15  Eric Blake  <ebb9@byu.net>
28435
28436         Glibc finally accepted the memmem speedup code, bugzilla #5514.
28437         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
28438         glibc version.
28439         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28440         * doc/posix-functions/strstr.texi (strstr): Likewise.
28441         * lib/str-two-way.h (MAX): Sychronize with glibc.
28442
28443 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
28444
28445         * lib/regcomp.c (optimize_utf8): Add a note on why we test
28446         opr.ctx_type.
28447         (calc_first): Initialize constraint field.
28448         (duplicate_node_closure): Use it instead of special casing ANCHORS.
28449         Fix grammar.
28450         (duplicate_node): Merge constraint field for all node types.
28451         (calc_eclosure_iter): Look at constraint field for all node types.
28452         * lib/regex_internal.c (create_cd_newstate): Don't look at
28453         opr.ctx_type.
28454
28455 2008-05-14  Bruno Haible  <bruno@clisp.org>
28456
28457         Help GCC to do better code generation.
28458         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
28459         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28460         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
28461         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
28462         Declare with attribute 'malloc' if supported.
28463
28464 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
28465
28466         use "echo STR|wc -c" rather than unportable "expr length STR"
28467         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
28468         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
28469
28470 2008-05-14  Jim Meyering  <meyering@redhat.com>
28471
28472         use dd ibs=$n count=1 ... rather than less-portable head -c$n
28473         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
28474         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
28475         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
28476         via Collin Lasse.
28477
28478 2008-05-14  Eric Blake  <ebb9@byu.net>
28479
28480         Avoid quadratic growth in gl_LIBSOURCES.
28481         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
28482         Suggested by Bruno Haible.
28483
28484         Test xmemdup0.
28485         * modules/xmemdup0-tests: New file.
28486         * tests/test-xmemdup0.c: Likewise.
28487
28488 2008-05-13  Eric Blake  <ebb9@byu.net>
28489
28490         Split xmemdup0 into its own module.
28491         * modules/xmemdup0: New file.
28492         * lib/xmemdup0.h: Likewise.
28493         * lib/xmemdup0.c: Likewise.
28494         * MODULES.html.sh (Memory management functions): Add xmemdup0.
28495         * lib/xalloc.h (xmemdup0): Remove.
28496         * lib/xmalloc.c (xmemdup0): Likewise.
28497
28498 2008-05-13  Eric Blake  <ebb9@byu.net>
28499             Bruno Haible  <bruno@clisp.org>
28500
28501         Reduce number of forks required during autoconf.
28502         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
28503         and gl_LIBSOURCES_DIR.
28504         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
28505         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
28506         m4_syscmd per file.
28507         <m4_foreach_w>: Move...
28508         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
28509
28510 2008-05-13  Eric Blake  <ebb9@byu.net>
28511
28512         * gnulib-tool: Fix various comment typos.
28513
28514 2008-05-12  Bruno Haible  <bruno@clisp.org>
28515
28516         Tailor the linebreaking algorithm.
28517         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
28518
28519 2008-05-12  Bruno Haible  <bruno@clisp.org>
28520
28521         Update to Unicode 5.0.0.
28522         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28523         LBP_JV, LBP_JT. Redistribute values.
28524         (unilbrk_table): Change size.
28525         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
28526         Unicode TR#14 rev. 22.
28527         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28528         LBP_JV, LBP_JT. Redistribute values.
28529         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
28530         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
28531         Update.
28532         * lib/unilbrk/lbrkprop1.h: Regenerated.
28533         * lib/unilbrk/lbrkprop2.h: Regenerated.
28534         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
28535         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
28536         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
28537         Likewise.
28538         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
28539         Likewise.
28540         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
28541         result.
28542         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
28543         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
28544         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
28545         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
28546         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
28547         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
28548
28549 2008-05-11  Bruno Haible  <bruno@clisp.org>
28550
28551         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
28552
28553 2008-05-11  Bruno Haible  <bruno@clisp.org>
28554
28555         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
28556         * modules/unilbrk/gen-lbrk: New file.
28557
28558 2008-05-11  Bruno Haible  <bruno@clisp.org>
28559
28560         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
28561         * m4/sha512.m4 (gl_SHA512): Likewise.
28562
28563 2008-05-11  Jim Meyering  <meyering@redhat.com>
28564
28565         New modules: crypto/sha256, crypto/sha512 (from coreutils)
28566         * modules/crypto/sha256: New file.
28567         * modules/crypto/sha512: Likewise.
28568         * lib/sha256.c: Likewise.
28569         * lib/sha256.h: Likewise.
28570         * lib/sha512.c: Likewise.
28571         * lib/sha512.h: Likewise.
28572         * lib/u64.h: Likewise.
28573         * m4/sha256.m4: Likewise.
28574         * m4/sha512.m4: Likewise.
28575         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
28576
28577 2008-05-10  Bruno Haible  <bruno@clisp.org>
28578
28579         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
28580         (Input/Output <stdio.h>): Add xprintf.
28581         (Signal handling <signal.h>): Add strsignal.
28582         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
28583         (Core language properties): Add func.
28584         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
28585         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
28586         strings.
28587         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
28588         (Input/output): New section.
28589         (File system functions): Add openat-die, stat-macros.
28590         (Networking functions): Add sockets.
28591         (Unicode string functions): Add unictype/*.
28592         (Support for building libraries and executables): Add gperf.
28593         (Support for building documentation): Add agpl-3.0.
28594         (Misc): Add nocrash.
28595
28596 2008-05-10  Bruno Haible  <bruno@clisp.org>
28597
28598         * modules/unictype/gen-ctype: New file.
28599
28600 2008-05-10  Jim Meyering  <meyering@redhat.com>
28601
28602         Make chdir-safer.c more efficient on a system with no symlinks.
28603         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
28604         also if ELOOP is zero.  Suggested by Bruno Haible.
28605
28606         Make chdir-safer.c slightly safer.
28607         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
28608         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
28609
28610         Avoid compile failure on systems without ELOOP (like mingw).
28611         * lib/chdir-safer.c (ELOOP): Define if not already defined.
28612         Reported by Bruno Haible.
28613
28614 2008-05-10  Bruno Haible  <bruno@clisp.org>
28615
28616         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
28617         (is_utf8_encoding): Use a case-insensitive comparison.
28618         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
28619         streq.
28620
28621 2008-05-10  Bruno Haible  <bruno@clisp.org>
28622
28623         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
28624         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
28625         * lib/unilbrk/ulc-common.h (iconv_string_length,
28626         iconv_string_keeping_offsets): Remove declarations.
28627         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
28628         Don't include <iconv.h>, streq.h, xsize.h.
28629         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
28630         conversion.
28631         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
28632         <iconv.h>, streq.h, xsize.h.
28633         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
28634         conversion.
28635         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
28636         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
28637         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
28638         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
28639
28640 2008-05-10  Bruno Haible  <bruno@clisp.org>
28641
28642         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
28643         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
28644
28645         * modules/unilbrk/u32-width-linebreaks-tests: New file.
28646         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
28647
28648         * modules/unilbrk/u16-width-linebreaks-tests: New file.
28649         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
28650
28651         * modules/unilbrk/u8-width-linebreaks-tests: New file.
28652         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
28653
28654         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
28655         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
28656
28657         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
28658         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
28659
28660         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
28661         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
28662
28663         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
28664         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
28665
28666 2008-05-10  Bruno Haible  <bruno@clisp.org>
28667
28668         Split up 'linebreak' module.
28669         * lib/unilbrk.h: New file, based on lib/linebreak.h.
28670         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
28671         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
28672         modifications.
28673         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
28674         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
28675         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
28676         lib/linebreak.c.
28677         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
28678         lib/linebreak.c.
28679         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
28680         lib/linebreak.c.
28681         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
28682         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
28683         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
28684         lib/linebreak.c.
28685         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
28686         lib/linebreak.c.
28687         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
28688         lib/linebreak.c.
28689         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
28690         lib/linebreak.c.
28691         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
28692         lib/linebreak.c.
28693         * modules/unilbrk/base: New file.
28694         * modules/unilbrk/tables: New file.
28695         * modules/unilbrk/u8-possible-linebreaks: New file.
28696         * modules/unilbrk/u16-possible-linebreaks: New file.
28697         * modules/unilbrk/u32-possible-linebreaks: New file.
28698         * modules/unilbrk/ulc-common: New file.
28699         * modules/unilbrk/ulc-possible-linebreaks: New file.
28700         * modules/unilbrk/u8-width-linebreaks: New file.
28701         * modules/unilbrk/u16-width-linebreaks: New file.
28702         * modules/unilbrk/u32-width-linebreaks: New file.
28703         * modules/unilbrk/ulc-width-linebreaks: New file.
28704         * lib/linebreak.h: Remove file.
28705         * lib/linebreak.c: Remove file.
28706         * m4/linebreak.m4: Remove file.
28707         * modules/linebreak: Remove file.
28708         * NEWS: Mention the changes.
28709
28710 2008-05-09  Eric Blake  <ebb9@byu.net>
28711
28712         Add xmemdup0.
28713         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
28714         implementation.
28715         * lib/xmalloc.c (xmemdup0): New C implementation.
28716
28717 2008-05-08  Bruno Haible  <bruno@clisp.org>
28718
28719         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
28720
28721 2008-05-07  Eric Blake  <ebb9@byu.net>
28722
28723         Support cross-compilation of <wctype.h>.
28724         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
28725         AC_CACHE_CHECK.
28726
28727 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
28728
28729         * build-aux/vc-list-files: Add support for bzr.
28730
28731 2008-05-03  Jim Meyering  <meyering@redhat.com>
28732
28733         avoid failed assertion with tight malloc
28734         * tests/test-getndelim2.c: Correct an off-by-one assertion.
28735
28736 2008-05-03  Simon Josefsson  <simon@josefsson.org>
28737
28738         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
28739         are needed from arpa/inet.h.
28740         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
28741         Reported by Bruno Haible.
28742
28743 2008-05-02  Jim Meyering  <meyering@redhat.com>
28744
28745         avoid compilation error on FreeBSD 6
28746         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
28747
28748 2008-05-01  Jim Meyering  <meyering@redhat.com>
28749
28750         useless-if-before-free: correct --help's exit status description
28751         * build-aux/useless-if-before-free (usage): Like grep, exit 0
28752         for one or more matches, etc.  Reported by Bruno Haible.
28753
28754         vc-list-files: make the stand-alone gnulib test work
28755         * modules/vc-list-files-tests (configure.ac):
28756         Define and AC_SUBST abs_aux_dir.
28757         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
28758         $(abs_top_srcdir) to each script and having each of them
28759         duplicate the work of setting PATH, set PATH here, using
28760         the new variable, abs_aux_dir instead.
28761         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
28762         * tests/test-vc-list-files-git.sh: Likewise.
28763         Reported by Bruno Haible.
28764
28765 2008-05-01  Bruno Haible  <bruno@clisp.org>
28766
28767         * lib/getndelim2.c (getndelim2): Fix newsize computation during
28768         reallocation. Rename 'done' to 'found_delimiter'.
28769
28770 2008-05-01  Jim Meyering  <meyering@redhat.com>
28771
28772         vc-list-files: accommodate /bin/sh like the one from Solaris 10
28773         * build-aux/vc-list-files: Use `...`, not $(...).
28774
28775 2008-04-30  Jim Meyering  <meyering@redhat.com>
28776
28777         add tests for vc-list-files
28778         * modules/vc-list-files-tests: New module.
28779         * tests/test-vc-list-files-cvs.sh: New file.
28780         * tests/test-vc-list-files-git.sh: New file.
28781
28782         avoid a warning from gcc
28783         * lib/getndelim2.c (IF_LINT): Define.
28784         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
28785
28786         vc-list-files: work properly with build-aux/cvsu, too
28787         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
28788         to all cvs-based clauses.
28789
28790         vc-list-files: work properly in the CVS+awk case, too
28791         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
28792
28793         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
28794         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
28795         take more than one file argument, so .  Add quotes, just in case $dir
28796         ever contains a shell meta-character.  Prompted by Soren Hansen in
28797         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
28798
28799 2008-04-29  Eric Blake  <ebb9@byu.net>
28800
28801         Optimize getndelim2 to use block operations when possible.
28802         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
28803         freadseek, and memchr2.
28804         * lib/getndelim2.c (getndelim2): Use them for block reads.
28805
28806 2008-04-29  Bruno Haible  <bruno@clisp.org>
28807
28808         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
28809         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28810         * modules/inet_ntop (Depends-on): Add extensions.
28811         * modules/inet_pton (Depends-on): Likewise.
28812         Reported by Simon Josefsson.
28813
28814 2008-04-29  Jim Meyering  <meyering@redhat.com>
28815
28816         When the is more than one match in a block, match all of them.
28817         * build-aux/useless-if-before-free: Iterate through each block
28818         until there are no more matches.
28819
28820         Fix broken useless-if-before-free script.
28821         * build-aux/useless-if-before-free: Fix typo: missing "?" after
28822         the expression to match cast of argument to free-like function.
28823
28824 2008-04-29  Eric Blake  <ebb9@byu.net>
28825
28826         Use new header.
28827         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
28828
28829 2008-04-29  Jim Meyering  <meyering@redhat.com>
28830
28831         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
28832         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
28833         by gnulib to exist and to declare e.g., inet_ntop.
28834         Don't include "inet_ntop.h", now removed.
28835
28836         * m4/arpa_inet_h.m4: Remove trailing blanks.
28837
28838 2008-04-29  Eric Blake  <ebb9@byu.net>
28839
28840         Silence valgrind on safe reads beyond potential array bounds.
28841         * lib/rawmemchr.valgrind: New file.
28842         * lib/strchrnul.valgrind: Likewise.
28843         * modules/rawmemchr (Files): Distribute new file.
28844         * modules/strchrnul (Files): Likewise.
28845         Suggested by Bruno Haible.
28846
28847 2008-04-29  Bruno Haible  <bruno@clisp.org>
28848
28849         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
28850         (inet_ntop, inet_pton): Change portability warning's wording.
28851         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
28852         Invoke gl_CHECK_NEXT_HEADERS.
28853         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
28854         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
28855         set ARPA_INET_H.
28856         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28857         * modules/arpa_inet (Description): No longer only for systems that
28858         lack it.
28859         (Depends-on): Add include_next.
28860         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
28861         HAVE_ARPA_INET_H.
28862
28863 2008-04-29  Jim Meyering  <meyering@redhat.com>
28864
28865         * modules/mkdir (License): Re-license as LGPLv2+.
28866
28867 2008-04-29  Bruno Haible  <bruno@clisp.org>
28868
28869         * modules/rawmemchr (Maintainer): Set to Eric.
28870         * modules/strchrnul (Maintainer): Likewise.
28871
28872 2008-04-29  Simon Josefsson  <simon@josefsson.org>
28873
28874         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
28875         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
28876
28877         * modules/arpa_inet (arpa/inet.h): Use them.
28878
28879 2008-04-28  Eric Blake  <ebb9@byu.net>
28880
28881         Test getndelim2.
28882         * modules/getndelim2-tests: New file.
28883         * tests/test-getndelim2.c: Likewise.
28884         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
28885         stream.
28886         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
28887
28888         * MODULES.html.sh: Document new module.
28889
28890 2008-04-20  Bruno Haible  <bruno@clisp.org>
28891
28892         * lib/c-stack.c (die): Use raise.
28893         * modules/c-stack (Depends-on): Add raise.
28894
28895 2008-04-28  Bruno Haible  <bruno@clisp.org>
28896
28897         Expect rpmatch to be declared.
28898         * lib/yesno.c (rpmatch): Remove declaration.
28899
28900         Declare rpmatch.
28901         * lib/stdlib.in.h (rpmatch): New declaration.
28902         * lib/rpmatch.c: Include <stdlib.h> first.
28903         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
28904         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
28905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
28906         HAVE_RPMATCH.
28907         * modules/rpmatch (Depends-on): Add stdlib, extensions.
28908         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28909         (Include): Set to <stdlib.h>.
28910         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
28911         HAVE_RPMATCH.
28912         * NEWS: Document the change.
28913
28914 2008-04-28  Bruno Haible  <bruno@clisp.org>
28915
28916         Change rpmatch to use nl_langinfo when appropriate.
28917         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
28918         (N_): New macro.
28919         (localized_pattern): New function/macro.
28920         (try): Remove match, nomatch arguments. Copy the pattern into safe
28921         memory before caching it.
28922         (rpmatch): Use localized_pattern. Add translator comments.
28923         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
28924         Suggested by Eric Blake.
28925         * modules/rpmatch (Depends-on): Add stdbool.
28926
28927 2008-04-28  Eric Blake  <ebb9@byu.net>
28928
28929         Add rawmemchr module, matching glibc.
28930         * modules/string (Makefile.am): New indicator.
28931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
28932         * lib/string.in.h (rawmemchr): Declare when appropriate.
28933         * modules/rawmemchr: New file.
28934         * m4/rawmemchr.m4: Likewise.
28935         * lib/rawmemchr.c: Likewise.
28936         * modules/rawmemchr-tests: Likewise.
28937         * tests/test-rawmemchr.c: Likewise.
28938         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
28939         module.
28940         * modules/strchrnul (Depends-on): Add rawmemchr.
28941         * lib/strchrnul.c (strchrnul): Optimize a corner case.
28942
28943         Whitespace cleanup.
28944         * tests/test-strchrnul.c: Reindent.
28945         * lib/strchrnul.c: Likewise.
28946
28947         Optimize and test strchrnul.
28948         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
28949         * modules/strchrnul-tests: New file.
28950         * tests/test-strchrnul.c: Likewise.
28951
28952         Remove intprops dependency.
28953         * modules/memchr (Depends-on): Remove intprops.
28954         * modules/memrchr (Depends-on): Likewise.
28955         * modules/memchr2 (Depends-on): Likewise.
28956         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
28957         * lib/memrchr.c (__memrchr): Likewise.
28958         * lib/memrchr2.c (memchr2): Likewise.
28959         Reported by Simon Josefsson.
28960
28961 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28962
28963         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
28964         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28965
28966 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28967
28968         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
28969
28970         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
28971
28972         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
28973
28974         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
28975         declarations.
28976         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
28977
28978         * m4/inet_pton.m4: Don't check for header files.
28979
28980         * m4/inet_ntop.m4: Don't check for header files.
28981
28982 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28983
28984         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
28985         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
28986         trigger for cygwin).
28987         Reported by Bruno Haible  <bruno@clisp.org>.
28988
28989 2008-04-28  Bruno Haible  <bruno@clisp.org>
28990
28991         * doc/posix-functions/strdup.texi: Mention mingw problem.
28992
28993 2008-04-27  Bruno Haible  <bruno@clisp.org>
28994
28995         * modules/stat-time-tests (Depends-on): Add sleep.
28996         * tests/test-stat-time.c (force_unlink): New function.
28997         (cleanup): Use it.
28998         (test_mtime): Remove the ctime related tests.
28999         (test_ctime): New function, containing the ctime related tests.
29000         (main): Call test_ctime, except on native Windows platforms.
29001
29002 2008-04-27  Bruno Haible  <bruno@clisp.org>
29003
29004         * lib/rpmatch.c (rpmatch): Add some comments.
29005         Reported by James Youngman <jay@gnu.org>.
29006
29007 2008-04-27  Bruno Haible  <bruno@clisp.org>
29008
29009         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
29010         quiet NaNs.
29011
29012 2008-04-27  Bruno Haible  <bruno@clisp.org>
29013
29014         Make test-yesno.sh work on mingw.
29015         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
29016         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
29017         (main): Set stdin to binary mode.
29018         * modules/yesno-tests (Depends-on): Add binary-io.
29019
29020 2008-04-27  Bruno Haible  <bruno@clisp.org>
29021
29022         Fix 'isfinite' on x86, x86_64, ia64 platforms.
29023         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
29024         argument that lie outside the IEEE 854 domain.
29025         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
29026         (gl_ISFINITE): Use it.
29027         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
29028
29029 2008-04-27  Bruno Haible  <bruno@clisp.org>
29030
29031         Allow local renaming in config.h.
29032         * lib/memrchr.c (memrchr): Don't undefine outside libc.
29033
29034 2008-04-27  Bruno Haible  <bruno@clisp.org>
29035
29036         * lib/memchr.c (__memchr): Change type of 'i'.
29037         * lib/memchr2.c (memchr2): Likewise.
29038
29039 2008-04-26  Eric Blake  <ebb9@byu.net>
29040         and Bruno Haible  <bruno@clisp.org>
29041
29042         Optimize and test memrchr.
29043         * modules/memrchr (Depends-on): Add intprops.
29044         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
29045         * modules/memrchr-tests: New file.
29046         * tests/test-memrchr.c: New file.
29047
29048 2008-04-26  Bruno Haible  <bruno@clisp.org>
29049
29050         Add tentative support for DragonFly BSD.
29051         * lib/stdio-impl.h: Add macros for DragonFly BSD.
29052         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
29053         fp.
29054         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29055         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
29056         * lib/fpurge.c (fpurge): Likewise.
29057         * lib/freadable.c (freaadable): Likewise.
29058         * lib/freadahead.c (freadahead): Likewise.
29059         * lib/freading.c (freading): Likewise.
29060         * lib/freadptr.c (freadptr): Likewise.
29061         * lib/freadseek.c (freadptrinc): Likewise.
29062         * lib/fseeko.c (fseeko): Likewise.
29063         * lib/fseterr.c (fseterr): Likewise.
29064         * lib/fwritable.c (fwritable): Likewise.
29065         * lib/fwriting.c (fwriting): Likewise.
29066
29067 2008-04-26  Bruno Haible  <bruno@clisp.org>
29068
29069         * lib/stdio-impl.h: New file.
29070         * lib/fbufmode.c: Include stdio-impl.h.
29071         (fbufmode): Use fp_, remove redundant #defines.
29072         * lib/fflush.c: Include stdio-impl.h.
29073         (clear_ungetc_buffer): Remove redundant #defines.
29074         * lib/fpurge.c: Include stdio-impl.h.
29075         (fpurge): Remove redundant #defines.
29076         * lib/freadable.c: Include stdio-impl.h.
29077         (freadable): Remove redundant #defines.
29078         * lib/freadahead.c: Include stdio-impl.h.
29079         (freadahead): Remove redundant #defines.
29080         * lib/freading.c: Include stdio-impl.h.
29081         (freading): Remove redundant #defines.
29082         * lib/freadptr.c: Include stdio-impl.h.
29083         (freadptr): Remove redundant #defines.
29084         * lib/freadseek.c: Include stdio-impl.h.
29085         (freadptrinc): Remove redundant #defines.
29086         * lib/fseeko.c: Include stdio-impl.h.
29087         (rpl_fseeko): Remove redundant #defines.
29088         * lib/fseterr.c: Include stdio-impl.h.
29089         (fseterr): Remove redundant #defines.
29090         * lib/fwritable.c: Include stdio-impl.h.
29091         (fwritable: Remove redundant #defines.
29092         * lib/fwriting.c: Include stdio-impl.h.
29093         (fwriting): Remove redundant #defines.
29094         * modules/fbufmode (Files): Add lib/stdio-impl.h.
29095         * modules/fflush (Files): Likewise.
29096         * modules/fpurge (Files): Likewise.
29097         * modules/freadable (Files): Likewise.
29098         * modules/freadahead (Files): Likewise.
29099         * modules/freading (Files): Likewise.
29100         * modules/freadptr (Files): Likewise.
29101         * modules/freadseek (Files): Likewise.
29102         * modules/fseeko (Files): Likewise.
29103         * modules/fseterr (Files): Likewise.
29104         * modules/fwritable (Files): Likewise.
29105         * modules/fwriting (Files): Likewise.
29106
29107 2008-04-26  Bruno Haible  <bruno@clisp.org>
29108
29109         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29110         restore_seek_optimization, update_fpos_cache): New functions, extracted
29111         from rpl_fflush.
29112         (rpl_fflush): Use them.
29113         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
29114         (gl_REPLACE_FFLUSH): Use it.
29115
29116 2008-04-26  Bruno Haible  <bruno@clisp.org>
29117
29118         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
29119         on Solaris.
29120         * tests/test-xstrtoimax.sh: Likewise.
29121         * tests/test-xstrtoumax.sh: Likewise.
29122         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29123
29124 2008-04-26  Bruno Haible  <bruno@clisp.org>
29125
29126         * modules/memchr-tests: New file.
29127         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
29128
29129 2008-04-26  Eric Blake  <ebb9@byu.net>
29130             Bruno Haible  <bruno@clisp.org>
29131
29132         * lib/memchr.c: Include intprops.h.
29133         (__memchr): Optimize parallel detection of matching bytes. Rename local
29134         variables. Add explanatory comments.
29135
29136 2008-04-26  Bruno Haible  <bruno@clisp.org>
29137
29138         Fix module 'memchr', broken since 2000-10-28.
29139         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
29140
29141 2008-04-26  Bruno Haible  <bruno@clisp.org>
29142
29143         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
29144         comments.
29145
29146 2008-04-25  Eric Blake  <ebb9@byu.net>
29147
29148         Use native fstatat on cygwin 1.7.0.
29149         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
29150         first.
29151
29152 2008-04-23  Eric Blake  <ebb9@byu.net>
29153
29154         Improve memchr2 performance.
29155         * lib/memchr2.c (memchr2): Further optimize parallel detection of
29156         NUL bytes.
29157         * modules/memchr2 (Depends-on): Use intprops.h.
29158
29159 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29160
29161         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
29162         an inline function instead of a CPP macro.  Patch by Ben Pfaff
29163         <blp@cs.stanford.edu>.
29164
29165 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29166
29167         * lib/arpa_inet.in.h: New file.
29168
29169         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
29170         (Makefile.am): Sed in substitute header file.
29171
29172         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
29173         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
29174
29175         * modules/inet_ntop (configure.ac): Use
29176         gl_ARPA_INET_MODULE_INDICATOR.
29177
29178         * modules/inet_pton (configure.ac): Use
29179         gl_ARPA_INET_MODULE_INDICATOR.
29180
29181 2008-04-22  Jim Meyering  <meyering@redhat.com>
29182
29183         * modules/verify (License): Re-license as LGPLv2+.
29184
29185 2008-04-22  Simon Josefsson  <simon@josefsson.org>
29186
29187         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
29188         parameter to void* as per POSIX standard (MinGW uses char*).
29189
29190 2008-04-21  Bruno Haible  <bruno@clisp.org>
29191
29192         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
29193         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
29194         Define to replacements if REPLACE_ISWCNTRL is 1.
29195         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
29196         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
29197         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
29198         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
29199         what it fixes.
29200         * doc/posix-functions/iswalpha.texi: Likewise.
29201         * doc/posix-functions/iswblank.texi: Likewise.
29202         * doc/posix-functions/iswcntrl.texi: Likewise.
29203         * doc/posix-functions/iswdigit.texi: Likewise.
29204         * doc/posix-functions/iswgraph.texi: Likewise.
29205         * doc/posix-functions/iswlower.texi: Likewise.
29206         * doc/posix-functions/iswprint.texi: Likewise.
29207         * doc/posix-functions/iswpunct.texi: Likewise.
29208         * doc/posix-functions/iswspace.texi: Likewise.
29209         * doc/posix-functions/iswupper.texi: Likewise.
29210         * doc/posix-functions/iswxdigit.texi: Likewise.
29211         Reported by Alain Guibert.
29212
29213 2008-04-21  Bruno Haible  <bruno@clisp.org>
29214
29215         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
29216         Patch by Alain Guibert.
29217
29218 2008-04-21  Bruno Haible  <bruno@clisp.org>
29219
29220         Fix test failures on mingw.
29221         * tests/test-xstrtol.c (print_no_progname): New function.
29222         (main): Install it in error_print_progname hook.
29223         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
29224         * tests/test-xstrtoimax.sh: Likewise.
29225         * tests/test-xstrtoumax.sh: Likewise.
29226
29227 2008-04-21  Bruno Haible  <bruno@clisp.org>
29228
29229         Fix test failure on mingw.
29230         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
29231
29232 2008-04-21  Bruno Haible  <bruno@clisp.org>
29233
29234         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
29235         Actually assign a value.
29236
29237 2008-04-20  Bruno Haible  <bruno@clisp.org>
29238
29239         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
29240         take 2.
29241         * lib/canonicalize.c (canonicalize_file_name): Elide if the
29242         'canonicalize-lgpl' module is also used.
29243         * lib/canonicalize-lgpl.c: Undo last change.
29244         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
29245
29246 2008-04-20  Bruno Haible  <bruno@clisp.org>
29247
29248         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
29249         config.h. Provide _mkdir based fallback for mingw.
29250         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
29251         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
29252         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
29253         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
29254         rather than defining mkdir in config.h.
29255         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
29256         (gl_SYS_STAT_H_DEFAULTS): New macro.
29257         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
29258         HAVE_IO_H any more.
29259         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
29260         HAVE_DECL_MKDIR and HAVE_IO_H.
29261
29262 2008-04-20  Bruno Haible  <bruno@clisp.org>
29263
29264         * lib/isapipe.c: Port to native Windows platforms.
29265
29266 2008-04-20  Bruno Haible  <bruno@clisp.org>
29267
29268         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
29269
29270 2008-04-21  Eric Blake  <ebb9@byu.net>
29271
29272         Work around preprocessors that don't handle UINTMAX_MAX.
29273         * lib/memchr2.c (memchr2): Avoid embedded #if.
29274         Reported by Alain Guibert, fix suggested by Bruno Haible.
29275
29276 2008-04-21  Simon Josefsson  <simon@josefsson.org>
29277
29278         * doc/posix-functions/strftime.texi (strftime): Explain better
29279         Windows incompatibility.  Suggested by Micah Cowan
29280         <micah@cowan.name>.
29281
29282 2008-04-20  Bruno Haible  <bruno@clisp.org>
29283
29284         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
29285         unistr/u8-mblen.
29286
29287 2008-04-20  Bruno Haible  <bruno@clisp.org>
29288
29289         Fix test failure on platforms with non-GNU iconv.
29290         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
29291         (U_TO_U8): Use it, rather than u16_to_u8.
29292         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
29293         units at the end of the input string.
29294         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
29295
29296 2008-04-20  Bruno Haible  <bruno@clisp.org>
29297
29298         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
29299         when the resulting length is 0.
29300         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
29301
29302 2008-04-20  Bruno Haible  <bruno@clisp.org>
29303
29304         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
29305         works.
29306         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
29307
29308 2008-04-20  Bruno Haible  <bruno@clisp.org>
29309
29310         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
29311         * modules/tsearch-tests (configure.ac): Test for initstate function.
29312
29313 2008-04-20  Bruno Haible  <bruno@clisp.org>
29314
29315         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
29316         for nlink_t if missing.
29317         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
29318
29319 2008-04-19  Bruno Haible  <bruno@clisp.org>
29320
29321         Work around snprintf bug on Linux libc5.
29322         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
29323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
29324         gl_SNPRINTF_SIZE1.
29325         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29326         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
29327         that test failed.
29328         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
29329         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
29330         * modules/snprintf (Files): Add m4/printf.m4.
29331         * modules/vsnprintf (Files): Likewise.
29332         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
29333         * doc/posix-functions/vsnprintf.texi: Likewise.
29334
29335 2008-04-19  Bruno Haible  <bruno@clisp.org>
29336
29337         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
29338         from 0.0058 to less than 10^-7.
29339
29340 2008-04-19  Bruno Haible  <bruno@clisp.org>
29341
29342         Fix rounding when a precision is given.
29343         * lib/vasnprintf.c (is_borderline): New function.
29344         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
29345         9...9x.
29346         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
29347         %e, %g.
29348         * tests/test-vasprintf-posix.c (test_function): Likewise.
29349         * tests/test-snprintf-posix.h (test_function): Likewise.
29350         * tests/test-sprintf-posix.h (test_function): Likewise.
29351         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
29352         * tests/test-printf-posix.h (test_function): Likewise.
29353         * tests/test-printf-posix.output: Update.
29354         Reported by John Darrington <john@darrington.wattle.id.au> via
29355         Ben Pfaff <blp@cs.stanford.edu>.
29356
29357 2008-04-18  Simon Josefsson  <simon@josefsson.org>
29358
29359         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
29360         Suggested by Bruno Haible <bruno@clisp.org>.
29361
29362 2008-04-17  Bruno Haible  <bruno@clisp.org>
29363
29364         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
29365         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
29366         implementation.
29367         Patch by Bruce Merry <bmerry@gmail.com>.
29368
29369 2008-04-17  Simon Josefsson  <simon@josefsson.org>
29370
29371         * doc/posix-functions/strftime.texi (strftime): Mention that %e
29372         doesn't work under Windows.
29373
29374 2008-04-16  Bruno Haible  <bruno@clisp.org>
29375
29376         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
29377         New macros.
29378         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
29379         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
29380         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
29381         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
29382         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
29383         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
29384         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
29385         macros.
29386         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
29387         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
29388         Northern Sotho, Uighur.
29389
29390 2008-04-16  Bruno Haible  <bruno@clisp.org>
29391
29392         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
29393         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
29394         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
29395         Reported by Daniel Bergström <daniel@octocode.com>.
29396
29397 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
29398             Bruno Haible  <bruno@clisp.org>
29399
29400         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
29401         function.
29402         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
29403         New functions, mostly extracted from gl_locale_name_default.
29404         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
29405
29406 2008-04-16  Eric Blake  <ebb9@byu.net>
29407
29408         Adjust strtod detection to catch glibc 2.7 bug.
29409         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
29410         Reported by John Gatewood Ham.
29411
29412 2008-04-16  Bruno Haible  <bruno@clisp.org>
29413
29414         Add tentative support for Linux libc5.
29415         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
29416         * lib/fpurge.c (fpurge): Likewise.
29417         * lib/freadable.c (freadable): Likewise.
29418         * lib/freadahead.c (freadahead): Likewise.
29419         * lib/freading.c (freading): Likewise.
29420         * lib/freadptr.c (freadptr): Likewise.
29421         * lib/freadseek.c (freadptrinc): Likewise.
29422         * lib/fseeko.c (rpl_fseeko): Likewise.
29423         * lib/fseterr.c (fseterr): Likewise.
29424         * lib/fwritable.c (fwritable): Likewise.
29425         * lib/fwriting.c (fwriting): Likewise.
29426         Reported by Alain Guibert <alguibert+bts@free.fr>.
29427
29428 2008-04-15  Bruno Haible  <bruno@clisp.org>
29429
29430         * modules/mathl (configure.ac): Define module indicator.
29431
29432 2008-04-15  Bruno Haible  <bruno@clisp.org>
29433
29434         * lib/logl.c (logl): Remove unused variables.
29435
29436 2008-04-15  Bruno Haible  <bruno@clisp.org>
29437
29438         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
29439         fails.
29440
29441 2008-04-15  Bruno Haible  <bruno@clisp.org>
29442
29443         * lib/trim.c (trim2): Fix argument of isspace() macro.
29444
29445 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
29446
29447         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
29448         to 0.
29449         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
29450
29451 2008-04-14  Bruno Haible  <bruno@clisp.org>
29452
29453         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
29454         AC_LANG_PROGRAM argument.
29455         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
29456         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
29457         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29458         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29459         * m4/math_h.m4 (gl_MATH_H): Likewise.
29460         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
29461         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29462         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29463         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
29464         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
29465         * m4/regex.m4 (gl_REGEX): Likewise.
29466         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
29467         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
29468         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29469         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
29470         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29471         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29472         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29473         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29474
29475 2008-04-14  Jim Meyering  <meyering@redhat.com>
29476
29477         test-strtod: fix typos: s/abs/fabs/
29478         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
29479
29480 2008-04-13  Bruno Haible  <bruno@clisp.org>
29481
29482         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
29483         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
29484         module is also used and while not building the reloc-wrapper.
29485
29486 2008-04-13  Bruno Haible  <bruno@clisp.org>
29487
29488         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
29489
29490 2008-04-13  Bruno Haible  <bruno@clisp.org>
29491
29492         Fix AIX compilation failure introduced on 2008-04-02.
29493         * tests/test-frexp.c (exp): Undefine before redefining.
29494         * tests/test-frexpl.c (exp): Likewise.
29495
29496 2008-04-13  Bruno Haible  <bruno@clisp.org>
29497
29498         Work around a HP-UX stdio bug.
29499         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
29500         * tests/test-ftello.c (main): Likewise.
29501         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
29502         * doc/posix-functions/ftello.texi: Likewise.
29503
29504 2008-04-13  Bruno Haible  <bruno@clisp.org>
29505
29506         Make test-signbit pass on HP-UX/hppa.
29507         * tests/test-signbit.c (minus_zerol): New variable.
29508         (test_signbitl): Use it.
29509
29510 2008-04-13  Bruno Haible  <bruno@clisp.org>
29511
29512         Make truncl work on OSF/1 4.0.
29513         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
29514         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29515         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
29517         HAVE_DECL_TRUNCL.
29518         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
29519         HAVE_DECL_TRUNCL.
29520         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
29521
29522 2008-04-13  Bruno Haible  <bruno@clisp.org>
29523
29524         * lib/unictype.h: Remove trailing comma from enumeration definitions.
29525
29526 2008-04-13  Bruno Haible  <bruno@clisp.org>
29527
29528         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
29529         expression, so as to avoid HP-UX 11 cc compiler bug.
29530
29531 2008-04-13  Bruno Haible  <bruno@clisp.org>
29532
29533         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
29534
29535 2008-04-13  Bruno Haible  <bruno@clisp.org>
29536
29537         * lib/git-merge-changelog.c: Remove empty declaration outside of
29538         functions.
29539
29540 2008-04-13  Bruno Haible  <bruno@clisp.org>
29541
29542         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
29543
29544 2008-04-13  Bruno Haible  <bruno@clisp.org>
29545
29546         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
29547         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
29548         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
29549         also if it exists but lacks definitions of the SHUT_* macros.
29550         * modules/sys_socket (Description): Update.
29551         Reported by Elbert Pol <e.pol@chello.nl>.
29552
29553 2008-04-13  Bruno Haible  <bruno@clisp.org>
29554
29555         * lib/localcharset.c (OS2): Don't redefine if already defined.
29556         Reported by Elbert Pol <e.pol@chello.nl>.
29557
29558 2008-04-13  Bruno Haible  <bruno@clisp.org>
29559
29560         * lib/binary-io.h [__EMX__]: Include <io.h>.
29561         Reported by Elbert Pol <e.pol@chello.nl>.
29562
29563 2008-04-12  Bruno Haible  <bruno@clisp.org>
29564
29565         * lib/fpucw.h: Enable the definitions also for x86_64.
29566         Needed for NetBSD/x86_64.
29567         Reported by Thomas Klausner <tk@giga.or.at>.
29568
29569 2008-04-12  Bruno Haible  <bruno@clisp.org>
29570
29571         * tests/test-strtod.c: Include isnand.h.
29572         (main): Use isnand instead of isnan.
29573         Reported by Jim Meyering.
29574
29575 2008-04-12  Bruno Haible  <bruno@clisp.org>
29576
29577         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
29578         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29579
29580 2008-04-12  Jim Meyering  <meyering@redhat.com>
29581
29582         * m4/math_h.m4 (gl_MATH_H): Fix typos.
29583
29584 2008-04-12  Bruno Haible  <bruno@clisp.org>
29585
29586         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
29587         Reported by Elbert Pol <e.pol@chello.nl>.
29588
29589 2008-04-12  Eric Blake  <ebb9@byu.net>
29590
29591         Work around Solaris 10 math.h bug.
29592         * m4/math_h.m4 (gl_MATH_H): Check for bug.
29593         (gl_MATH_H_DEFAULTS): Set up default.
29594         * modules/math (Makefile.am): Replace new indicators.
29595         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
29596         * tests/test-math.c (main): Test this.
29597         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
29598         * doc/posix-headers/math.texi (math.h): Mention bug.
29599         Reported by Nelson H. F. Beebe and Jim Meyering.
29600
29601 2008-04-11  Bruno Haible  <bruno@clisp.org>
29602
29603         Adapt to future versions of Apple GCC.
29604         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
29605         Reported by Peter O'Gorman <peter@pogma.com>.
29606
29607 2008-04-11  Bruno Haible  <bruno@clisp.org>
29608
29609         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
29610
29611 2008-04-11  Bruno Haible  <bruno@clisp.org>
29612
29613         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
29614
29615         * modules/getaddrinfo-tests (Makefile.am): Define
29616         test_getaddrinfo_LDADD.
29617
29618 2008-04-11  Bruno Haible  <bruno@clisp.org>
29619
29620         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
29621         (init): Fix syntax error.
29622         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
29623         is declared.
29624
29625 2008-04-11  Bruno Haible  <bruno@clisp.org>
29626
29627         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
29628         * modules/glob (Depends-on): Add stdbool.
29629
29630 2008-04-11  Bruno Haible  <bruno@clisp.org>
29631
29632         * lib/trim.c: Include <string.h>.
29633
29634 2008-04-11  Eric Blake  <ebb9@byu.net>
29635
29636         Avoid compile failure on OS/2.
29637         * lib/regex_internal.h (internal_function): Disable optimization
29638         on OS/2 (__EMX__), where it caused compiler error.
29639         Reported by Elbert Pol.
29640
29641 2008-04-11  Bruno Haible  <bruno@clisp.org>
29642
29643         Flush the standard error stream before aborting. Needed on mingw.
29644         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
29645         * tests/test-array_list.c (ASSERT): Likewise.
29646         * tests/test-array_oset.c (ASSERT): Likewise.
29647         * tests/test-avltree_list.c (ASSERT): Likewise.
29648         * tests/test-avltree_oset.c (ASSERT): Likewise.
29649         * tests/test-avltreehash_list.c (ASSERT): Likewise.
29650         * tests/test-binary-io.c (ASSERT): Likewise.
29651         * tests/test-byteswap.c (ASSERT): Likewise.
29652         * tests/test-c-ctype.c (ASSERT): Likewise.
29653         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
29654         * tests/test-c-strcasestr.c (ASSERT): Likewise.
29655         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
29656         * tests/test-c-strstr.c (ASSERT): Likewise.
29657         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
29658         * tests/test-canonicalize.c (ASSERT): Likewise.
29659         * tests/test-carray_list.c (ASSERT): Likewise.
29660         * tests/test-ceilf1.c (ASSERT): Likewise.
29661         * tests/test-ceilf2.c (ASSERT): Likewise.
29662         * tests/test-ceill.c (ASSERT): Likewise.
29663         * tests/test-count-one-bits.c (ASSERT): Likewise.
29664         * tests/test-fbufmode.c (ASSERT): Likewise.
29665         * tests/test-fflush2.c (ASSERT): Likewise.
29666         * tests/test-floorf1.c (ASSERT): Likewise.
29667         * tests/test-floorf2.c (ASSERT): Likewise.
29668         * tests/test-floorl.c (ASSERT): Likewise.
29669         * tests/test-fopen.c (ASSERT): Likewise.
29670         * tests/test-fpending.c (ASSERT): Likewise.
29671         * tests/test-fprintf-posix.c (ASSERT): Likewise.
29672         * tests/test-fpurge.c (ASSERT): Likewise.
29673         * tests/test-freadable.c (ASSERT): Likewise.
29674         * tests/test-freadahead.c (ASSERT): Likewise.
29675         * tests/test-freading.c (ASSERT): Likewise.
29676         * tests/test-freadptr.c (ASSERT): Likewise.
29677         * tests/test-freadptr2.c (ASSERT): Likewise.
29678         * tests/test-freadseek.c (ASSERT): Likewise.
29679         * tests/test-freopen.c (ASSERT): Likewise.
29680         * tests/test-frexp.c (ASSERT): Likewise.
29681         * tests/test-frexpl.c (ASSERT): Likewise.
29682         * tests/test-fseek.c (ASSERT): Likewise.
29683         * tests/test-fseeko.c (ASSERT): Likewise.
29684         * tests/test-fstrcmp.c (ASSERT): Likewise.
29685         * tests/test-ftell.c (ASSERT): Likewise.
29686         * tests/test-ftello.c (ASSERT): Likewise.
29687         * tests/test-func.c (ASSERT): Likewise.
29688         * tests/test-fwritable.c (ASSERT): Likewise.
29689         * tests/test-fwriting.c (ASSERT): Likewise.
29690         * tests/test-getdelim.c (ASSERT): Likewise.
29691         * tests/test-getline.c (ASSERT): Likewise.
29692         * tests/test-i-ring.c (ASSERT): Likewise.
29693         * tests/test-iconv-utf.c (ASSERT): Likewise.
29694         * tests/test-iconv.c (ASSERT): Likewise.
29695         * tests/test-isfinite.c (ASSERT): Likewise.
29696         * tests/test-isnand.c (ASSERT): Likewise.
29697         * tests/test-isnanf.c (ASSERT): Likewise.
29698         * tests/test-isnanl.h (ASSERT): Likewise.
29699         * tests/test-ldexpl.c (ASSERT): Likewise.
29700         * tests/test-linked_list.c (ASSERT): Likewise.
29701         * tests/test-linkedhash_list.c (ASSERT): Likewise.
29702         * tests/test-localename.c (ASSERT): Likewise.
29703         * tests/test-lseek.c (ASSERT): Likewise.
29704         * tests/test-mbscasecmp.c (ASSERT): Likewise.
29705         * tests/test-mbscasestr1.c (ASSERT): Likewise.
29706         * tests/test-mbscasestr2.c (ASSERT): Likewise.
29707         * tests/test-mbscasestr3.c (ASSERT): Likewise.
29708         * tests/test-mbscasestr4.c (ASSERT): Likewise.
29709         * tests/test-mbschr.c (ASSERT): Likewise.
29710         * tests/test-mbscspn.c (ASSERT): Likewise.
29711         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
29712         * tests/test-mbspbrk.c (ASSERT): Likewise.
29713         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
29714         * tests/test-mbsrchr.c (ASSERT): Likewise.
29715         * tests/test-mbsspn.c (ASSERT): Likewise.
29716         * tests/test-mbsstr1.c (ASSERT): Likewise.
29717         * tests/test-mbsstr2.c (ASSERT): Likewise.
29718         * tests/test-mbsstr3.c (ASSERT): Likewise.
29719         * tests/test-memchr2.c (ASSERT): Likewise.
29720         * tests/test-memmem.c (ASSERT): Likewise.
29721         * tests/test-open.c (ASSERT): Likewise.
29722         * tests/test-printf-frexp.c (ASSERT): Likewise.
29723         * tests/test-printf-frexpl.c (ASSERT): Likewise.
29724         * tests/test-printf-posix.c (ASSERT): Likewise.
29725         * tests/test-quotearg.c (ASSERT): Likewise.
29726         * tests/test-rbtree_list.c (ASSERT): Likewise.
29727         * tests/test-rbtree_oset.c (ASSERT): Likewise.
29728         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
29729         * tests/test-round1.c (ASSERT): Likewise.
29730         * tests/test-roundf1.c (ASSERT): Likewise.
29731         * tests/test-roundl.c (ASSERT): Likewise.
29732         * tests/test-signbit.c (ASSERT): Likewise.
29733         * tests/test-sleep.c (ASSERT): Likewise.
29734         * tests/test-snprintf-posix.c (ASSERT): Likewise.
29735         * tests/test-snprintf.c (ASSERT): Likewise.
29736         * tests/test-sprintf-posix.c (ASSERT): Likewise.
29737         * tests/test-stat-time.c (ASSERT): Likewise.
29738         * tests/test-strcasestr.c (ASSERT): Likewise.
29739         * tests/test-strerror.c (ASSERT): Likewise.
29740         * tests/test-striconv.c (ASSERT): Likewise.
29741         * tests/test-striconveh.c (ASSERT): Likewise.
29742         * tests/test-striconveha.c (ASSERT): Likewise.
29743         * tests/test-strsignal.c (ASSERT): Likewise.
29744         * tests/test-strstr.c (ASSERT): Likewise.
29745         * tests/test-strtod.c (ASSERT): Likewise.
29746         * tests/test-trunc1.c (ASSERT): Likewise.
29747         * tests/test-trunc2.c (ASSERT): Likewise.
29748         * tests/test-truncf1.c (ASSERT): Likewise.
29749         * tests/test-truncf2.c (ASSERT): Likewise.
29750         * tests/test-truncl.c (ASSERT): Likewise.
29751         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
29752         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
29753         * tests/test-vasnprintf.c (ASSERT): Likewise.
29754         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
29755         * tests/test-vasprintf.c (ASSERT): Likewise.
29756         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
29757         * tests/test-vprintf-posix.c (ASSERT): Likewise.
29758         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
29759         * tests/test-vsnprintf.c (ASSERT): Likewise.
29760         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
29761         * tests/test-wcwidth.c (ASSERT): Likewise.
29762         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
29763         * tests/test-xprintf-posix.c (ASSERT): Likewise.
29764         * tests/test-xvasprintf.c (ASSERT): Likewise.
29765         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
29766         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
29767         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
29768         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
29769         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
29770         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
29771         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
29772         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
29773         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
29774         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
29775         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
29776         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
29777         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
29778         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
29779         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
29780         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
29781         * tests/unictype/test-block_list.c (ASSERT): Likewise.
29782         * tests/unictype/test-block_of.c (ASSERT): Likewise.
29783         * tests/unictype/test-block_test.c (ASSERT): Likewise.
29784         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
29785         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
29786         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
29787         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
29788         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
29789         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
29790         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
29791         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
29792         * tests/unictype/test-combining.c (ASSERT): Likewise.
29793         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
29794         * tests/unictype/test-digit.c (ASSERT): Likewise.
29795         * tests/unictype/test-mirror.c (ASSERT): Likewise.
29796         * tests/unictype/test-numeric.c (ASSERT): Likewise.
29797         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
29798         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
29799         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
29800         * tests/unictype/test-scripts.c (ASSERT): Likewise.
29801         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
29802         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
29803         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
29804         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
29805         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
29806         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
29807         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
29808         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
29809         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
29810         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
29811         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
29812         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
29813         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
29814         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
29815         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
29816         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
29817         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
29818         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
29819         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
29820         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
29821         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
29822         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
29823         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
29824         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
29825         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
29826         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
29827         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
29828         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
29829         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
29830         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
29831         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
29832         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
29833         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
29834         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
29835         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
29836         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
29837         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
29838         Reported by Eric Blake.
29839
29840 2008-04-11  Bruno Haible  <bruno@clisp.org>
29841
29842         * lib/wchar.in.h: Tweak comment.
29843
29844 2008-04-11  Bruno Haible  <bruno@clisp.org>
29845
29846         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
29847         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
29848         gl_COMMON.
29849         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
29850
29851 2008-04-11  Bruno Haible  <bruno@clisp.org>
29852
29853         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
29854
29855 2008-04-11  Simon Josefsson  <simon@josefsson.org>
29856
29857         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
29858         of attempting to use non-existing /dev/*random.  Based on patch
29859         from Adam Strzelecki <ono@java.pl> in
29860         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
29861
29862 2008-04-08  Bruno Haible  <bruno@clisp.org>
29863
29864         Add tentative support for emx+gcc.
29865         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
29866         * lib/fpurge.c (fpurge): Likewise.
29867         * lib/freadable.c (freadable): Likewise.
29868         * lib/freadahead.c (freadahead): Likewise.
29869         * lib/freading.c (freading): Likewise.
29870         * lib/freadptr.c (freadptr): Likewise.
29871         * lib/freadseek.c (freadptrinc): Likewise.
29872         * lib/fseeko.c (rpl_fseeko): Likewise.
29873         * lib/fseterr.c (fseterr): Likewise.
29874         * lib/fwritable.c (fwritable): Likewise.
29875         * lib/fwriting.c (fwriting): Likewise.
29876         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
29877
29878 2008-04-09  Eric Blake  <ebb9@byu.net>
29879
29880         Avoid some autoconf warnings.
29881         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
29882         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
29883         * m4/afs.m4 (gl_AFS): Likewise.
29884         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
29885         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
29886         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29887         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
29888         (gl_INTEGER_TYPE_SUFFIX): Likewise.
29889         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
29890         (AC_CHECK_DECLS_ONCE): Likewise.
29891         Rename file...
29892         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
29893         gnulib-tool requires autoconf 2.59 or better.
29894         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
29895
29896 2008-04-08  Eric Blake  <ebb9@byu.net>
29897
29898         Use 'git describe --match' if present (added in git 1.5.5).
29899         * build-aux/git-version-gen: Limit result to tags that match 'v*'
29900         if possible.
29901
29902 2008-04-08  Bruno Haible  <bruno@clisp.org>
29903
29904         Add tentative support for OpenServer.
29905         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
29906         _ptr, _cnt.
29907         * lib/fpurge.c (fpurge): Likewise.
29908         * lib/freadable.c (freadable): Likewise.
29909         * lib/freadahead.c (freadahead): Likewise.
29910         * lib/freading.c (freading): Likewise.
29911         * lib/freadptr.c (freadptr): Likewise.
29912         * lib/freadseek.c (freadptrinc): Likewise.
29913         * lib/fseeko.c (rpl_fseeko): Likewise.
29914         * lib/fseterr.c (fseterr): Likewise.
29915         * lib/fwritable.c (fwritable): Likewise.
29916         * lib/fwriting.c (fwriting): Likewise.
29917         Reported by Roger Cornelius <rac@tenzing.org> and
29918         Brian K. White <brian@aljex.com>.
29919
29920 2008-04-06  Jim Meyering  <meyering@redhat.com>
29921
29922         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
29923
29924 2008-04-06  Bruno Haible  <bruno@clisp.org>
29925
29926         Avoid possible error with non-ASCII bytes in UTF-8 locales.
29927         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
29928         * tests/test-printf-posix.sh: Likewise.
29929         * tests/test-vfprintf-posix.sh: Likewise.
29930         * tests/test-vprintf-posix.sh: Likewise.
29931         * tests/test-xprintf-posix.sh: Likewise.
29932
29933 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29934
29935         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
29936         hide error from 'ls', needed on OS/2.
29937         Report by Elbert Pol <elbert.pol@gmail.com>.
29938
29939 2008-04-04  Eric Blake  <ebb9@byu.net>
29940
29941         Make test-fseeko.c failures meaningful.
29942         * tests/test-fseeko.c: Print line number on failure.
29943         * tests/test-fseek.c: Likewise.
29944         Reported by Nelson H. F. Beebe.
29945
29946         Improve strtod bug detection check.
29947         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
29948         required for Solaris 10.
29949         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
29950
29951 2008-04-04  Bruno Haible  <bruno@clisp.org>
29952
29953         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
29954         by m4/setenv.m4.
29955
29956 2008-04-03  Eric Blake  <ebb9@byu.net>
29957
29958         Ensure sane .version contents.
29959         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
29960         version string.
29961         * build-aux/git-version-gen: Improve documentation.
29962
29963         Make GNU make output nicer.
29964         * top/GNUmakefile [!_have-Makefile]: Add dependency on
29965         MAKECMDGOALS to enforce message for all command line targets.  Set
29966         srcdir for use in maint.mk.
29967
29968         Another maintainer tweak.
29969         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
29970         a target that regenerates version.
29971
29972 2008-04-03  Jim Meyering  <meyering@redhat.com>
29973
29974         vc-list-files: don't cause coreutils "make po-check" failure
29975         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
29976
29977 2008-04-03  Eric Blake  <ebb9@byu.net>
29978
29979         Allow VPATH usage of vc-list-files.
29980         * build-aux/vc-list-files (scriptversion): Add timestamp.
29981         (options): Add --help, --version, -C.
29982         (CVS): Support installed cvsu.
29983
29984 2008-04-02  Bruno Haible  <bruno@clisp.org>
29985
29986         Avoid some "statement with no effect" warnings from gcc.
29987         * tests/test-wctype.c (main): Explicitly ignore unused values.
29988         Reported by Jim Meyering.
29989
29990 2008-04-02  Jim Meyering  <meyering@redhat.com>
29991
29992         Avoid some warnings from "gcc -Wshadow".
29993         * tests/test-frexp.c (exp): Define to a different identifier.
29994         * tests/test-frexpl.c (exp): Likewise.
29995
29996 2008-04-03  Jim Meyering  <meyering@redhat.com>
29997
29998         bootstrap: remove dangling *.[ch] symlinks from lib
29999         * build-aux/bootstrap [dangling symlink removal]: Move find's
30000         -depth option to precede all others, to avoid a warning.
30001         Remove *.[ch] files too, and from "$source_base" (usually lib/).
30002
30003 2008-04-02  Bruno Haible  <bruno@clisp.org>
30004
30005         Avoid some warnings from "gcc -Wshadow".
30006         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
30007         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
30008         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
30009         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
30010         Reported by Jim Meyering.
30011
30012 2008-04-01  Bruno Haible  <bruno@clisp.org>
30013
30014         Fix test to work on IRIX 6.5 with cc.
30015         * tests/test-math.c (numeric_equal): New function.
30016         (main): Use it.
30017
30018 2008-04-01  Bruno Haible  <bruno@clisp.org>
30019
30020         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
30021
30022 2008-04-01  Bruno Haible  <bruno@clisp.org>
30023
30024         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
30025         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30026         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
30027         (Depends-on): Remove math.
30028
30029         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
30030         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30031         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
30032         (Depends-on): Remove math.
30033
30034         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
30035         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30036         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
30037         (Depends-on): Remove math.
30038         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
30039         (Depends-on): Remove math.
30040
30041         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
30042         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30043         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
30044         (Depends-on): Remove math.
30045         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
30046         (Depends-on): Remove math.
30047
30048         * tests/test-round1.c: Include nan.h.
30049         (main): Use NaNd instead of NAN.
30050         * modules/round-tests (Files): Add tests/nan.h.
30051
30052         * tests/test-trunc1.c: Include nan.h.
30053         (main): Use NaNd instead of NAN.
30054         * modules/trunc-tests (Files): Add tests/nan.h.
30055
30056         * tests/test-roundf1.c: Include nan.h.
30057         (main): Use NaNf instead of NAN.
30058         * modules/roundf-tests (Files): Add tests/nan.h.
30059
30060         * tests/test-truncf1.c: Include nan.h.
30061         (main): Use NaNf instead of NAN.
30062         * modules/truncf-tests (Files): Add tests/nan.h.
30063
30064         * tests/test-ceilf1.c: Include nan.h.
30065         (main): Use NaNf instead of NAN.
30066         * modules/ceilf-tests (Files): Add tests/nan.h.
30067
30068         * tests/test-floorf1.c: Include nan.h.
30069         (main): Use NaNf instead of NAN.
30070         * modules/floorf-tests (Files): Add tests/nan.h.
30071
30072         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
30073         (main): Use NaNf instead of NAN.
30074         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
30075
30076         * tests/test-isnand.c: Include nan.h instead of <math.h>.
30077         (main): Use NaNd instead of NAN.
30078         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
30079
30080         * tests/test-frexp.c: Include nan.h.
30081         (main): Use NaNd instead of NAN.
30082         * modules/frexp-tests (Files): Add tests/nan.h.
30083
30084         * lib/isnan.c: Don't include <math.h>.
30085         (FUNC): Don't use NAN macro.
30086         * modules/isnand-nolibm (Depends-on): Remove math.
30087         * modules/isnanf-nolibm (Depends-on): Remove math.
30088         * modules/isnanl (Depends-on): Remove math.
30089         * modules/isnanl-nolibm (Depends-on): Remove math.
30090
30091         * tests/nan.h: New file.
30092
30093 2008-04-01  Eric Blake  <ebb9@byu.net>
30094
30095         Fix typos.
30096         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
30097         values to be the right type.
30098
30099         For now, cater to gnulib strtod inaccuracies.
30100         * tests/test-strtod.c (main): Allow 1-ulp error on expected
30101         fractional results.  While not as nice from a QoI perspective, it
30102         is a quicker patch than correctly implementing decimal to binary
30103         rounding.
30104
30105 2008-03-31  Eric Blake  <ebb9@byu.net>
30106
30107         Guarantee a definition of NAN.
30108         * lib/math.in.h (NAN): Define if missing.
30109         * tests/test-math.c (main): Test it.
30110         * doc/posix-headers/math.texi (math.h): Document this.
30111         * lib/isnan.c (rpl_isnand): Use it.
30112         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
30113         * tests/test-floorf1.c (NaN): Likewise.
30114         * tests/test-frexp.c (NaN): Likewise.
30115         * tests/test-isnand.c (NaN): Likewise.
30116         * tests/test-isnanf.c (NaN): Likewise.
30117         * tests/test-round1.c (NaN): Likewise.
30118         * tests/test-roundf1.c (NaN): Likewise.
30119         * tests/test-snprintf-posix.h (NaN): Likewise.
30120         * tests/test-sprintf-posix.h (NaN): Likewise.
30121         * tests/test-trunc1.c (NaN): Likewise.
30122         * tests/test-truncf1.c (NaN): Likewise.
30123         * tests/test-vasnprintf-posix.c (NaN): Likewise.
30124         * tests/test-vasprintf-posix.c (NaN): Likewise.
30125         * modules/isnand-nolibm (Depends-on): Add math.
30126         * modules/isnanf-nolibm (Depends-on): Likewise.
30127         * modules/isnanl (Depends-on): Likewise.
30128         * modules/isnanl-nolibm (Depends-on): Likewise.
30129         * modules/snprintf-posix-tests (Depends-on): Likewise.
30130         * modules/sprintf-posix-tests (Depends-on): Likewise.
30131         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
30132         * modules/vsprintf-posix-tests (Depends-on): Likewise.
30133         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
30134         * modules/vasprintf-posix-tests (Depends-on): Likewise.
30135
30136 2008-03-31  Bruno Haible  <bruno@clisp.org>
30137
30138         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
30139         * doc/posix-functions/strtod.texi: Likewise.
30140
30141 2008-03-31  Bruno Haible  <bruno@clisp.org>
30142
30143         * tests/test-strtod.c (main): Don't use C99 syntax.
30144
30145 2008-03-31  Bruno Haible  <bruno@clisp.org>
30146
30147         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
30148         Reported by Eric Blake.
30149
30150 2008-03-31  Jim Meyering  <meyering@redhat.com>
30151
30152         Don't compare actual signbit return values.
30153         * tests/test-strtod.c (main): Rather, compare only their
30154         zero/non-zero nature.
30155
30156 2008-03-31  Eric Blake  <ebb9@byu.net>
30157
30158         More strtod documentation.
30159         * doc/posix-functions/strtod.texi (strtod): Interpret more test
30160         failures as distinct bugs.
30161
30162 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
30163
30164         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
30165         Problem reported by Erik Benada in
30166         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
30167
30168 2008-03-30  Bruno Haible  <bruno@clisp.org>
30169
30170         * tests/test-strtod.c: Add comments about which assertion fails on which
30171         platform.
30172         * doc/posix-functions/strtod.texi: Add info about many more platforms.
30173
30174 2008-03-30  Eric Blake  <ebb9@byu.net>
30175
30176         Test signbit behavior on zeros.
30177         * tests/test-signbit.c (test_signbitf): Add tests for zero.
30178         (test_signbitd, test_signbitl): Likewise.
30179
30180         More strtod touchups.
30181         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
30182         sign of negative underflow, for now.  Use .5, not .1.
30183         * doc/posix-functions/strtod.texi (strtod): Mention these
30184         limitations.
30185         Reported by Jim Meyering.
30186
30187 2008-03-30  Bruno Haible  <bruno@clisp.org>
30188
30189         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
30190         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
30191
30192 2008-03-30  Bruno Haible  <bruno@clisp.org>
30193
30194         Avoid failure when attempting to return empty iconv results on some
30195         platforms.
30196         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
30197         allocation, don't report ENOMEM when the resulting string is empty.
30198
30199 2008-03-30  Bruno Haible  <bruno@clisp.org>
30200
30201         Fix buffer overrun.
30202         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
30203         Don't consider the width for tmp_length. Check count against tmp_length
30204         before doing the padding. Ensure enough allocation during padding.
30205
30206 2008-03-30  Eric Blake  <ebb9@byu.net>
30207
30208         strtod touchups.
30209         * lib/strtod.c (strtod): Avoid compiler warnings.
30210         Reported by Jim Meyering.
30211
30212 2008-03-30  Bruno Haible  <bruno@clisp.org>
30213
30214         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
30215         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
30216         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
30217         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
30218         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
30219         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
30220         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
30221         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
30222
30223         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
30224         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
30225         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
30226         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
30227         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
30228         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
30229         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
30230         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
30231
30232         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
30233         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
30234         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
30235         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
30236         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
30237         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
30238         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
30239         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
30240
30241         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
30242         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
30243
30244         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
30245         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
30246
30247         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
30248         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
30249
30250         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
30251         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
30252         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
30253
30254         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
30255         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
30256         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
30257
30258         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
30259         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
30260         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
30261
30262         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
30263         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
30264         * modules/vasprintf (Depends-on): Add EOVERFLOW.
30265
30266         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
30267         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
30268         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
30269         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
30270         (Depends-on): Add EOVERFLOW.
30271         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
30272         (Depends-on): Add EOVERFLOW.
30273         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30274         (Depends-on): Add EOVERFLOW.
30275         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30276         (Depends-on): Add EOVERFLOW.
30277         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30278         (Depends-on): Add EOVERFLOW.
30279         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30280         (Depends-on): Add EOVERFLOW.
30281         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30282         (Depends-on): Add EOVERFLOW.
30283         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30284         (Depends-on): Add EOVERFLOW.
30285
30286         * lib/sprintf.c (EOVERFLOW): Remove fallback.
30287         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
30288         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
30289
30290         * lib/snprintf.c (EOVERFLOW): Remove fallback.
30291         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
30292         * modules/snprintf (Depends-on): Add EOVERFLOW.
30293
30294         * lib/poll.c (EOVERFLOW): Remove fallback.
30295         * modules/poll (Depends-on): Add EOVERFLOW.
30296
30297         * lib/getugroups.c (EOVERFLOW): Remove fallback.
30298         * modules/getugroups (Depends-on): Add EOVERFLOW.
30299
30300         * lib/getdelim.c (EOVERFLOW): Remove fallback.
30301         * modules/getdelim (Depends-on): Add EOVERFLOW.
30302
30303         * lib/ftell.c (EOVERFLOW): Remove fallback.
30304         * modules/ftell (Depends-on): Add EOVERFLOW.
30305
30306         * lib/fprintf.c (EOVERFLOW): Remove fallback.
30307         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
30308         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
30309
30310         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
30311
30312         * modules/EOVERFLOW-tests: New file.
30313         * tests/test-EOVERFLOW.c: New file.
30314
30315         * modules/EOVERFLOW: New file.
30316         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
30317
30318 2008-03-30  Bruno Haible  <bruno@clisp.org>
30319
30320         Fix bug introduced on 2007-06-10.
30321         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
30322         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
30323
30324 2008-03-30  Bruno Haible  <bruno@clisp.org>
30325
30326         Improve freadseek's efficiency after ungetc.
30327         * lib/freadseek.c: Include freadahead.h.
30328         (freadptrinc): New function, extracted from freadseek.
30329         (freadseek): Use it in a loop. Use freadahead to determine the number
30330         of loop iterations.
30331         * modules/freadseek (Depends-on): Add freadahead.
30332         (configure.ac): Require AC_C_INLINE.
30333
30334 2008-03-30  Bruno Haible  <bruno@clisp.org>
30335
30336         * lib/freadseek.c (freadseek): Don't ignore the return value of
30337         freadptr.
30338
30339 2008-03-29  Eric Blake  <ebb9@byu.net>
30340
30341         Add hex float support.
30342         * modules/strtod (Depends-on): Add c-ctype.
30343         (Link): Mention POW_LIB.
30344         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
30345         whitespace between 'e' and exponent.
30346         * tests/test-strtod.c (main): Enable hex float tests.
30347         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
30348         now provides.
30349
30350         Document various strtod bugs, with some fixes.
30351         * doc/posix-functions/strtod.texi (strtod): Document bugs with
30352         "-0x", "inf", "nan", and hex constants.
30353         * doc/posix-functions/atof.texi (atof): Likewise.
30354         * modules/stdlib (Makefile.am): Support strtod.
30355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30356         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
30357         detect additional strtod bugs.
30358         * lib/stdlib.in.h (rpl_strtod): Add declarations.
30359         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
30360         bool where appropriate.  Parse 'inf' and 'nan'.
30361         * tests/test-strtod.c: New file.
30362         * modules/strtod (Depends-on): Add stdbool, stdlib.
30363         (configure.ac): Turn on module indicator.
30364         * modules/strtod-tests: New module.
30365
30366 2008-03-29  Eric Blake  <ebb9@byu.net>
30367
30368         Fix ftell on mingw.
30369         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
30370         * modules/ftell-tests (Depends-on): Add binary-io.
30371         * modules/ftello-tests (Depends-on): Likewise.
30372         * tests/test-ftell.c (main): Enhance test to cover behavior after
30373         ungetc.  Enforce binary mode.
30374         * tests/test-ftello.c (main): Likewise.
30375
30376         Pass test-freadseek on cygwin.
30377         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
30378         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
30379         ungetc buffer.
30380
30381         * tests/test-fflush2.c (main): Fix typo.
30382
30383 2008-03-29  Bruno Haible  <bruno@clisp.org>
30384
30385         * tests/test-fflush2.c (main): Temporarily disable the contents of
30386         this test.
30387         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
30388         Reported by Eric Blake.
30389
30390 2008-03-28  Simon Josefsson  <simon@josefsson.org>
30391
30392         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
30393         (GC_SHA224_DIGEST_SIZE): Add.
30394
30395         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
30396         (gc_hash_digest_length): Likewise.
30397         (gc_hash_buffer): Likewise.
30398
30399 2008-03-25  Bruno Haible  <bruno@clisp.org>
30400
30401         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
30402         detail which gettext release to use.
30403         Reported by Simon Josefsson.
30404
30405 2008-03-26  Jim Meyering  <meyering@redhat.com>
30406
30407         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
30408         * modules/gnumakefile (clean-GNUmakefile): Also, use
30409         test ... && ... || : syntax rather than if-then ... fi.
30410
30411         gnumakefile: Don't double-quote-expand $(VPATH) value.
30412         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
30413
30414 2008-03-24  Eric Blake  <ebb9@byu.net>
30415
30416         Alter GNUmakefile to install into top directory.
30417         * modules/maintainer-makefile: Split, and add dependency...
30418         * modules/gnumakefile: to this new module.
30419         * build-aux/GNUmakefile: Move...
30420         * top/GNUmakefile: ...here.
30421         * build-aux/maint.mk: Move...
30422         * top/maint.mk: ...here.
30423         * MODULES.html.sh (Support for maintaining...): Document new
30424         module.
30425
30426 2008-03-23  Bruno Haible  <bruno@clisp.org>
30427
30428         * gnulib-tool: New options --vc-files, --no-vc-files.
30429         (func_usage): Document them.
30430         (vc_files): New variable.
30431         (func_import): Consider vc_files.
30432         (func_create_testdir): Set vc_files to empty.
30433         Suggested by Jim Meyering and Karl Berry.
30434
30435 2008-03-23  Bruno Haible  <bruno@clisp.org>
30436
30437         Fix regex compilation error on HP-UX 11.
30438         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
30439         * modules/regex (Files): Add m4/mbstate_t.m4.
30440         Reported by Ton Voon <ton.voon@altinity.com>.
30441
30442 2008-03-23  Bruno Haible  <bruno@clisp.org>
30443
30444         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
30445
30446 2008-03-23  Eric Blake  <ebb9@byu.net>
30447             Bruno Haible  <bruno@clisp.org>
30448
30449         Install files from top/ in the destination directory.
30450         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
30451         augmentation also for the files from top/.
30452         (func_import, func_create_testdir): Rewrite file names:
30453         top/filename -> filename.
30454
30455 2008-03-23  Bruno Haible  <bruno@clisp.org>
30456
30457         Tweak "gnulib --version" output.
30458         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
30459
30460 2008-03-23  Bruno Haible  <bruno@clisp.org>
30461
30462         Tweak "gnulib --version" output.
30463         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
30464         rather than contents of ChangeLog, when possible.
30465
30466 2008-03-21  Eric Blake  <ebb9@byu.net>
30467
30468         More --version tweaks.
30469         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
30470         date of last ChangeLog entry.
30471
30472 2008-03-21  Jim Meyering  <meyering@redhat.com>
30473
30474         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
30475
30476 2008-03-20  Eric Blake  <ebb9@byu.net>
30477
30478         VPATH fix.
30479         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
30480
30481 2008-03-20  Simon Josefsson  <simon@josefsson.org>
30482
30483         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
30484         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
30485
30486 2008-03-20  Eric Blake  <ebb9@byu.net>
30487
30488         Sync GNUmakefile with coreutils.
30489         * build-aux/GNUmakefile (have-Makefile): Rename...
30490         (_have-Makefile): ...to this, for namespace consideration.
30491         (GNUmakefile.cfg): Include, if present.
30492         (_autoreconf): Define a default.
30493         (_is-dist-target): New rule for rebuilds to pick up intra-release
30494         version.
30495         (maint-cfg.mk): Rename...
30496         (cfg.mk): ...to this.
30497
30498 2008-03-18  Jim Meyering  <meyering@redhat.com>
30499
30500         New script and module: mktempd
30501         * MODULES.html.sh (maint+release support): Add mktempd.
30502         * build-aux/mktempd: New file.
30503         * modules/mktempd: New file.
30504
30505 2008-03-15  Jim Meyering  <meyering@redhat.com>
30506
30507         Undo last change.
30508         * lib/sha1.c, lib/md5.c: 63 != ~63.
30509         Reported by Andreas Schwab.
30510
30511         sha1.c, md5.c: Hoist a redundant expression.
30512         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
30513         "ctx->buflen" only once, before calling *_process_block.
30514         * lib/md5.c (md5_process_bytes): Likewise.
30515
30516 2008-03-14  Eric Blake  <ebb9@byu.net>
30517
30518         Bump copyright year in files generated by gnulib-tool.
30519         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
30520         gnulib-tool, rather than hard-coding it.
30521
30522         Fix 'gnulib-tool --version' output to work with git.
30523         * gnulib-tool (func_gnulib_dir): New function, extracted from...
30524         (startup): ...here.
30525         (func_version): Use it to invoke git-version-gen, rather than
30526         relying on CVS keyword expansion.  Modernize wording.
30527         (cvsdatestamp, last_checkin_date, version): Kill unused
30528         variables.
30529
30530 2008-03-12  Jim Meyering  <meyering@redhat.com>
30531
30532         Recognize optional cast of the argument to free.
30533         * build-aux/useless-if-before-free: Update regexps.
30534
30535         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
30536
30537 2008-03-11  Bruno Haible  <bruno@clisp.org>
30538
30539         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
30540         by a single package.
30541         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
30542         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
30543         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
30544         Reported by Sam Steingold <sds@gnu.org>.
30545
30546 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30547
30548         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
30549         repositories.
30550
30551 2008-03-11  Bruno Haible  <bruno@clisp.org>
30552
30553         Avoid conflicts between local macro definitions.
30554         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30555         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
30556
30557 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
30558             Bruno Haible  <bruno@clisp.org>
30559
30560         Make va_copy work with some version of xlc on AIX 5.1.
30561         * lib/stdarg.in.h: New file.
30562         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
30563         On AIX, use a <stdarg.h> file substitute.
30564         * modules/stdarg (Files): Add lib/stdarg.in.h.
30565         (Depends-on): Add include_next.
30566         (Makefile.am): Build a stdarg.h substitute if requested.
30567         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
30568
30569 2008-03-10  Bruno Haible  <bruno@clisp.org>
30570
30571         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
30572         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30573         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30574
30575 2008-03-10  Bruno Haible  <bruno@clisp.org>
30576
30577         * modules/stdlib (Depends-on): Add include_next, remove
30578         absolute-header.
30579
30580 2008-03-09  Bruno Haible  <bruno@clisp.org>
30581
30582         * lib/freadahead.h (freadahead): Document more precisely.
30583         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
30584         the sum of both buffer sizes.
30585         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
30586         * NEWS: Document the change.
30587
30588 2008-03-09  Bruno Haible  <bruno@clisp.org>
30589
30590         Extend freadptr to return also the buffer size.
30591         * lib/freadptr.h (freadptr): Add sizep argument.
30592         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
30593         (freadptr): Add sizep argument. Determine buffer size like freadahead
30594         does.
30595         * tests/test-freadptr.c: Don't include freadahead.h.
30596         (main): Adapt for new calling convention of freadptr.
30597         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
30598         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
30599         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
30600         tests/test-freadptr2.sh.
30601         (Depends): Remove freadahead.
30602         (TESTS): Add test-freadptr2.sh.
30603         (check_PROGRAMS): Add test-freadptr2.
30604
30605 2008-03-09  Bruno Haible  <bruno@clisp.org>
30606
30607         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
30608         Report and solution by Simon Josefsson.
30609
30610 2008-03-06  Bruno Haible  <bruno@clisp.org>
30611
30612         Make fflush after ungetc work on BSD platforms.
30613         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
30614         * tests/test-fflush2.c: New file.
30615         * tests/test-fflush2.sh: New file.
30616         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
30617         tests/test-fflush2.c.
30618         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
30619         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
30620
30621 2008-03-06  Eric Blake  <ebb9@byu.net>
30622
30623         Likewise for ftello.
30624         * modules/ftello (Dependencies): Add extensions.
30625         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
30626
30627 2008-03-06  Bruno Haible  <bruno@clisp.org>
30628
30629         * modules/fseeko (Dependencies): Add extensions.
30630         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
30631         Needed on glibc systems.
30632
30633 2008-03-06  Bruno Haible  <bruno@clisp.org>
30634
30635         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
30636         email address.
30637         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30638
30639 2008-03-06  Bruno Haible  <bruno@clisp.org>
30640
30641         * users.txt: Add libgnupdf.
30642
30643 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30644
30645         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
30646         (Header File Substitutes, Function Substitutes,
30647         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
30648         (Build robot for gnulib): Fix typo.
30649
30650 2008-03-06  Bruno Haible  <bruno@clisp.org>
30651
30652         * doc/gnulib-tool.texi (VCS Issues): Small updates.
30653         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30654
30655 2008-03-06  Bruno Haible  <bruno@clisp.org>
30656
30657         * doc/func.texi: New file, extracted from doc/gnulib.texi.
30658         * doc/gnulib.texi: Include it.
30659
30660 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30661
30662         * modules/func (License): Change license to unlimited; there was
30663         no LGPL parts in the module anyway.
30664
30665 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30666
30667         * modules/__func__: Renamed to modules/func.
30668         * modules/__func__-tests: Renamed to modules/func-tests.
30669         * tests/test-__func__.c: Renamed to tests/test-func.c.
30670         * m4/__func__.m4: Renamed to m4/func.m4.
30671         * doc/gnulib.texi (__func__): Section renamed to func.
30672         Suggested by Eric Blake <ebb9@byu.net>.
30673
30674 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30675
30676         * doc/gnulib.texi (__func__): Use C99 terminology when talking
30677         about __func__.  Make example self-contained.  Suggested by Eric
30678         Blake <ebb9@byu.net>.
30679
30680         * tests/test-__func__.c (main): Avoid extraneous () around __func.
30681         Suggested by Eric Blake <ebb9@byu.net>.
30682
30683 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30684
30685         * modules/__func__: New file.
30686         * modules/__func__-tests: New file.
30687         * tests/test-__func__.c: New file.
30688         * m4/__func__.m4: New file.
30689         * doc/gnulib.texi (__func__): Document __func__ module.
30690
30691 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30692
30693         * modules/byteswap (License): Re-license as LGPLv2+.
30694
30695 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30696
30697         * doc/Makefile: Add pdf target.
30698
30699 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30700
30701         * modules/inline (License): Use 'unlimited', since there are only
30702         *.m4 files in this module.
30703
30704 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30705             Bruno Haible  <bruno@clisp.org>
30706
30707         Add support for HP C 7.1 on OpenVMS 8.3.
30708         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
30709
30710 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30711
30712         Update VMS specifics.
30713         * lib/getopt.c [VMS]: Remove include of unixlib.h.
30714
30715 2008-03-02  Jim Meyering  <meyering@redhat.com>
30716
30717         Remove the last dependency on the "free" module.
30718         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
30719         Reported by Bob Proulx.
30720
30721         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
30722
30723         Remove useless "if" tests before free.  Deprecate "free" module.
30724         * doc/posix-functions/free.texi: Mention that this
30725         module is no longer useful.
30726         * modules/free (Notice): Say this module is obsolete.
30727         * modules/readutmp (Depends-on): Remove free.
30728         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
30729         * lib/putenv.c (putenv): Likewise.
30730         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
30731         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
30732         * tests/test-c-strcasestr.c (main): Likewise.
30733         * tests/test-c-strstr.c (main): Likewise.
30734         * tests/test-mbscasestr1.c (main): Likewise.
30735         * tests/test-mbscasestr2.c (main): Likewise.
30736         * tests/test-mbsstr1.c (main): Likewise.
30737         * tests/test-mbsstr2.c (main): Likewise.
30738         * tests/test-memmem.c (main): Likewise.
30739         * tests/test-strcasestr.c (main): Likewise.
30740         * tests/test-striconv.c (main): Likewise.
30741         * tests/test-striconveh.c (main): Likewise.
30742         * tests/test-striconveha.c (main): Likewise.
30743         * tests/test-strstr.c (main): Likewise.
30744
30745         * build-aux/git-version-gen: Adjust a comment and the Usage string.
30746
30747         bootstrap: sync from coreutils again
30748         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
30749
30750 2008-03-01  Jim Meyering  <meyering@redhat.com>
30751
30752         bootstrap: sync from coreutils
30753         * build-aux/bootstrap (update_po_files): Copy a .po file into place
30754         also when the target doesn't exist.
30755
30756 2008-03-01  Eric Blake  <ebb9@byu.net>
30757
30758         Fix bugs in last patch.
30759         * lib/memchr2.c (memchr2): Fix typo.
30760         * tests/test-memchr2.c: Test previous bug, and don't use GNU
30761         extension.
30762         Reported by Bruce Korb.
30763
30764         New module 'memchr2'.
30765         * modules/memchr2: New file.
30766         * modules/memchr2-tests: Likewise.
30767         * lib/memchr2.h: Likewise.
30768         * lib/memchr2.c: Likewise, based on memchr.c.
30769         * tests/test-memchr2.c: New test.
30770         * MODULES.html.sh (String handling): Add memchr2.
30771
30772 2008-02-29  Bruno Haible  <bruno@clisp.org>
30773
30774         * modules/freadseek-tests: New file.
30775         * tests/test-freadseek.sh: New file.
30776         * tests/test-freadseek.c: New file.
30777
30778         New module 'freadseek'.
30779         * modules/freadseek: New file.
30780         * lib/freadseek.h: New file.
30781         * lib/freadseek.c: New file.
30782         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
30783
30784 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30785
30786         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
30787         wydawca.
30788
30789         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
30790         program_invocation_name and program_invocation_short_name are
30791         present.
30792
30793 2008-02-28  Bruno Haible  <bruno@clisp.org>
30794
30795         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
30796         * tests/test-freadptr.sh: Also test non-seekable stdin.
30797
30798 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
30799
30800         * build-aux/bootstrap (source_base, m4_base)
30801         (doc_base, tests_base): New variables.
30802         (gnulib_tool_options): Do not hardcode base directories, use
30803         the above variables instead.
30804
30805 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
30806
30807         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
30808
30809 2008-02-28  Bruno Haible  <bruno@clisp.org>
30810
30811         * modules/freadptr-tests: New file.
30812         * tests/test-freadptr.sh: New file.
30813         * tests/test-freadptr.c: New file.
30814
30815         New module 'freadptr'.
30816         * modules/freadptr: New file.
30817         * lib/freadptr.h: New file.
30818         * lib/freadptr.c: New file.
30819         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
30820
30821 2008-02-26  Karl Berry  <karl@freefriends.org>
30822
30823         Sync from Libtool:
30824         * libltdl/argz.c (argz_add, argz_count): New functions.
30825         * libltdl/argz.in.h: Declare them.
30826         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
30827
30828 2008-02-22  Bruno Haible  <bruno@clisp.org>
30829
30830         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
30831         is a pointer type.  Needed for HP-UX 10.
30832         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
30833         * doc/posix-functions/gmtime_r.texi: Likewise.
30834         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30835
30836 2008-02-24  Bruno Haible  <bruno@clisp.org>
30837
30838         * modules/environ-tests: New file.
30839         * tests/test-environ.c: New file.
30840
30841         New module 'environ'.
30842         * modules/environ: New file.
30843         * lib/unistd.in.h (environ): New declaration.
30844         * m4/environ.m4: New file.
30845         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
30846         after use.
30847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
30848         HAVE_DECL_ENVIRON.
30849         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
30850         HAVE_DECL_ENVIRON.
30851         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
30852         wrong claim that 'environ' is missing on some systems.
30853         * modules/execute (Depends-on): Add environ.
30854         * lib/execute.c (environ): Remove fallback declaration.
30855         * modules/pipe (Depends-on): Add environ.
30856         * lib/pipe.c (environ): Remove fallback declaration.
30857         * modules/setenv (Depends-on): Add environ.
30858         * lib/setenv.c (environ): Remove fallback declaration.
30859         * modules/unsetenv (Depends-on): Add environ.
30860         * lib/unsetenv.c (environ): Remove fallback declaration.
30861         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
30862         m4/environ.m4.
30863         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
30864         (gl_PREREQ_UNSETENV): Likewise.
30865
30866 2008-02-24  Bruno Haible  <bruno@clisp.org>
30867
30868         * doc/posix-functions/environ.texi: Document the MacOS X problem.
30869
30870 2008-02-20  Bob Proulx  <bob@proulx.com>
30871
30872         Enable use of older two part flavor 'git describe'.
30873         * build-aux/git-version-gen: If using the older two part flavor of
30874         git version then recreate the third part now present in the
30875         newer three part flavor of git describe.
30876
30877 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
30878
30879         * lib/fts.c (fts_build): Typo correction to comment.
30880
30881 2008-02-17  Bruno Haible  <bruno@clisp.org>
30882
30883         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
30884         generating no-op conflicts.
30885
30886 2008-02-17  Bruno Haible  <bruno@clisp.org>
30887
30888         Speed up by 10%.
30889         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
30890         result_entries, rather than an index-based loop.
30891
30892 2008-02-17  Bruno Haible  <bruno@clisp.org>
30893
30894         Speed up by 25%.
30895         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
30896         'hashcode_cached'.
30897         (entry_create): New function.
30898         (entry_hashcode): Use the cached hashcode if possible.
30899         (read_changelog_file, try_split_merged_entry): Use entry_create.
30900
30901 2008-02-17  Bruno Haible  <bruno@clisp.org>
30902
30903         Speed up from O(n^2) to O(n) for long ChangeLog files.
30904         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
30905         (read_changelog_file): Change implementation of entries_reversed list
30906         to rbtreehash.
30907         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
30908
30909 2008-02-17  Bruno Haible  <bruno@clisp.org>
30910
30911         New option --split-merged-entry.
30912         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
30913         (find_paragraph_end, try_split_merged_entry): New functions.
30914         (long_options): Add option --split-merged-entry.
30915         (usage): Document option --split-merged-entry.
30916         (main): Implement option --split-merged-entry.
30917         Reported by Eric Blake.
30918
30919 2008-02-17  Bruno Haible  <bruno@clisp.org>
30920
30921         * lib/git-merge-changelog.c: Include c-strstr.h.
30922         (main): Support the "git pull --rebase" situation.
30923         * modules/git-merge-changelog (Depends-on): Add c-strstr.
30924         Reported by Eric Blake.
30925
30926 2008-02-16  Eric Blake  <ebb9@byu.net>
30927
30928         Avoid doubling \ in common case of "c-maybe" quoting style.
30929         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
30930         eliding outer quotes.
30931         * lib/quotearg.h: Document this.
30932         * tests/test-quotearg.c (result_strings, inputs, results_g)
30933         (flag_results, locale_results): Test it by adding a new string to
30934         each test group.
30935         (compare_strings): Test new string.
30936
30937 2008-02-13  Eric Blake  <ebb9@byu.net>
30938
30939         Avoid trigraph quoting in default output.
30940         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
30941         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
30942         unless explicitly requested.
30943         * tests/test-quotearg.c (flag_results, main): Add additional tests.
30944
30945 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
30946
30947         Don't rely on signed integer overflowing to negative value.
30948         * lib/getugroups.c (getugroups): Include <limits.h>.
30949         Instead, compare against INT_MAX, and increment only if the test passes.
30950
30951 2008-02-13  Jim Meyering  <meyering@redhat.com>
30952         and Eric Blake  <ebb9@byu.net>
30953
30954         Avoid shadowing warning and compile errors on Linux.
30955         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
30956         forwarding macros on Linux.
30957         (dcgettext): Define a stub, for Linux.
30958         (results_g, main): Avoid warnings.
30959
30960 2008-02-12  Eric Blake  <ebb9@byu.net>
30961
30962         Silence warning in last patch.
30963         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
30964
30965         Quotearg part 4: add tests, fix c-maybe colon quoting.
30966         * lib/quotearg.h: Improve documentation.
30967         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
30968         escapes when adding outer quotes.  When quoting trigraphs, use
30969         valid C notation.  When quoting NUL, omit extra characters if next
30970         character is not digit.  Alter prototype.
30971         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
30972         callers.
30973         * modules/quotearg-tests: New module.
30974         * tests/test-quotearg.c: New test.
30975
30976 2008-02-07  Eric Blake  <ebb9@byu.net>
30977
30978         Quotearg part 3: add flag to control outer quote elision.
30979         * lib/quotearg.h (c_maybe_quoting_style): New style.
30980         (enum quoting_flags): Better documentation of flags.
30981         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
30982         c-maybe style.
30983         (quotearg_buffer_restyled): Handle new flag to elide outer
30984         quotes.
30985
30986         Quotearg part 2: add flag that can control NUL elision.
30987         * lib/quotearg.h (set_quoting_flags): New prototype.
30988         * lib/quotearg.c (struct quoting_options): Add flag field.
30989         (set_quoting_flags): New function.
30990         (quotearg_buffer_restyled): Add flags parameter.
30991         (quotearg_alloc_mem): Set the flag if length cannot be returned.
30992         (quotearg_n_options): Set the flag, since length cannot be
30993         returned.
30994         (quoting_options_from_style): Default flags correctly.
30995
30996         Quotearg part 1: more wrappers, restore quotearg_char state.
30997         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
30998         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
30999         (quotearg_colon_mem): New wrappers.
31000         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
31001         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
31002         functions.
31003         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
31004         (quotearg_colon_mem): New functions.
31005
31006 2008-02-11  Bruno Haible  <bruno@clisp.org>
31007
31008         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
31009         library in the current directory: it does not work with parallel make.
31010         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31011
31012 2008-02-11  Bruno Haible  <bruno@clisp.org>
31013
31014         * .gitattributes: New file.
31015
31016 2008-02-11  Jim Meyering  <meyering@redhat.com>
31017
31018         useless-if-before-free: Fix reversed exit values.
31019         * build-aux/useless-if-before-free: Use correct values
31020         for EXIT_MATCH and EXIT_NO_MATCH.
31021
31022         * build-aux/useless-if-before-free: Close stdout carefully.
31023
31024 2008-02-10  Bruno Haible  <bruno@clisp.org>
31025
31026         New module 'git-merge-changelog'.
31027         * modules/git-merge-changelog: New file.
31028         * lib/git-merge-changelog.c: New file.
31029
31030 2008-02-10  Jim Meyering  <meyering@redhat.com>
31031
31032         useless-if-before-free: New option: --list (-l).
31033
31034         useless-if-before-free: Don't exit immediately upon open failure.
31035         * build-aux/useless-if-before-free: Exit 2 for errors.
31036         Upon failure to open a file, don't exit immediately.
31037         Rather, just warn and continue with any remaining files.
31038
31039 2008-02-10  Bruno Haible  <bruno@clisp.org>
31040
31041         New abstract list operation 'node_set_value'.
31042         * lib/gl_list.h (gl_list_node_set_value): New function.
31043         (struct gl_list_implementation): New field node_set_value.
31044         * lib/gl_list.c (gl_list_node_set_value): New function.
31045         * lib/gl_array_list.c (gl_array_node_set_value): New function.
31046         (gl_array_list_implementation): Update.
31047         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
31048         (gl_carray_list_implementation): Update.
31049         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
31050         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
31051         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
31052         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
31053         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
31054         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
31055         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
31056         Update.
31057         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
31058         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
31059         (gl_sublist_list_implementation): Update.
31060
31061 2008-02-10  Bruno Haible  <bruno@clisp.org>
31062
31063         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
31064         Needed when ELEMENT is #defined to 'some_type *'.
31065
31066 2008-02-10  Jim Meyering  <meyering@redhat.com>
31067
31068         New script and module: useless-if-before-free
31069         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
31070         * build-aux/useless-if-before-free: New file.
31071         * modules/useless-if-before-free: New file.
31072
31073         * build-aux/gitlog-to-changelog: Use committer date, not author date.
31074
31075         xstrtol_error: Fix typo.
31076         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
31077         s/exit_failure/exit_status/.
31078
31079 2008-02-09  Jim Meyering  <meyering@redhat.com>
31080
31081         New script and module: gitlog-to-changelog
31082         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
31083         * modules/gitlog-to-changelog: New file.
31084         * build-aux/gitlog-to-changelog: New file.
31085
31086 2008-02-08  Jim Meyering  <meyering@redhat.com>
31087
31088         Avoid two "parameter unused" warnings.
31089         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
31090         Mark "st" as used.
31091
31092         Use "git COMMAND", not "git-COMMAND".
31093         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
31094         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
31095         * build-aux/git-version-gen: Use "git status", not "git-status".
31096
31097 2008-02-07  Bruno Haible  <bruno@clisp.org>
31098
31099         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
31100         Avoids a crash on Windows Vista.
31101         Reported by Adam Strzelecki <ono@java.pl> via
31102         Simon Josefsson <simon@josefsson.org>.
31103
31104 2008-02-06  Bruno Haible  <bruno@clisp.org>
31105
31106         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
31107         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
31108         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
31109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
31110         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31111         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31112         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
31113         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
31114         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31118         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31119         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31121         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
31122         left-adjust flag.
31123         * tests/test-snprintf-posix.h (test_function): Likewise.
31124         * tests/test-sprintf-posix.h (test_function): Likewise.
31125         * tests/test-vasprintf-posix.c (test_function): Likewise.
31126         * doc/posix-functions/fprintf.texi: Update.
31127         * doc/posix-functions/printf.texi: Update.
31128         * doc/posix-functions/snprintf.texi: Update.
31129         * doc/posix-functions/sprintf.texi: Update.
31130         * doc/posix-functions/vfprintf.texi: Update.
31131         * doc/posix-functions/vprintf.texi: Update.
31132         * doc/posix-functions/vsnprintf.texi: Update.
31133         * doc/posix-functions/vsprintf.texi: Update.
31134         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31135
31136 2008-02-06  Bruno Haible  <bruno@clisp.org>
31137
31138         Fix bug introduced on 2008-01-26.
31139         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
31140
31141 2008-02-06  Bruno Haible  <bruno@clisp.org>
31142
31143         Fix bug introduced on 2007-06-10.
31144         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
31145         !NEED_PRINTF_FLAG_ZERO.
31146
31147 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
31148
31149         getloadavg: use libperfstat on AIX5
31150         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
31151
31152 2008-02-03  Bruno Haible  <bruno@clisp.org>
31153
31154         * lib/diffseq.h: Add comments about required #includes.
31155         Reported by Michael Biggs <gnulib@doubleplum.net>.
31156
31157 2008-02-01  Bruno Haible  <bruno@clisp.org>
31158
31159         * users.txt: Add gnuit.
31160
31161 2008-01-31  Bruno Haible  <bruno@clisp.org>
31162
31163         * lib/md4.c (set_uint32): Mark as inline.
31164         * lib/md5.c (set_uint32): Likewise.
31165         * lib/sha1.c (set_uint32): Likewise.
31166         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
31167         * m4/md5.m4 (gl_MD5): Likewise.
31168         * m4/sha1.m4 (gl_SHA1): Likewise.
31169
31170 2008-01-31  Jim Meyering  <meyering@redhat.com>
31171
31172         Use "sizeof VAR", rather than a literal "4".
31173         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
31174         * lib/md4.c (md4_read_ctx): Likewise.
31175         * lib/sha1.c (sha1_read_ctx): Likewise.
31176
31177 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31178
31179         * tests/test-sha1.c: New file, based on test-md5.c.
31180
31181         * modules/crypto/sha1-tests: New file.
31182
31183 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31184
31185         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
31186
31187 2008-01-31  Jim Meyering  <meyering@redhat.com>
31188
31189         Prefer "sizeof v" over the equivalent "4".
31190         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
31191         * lib/md5.c (set_uint32): Likewise.
31192         * lib/sha1.c (set_uint32): Likewise.
31193
31194 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31195
31196         * lib/sha1.c (set_uint32): Mark function as static.
31197
31198 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31199
31200         md2: clarify comments to say that alignment is not required.
31201         * lib/md2.h: Remove warning about alignment in comment.
31202         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
31203         never been required.
31204
31205 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31206
31207         md4: adapt alignment constraint fix from sha1.
31208         * lib/md4.c (set_uint32): New function, from sha1.c
31209         (md4_read_ctx): Use it.
31210         (md4_finish_ctx): Doc fix.
31211         * lib/md4.h: Doc fix.
31212
31213 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31214
31215         md5: adapt alignment constraint fix from sha1.
31216         * lib/md5.c (set_uint32): New function, from sha1.c
31217         (md5_read_ctx): Use it.
31218         (md5_finish_ctx): Doc fix.
31219         * lib/md5.h: Doc fix.
31220
31221 2008-01-30  Peter Palfrader  <weasel@debian.org>
31222
31223         sha1: remove the result buffer alignment constraint
31224         * lib/sha1.c (set_uint32): New function.
31225         (sha1_read_ctx): Rewrite to remove the result buffer alignment
31226         constraint.
31227         (sha1_finish_ctx): Remove comment warning about alignment constraint.
31228         * lib/sha1.h: Likewise.
31229
31230 2008-01-30  Andreas Schwab  <schwab@suse.de>
31231             Bruno Haible  <bruno@clisp.org>
31232
31233         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
31234         correct definition of LDBL_MIN_EXP.
31235
31236 2008-01-30  Karl Berry  <karl@gnu.org>
31237
31238         * config/srclist-update: try to preserve x bit on updates.
31239         * config/srclistvars.sh: update for karl.
31240
31241 2008-01-29  Jim Meyering  <meyering@redhat.com>
31242
31243         vasnprintf.c: Avoid warning about unused label
31244         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
31245         "overflow" label definition and associated code with the
31246         same cpp condition that guards the sole use of that label.
31247
31248 2008-01-26  Bruno Haible  <bruno@clisp.org>
31249
31250         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
31251         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
31252         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
31253         * lib/isnanl-nolibm.h (isnanl): Likewise.
31254         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31255
31256 2008-01-26  Bruno Haible  <bruno@clisp.org>
31257
31258         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
31259         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
31260
31261 2008-01-26  Bruno Haible  <bruno@clisp.org>
31262
31263         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
31264         GCC >= 4.0 built-in.
31265         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
31266
31267 2008-01-26  Bruno Haible  <bruno@clisp.org>
31268
31269         Rename isnan, applicable to 'double' only, to isnand.
31270         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
31271         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
31272         (configure.ac): Update.
31273         (Include): Replace "isnan.h" with "isnand.h".
31274         * m4/isnand.m4: Renamed from m4/isnan.m4.
31275         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
31276         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
31277         instead of isnan.c.
31278         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
31279         instead of HAVE_ISNAN_IN_LIBC.
31280         (isnand): Renamed from isnan.
31281         * lib/isnand.c: New file.
31282         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
31283         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
31284         (Makefile.am): Update.
31285         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
31286         Include isnand.h instead of isnan.h.
31287         (main): Test isnand instead of isnan.
31288         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
31289         isnan-nolibm.
31290         * modules/frexp (Depends-on): Likewise.
31291         * modules/frexp-tests (Depends-on): Likewise.
31292         * modules/frexp-nolibm (Depends-on): Likewise.
31293         * modules/frexp-nolibm-tests (Depends-on): Likewise.
31294         * modules/isfinite (Depends-on): Likewise.
31295         * modules/round-tests (Depends-on): Likewise.
31296         * modules/signbit (Depends-on): Likewise.
31297         * modules/signbit-tests (Depends-on): Likewise.
31298         * modules/snprintf-posix (Depends-on): Likewise.
31299         * modules/sprintf-posix (Depends-on): Likewise.
31300         * modules/trunc-tests (Depends-on): Likewise.
31301         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31302         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31303         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31304         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31305         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31306         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31307         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31308         * modules/vasnprintf-posix (Depends-on): Likewise.
31309         * modules/vasprintf-posix (Depends-on): Likewise.
31310         * modules/vfprintf-posix (Depends-on): Likewise.
31311         * modules/vsnprintf-posix (Depends-on): Likewise.
31312         * modules/vsprintf-posix (Depends-on): Likewise.
31313         * lib/frexp.c: Include isnand.h instead of isnan.h.
31314         (ISNAN): Set to isnand instead of isnan.
31315         * lib/isfinite.c: Include isnand.h instead of isnan.h.
31316         (gl_isfinited): Use isnand instead of isnan.
31317         * lib/signbitd.c: Include isnand.h instead of isnan.h.
31318         (gl_signbitd): Use isnand instead of isnan.
31319         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
31320         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
31321         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
31322         (main): Use isnand instead of isnan.
31323         * tests/test-round1.c: Include isnand.h.
31324         (main): Use isnand instead of isnan.
31325         * tests/test-round2.c: Include isnand.h instead of isnan.h.
31326         (ISNAN): Set to isnand instead of isnan.
31327         * tests/test-trunc1.c: Include isnand.h.
31328         (main): Use isnand instead of isnan.
31329         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
31330         (equal): Use isnand instead of isnan.
31331         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
31332         isnand-nolibm.
31333         * NEWS: Mention the change.
31334
31335 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
31336             Bruno Haible  <bruno@clisp.org>
31337
31338         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
31339         the GCC builtins for signbits are present and set
31340         REPLACE_SIGNBIT_USING_GCC if so.
31341         * lib/math.in.h (signbit): Define using GCC builtins if
31342         REPLACE_SIGNBIT_USING_GCC is set.
31343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
31344         REPLACE_SIGNBIT_USING_GCC.
31345         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
31346
31347 2008-01-25  Jim Meyering  <meyering@redhat.com>
31348
31349         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
31350         * lib/poll.c: Include <config.h>, not "config.h".
31351         * tests/test-getaddrinfo.c: Likewise.
31352
31353 2008-01-25  Simon Josefsson  <simon@josefsson.org>
31354
31355         * modules/sockets-tests: New file.
31356
31357 2008-01-24  Simon Josefsson  <simon@josefsson.org>
31358
31359         * modules/sockets: New module, can be used to call WSA_Startup and
31360         WSA_Cleanup when needed.
31361
31362         * lib/sockets.h, lib/sockets.c: New files.
31363
31364         * m4/sockets.m4: New file.
31365
31366         * tests/test-sockets.c: New file.
31367
31368 2008-01-19  Bruno Haible  <bruno@clisp.org>
31369
31370         * doc/posix-headers: Renamed from doc/headers.
31371         * doc/posix-functions: Renamed from doc/functions.
31372         * doc/gnulib.texi: Update.
31373
31374 2008-01-19  Bruno Haible  <bruno@clisp.org>
31375
31376         * doc/glibc-functions/strcasestr.texi: Include contents of
31377         doc/functions/strcasestr.texi, fixing the list of platforms.
31378         * doc/functions/strcasestr.texi: Remove file.
31379
31380 2008-01-19  Bruno Haible  <bruno@clisp.org>
31381
31382         * doc/glibc-functions/memmem.texi: Include contents of
31383         doc/functions/memmem.texi.
31384         * doc/functions/memmem.texi: Remove file.
31385
31386 2008-01-18  Bruno Haible  <bruno@clisp.org>
31387
31388         * doc/glibc-functions/*.texi: New files.
31389         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
31390         to use the new files.
31391
31392 2008-01-17  Bruno Haible  <bruno@clisp.org>
31393
31394         * tests/test-gethostname.c (main): Fix printf statement.
31395
31396 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31397
31398         * modules/gethostname-tests: New file.
31399
31400         * tests/test-gethostname.c: New file.
31401
31402 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31403
31404         * lib/gethostname.c: Include string.h unconditionally, strncpy is
31405         used by the UNAME case.  Reported by Bruno Haible
31406         <bruno@clisp.org>.
31407
31408 2008-01-17  Eric Blake  <ebb9@byu.net>
31409
31410         Convert c-strcasestr to be more efficient.
31411         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
31412         (Depends-on): Add c-strcase, remove malloca, strnlen.
31413         * tests/test-c-strcasestr.c (main): Enhance test.
31414         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
31415
31416 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31417
31418         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
31419         Use it in creating po/Makevars.
31420
31421 2008-01-15  Simon Josefsson  <simon@josefsson.org>
31422
31423         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
31424         Applications that requires it should initialize libgcrypt
31425         manually.
31426
31427 2008-01-16  Simon Josefsson  <simon@josefsson.org>
31428
31429         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
31430
31431 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31432
31433         Fix problem with getdate on mingw32 reported by Simon Josefsson
31434         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
31435         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
31436         tzname", when deciding whether to declare tzname.
31437         * lib/strftime.c (tzname): Likewise.
31438
31439 2008-01-15  Bruno Haible  <bruno@clisp.org>
31440
31441         Work around a MacOS X 10.5 bug in frexpl().
31442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
31443         * doc/functions/frexpl.texi: Document the bug.
31444         Reported by Elias Pipping <pipping@gentoo.org>.
31445
31446 2008-01-14  Eric Blake  <ebb9@byu.net>
31447
31448         Touch up previous patch.
31449         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
31450         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
31451
31452         Convert strcasestr module to use Two-Way algorithm.
31453         * modules/strcasestr-simple: New module, based on the old
31454         strcasestr, but with Two-Way rather than KMP.
31455         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
31456         * lib/string.in.h (rpl_strcasestr): Declare.
31457         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
31458         performance.
31459         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
31460         * modules/string (Makefile.am): Support strcasestr.
31461         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31462         * modules/strcasestr-tests (Depends-on): Check for alarm.
31463         * tests/test-strcasestr.c: Augment test.
31464         * lib/str-two-way.h: Clean up stray macro.
31465         * NEWS: Document new module.
31466         * MODULES.html.sh (string handling): Likewise.
31467         * doc/functions/strcasestr.texi: New file.
31468         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
31469         here, since it is not a POSIX function.
31470
31471 2008-01-14  Colin Watson  <cjwatson@debian.org>
31472             Bruno Haible  <bruno@clisp.org>
31473
31474         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
31475         works fine; if not, set REPLACE_STRSIGNAL.
31476         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
31477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31478         REPLACE_STRSIGNAL.
31479         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
31480         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
31481         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
31482
31483 2008-01-14  Bruno Haible  <bruno@clisp.org>
31484
31485         * modules/strsignal (Include): Change to <string.h>.
31486
31487 2008-01-14  Colin Watson  <cjwatson@debian.org>
31488
31489         * modules/argp (Notice): Add a notice recommending to change
31490         XGETTEXT_OPTIONS.
31491         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
31492
31493 2008-01-13  Colin Watson  <cjwatson@debian.org>
31494
31495         * modules/strsignal-tests: New file.
31496         * tests/test-strsignal.c: New file.
31497
31498         * lib/strsignal.c: New file, from glibc with modifications.
31499         * lib/siglist.h: New file, from glibc with modifications.
31500         * lib/string.in.h (strsignal): New declaration.
31501         * m4/strsignal.m4: New file.
31502         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31503         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
31504         * modules/strsignal: New file.
31505         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
31506         HAVE_DECL_STRSIGNAL.
31507
31508 2008-01-13  Bruno Haible  <bruno@clisp.org>
31509
31510         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
31511         locale encoding is not ASCII. Needed for OpenBSD 4.0.
31512         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31513         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31514
31515 2008-01-13  Bruno Haible  <bruno@clisp.org>
31516
31517         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
31518         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
31519         * lib/argp.h (__attribute__): Likewise.
31520         * lib/c-stack.c (__attribute__): Likewise.
31521         * lib/error.h (__attribute__): Likewise.
31522         * lib/fts.c (__attribute__): Likewise.
31523         * lib/openat.h (__attribute__): Likewise.
31524         * lib/stdio.in.h (__attribute__): Likewise.
31525         * lib/string.in.h (__attribute__): Likewise.
31526         * lib/utimens.c (__attribute__): Likewise.
31527         * lib/vasnprintf.h (__attribute__): Likewise.
31528         * lib/xalloc.h (__attribute__): Likewise.
31529         * lib/xprintf.h (__attribute__): Likewise.
31530         * lib/xstrtol.h (__attribute__): Likewise.
31531         * lib/xvasprintf.h (__attribute__): Likewise.
31532
31533 2008-01-12  Bruno Haible  <bruno@clisp.org>
31534
31535         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
31536         * doc/glibc-headers/a.out.texi: New file.
31537         * doc/glibc-headers/aliases.texi: New file.
31538         * doc/glibc-headers/alloca.texi: New file.
31539         * doc/glibc-headers/ar.texi: New file.
31540         * doc/glibc-headers/argp.texi: New file.
31541         * doc/glibc-headers/argz.texi: New file.
31542         * doc/glibc-headers/byteswap.texi: New file.
31543         * doc/glibc-headers/crypt.texi: New file.
31544         * doc/glibc-headers/endian.texi: New file.
31545         * doc/glibc-headers/envz.texi: New file.
31546         * doc/glibc-headers/err.texi: New file.
31547         * doc/glibc-headers/error.texi: New file.
31548         * doc/glibc-headers/execinfo.texi: New file.
31549         * doc/glibc-headers/fpu_control.texi: New file.
31550         * doc/glibc-headers/fstab.texi: New file.
31551         * doc/glibc-headers/fts.texi: New file.
31552         * doc/glibc-headers/getopt.texi: New file.
31553         * doc/glibc-headers/ieee754.texi: New file.
31554         * doc/glibc-headers/ifaddrs.texi: New file.
31555         * doc/glibc-headers/libintl.texi: New file.
31556         * doc/glibc-headers/mcheck.texi: New file.
31557         * doc/glibc-headers/mntent.texi: New file.
31558         * doc/glibc-headers/obstack.texi: New file.
31559         * doc/glibc-headers/paths.texi: New file.
31560         * doc/glibc-headers/printf.texi: New file.
31561         * doc/glibc-headers/pty.texi: New file.
31562         * doc/glibc-headers/resolv.texi: New file.
31563         * doc/glibc-headers/shadow.texi: New file.
31564         * doc/glibc-headers/sysexits.texi: New file.
31565         * doc/glibc-headers/ttyent.texi: New file.
31566
31567 2008-01-12  Jim Meyering  <meyering@redhat.com>
31568
31569         announce-gen: emit Gnulib's git-based version string.
31570         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
31571         New option --gnulib-version=V, where V is expected to be
31572         the output of running git describe in the gnulib directory.
31573         (get_tool_versions): Request feedback on xdelta.  I suspect it's
31574         not useful, and plan to stop publishing an xdelta file with each
31575         coreutils release.
31576
31577         * build-aux/announce-gen: Also check for lzma-compressed files.
31578
31579 2008-01-11  Bruno Haible  <bruno@clisp.org>
31580
31581         * tests/test-memmem.c (main): Increase maximum allowed time.
31582         * tests/test-strstr.c (main): Likewise.
31583
31584 2008-01-11  Bruno Haible  <bruno@clisp.org>
31585
31586         * doc/functions/memmem.texi: Add more precisions about platforms.
31587         * doc/functions/strstr.texi: Likewise.
31588
31589 2008-01-10  Eric Blake  <ebb9@byu.net>
31590
31591         * m4/strstr.m4: Delete cruft from copy-n-paste.
31592         Reported by Bruno Haible.
31593
31594 2008-01-10  Bruno Haible  <bruno@clisp.org>
31595
31596         Make c-strstr rely on strstr.
31597         * lib/c-strstr.c: Don't include str-kmp.h.
31598         (c_strstr): Define in terms of strstr.
31599         * modules/c-strstr (Files): Remove lib/str-kmp.h.
31600         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
31601
31602 2008-01-10  Bruno Haible  <bruno@clisp.org>
31603
31604         * doc/gnulib.texi (String Functions in C Locale): New section.
31605         * doc/c-ctype.texi: New file.
31606         * doc/c-strcase.texi: New file.
31607         * doc/c-strcaseeq.texi: New file.
31608         * doc/c-strcasestr.texi: New file.
31609         * doc/c-strstr.texi: New file.
31610         * doc/c-strtod.texi: New file.
31611         * doc/c-strtold.texi: New file.
31612
31613 2008-01-10  Eric Blake  <ebb9@byu.net>
31614
31615         * lib/relocatable.h: Fix a comment.
31616
31617 2008-01-10  Eric Blake  <ebb9@byu.net>
31618
31619         Share two-way algorithm.
31620         * lib/str-two-way.h: New file, merged from...
31621         * lib/memmem.c: ...here...
31622         * lib/strstr.c: ...and here.
31623         * modules/memmem (Files): Use it.
31624         * modules/strstr (Files): Likewise.
31625
31626         Avoid quadratic strstr implementations.
31627         * lib/strstr.c: New file.
31628         * m4/strstr.m4: Likewise.
31629         * modules/strstr: Likewise.
31630         * modules/strstr-tests: Likewise.
31631         * tests/test-strstr.c: Likewise.
31632         * lib/string.in.h (rpl_strstr): Declare.
31633         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
31634         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
31635         * modules/string (Makefile.am): Likewise.
31636         * MODULES.html.sh (string handling): Mention new module.
31637         * doc/functions/strstr.texi (strstr): Document the bug.
31638
31639 2008-01-10  Bruno Haible  <bruno@clisp.org>
31640
31641         * lib/relocatable.h (relocate): State whether result is freshly
31642         allocated or not.
31643         * lib/relocatable.c (relocate): Return a freshly allocated string
31644         instead of a pointer to a privately held string.
31645         Reported by Sylvain Beucler <beuc@gnu.org>.
31646
31647 2008-01-10  Colin Watson  <cjwatson@debian.org>
31648
31649         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
31650         s/S_ISNLK/S_ISLNK/.
31651
31652 2008-01-09  Bruno Haible  <bruno@clisp.org>
31653
31654         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
31655         and other files.
31656         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
31657         if it's only a guess.
31658         * modules/memmem: Simplify by depending on memmem-simple.
31659
31660 2008-01-09  Bruno Haible  <bruno@clisp.org>
31661
31662         Work around OpenBSD 4.0 tdelete() bug.
31663         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
31664         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
31665         macros and don't redefine the enum values.
31666         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
31667         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
31668         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
31669
31670 2008-01-09  Bruno Haible  <bruno@clisp.org>
31671
31672         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
31673         (main): Don't perform the tests if setlocale did not install a UTF-8
31674         locale. Needed on OpenBSD 4.0.
31675         * modules/wcwidth-tests (Depends-on): Add localcharset.
31676
31677 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
31678
31679         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
31680         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
31681         * NEWS: announce this.
31682         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
31683
31684 2008-01-09  Simon Josefsson  <simon@josefsson.org>
31685         and Eric Blake  <ebb9@byu.net>
31686
31687         Add memmem-simple module.
31688         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
31689         (gl_FUNC_MEMMEM): Separate performance from presence checks.
31690         * modules/memmem-simple: New file.
31691         * modules/memmem (Description): Tweak.
31692         * MODULES.html.sh (string handling): Mention new module.
31693         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
31694         addressed by memmem-simple.
31695         * NEWS: Document the difference.
31696
31697 2008-01-09  Eric Blake  <ebb9@byu.net>
31698
31699         Give gcc some memmem optimization hints.
31700         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
31701         (strcasestr): Declare as pure.
31702         * modules/memmem (Maintainer): Claim my implementation.
31703
31704 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31705
31706         Support AIX 6.1 and higher.
31707         * build-aux/config.libpath: Likewise.
31708         * build-aux/config.rpath: Likewise.
31709
31710 2008-01-08  Jim Meyering  <meyering@redhat.com>
31711             Bruno Haible  <bruno@clisp.org>
31712
31713         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
31714         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
31715         Reported by Peter Fales in
31716         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
31717
31718 2008-01-08  Bruno Haible  <bruno@clisp.org>
31719
31720         * modules/unictype/category-of (Depends-on): Add
31721         unictype/category-none.
31722         * modules/unictype/category-and-tests (Depends-on): Add
31723         unictype/category-{L,N,Lu,Nd}.
31724         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
31725         * modules/unictype/category-or-tests (Depends-on): Add
31726         unictype/category-{L,N}.
31727         * modules/unictype/category-name-tests (Depends-on): Add
31728         unictype/category-{Z,Nl}.
31729         Reported by Simon Josefsson.
31730
31731 2008-01-08  Bruno Haible  <bruno@clisp.org>
31732
31733         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
31734         convention better.
31735         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
31736         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
31737         Reported by Peter Miller <millerp@canb.auug.org.au>.
31738
31739 2008-01-08  Eric Blake  <ebb9@byu.net>
31740
31741         Rewrite memmem to guarantee linear complexity without malloc.
31742         * lib/memmem.c (memmem): Use Two-Way rather than
31743         Knuth-Morris-Pratt, to allow O(1) space usage.
31744         (critical_factorization, two_way_short_needle)
31745         (two_way_long_needle): New functions.
31746         (knuth_morris_pratt): Delete.
31747         * modules/memmem (Depends-on): No longer need malloca or stdbool.
31748         Add stdint.
31749         * tests/test-memmem.c (main): Add tests for periodic needle and
31750         sublinear performance.
31751         * doc/functions/memmem.texi (memmem): Document other deficiencies
31752         in cygwin and older glibc.
31753
31754 2008-01-08  Bruno Haible  <bruno@clisp.org>
31755
31756         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
31757         augmentation.
31758
31759 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
31760
31761         Add a configure time option: --disable-acl.
31762         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
31763         AC_ARG_ENABLE(acl).
31764
31765 2008-01-06  Simon Josefsson  <simon@josefsson.org>
31766
31767         * tests/test-localename.c: Don't include obsolete "setenv.h".
31768
31769         * modules/localename-tests (Depends-on): Need unsetenv.
31770
31771 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31772
31773         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
31774
31775 2008-01-06  Colin Watson  <cjwatson@debian.org>
31776
31777         * users.txt: Add man-db.
31778
31779 2008-01-07  Bruno Haible  <bruno@clisp.org>
31780
31781         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
31782         previous section name.
31783
31784 2008-01-07  Bruno Haible  <bruno@clisp.org>
31785
31786         * lib/progname.c (set_program_name): Don't strip off a leading
31787         "lt-" prefix outside a .libs directory.
31788         Suggested by Paul Eggert.
31789
31790 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
31791             Bruno Haible  <bruno@clisp.org>
31792
31793         Improve memory cleanup in 'relocatable' module.
31794         * lib/relocatable.h (compute_curr_prefix): Change return type to
31795         'char *'.
31796         * lib/relocatable.c (compute_curr_prefix): Change return type to
31797         'char *'. Free curr_installdir after use.
31798         (relocate): Free curr_prefix_better after use.
31799         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
31800
31801 2008-01-01  Bruno Haible  <bruno@clisp.org>
31802
31803         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
31804         failure on older glibc systems.
31805         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31806
31807 2008-01-05  Eric Blake  <ebb9@byu.net>
31808
31809         Avoid quadratic system memmem.
31810         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
31811         Reported by Ralf Wildenhues.
31812
31813         Fix memmem test for mingw.
31814         * modules/memmem-tests (configure.ac): Check for alarm.
31815         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
31816         it.
31817         * doc/functions/memmem.texi: New file.
31818         * doc/gnulib.texi (Function Substitutes): Add memmem.
31819         Reported by Bruno Haible.
31820
31821 2008-01-04  Bruno Haible  <bruno@clisp.org>
31822
31823         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
31824         Require gl_HEADER_STRINGS_H_DEFAULTS, not
31825         gl_HEADER_STRING_H_DEFAULTS.
31826
31827 2008-01-04  Eric Blake  <ebb9@byu.net>
31828
31829         Shorten duration of memmem test.
31830         * tests/test-memmem.c (main): Use alarm to declare failure if test
31831         is taking too long.
31832         Reported by Ralf Wildenhues.
31833
31834 2007-12-21  Simon Josefsson  <simon@josefsson.org>
31835
31836         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
31837         string, needed by strerror.
31838
31839 2008-01-03  Colin Watson  <cjwatson@debian.org>
31840             Bruno Haible  <bruno@clisp.org>
31841
31842         * doc/gnulib-tool.texi (Localization): New section.
31843
31844 2008-01-02  Bruno Haible  <bruno@clisp.org>
31845
31846         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
31847         variables to 'unsigned char *' type.
31848         Reported by Paul Eggert.
31849
31850 2008-01-02  Jim Meyering  <jim@meyering.net>
31851
31852         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
31853
31854 2007-12-31  Jim Meyering  <jim@meyering.net>
31855
31856         Avoid use of private FTS type name.
31857         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
31858
31859 2007-12-30  Karl Berry  <karl@gnu.org>
31860
31861         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
31862         work around defect in Texinfo and/or the standalone Info browser.
31863
31864 2007-12-30  Bruno Haible  <bruno@clisp.org>
31865
31866         Unify 5 copies of the KMP code.
31867         * lib/str-kmp.h: New file.
31868         * lib/c-strcasestr.c: Include str-kmp.h.
31869         (knuth_morris_pratt): Remove function.
31870         (c_strcasestr): Update.
31871         * lib/c-strstr.c: Include str-kmp.h.
31872         (knuth_morris_pratt): Remove function.
31873         (c_strcasestr): Update.
31874         * lib/mbscasestr.c: Include str-kmp.h.
31875         (knuth_morris_pratt_unibyte): Remove function.
31876         * lib/mbsstr.c: Include str-kmp.h.
31877         (knuth_morris_pratt_unibyte): Remove function.
31878         * lib/strcasestr.c: Include str-kmp.h.
31879         (knuth_morris_pratt): Remove function.
31880         (strcasestr): Update.
31881         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
31882         * modules/c-strstr (Files): Likewise.
31883         * modules/mbscasestr (Files): Likewise.
31884         * modules/mbsstr (Files): Likewise.
31885         * modules/strcasestr (Files): Likewise.
31886         Suggested by Paul Eggert.
31887
31888 2007-12-30  Bruno Haible  <bruno@clisp.org>
31889
31890         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
31891         defined.
31892
31893 2007-12-30  Bruno Haible  <bruno@clisp.org>
31894
31895         * lib/xmalloca.h: Include xalloc.h.
31896         (xnmalloca): New macro.
31897
31898 2007-12-30  Bruno Haible  <bruno@clisp.org>
31899
31900         * lib/malloca.h (nmalloca): New macro.
31901         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
31902         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
31903         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
31904         knuth_morris_pratt_multibyte): Likewise.
31905         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
31906         knuth_morris_pratt_multibyte): Likewise.
31907         * lib/memmem.c (knuth_morris_pratt): Likewise.
31908         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
31909
31910 2007-12-25  Bruno Haible  <bruno@clisp.org>
31911
31912         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
31913         * lib/glob.c: Don't include openat.h.
31914         (link_exists2_p): Add back the code that deals with the
31915         !GLOB_ALTDIRFUNC case.
31916         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
31917         let it do the filename concatenation.
31918         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
31919         * modules/glob (Depends-on): Remove openat.
31920
31921 2007-12-31  Bruno Haible  <bruno@clisp.org>
31922
31923         * modules/dirfd (License): Change to LGPLv2+.
31924         Approved by Jim Meyering.
31925
31926 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
31927
31928         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
31929         when multiplying M by sizeof (size_t).
31930
31931 2007-12-10  Martin Lambers  <marlam@marlam.de>
31932
31933         Override getpagesize on mingw.
31934         * lib/getpagesize.c: New file.
31935         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
31936         * modules/getpagesize (Files): Add lib/getpagesize.c.
31937         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
31938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31939         REPLACE_GETPAGESIZE.
31940         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
31941
31942 2007-12-25  Bruno Haible  <bruno@clisp.org>
31943
31944         * modules/localcharset (Notice): New field.
31945         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
31946         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
31947
31948 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31949             Bruno Haible  <bruno@clisp.org>
31950
31951         Avoid using the syntax symbol() in formatted documentation.
31952         * MODULES.html.sh (func_module): When replacing symbol() with a
31953         hyperlink, remove the parentheses. Show an error if some remain.
31954         Recognize and render the '...' syntax.
31955         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
31956         Rework. Add paragraph about GCC's inlining.
31957         * doc/alloca.texi: Likewise.
31958         * doc/error.texi: Remove parentheses from symbol reference.
31959         * doc/gnulib-intro.texi: Likewise.
31960         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
31961         * modules/fnmatch (Description): Reword to say "the ... function".
31962         * modules/full-read (Description): Likewise.
31963         * modules/full-write (Description): Likewise.
31964         * modules/safe-read (Description): Likewise.
31965         * modules/safe-write (Description): Likewise.
31966         * modules/strchrnul (Description): Likewise.
31967         * modules/trim (Description): Likewise.
31968         * modules/error (Description): Remove parentheses from symbol
31969         references.
31970         * modules/verror (Description): Likewise.
31971         Reported by Karl Berry.
31972
31973 2007-12-25  Bruno Haible  <bruno@clisp.org>
31974
31975         Fixup after 2007-10-16 commit.
31976         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
31977
31978 2007-12-24  Bruno Haible  <bruno@clisp.org>
31979
31980         Make --enable-relocatable work with DESTDIR.
31981         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
31982         to compute installdir from destprog.
31983         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
31984         also set the RELOC_DESTDIR variable.
31985         Reported by Левашев Иван <octagram@bluebottle.com>.
31986
31987 2007-12-24  Bruno Haible  <bruno@clisp.org>
31988
31989         Fix link error due to xalloc_die().
31990         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
31991         of xreadlink.
31992         * lib/relocwrapper.c: Update comments.
31993         * build-aux/install-reloc: Remove xreadlink.c from file list.
31994         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
31995         xreadlink.c.
31996         Reported by Левашев Иван <octagram@bluebottle.com>.
31997
31998 2007-12-24  Bruno Haible  <bruno@clisp.org>
31999
32000         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
32001         * lib/setenv.h: Remove file.
32002         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
32003         lib/setenv.h.
32004         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
32005         (Depends-on): Add stdlib.
32006         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
32007         gl_FUNC_UNSETENV.
32008         (Include): Replace setenv.h with <stdlib.h>.
32009         * modules/unsetenv: New file.
32010         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
32011         * lib/unsetenv.c: Include <stdlib.h> first.
32012         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
32013         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
32014         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
32015         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
32016         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
32017         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
32019         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32020         * doc/functions/unsetenv.texi: Update.
32021         * modules/xsetenv (Depends-on): Add unsetenv.
32022         * modules/getdate (Depends-on): Likewise.
32023         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
32024         * lib/xsetenv.c: Don't include setenv.h.
32025         * lib/getdate.y: Likewise.
32026         * lib/relocwrapper.c: Likewise.
32027         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
32028         (Depends-on): Add stdlib.
32029         * NEWS: Mention the changes.
32030         Reported by Левашев Иван <octagram@bluebottle.com>.
32031
32032 2007-12-23  Bruno Haible  <bruno@clisp.org>
32033
32034         * lib/memmem.c (memmem): Use lowercase variable names. Tab
32035         indentation.
32036
32037 2007-12-23  Bruno Haible  <bruno@clisp.org>
32038
32039         * lib/c-strcasestr.c: Add more comments.
32040         * lib/c-strstr.c: Likewise.
32041         * lib/mbscasestr.c: Likewise.
32042         * lib/mbsstr.c: Likewise.
32043         * lib/strcasestr.c: Likewise.
32044         * lib/memmem.c: Likewise.
32045
32046 2007-12-23  Bruno Haible  <bruno@clisp.org>
32047
32048         * tests/test-memmem.c: Include <string.h> first.
32049
32050 2007-12-22  Bruno Haible  <bruno@clisp.org>
32051
32052         * gnulib-tool (func_create_testdir): Change $auxdir while generating
32053         the contents of $testsbase.
32054         Reported by Ralf Wildenhues.
32055
32056 2007-12-22  Bruno Haible  <bruno@clisp.org>
32057
32058         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
32059         two variables local_ldadd_before, local_ldadd_last.
32060
32061 2007-12-20  Eric Blake  <ebb9@byu.net>
32062
32063         Work around circular library issue when cross-compiling.
32064         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
32065         that progname.o does not need to pull in rpl_memcmp.
32066
32067 2007-12-19  Eric Blake  <ebb9@byu.net>
32068
32069         Fix memmem to avoid O(n^2) worst-case complexity.
32070         * lib/memmem.c (knuth_morris_pratt): New function.
32071         (memmem): Use it if first few naive iterations fail.
32072         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
32073         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
32074         * modules/memchr (License): Likewise.
32075         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
32076         malloca.
32077         * tests/test-memmem.c: Rewrite, borrowing ideas from
32078         test-mbsstr1.c; the old version wouldn't even compile!
32079         * modules/memmem-tests: New file.
32080         * lib/string.in.h (rpl_memmem): Add declaration.
32081         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
32082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
32083         REPLACE_MEMMEM.
32084
32085 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32086
32087         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
32088         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
32089         before any system include files, and undef after them all.  This
32090         should fix a problem on VMS reported by John E. Malmberg in
32091         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
32092
32093 2007-12-17  Eric Blake  <ebb9@byu.net>
32094
32095         Revert addition of verify, for BSD/OS.
32096         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
32097         can't handle large files, for the sake of obsolete platforms.
32098         * modules/fseeko (Depends-on): Remove verify.
32099         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
32100         * doc/functions/ftello.texi (ftello): Likewise.
32101         * doc/functions/fgetpos.texi (fgetpos): Likewise.
32102         Reported by Larry Jones.
32103
32104 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
32105
32106         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
32107         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
32108
32109 2007-12-17  Jim Meyering  <meyering@redhat.com>
32110
32111         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
32112         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
32113         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
32114         * modules/getcwd (Depends-on): Add openat.
32115         Reported by Petr Salinger.
32116
32117 2007-12-17  Bruno Haible  <bruno@clisp.org>
32118
32119         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
32120         avoid a segmentation fault of the configure test on x86_64 systems.
32121
32122 2007-12-15  Jim Meyering  <meyering@redhat.com>
32123
32124         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
32125
32126 2007-12-13  Eric Blake  <ebb9@byu.net>
32127
32128         Another fseek test.
32129         * tests/test-fseek.c (main): Also test ungetc handling.
32130         * tests/test-fseeko.c (main): Likewise.
32131         * modules/fseeko (Depends-on): Add verify.
32132         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
32133         large.
32134         Reported by Larry Jones.
32135
32136         Fix fseeko on mingw.
32137         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
32138         seek.
32139
32140         Beef up fseek tests.
32141         * tests/test-fseek.c (main): Also test eof handling.
32142         * tests/test-fseeko.c (main): Likewise.
32143         Reported by Larry Jones.
32144
32145 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
32146
32147         Fix fseeko on BSD-based platforms.
32148         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
32149         successful seek.
32150
32151 2007-12-12  Eric Blake  <ebb9@byu.net>
32152
32153         Allow circular dependency of separate libtests.a
32154         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
32155         when use_libtests.
32156
32157 2007-12-11  Eric Blake  <ebb9@byu.net>
32158
32159         Fix bug with -0.0L in previous patch.
32160         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
32161         * tests/test-isnan.c (main): Also test on zeroes.
32162         * tests/test-isnanf.c (main): Likewise.
32163         * tests/test-isnanl.h (main): Likewise.
32164
32165         Detect pseudo-denormals on x86 even when cross-compiling.
32166         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
32167         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
32168         invalid bit patterns that happen to satisfy ==.
32169
32170         Avoid link failures with separate libtests.a.
32171         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
32172         last, to satisfy circular dependencies.
32173
32174 2007-12-11  Eric Blake  <ebb9@byu.net>
32175         and Bruno Haible  <bruno@clisp.org>
32176
32177         Fix OpenBSD 4.0 <float.h> handling of long double.
32178         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
32179         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
32180         * doc/headers/float.texi (float.h): Document OpenBSD bug.
32181
32182 2007-12-11  Jim Meyering  <meyering@redhat.com>
32183
32184         * users.txt: Add libvirt.
32185
32186         Support versions of autoconf prior to 2.59c.
32187         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
32188         if it is not already defined.
32189
32190 2007-12-09  Bruno Haible  <bruno@clisp.org>
32191
32192         Let 'gnulib-tool --import' collect sources needed for the tests in
32193         tests/ rather than in lib/.
32194         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
32195         argument. If true, add rules to generate libtests.a, and put libtests.a
32196         into $(LDADD). Consider source files in subdirectories and set
32197         uses_subdirs.
32198         (func_emit_initmacro_start, func_emit_initmacro_end,
32199         func_emit_initmacro_done): Pass all arguments explicitly.
32200         (func_import): Determine two module lists main_modules,
32201         testsrelated_modules. Determine use_libtests. Determine two variables
32202         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
32203         instead of just sed_transform_lib_file. Determine two variables
32204         main_files and testsrelated_files. Compute 'files' as the union of
32205         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
32206         func_add_or_update. In the generated gnulib-comp.m4, collect the
32207         object files for tests/ in different variables than those for lib/.
32208         Substitute LIBTESTS_LIBDEPS.
32209         (func_create_testdir): Combine the uses_subdirs results from
32210         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
32211
32212 2007-12-09  Bruno Haible  <bruno@clisp.org>
32213
32214         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
32215         the build-aux directory.
32216
32217 2007-12-09  Bruno Haible  <bruno@clisp.org>
32218
32219         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
32220         introduced on 2006-09-09.
32221
32222 2007-12-07  Jim Meyering  <meyering@redhat.com>
32223
32224         Let these macros work also with autoconf-2.59.
32225         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
32226         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
32227         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32228
32229 2007-12-06  Jim Meyering  <meyering@redhat.com>
32230
32231         Avoid a configure-time syntax error in gl_FUNC_ACL.
32232         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
32233         function in each branch, before testing the cache variable.
32234
32235 2007-12-04  Eric Blake  <ebb9@byu.net>
32236
32237         Make scripts executable.
32238         * build-aux/config.guess: Add execute permissions.
32239         * build-aux/config.sub: Likewise.
32240         * build-aux/gendocs.sh: Likewise.
32241
32242         Fix frexp on mingw.
32243         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
32244         cross-compiling.
32245         * doc/functions/frexp.texi (frexp): Document the bug.
32246
32247         Make cygwin fseeko check more reliable.
32248         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
32249         version numbers, rather than unrelated feature check.
32250         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
32251         * doc/functions/ftello.texi (ftello): Likewise.
32252         Reported by Bruno Haible.
32253
32254         * m4/strerror.m4: Bump version number.
32255
32256 2007-12-03  Bruno Haible  <bruno@clisp.org>
32257
32258         * doc/functions/mprotect.texi: Mention the mingw problem.
32259
32260 2007-12-03  Eric Blake  <ebb9@byu.net>
32261
32262         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
32263         REPLACE_STRERROR is initialized before this macro.
32264
32265 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
32266
32267         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
32268         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
32269         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
32270         put -lsec in even for programs other than 'ls'.  This fixes a problem
32271         for gettext reported by Bruno Haible in
32272         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
32273         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
32274         Add support for Solaris 10.  This isn't efficient, but should get the
32275         job done for now.
32276
32277 2007-12-03  James Youngman  <jay@gnu.org>
32278
32279         * doc/regexprops-generic.texi: change "an close-group" to "a
32280         close-group" and "illegal" to "not allowed".
32281
32282 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32283
32284         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
32285         pr_byname.h. Needed for the rare case when the maintainer has done
32286         "make maintainer-clean" in the source directory and then attempts a
32287         build outside the source directory.
32288         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
32289         scripts_byname.h.
32290
32291 2007-12-02  Martin Lambers <marlam@marlam.de>
32292             Bruno Haible  <bruno@clisp.org>
32293
32294         * lib/getpagesize.h: Remove file.
32295         * lib/unistd.in.h: Include declaration of getpagesize here.
32296         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
32297         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
32298         HAVE_SYS_PARAM_H.
32299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
32300         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32301         * modules/getpagesize (Files): Remove lib/getpagesize.h.
32302         (Depends-on): Add unistd.
32303         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32304         (Include): Use <unistd.h> instead of getpagesize.h.
32305         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
32306         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32307         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
32308         gl_GETPAGESIZE invocation, already handled by module dependency.
32309         * lib/pagealign_alloc.c: Don't include getpagesize.h.
32310
32311 2007-12-02  Bruno Haible  <bruno@clisp.org>
32312
32313         * modules/strings-tests: New file.
32314         * tests/test-strings.c: New file.
32315
32316         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
32317         * lib/strings.in.h: New file.
32318         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
32319         * m4/strings_h.m4: New file.
32320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
32321         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
32322         * modules/strings: New file.
32323         * modules/string (Makefile.am): Update.
32324         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
32325         Reported by Karl Berry.
32326
32327 2007-12-01  Eric Blake  <ebb9@byu.net>
32328
32329         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
32330         accomodate fix in cygwin 1.5.25.
32331
32332 2007-12-01  Jim Meyering  <meyering@redhat.com>
32333
32334         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
32335         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
32336         that would inhibit utf8-optimization of a regexp containing line-
32337         or buffer-anchors, e.g., `^', `$'.
32338
32339 2007-11-30  Bruno Haible  <bruno@clisp.org>
32340
32341         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
32342         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
32343         glthread_recursive_lock_init.
32344         * lib/lock.c (glthread_recursive_lock_init)
32345         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
32346         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32347
32348 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
32349
32350         New function qset_acl, like set_acl but with syscall semantics.
32351         * lib/acl.h (qset_acl): New decl.
32352         * lib/acl.c (qset_acl): New function.
32353         (set_acl): Use new function.  Use more-consistent diagnostics.
32354
32355 2007-11-28  Jim Meyering  <meyering@redhat.com>
32356
32357         * modules/physmem (License): Change from GPL to LGPLv2+.
32358
32359 2007-11-26  Bruno Haible  <bruno@clisp.org>
32360
32361         * lib/vasnprintf.c (decode_long_double): Don't abort if the
32362         'long double' type has excess precision.
32363         Reported by Jim Meyering in
32364         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
32365
32366 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32367
32368         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
32369         Sync from <http://gnu.org/licenses>.
32370         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
32371         with license text from same location.
32372         * doc/maintain.texi, doc/standards.texi:  Sync from
32373         <http://savannah.gnu.org/projects/gnustandards>.
32374
32375 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
32376         and Jim Meyering  <meyering@redhat.com>
32377
32378         Adjust getdate' grammar to accept a slightly more regular language.
32379         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
32380         Before, the former was rejected.
32381         * lib/getdate.y (digits_to_date_time): New function, factored
32382         out of ...
32383         (number): ...here.  Just call digits_to_date_time.
32384         (hybrid): New non-terminal to handle an <unsigned number,
32385         signed relative offset> sequence consistently.
32386
32387 2007-11-18  Jim Meyering  <meyering@redhat.com>
32388
32389         Pull my changes from coreutils:
32390         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
32391         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
32392         use of $gnulib_tool_option_extras, so that it's separated from the
32393         preceding argument.
32394
32395         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
32396         * build-aux/bootstrap (cp_mark_as_generated): Create any required
32397         parent destination directories before copying a file into place.
32398
32399 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
32400
32401         bootstrap: work also with 4-argument variant of AC_INIT
32402         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
32403
32404 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32405
32406         Port test-getaddrinfo to Solaris.
32407         Problem reported by Bruno Haible in
32408         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
32409         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
32410         explanation of setting 'hints'.
32411         Don't reject an implementation merely because it returns EAI_SERVICE.
32412         (EAI_SERVICE): Define to 0 if not defined.
32413
32414 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
32415
32416         The license of gnu-make and posix-shell is now "GPLed build tool".
32417         * modules/gnu-make (License): Likewise.
32418         * modules/posix-shell (License): Likewise.
32419
32420         New module posix-shell, for determining a POSIX shell
32421         or perhaps something that is close enough to a POSIX shell.
32422         * m4/posix-shell.m4: New file.
32423         * modules/posix-shell: New file.
32424
32425         * MODULES.html.sh: Mention new module.
32426
32427         New module gnu-make, for determining whether we're using GNU Make.
32428         * m4/gnu-make.m4: New file.
32429         * modules/gnu-make: New file.
32430         * MODULES.html.sh: Mention new module.
32431
32432 2007-11-14  Jim Meyering  <meyering@redhat.com>
32433
32434         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
32435         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
32436         use this macro to create a function _definition_.
32437         Remove useless "#undef ARGMATCH_DIE".
32438
32439 2007-11-14  Bruno Haible  <bruno@clisp.org>
32440
32441         * lib/config.charset: Update for OpenBSD 4.1.
32442         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
32443
32444 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
32445
32446         Document 64-bit #if problems in stdint.texi.
32447         * doc/headers/stdint.texi (stdint.h): Mention problems with
32448         64-bit-#if, and how to work around them.
32449
32450         Don't insist on 'long long int' support in the preprocessor.  It
32451         breaks too many things.  For example, PRIdMAX still uses a 'long
32452         long int' format with the latest Sun compiler, even though
32453         HAVE_LONG_LONG_INT isn't defined due to that compiler's
32454         preprocessor problem.  This causes the latest coreutils to dump
32455         core on Solaris 10 sparc with the Sun C compiler.
32456         Instead, fix the 2007-10-16 problem in a different way, by evaluating
32457         the troublesome expressions at configure-time, not at #if-time.
32458         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
32459         preprocessor.
32460         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
32461         compile-time C checks, done at 'configure'-time.
32462         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
32463         * modules/inttypes (Makefile): Substitute the new symbols that
32464         gl_INTTYPES_H now generates.
32465         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
32466
32467 2007-11-12  Bruno Haible  <bruno@clisp.org>
32468
32469         Tests for Unicode character classification functions.
32470
32471         * modules/unictype/bidicategory-byname-tests: New file.
32472         * modules/unictype/bidicategory-name-tests: New file.
32473         * modules/unictype/bidicategory-of-tests: New file.
32474         * modules/unictype/bidicategory-test-tests: New file.
32475         * modules/unictype/block-list-tests: New file.
32476         * modules/unictype/block-of-tests: New file.
32477         * modules/unictype/block-test-tests: New file.
32478         * modules/unictype/category-C-tests: New file.
32479         * modules/unictype/category-Cc-tests: New file.
32480         * modules/unictype/category-Cf-tests: New file.
32481         * modules/unictype/category-Cn-tests: New file.
32482         * modules/unictype/category-Co-tests: New file.
32483         * modules/unictype/category-Cs-tests: New file.
32484         * modules/unictype/category-L-tests: New file.
32485         * modules/unictype/category-Ll-tests: New file.
32486         * modules/unictype/category-Lm-tests: New file.
32487         * modules/unictype/category-Lo-tests: New file.
32488         * modules/unictype/category-Lt-tests: New file.
32489         * modules/unictype/category-Lu-tests: New file.
32490         * modules/unictype/category-M-tests: New file.
32491         * modules/unictype/category-Mc-tests: New file.
32492         * modules/unictype/category-Me-tests: New file.
32493         * modules/unictype/category-Mn-tests: New file.
32494         * modules/unictype/category-N-tests: New file.
32495         * modules/unictype/category-Nd-tests: New file.
32496         * modules/unictype/category-Nl-tests: New file.
32497         * modules/unictype/category-No-tests: New file.
32498         * modules/unictype/category-P-tests: New file.
32499         * modules/unictype/category-Pc-tests: New file.
32500         * modules/unictype/category-Pd-tests: New file.
32501         * modules/unictype/category-Pe-tests: New file.
32502         * modules/unictype/category-Pf-tests: New file.
32503         * modules/unictype/category-Pi-tests: New file.
32504         * modules/unictype/category-Po-tests: New file.
32505         * modules/unictype/category-Ps-tests: New file.
32506         * modules/unictype/category-S-tests: New file.
32507         * modules/unictype/category-Sc-tests: New file.
32508         * modules/unictype/category-Sk-tests: New file.
32509         * modules/unictype/category-Sm-tests: New file.
32510         * modules/unictype/category-So-tests: New file.
32511         * modules/unictype/category-Z-tests: New file.
32512         * modules/unictype/category-Zl-tests: New file.
32513         * modules/unictype/category-Zp-tests: New file.
32514         * modules/unictype/category-Zs-tests: New file.
32515         * modules/unictype/category-and-not-tests: New file.
32516         * modules/unictype/category-and-tests: New file.
32517         * modules/unictype/category-byname-tests: New file.
32518         * modules/unictype/category-name-tests: New file.
32519         * modules/unictype/category-none-tests: New file.
32520         * modules/unictype/category-of-tests: New file.
32521         * modules/unictype/category-or-tests: New file.
32522         * modules/unictype/category-test-withtable-tests: New file.
32523         * modules/unictype/combining-class-tests: New file.
32524         * modules/unictype/ctype-alnum-tests: New file.
32525         * modules/unictype/ctype-alpha-tests: New file.
32526         * modules/unictype/ctype-blank-tests: New file.
32527         * modules/unictype/ctype-cntrl-tests: New file.
32528         * modules/unictype/ctype-digit-tests: New file.
32529         * modules/unictype/ctype-graph-tests: New file.
32530         * modules/unictype/ctype-lower-tests: New file.
32531         * modules/unictype/ctype-print-tests: New file.
32532         * modules/unictype/ctype-punct-tests: New file.
32533         * modules/unictype/ctype-space-tests: New file.
32534         * modules/unictype/ctype-upper-tests: New file.
32535         * modules/unictype/ctype-xdigit-tests: New file.
32536         * modules/unictype/decimal-digit-tests: New file.
32537         * modules/unictype/digit-tests: New file.
32538         * modules/unictype/mirror-tests: New file.
32539         * modules/unictype/numeric-tests: New file.
32540         * modules/unictype/property-alphabetic-tests: New file.
32541         * modules/unictype/property-ascii-hex-digit-tests: New file.
32542         * modules/unictype/property-bidi-arabic-digit-tests: New file.
32543         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
32544         * modules/unictype/property-bidi-block-separator-tests: New file.
32545         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
32546         * modules/unictype/property-bidi-common-separator-tests: New file.
32547         * modules/unictype/property-bidi-control-tests: New file.
32548         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
32549         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
32550         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
32551         * modules/unictype/property-bidi-european-digit-tests: New file.
32552         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
32553         * modules/unictype/property-bidi-left-to-right-tests: New file.
32554         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
32555         * modules/unictype/property-bidi-other-neutral-tests: New file.
32556         * modules/unictype/property-bidi-pdf-tests: New file.
32557         * modules/unictype/property-bidi-segment-separator-tests: New file.
32558         * modules/unictype/property-bidi-whitespace-tests: New file.
32559         * modules/unictype/property-byname-tests: New file.
32560         * modules/unictype/property-combining-tests: New file.
32561         * modules/unictype/property-composite-tests: New file.
32562         * modules/unictype/property-currency-symbol-tests: New file.
32563         * modules/unictype/property-dash-tests: New file.
32564         * modules/unictype/property-decimal-digit-tests: New file.
32565         * modules/unictype/property-default-ignorable-code-point-tests: New file.
32566         * modules/unictype/property-deprecated-tests: New file.
32567         * modules/unictype/property-diacritic-tests: New file.
32568         * modules/unictype/property-extender-tests: New file.
32569         * modules/unictype/property-format-control-tests: New file.
32570         * modules/unictype/property-grapheme-base-tests: New file.
32571         * modules/unictype/property-grapheme-extend-tests: New file.
32572         * modules/unictype/property-grapheme-link-tests: New file.
32573         * modules/unictype/property-hex-digit-tests: New file.
32574         * modules/unictype/property-hyphen-tests: New file.
32575         * modules/unictype/property-id-continue-tests: New file.
32576         * modules/unictype/property-id-start-tests: New file.
32577         * modules/unictype/property-ideographic-tests: New file.
32578         * modules/unictype/property-ids-binary-operator-tests: New file.
32579         * modules/unictype/property-ids-trinary-operator-tests: New file.
32580         * modules/unictype/property-ignorable-control-tests: New file.
32581         * modules/unictype/property-iso-control-tests: New file.
32582         * modules/unictype/property-join-control-tests: New file.
32583         * modules/unictype/property-left-of-pair-tests: New file.
32584         * modules/unictype/property-line-separator-tests: New file.
32585         * modules/unictype/property-logical-order-exception-tests: New file.
32586         * modules/unictype/property-lowercase-tests: New file.
32587         * modules/unictype/property-math-tests: New file.
32588         * modules/unictype/property-non-break-tests: New file.
32589         * modules/unictype/property-not-a-character-tests: New file.
32590         * modules/unictype/property-numeric-tests: New file.
32591         * modules/unictype/property-other-alphabetic-tests: New file.
32592         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
32593         * modules/unictype/property-other-grapheme-extend-tests: New file.
32594         * modules/unictype/property-other-id-continue-tests: New file.
32595         * modules/unictype/property-other-id-start-tests: New file.
32596         * modules/unictype/property-other-lowercase-tests: New file.
32597         * modules/unictype/property-other-math-tests: New file.
32598         * modules/unictype/property-other-uppercase-tests: New file.
32599         * modules/unictype/property-paired-punctuation-tests: New file.
32600         * modules/unictype/property-paragraph-separator-tests: New file.
32601         * modules/unictype/property-pattern-syntax-tests: New file.
32602         * modules/unictype/property-pattern-white-space-tests: New file.
32603         * modules/unictype/property-private-use-tests: New file.
32604         * modules/unictype/property-punctuation-tests: New file.
32605         * modules/unictype/property-quotation-mark-tests: New file.
32606         * modules/unictype/property-radical-tests: New file.
32607         * modules/unictype/property-sentence-terminal-tests: New file.
32608         * modules/unictype/property-soft-dotted-tests: New file.
32609         * modules/unictype/property-space-tests: New file.
32610         * modules/unictype/property-terminal-punctuation-tests: New file.
32611         * modules/unictype/property-test-tests: New file.
32612         * modules/unictype/property-titlecase-tests: New file.
32613         * modules/unictype/property-unassigned-code-value-tests: New file.
32614         * modules/unictype/property-unified-ideograph-tests: New file.
32615         * modules/unictype/property-uppercase-tests: New file.
32616         * modules/unictype/property-variation-selector-tests: New file.
32617         * modules/unictype/property-white-space-tests: New file.
32618         * modules/unictype/property-xid-continue-tests: New file.
32619         * modules/unictype/property-xid-start-tests: New file.
32620         * modules/unictype/property-zero-width-tests: New file.
32621         * modules/unictype/scripts-tests: New file.
32622         * modules/unictype/syntax-c-ident-tests: New file.
32623         * modules/unictype/syntax-c-whitespace-tests: New file.
32624         * modules/unictype/syntax-java-ident-tests: New file.
32625         * modules/unictype/syntax-java-whitespace-tests: New file.
32626         * tests/unictype/test-bidi_byname.c: New file.
32627         * tests/unictype/test-bidi_name.c: New file.
32628         * tests/unictype/test-bidi_of.c: New file.
32629         * tests/unictype/test-bidi_test.c: New file.
32630         * tests/unictype/test-block_list.c: New file.
32631         * tests/unictype/test-block_of.c: New file.
32632         * tests/unictype/test-block_test.c: New file.
32633         * tests/unictype/test-categ_and.c: New file.
32634         * tests/unictype/test-categ_and_not.c: New file.
32635         * tests/unictype/test-categ_byname.c: New file.
32636         * tests/unictype/test-categ_name.c: New file.
32637         * tests/unictype/test-categ_none.c: New file.
32638         * tests/unictype/test-categ_of.c: New file.
32639         * tests/unictype/test-categ_or.c: New file.
32640         * tests/unictype/test-categ_test_withtable.c: New file.
32641         * tests/unictype/test-combining.c: New file.
32642         * tests/unictype/test-decdigit.c: New file.
32643         * tests/unictype/test-digit.c: New file.
32644         * tests/unictype/test-mirror.c: New file.
32645         * tests/unictype/test-numeric.c: New file.
32646         * tests/unictype/test-pr_byname.c: New file.
32647         * tests/unictype/test-pr_test.c: New file.
32648         * tests/unictype/test-predicate-part1.h: New file.
32649         * tests/unictype/test-predicate-part2.h: New file.
32650         * tests/unictype/test-scripts.c: New file.
32651         * tests/unictype/test-sy_c_ident.c: New file.
32652         * tests/unictype/test-sy_java_ident.c: New file.
32653
32654         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
32655         for Unicode 5.0.0.
32656         * tests/unictype/test-categ_Cc.c: Likewise.
32657         * tests/unictype/test-categ_Cf.c: Likewise.
32658         * tests/unictype/test-categ_Cn.c: Likewise.
32659         * tests/unictype/test-categ_Co.c: Likewise.
32660         * tests/unictype/test-categ_Cs.c: Likewise.
32661         * tests/unictype/test-categ_L.c: Likewise.
32662         * tests/unictype/test-categ_Ll.c: Likewise.
32663         * tests/unictype/test-categ_Lm.c: Likewise.
32664         * tests/unictype/test-categ_Lo.c: Likewise.
32665         * tests/unictype/test-categ_Lt.c: Likewise.
32666         * tests/unictype/test-categ_Lu.c: Likewise.
32667         * tests/unictype/test-categ_M.c: Likewise.
32668         * tests/unictype/test-categ_Mc.c: Likewise.
32669         * tests/unictype/test-categ_Me.c: Likewise.
32670         * tests/unictype/test-categ_Mn.c: Likewise.
32671         * tests/unictype/test-categ_N.c: Likewise.
32672         * tests/unictype/test-categ_Nd.c: Likewise.
32673         * tests/unictype/test-categ_Nl.c: Likewise.
32674         * tests/unictype/test-categ_No.c: Likewise.
32675         * tests/unictype/test-categ_P.c: Likewise.
32676         * tests/unictype/test-categ_Pc.c: Likewise.
32677         * tests/unictype/test-categ_Pd.c: Likewise.
32678         * tests/unictype/test-categ_Pe.c: Likewise.
32679         * tests/unictype/test-categ_Pf.c: Likewise.
32680         * tests/unictype/test-categ_Pi.c: Likewise.
32681         * tests/unictype/test-categ_Po.c: Likewise.
32682         * tests/unictype/test-categ_Ps.c: Likewise.
32683         * tests/unictype/test-categ_S.c: Likewise.
32684         * tests/unictype/test-categ_Sc.c: Likewise.
32685         * tests/unictype/test-categ_Sk.c: Likewise.
32686         * tests/unictype/test-categ_Sm.c: Likewise.
32687         * tests/unictype/test-categ_So.c: Likewise.
32688         * tests/unictype/test-categ_Z.c: Likewise.
32689         * tests/unictype/test-categ_Zl.c: Likewise.
32690         * tests/unictype/test-categ_Zp.c: Likewise.
32691         * tests/unictype/test-categ_Zs.c: Likewise.
32692         * tests/unictype/test-ctype_alnum.c: Likewise.
32693         * tests/unictype/test-ctype_alpha.c: Likewise.
32694         * tests/unictype/test-ctype_blank.c: Likewise.
32695         * tests/unictype/test-ctype_cntrl.c: Likewise.
32696         * tests/unictype/test-ctype_digit.c: Likewise.
32697         * tests/unictype/test-ctype_graph.c: Likewise.
32698         * tests/unictype/test-ctype_lower.c: Likewise.
32699         * tests/unictype/test-ctype_print.c: Likewise.
32700         * tests/unictype/test-ctype_punct.c: Likewise.
32701         * tests/unictype/test-ctype_space.c: Likewise.
32702         * tests/unictype/test-ctype_upper.c: Likewise.
32703         * tests/unictype/test-ctype_xdigit.c: Likewise.
32704         * tests/unictype/test-decdigit.h: Likewise.
32705         * tests/unictype/test-digit.h: Likewise.
32706         * tests/unictype/test-numeric.h: Likewise.
32707         * tests/unictype/test-pr_alphabetic.c: Likewise.
32708         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
32709         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
32710         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
32711         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
32712         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
32713         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
32714         * tests/unictype/test-pr_bidi_control.c: Likewise.
32715         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
32716         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
32717         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
32718         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
32719         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
32720         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
32721         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
32722         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
32723         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
32724         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
32725         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
32726         * tests/unictype/test-pr_combining.c: Likewise.
32727         * tests/unictype/test-pr_composite.c: Likewise.
32728         * tests/unictype/test-pr_currency_symbol.c: Likewise.
32729         * tests/unictype/test-pr_dash.c: Likewise.
32730         * tests/unictype/test-pr_decimal_digit.c: Likewise.
32731         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
32732         * tests/unictype/test-pr_deprecated.c: Likewise.
32733         * tests/unictype/test-pr_diacritic.c: Likewise.
32734         * tests/unictype/test-pr_extender.c: Likewise.
32735         * tests/unictype/test-pr_format_control.c: Likewise.
32736         * tests/unictype/test-pr_grapheme_base.c: Likewise.
32737         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
32738         * tests/unictype/test-pr_grapheme_link.c: Likewise.
32739         * tests/unictype/test-pr_hex_digit.c: Likewise.
32740         * tests/unictype/test-pr_hyphen.c: Likewise.
32741         * tests/unictype/test-pr_id_continue.c: Likewise.
32742         * tests/unictype/test-pr_id_start.c: Likewise.
32743         * tests/unictype/test-pr_ideographic.c: Likewise.
32744         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
32745         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
32746         * tests/unictype/test-pr_ignorable_control.c: Likewise.
32747         * tests/unictype/test-pr_iso_control.c: Likewise.
32748         * tests/unictype/test-pr_join_control.c: Likewise.
32749         * tests/unictype/test-pr_left_of_pair.c: Likewise.
32750         * tests/unictype/test-pr_line_separator.c: Likewise.
32751         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
32752         * tests/unictype/test-pr_lowercase.c: Likewise.
32753         * tests/unictype/test-pr_math.c: Likewise.
32754         * tests/unictype/test-pr_non_break.c: Likewise.
32755         * tests/unictype/test-pr_not_a_character.c: Likewise.
32756         * tests/unictype/test-pr_numeric.c: Likewise.
32757         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
32758         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
32759         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
32760         * tests/unictype/test-pr_other_id_continue.c: Likewise.
32761         * tests/unictype/test-pr_other_id_start.c: Likewise.
32762         * tests/unictype/test-pr_other_lowercase.c: Likewise.
32763         * tests/unictype/test-pr_other_math.c: Likewise.
32764         * tests/unictype/test-pr_other_uppercase.c: Likewise.
32765         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
32766         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
32767         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
32768         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
32769         * tests/unictype/test-pr_private_use.c: Likewise.
32770         * tests/unictype/test-pr_punctuation.c: Likewise.
32771         * tests/unictype/test-pr_quotation_mark.c: Likewise.
32772         * tests/unictype/test-pr_radical.c: Likewise.
32773         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
32774         * tests/unictype/test-pr_soft_dotted.c: Likewise.
32775         * tests/unictype/test-pr_space.c: Likewise.
32776         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
32777         * tests/unictype/test-pr_titlecase.c: Likewise.
32778         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
32779         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
32780         * tests/unictype/test-pr_uppercase.c: Likewise.
32781         * tests/unictype/test-pr_variation_selector.c: Likewise.
32782         * tests/unictype/test-pr_white_space.c: Likewise.
32783         * tests/unictype/test-pr_xid_continue.c: Likewise.
32784         * tests/unictype/test-pr_xid_start.c: Likewise.
32785         * tests/unictype/test-pr_zero_width.c: Likewise.
32786         * tests/unictype/test-sy_c_whitespace.c: Likewise.
32787         * tests/unictype/test-sy_java_whitespace.c: Likewise.
32788
32789 2007-11-12  Bruno Haible  <bruno@clisp.org>
32790
32791         Unicode character classification functions.
32792         * lib/unictype.h: New file.
32793         * modules/unictype/base: New file.
32794         * modules/unictype/category-L: New file.
32795         * modules/unictype/category-Lu: New file.
32796         * modules/unictype/category-Ll: New file.
32797         * modules/unictype/category-Lt: New file.
32798         * modules/unictype/category-Lm: New file.
32799         * modules/unictype/category-Lo: New file.
32800         * modules/unictype/category-M: New file.
32801         * modules/unictype/category-Mn: New file.
32802         * modules/unictype/category-Mc: New file.
32803         * modules/unictype/category-Me: New file.
32804         * modules/unictype/category-N: New file.
32805         * modules/unictype/category-Nd: New file.
32806         * modules/unictype/category-Nl: New file.
32807         * modules/unictype/category-No: New file.
32808         * modules/unictype/category-P: New file.
32809         * modules/unictype/category-Pc: New file.
32810         * modules/unictype/category-Pd: New file.
32811         * modules/unictype/category-Ps: New file.
32812         * modules/unictype/category-Pe: New file.
32813         * modules/unictype/category-Pi: New file.
32814         * modules/unictype/category-Pf: New file.
32815         * modules/unictype/category-Po: New file.
32816         * modules/unictype/category-S: New file.
32817         * modules/unictype/category-Sm: New file.
32818         * modules/unictype/category-Sc: New file.
32819         * modules/unictype/category-Sk: New file.
32820         * modules/unictype/category-So: New file.
32821         * modules/unictype/category-Z: New file.
32822         * modules/unictype/category-Zs: New file.
32823         * modules/unictype/category-Zl: New file.
32824         * modules/unictype/category-Zp: New file.
32825         * modules/unictype/category-C: New file.
32826         * modules/unictype/category-Cc: New file.
32827         * modules/unictype/category-Cf: New file.
32828         * modules/unictype/category-Cs: New file.
32829         * modules/unictype/category-Co: New file.
32830         * modules/unictype/category-Cn: New file.
32831         * modules/unictype/category-or: New file.
32832         * modules/unictype/category-of: New file.
32833         * modules/unictype/category-test: New file.
32834         * modules/unictype/category-test-withtable: New file.
32835         * modules/unictype/category-byname: New file.
32836         * modules/unictype/category-none: New file.
32837         * modules/unictype/category-and: New file.
32838         * modules/unictype/category-and-not: New file.
32839         * modules/unictype/category-name: New file.
32840         * modules/unictype/combining-class: New file.
32841         * modules/unictype/category-all: New file.
32842         * modules/unictype/bidicategory-all: New file.
32843         * modules/unictype/bidicategory-byname: New file.
32844         * modules/unictype/bidicategory-name: New file.
32845         * modules/unictype/bidicategory-of: New file.
32846         * modules/unictype/bidicategory-test: New file.
32847         * modules/unictype/decimal-digit: New file.
32848         * modules/unictype/digit: New file.
32849         * modules/unictype/numeric: New file.
32850         * modules/unictype/mirror: New file.
32851         * modules/unictype/property-white-space: New file.
32852         * modules/unictype/property-alphabetic: New file.
32853         * modules/unictype/property-other-alphabetic: New file.
32854         * modules/unictype/property-not-a-character: New file.
32855         * modules/unictype/property-default-ignorable-code-point: New file.
32856         * modules/unictype/property-other-default-ignorable-code-point: New
32857         file.
32858         * modules/unictype/property-deprecated: New file.
32859         * modules/unictype/property-logical-order-exception: New file.
32860         * modules/unictype/property-variation-selector: New file.
32861         * modules/unictype/property-private-use: New file.
32862         * modules/unictype/property-unassigned-code-value: New file.
32863         * modules/unictype/property-uppercase: New file.
32864         * modules/unictype/property-other-uppercase: New file.
32865         * modules/unictype/property-lowercase: New file.
32866         * modules/unictype/property-other-lowercase: New file.
32867         * modules/unictype/property-titlecase: New file.
32868         * modules/unictype/property-soft-dotted: New file.
32869         * modules/unictype/property-id-start: New file.
32870         * modules/unictype/property-other-id-start: New file.
32871         * modules/unictype/property-id-continue: New file.
32872         * modules/unictype/property-other-id-continue: New file.
32873         * modules/unictype/property-xid-start: New file.
32874         * modules/unictype/property-xid-continue: New file.
32875         * modules/unictype/property-pattern-white-space: New file.
32876         * modules/unictype/property-pattern-syntax: New file.
32877         * modules/unictype/property-join-control: New file.
32878         * modules/unictype/property-grapheme-base: New file.
32879         * modules/unictype/property-grapheme-extend: New file.
32880         * modules/unictype/property-other-grapheme-extend: New file.
32881         * modules/unictype/property-grapheme-link: New file.
32882         * modules/unictype/property-bidi-control: New file.
32883         * modules/unictype/property-bidi-left-to-right: New file.
32884         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
32885         * modules/unictype/property-bidi-arabic-right-to-left: New file.
32886         * modules/unictype/property-bidi-european-digit: New file.
32887         * modules/unictype/property-bidi-eur-num-separator: New file.
32888         * modules/unictype/property-bidi-eur-num-terminator: New file.
32889         * modules/unictype/property-bidi-arabic-digit: New file.
32890         * modules/unictype/property-bidi-common-separator: New file.
32891         * modules/unictype/property-bidi-block-separator: New file.
32892         * modules/unictype/property-bidi-segment-separator: New file.
32893         * modules/unictype/property-bidi-whitespace: New file.
32894         * modules/unictype/property-bidi-non-spacing-mark: New file.
32895         * modules/unictype/property-bidi-boundary-neutral: New file.
32896         * modules/unictype/property-bidi-pdf: New file.
32897         * modules/unictype/property-bidi-embedding-or-override: New file.
32898         * modules/unictype/property-bidi-other-neutral: New file.
32899         * modules/unictype/property-hex-digit: New file.
32900         * modules/unictype/property-ascii-hex-digit: New file.
32901         * modules/unictype/property-ideographic: New file.
32902         * modules/unictype/property-unified-ideograph: New file.
32903         * modules/unictype/property-radical: New file.
32904         * modules/unictype/property-ids-binary-operator: New file.
32905         * modules/unictype/property-ids-trinary-operator: New file.
32906         * modules/unictype/property-zero-width: New file.
32907         * modules/unictype/property-space: New file.
32908         * modules/unictype/property-non-break: New file.
32909         * modules/unictype/property-iso-control: New file.
32910         * modules/unictype/property-format-control: New file.
32911         * modules/unictype/property-dash: New file.
32912         * modules/unictype/property-hyphen: New file.
32913         * modules/unictype/property-punctuation: New file.
32914         * modules/unictype/property-line-separator: New file.
32915         * modules/unictype/property-paragraph-separator: New file.
32916         * modules/unictype/property-quotation-mark: New file.
32917         * modules/unictype/property-sentence-terminal: New file.
32918         * modules/unictype/property-terminal-punctuation: New file.
32919         * modules/unictype/property-currency-symbol: New file.
32920         * modules/unictype/property-math: New file.
32921         * modules/unictype/property-other-math: New file.
32922         * modules/unictype/property-paired-punctuation: New file.
32923         * modules/unictype/property-left-of-pair: New file.
32924         * modules/unictype/property-combining: New file.
32925         * modules/unictype/property-composite: New file.
32926         * modules/unictype/property-decimal-digit: New file.
32927         * modules/unictype/property-numeric: New file.
32928         * modules/unictype/property-diacritic: New file.
32929         * modules/unictype/property-extender: New file.
32930         * modules/unictype/property-ignorable-control: New file.
32931         * modules/unictype/property-test: New file.
32932         * modules/unictype/property-byname: New file.
32933         * modules/unictype/property-all: New file.
32934         * modules/unictype/scripts: New file.
32935         * modules/unictype/scripts-all: New file.
32936         * modules/unictype/block-of: New file.
32937         * modules/unictype/block-test: New file.
32938         * modules/unictype/block-list: New file.
32939         * modules/unictype/block-all: New file.
32940         * modules/unictype/syntax-c-whitespace: New file.
32941         * modules/unictype/syntax-java-whitespace: New file.
32942         * modules/unictype/syntax-c-ident: New file.
32943         * modules/unictype/syntax-java-ident: New file.
32944         * modules/unictype/ctype-alnum: New file.
32945         * modules/unictype/ctype-alpha: New file.
32946         * modules/unictype/ctype-cntrl: New file.
32947         * modules/unictype/ctype-digit: New file.
32948         * modules/unictype/ctype-graph: New file.
32949         * modules/unictype/ctype-lower: New file.
32950         * modules/unictype/ctype-print: New file.
32951         * modules/unictype/ctype-punct: New file.
32952         * modules/unictype/ctype-space: New file.
32953         * modules/unictype/ctype-upper: New file.
32954         * modules/unictype/ctype-xdigit: New file.
32955         * modules/unictype/ctype-blank: New file.
32956         * lib/unictype/bidi_byname.c: New file.
32957         * lib/unictype/bidi_name.c: New file.
32958         * lib/unictype/bidi_of.c: New file.
32959         * lib/unictype/bidi_test.c: New file.
32960         * lib/unictype/bitmap.h: New file.
32961         * lib/unictype/block_test.c: New file.
32962         * lib/unictype/blocks.c: New file.
32963         * lib/unictype/categ_C.c: New file.
32964         * lib/unictype/categ_Cc.c: New file.
32965         * lib/unictype/categ_Cf.c: New file.
32966         * lib/unictype/categ_Cn.c: New file.
32967         * lib/unictype/categ_Co.c: New file.
32968         * lib/unictype/categ_Cs.c: New file.
32969         * lib/unictype/categ_L.c: New file.
32970         * lib/unictype/categ_Ll.c: New file.
32971         * lib/unictype/categ_Lm.c: New file.
32972         * lib/unictype/categ_Lo.c: New file.
32973         * lib/unictype/categ_Lt.c: New file.
32974         * lib/unictype/categ_Lu.c: New file.
32975         * lib/unictype/categ_M.c: New file.
32976         * lib/unictype/categ_Mc.c: New file.
32977         * lib/unictype/categ_Me.c: New file.
32978         * lib/unictype/categ_Mn.c: New file.
32979         * lib/unictype/categ_N.c: New file.
32980         * lib/unictype/categ_Nd.c: New file.
32981         * lib/unictype/categ_Nl.c: New file.
32982         * lib/unictype/categ_No.c: New file.
32983         * lib/unictype/categ_P.c: New file.
32984         * lib/unictype/categ_Pc.c: New file.
32985         * lib/unictype/categ_Pd.c: New file.
32986         * lib/unictype/categ_Pe.c: New file.
32987         * lib/unictype/categ_Pf.c: New file.
32988         * lib/unictype/categ_Pi.c: New file.
32989         * lib/unictype/categ_Po.c: New file.
32990         * lib/unictype/categ_Ps.c: New file.
32991         * lib/unictype/categ_S.c: New file.
32992         * lib/unictype/categ_Sc.c: New file.
32993         * lib/unictype/categ_Sk.c: New file.
32994         * lib/unictype/categ_Sm.c: New file.
32995         * lib/unictype/categ_So.c: New file.
32996         * lib/unictype/categ_Z.c: New file.
32997         * lib/unictype/categ_Zl.c: New file.
32998         * lib/unictype/categ_Zp.c: New file.
32999         * lib/unictype/categ_Zs.c: New file.
33000         * lib/unictype/categ_and.c: New file.
33001         * lib/unictype/categ_and_not.c: New file.
33002         * lib/unictype/categ_byname.c: New file.
33003         * lib/unictype/categ_name.c: New file.
33004         * lib/unictype/categ_none.c: New file.
33005         * lib/unictype/categ_of.c: New file.
33006         * lib/unictype/categ_or.c: New file.
33007         * lib/unictype/categ_test.c: New file.
33008         * lib/unictype/combining.c: New file.
33009         * lib/unictype/ctype_alnum.c: New file.
33010         * lib/unictype/ctype_alpha.c: New file.
33011         * lib/unictype/ctype_blank.c: New file.
33012         * lib/unictype/ctype_cntrl.c: New file.
33013         * lib/unictype/ctype_digit.c: New file.
33014         * lib/unictype/ctype_graph.c: New file.
33015         * lib/unictype/ctype_lower.c: New file.
33016         * lib/unictype/ctype_print.c: New file.
33017         * lib/unictype/ctype_punct.c: New file.
33018         * lib/unictype/ctype_space.c: New file.
33019         * lib/unictype/ctype_upper.c: New file.
33020         * lib/unictype/ctype_xdigit.c: New file.
33021         * lib/unictype/decdigit.c: New file.
33022         * lib/unictype/digit.c: New file.
33023         * lib/unictype/identsyntaxmap.h: New file.
33024         * lib/unictype/mirror.c: New file.
33025         * lib/unictype/numeric.c: New file.
33026         * lib/unictype/pr_alphabetic.c: New file.
33027         * lib/unictype/pr_ascii_hex_digit.c: New file.
33028         * lib/unictype/pr_bidi_arabic_digit.c: New file.
33029         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
33030         * lib/unictype/pr_bidi_block_separator.c: New file.
33031         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
33032         * lib/unictype/pr_bidi_common_separator.c: New file.
33033         * lib/unictype/pr_bidi_control.c: New file.
33034         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
33035         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
33036         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
33037         * lib/unictype/pr_bidi_european_digit.c: New file.
33038         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
33039         * lib/unictype/pr_bidi_left_to_right.c: New file.
33040         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
33041         * lib/unictype/pr_bidi_other_neutral.c: New file.
33042         * lib/unictype/pr_bidi_pdf.c: New file.
33043         * lib/unictype/pr_bidi_segment_separator.c: New file.
33044         * lib/unictype/pr_bidi_whitespace.c: New file.
33045         * lib/unictype/pr_byname.c: New file.
33046         * lib/unictype/pr_byname.gperf: New file.
33047         * lib/unictype/pr_combining.c: New file.
33048         * lib/unictype/pr_composite.c: New file.
33049         * lib/unictype/pr_currency_symbol.c: New file.
33050         * lib/unictype/pr_dash.c: New file.
33051         * lib/unictype/pr_decimal_digit.c: New file.
33052         * lib/unictype/pr_default_ignorable_code_point.c: New file.
33053         * lib/unictype/pr_deprecated.c: New file.
33054         * lib/unictype/pr_diacritic.c: New file.
33055         * lib/unictype/pr_extender.c: New file.
33056         * lib/unictype/pr_format_control.c: New file.
33057         * lib/unictype/pr_grapheme_base.c: New file.
33058         * lib/unictype/pr_grapheme_extend.c: New file.
33059         * lib/unictype/pr_grapheme_link.c: New file.
33060         * lib/unictype/pr_hex_digit.c: New file.
33061         * lib/unictype/pr_hyphen.c: New file.
33062         * lib/unictype/pr_id_continue.c: New file.
33063         * lib/unictype/pr_id_start.c: New file.
33064         * lib/unictype/pr_ideographic.c: New file.
33065         * lib/unictype/pr_ids_binary_operator.c: New file.
33066         * lib/unictype/pr_ids_trinary_operator.c: New file.
33067         * lib/unictype/pr_ignorable_control.c: New file.
33068         * lib/unictype/pr_iso_control.c: New file.
33069         * lib/unictype/pr_join_control.c: New file.
33070         * lib/unictype/pr_left_of_pair.c: New file.
33071         * lib/unictype/pr_line_separator.c: New file.
33072         * lib/unictype/pr_logical_order_exception.c: New file.
33073         * lib/unictype/pr_lowercase.c: New file.
33074         * lib/unictype/pr_math.c: New file.
33075         * lib/unictype/pr_non_break.c: New file.
33076         * lib/unictype/pr_not_a_character.c: New file.
33077         * lib/unictype/pr_numeric.c: New file.
33078         * lib/unictype/pr_other_alphabetic.c: New file.
33079         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
33080         * lib/unictype/pr_other_grapheme_extend.c: New file.
33081         * lib/unictype/pr_other_id_continue.c: New file.
33082         * lib/unictype/pr_other_id_start.c: New file.
33083         * lib/unictype/pr_other_lowercase.c: New file.
33084         * lib/unictype/pr_other_math.c: New file.
33085         * lib/unictype/pr_other_uppercase.c: New file.
33086         * lib/unictype/pr_paired_punctuation.c: New file.
33087         * lib/unictype/pr_paragraph_separator.c: New file.
33088         * lib/unictype/pr_pattern_syntax.c: New file.
33089         * lib/unictype/pr_pattern_white_space.c: New file.
33090         * lib/unictype/pr_private_use.c: New file.
33091         * lib/unictype/pr_punctuation.c: New file.
33092         * lib/unictype/pr_quotation_mark.c: New file.
33093         * lib/unictype/pr_radical.c: New file.
33094         * lib/unictype/pr_sentence_terminal.c: New file.
33095         * lib/unictype/pr_soft_dotted.c: New file.
33096         * lib/unictype/pr_space.c: New file.
33097         * lib/unictype/pr_terminal_punctuation.c: New file.
33098         * lib/unictype/pr_test.c: New file.
33099         * lib/unictype/pr_titlecase.c: New file.
33100         * lib/unictype/pr_unassigned_code_value.c: New file.
33101         * lib/unictype/pr_unified_ideograph.c: New file.
33102         * lib/unictype/pr_uppercase.c: New file.
33103         * lib/unictype/pr_variation_selector.c: New file.
33104         * lib/unictype/pr_white_space.c: New file.
33105         * lib/unictype/pr_xid_continue.c: New file.
33106         * lib/unictype/pr_xid_start.c: New file.
33107         * lib/unictype/pr_zero_width.c: New file.
33108         * lib/unictype/scripts.c: New file.
33109         * lib/unictype/sy_c_ident.c: New file.
33110         * lib/unictype/sy_c_whitespace.c: New file.
33111         * lib/unictype/sy_java_ident.c: New file.
33112         * lib/unictype/sy_java_whitespace.c: New file.
33113
33114         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
33115         Unicode 5.0.0.
33116         * lib/unictype/blocks.h: Likewise.
33117         * lib/unictype/categ_C.h: Likewise.
33118         * lib/unictype/categ_Cc.h: Likewise.
33119         * lib/unictype/categ_Cf.h: Likewise.
33120         * lib/unictype/categ_Cn.h: Likewise.
33121         * lib/unictype/categ_Co.h: Likewise.
33122         * lib/unictype/categ_Cs.h: Likewise.
33123         * lib/unictype/categ_L.h: Likewise.
33124         * lib/unictype/categ_Ll.h: Likewise.
33125         * lib/unictype/categ_Lm.h: Likewise.
33126         * lib/unictype/categ_Lo.h: Likewise.
33127         * lib/unictype/categ_Lt.h: Likewise.
33128         * lib/unictype/categ_Lu.h: Likewise.
33129         * lib/unictype/categ_M.h: Likewise.
33130         * lib/unictype/categ_Mc.h: Likewise.
33131         * lib/unictype/categ_Me.h: Likewise.
33132         * lib/unictype/categ_Mn.h: Likewise.
33133         * lib/unictype/categ_N.h: Likewise.
33134         * lib/unictype/categ_Nd.h: Likewise.
33135         * lib/unictype/categ_Nl.h: Likewise.
33136         * lib/unictype/categ_No.h: Likewise.
33137         * lib/unictype/categ_P.h: Likewise.
33138         * lib/unictype/categ_Pc.h: Likewise.
33139         * lib/unictype/categ_Pd.h: Likewise.
33140         * lib/unictype/categ_Pe.h: Likewise.
33141         * lib/unictype/categ_Pf.h: Likewise.
33142         * lib/unictype/categ_Pi.h: Likewise.
33143         * lib/unictype/categ_Po.h: Likewise.
33144         * lib/unictype/categ_Ps.h: Likewise.
33145         * lib/unictype/categ_S.h: Likewise.
33146         * lib/unictype/categ_Sc.h: Likewise.
33147         * lib/unictype/categ_Sk.h: Likewise.
33148         * lib/unictype/categ_Sm.h: Likewise.
33149         * lib/unictype/categ_So.h: Likewise.
33150         * lib/unictype/categ_Z.h: Likewise.
33151         * lib/unictype/categ_Zl.h: Likewise.
33152         * lib/unictype/categ_Zp.h: Likewise.
33153         * lib/unictype/categ_Zs.h: Likewise.
33154         * lib/unictype/categ_of.h: Likewise.
33155         * lib/unictype/combining.h: Likewise.
33156         * lib/unictype/ctype_alnum.h: Likewise.
33157         * lib/unictype/ctype_alpha.h: Likewise.
33158         * lib/unictype/ctype_blank.h: Likewise.
33159         * lib/unictype/ctype_cntrl.h: Likewise.
33160         * lib/unictype/ctype_digit.h: Likewise.
33161         * lib/unictype/ctype_graph.h: Likewise.
33162         * lib/unictype/ctype_lower.h: Likewise.
33163         * lib/unictype/ctype_print.h: Likewise.
33164         * lib/unictype/ctype_punct.h: Likewise.
33165         * lib/unictype/ctype_space.h: Likewise.
33166         * lib/unictype/ctype_upper.h: Likewise.
33167         * lib/unictype/ctype_xdigit.h: Likewise.
33168         * lib/unictype/decdigit.h: Likewise.
33169         * lib/unictype/digit.h: Likewise.
33170         * lib/unictype/mirror.h: Likewise.
33171         * lib/unictype/numeric.h: Likewise.
33172         * lib/unictype/pr_alphabetic.h: Likewise.
33173         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
33174         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
33175         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
33176         * lib/unictype/pr_bidi_block_separator.h: Likewise.
33177         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
33178         * lib/unictype/pr_bidi_common_separator.h: Likewise.
33179         * lib/unictype/pr_bidi_control.h: Likewise.
33180         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
33181         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
33182         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
33183         * lib/unictype/pr_bidi_european_digit.h: Likewise.
33184         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
33185         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
33186         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
33187         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
33188         * lib/unictype/pr_bidi_pdf.h: Likewise.
33189         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
33190         * lib/unictype/pr_bidi_whitespace.h: Likewise.
33191         * lib/unictype/pr_combining.h: Likewise.
33192         * lib/unictype/pr_composite.h: Likewise.
33193         * lib/unictype/pr_currency_symbol.h: Likewise.
33194         * lib/unictype/pr_dash.h: Likewise.
33195         * lib/unictype/pr_decimal_digit.h: Likewise.
33196         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
33197         * lib/unictype/pr_deprecated.h: Likewise.
33198         * lib/unictype/pr_diacritic.h: Likewise.
33199         * lib/unictype/pr_extender.h: Likewise.
33200         * lib/unictype/pr_format_control.h: Likewise.
33201         * lib/unictype/pr_grapheme_base.h: Likewise.
33202         * lib/unictype/pr_grapheme_extend.h: Likewise.
33203         * lib/unictype/pr_grapheme_link.h: Likewise.
33204         * lib/unictype/pr_hex_digit.h: Likewise.
33205         * lib/unictype/pr_hyphen.h: Likewise.
33206         * lib/unictype/pr_id_continue.h: Likewise.
33207         * lib/unictype/pr_id_start.h: Likewise.
33208         * lib/unictype/pr_ideographic.h: Likewise.
33209         * lib/unictype/pr_ids_binary_operator.h: Likewise.
33210         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
33211         * lib/unictype/pr_ignorable_control.h: Likewise.
33212         * lib/unictype/pr_iso_control.h: Likewise.
33213         * lib/unictype/pr_join_control.h: Likewise.
33214         * lib/unictype/pr_left_of_pair.h: Likewise.
33215         * lib/unictype/pr_line_separator.h: Likewise.
33216         * lib/unictype/pr_logical_order_exception.h: Likewise.
33217         * lib/unictype/pr_lowercase.h: Likewise.
33218         * lib/unictype/pr_math.h: Likewise.
33219         * lib/unictype/pr_non_break.h: Likewise.
33220         * lib/unictype/pr_not_a_character.h: Likewise.
33221         * lib/unictype/pr_numeric.h: Likewise.
33222         * lib/unictype/pr_other_alphabetic.h: Likewise.
33223         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
33224         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
33225         * lib/unictype/pr_other_id_continue.h: Likewise.
33226         * lib/unictype/pr_other_id_start.h: Likewise.
33227         * lib/unictype/pr_other_lowercase.h: Likewise.
33228         * lib/unictype/pr_other_math.h: Likewise.
33229         * lib/unictype/pr_other_uppercase.h: Likewise.
33230         * lib/unictype/pr_paired_punctuation.h: Likewise.
33231         * lib/unictype/pr_paragraph_separator.h: Likewise.
33232         * lib/unictype/pr_pattern_syntax.h: Likewise.
33233         * lib/unictype/pr_pattern_white_space.h: Likewise.
33234         * lib/unictype/pr_private_use.h: Likewise.
33235         * lib/unictype/pr_punctuation.h: Likewise.
33236         * lib/unictype/pr_quotation_mark.h: Likewise.
33237         * lib/unictype/pr_radical.h: Likewise.
33238         * lib/unictype/pr_sentence_terminal.h: Likewise.
33239         * lib/unictype/pr_soft_dotted.h: Likewise.
33240         * lib/unictype/pr_space.h: Likewise.
33241         * lib/unictype/pr_terminal_punctuation.h: Likewise.
33242         * lib/unictype/pr_titlecase.h: Likewise.
33243         * lib/unictype/pr_unassigned_code_value.h: Likewise.
33244         * lib/unictype/pr_unified_ideograph.h: Likewise.
33245         * lib/unictype/pr_uppercase.h: Likewise.
33246         * lib/unictype/pr_variation_selector.h: Likewise.
33247         * lib/unictype/pr_white_space.h: Likewise.
33248         * lib/unictype/pr_xid_continue.h: Likewise.
33249         * lib/unictype/pr_xid_start.h: Likewise.
33250         * lib/unictype/pr_zero_width.h: Likewise.
33251         * lib/unictype/scripts.h: Likewise.
33252         * lib/unictype/scripts_byname.gperf: Likewise.
33253         * lib/unictype/sy_c_ident.h: Likewise.
33254         * lib/unictype/sy_c_whitespace.h: Likewise.
33255         * lib/unictype/sy_java_ident.h: Likewise.
33256         * lib/unictype/sy_java_whitespace.h: Likewise.
33257
33258         * lib/unictype/Makefile: New file.
33259         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
33260         glibc.
33261         * lib/unictype/3level.h: New file, copied from glibc.
33262         * lib/unictype/3levelbit.h: New file.
33263
33264 2007-11-11  Bruno Haible  <bruno@clisp.org>
33265
33266         * modules/gperf: New file.
33267         * modules/iconv_open (Depends-on): Add it.
33268         (Makefile.am): Remove the GPERF definition.
33269
33270 2007-11-11  Bruno Haible  <bruno@clisp.org>
33271
33272         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
33273         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
33274
33275 2007-11-11  Bruno Haible  <bruno@clisp.org>
33276
33277         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
33278         (usage): Remove function.
33279
33280 2007-11-11  Bruno Haible  <bruno@clisp.org>
33281
33282         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
33283         gl_FUNC_CEILF_LIBS.
33284         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
33285         gl_FUNC_CEIL_LIBS.
33286         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
33287         gl_FUNC_CEILL_LIBS.
33288         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
33289         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
33290         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
33291
33292 2007-11-11  Bruno Haible  <bruno@clisp.org>
33293
33294         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
33295         roundf were declared but do not exist on functions.
33296         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
33297         roundl were declared but do not exist on functions.
33298         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
33299         HAVE_FLOORL_AND_CEILL, respectively.
33300         Needed for Sun C on Solaris 10.
33301
33302 2007-11-11  Bruno Haible  <bruno@clisp.org>
33303
33304         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
33305         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
33306         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
33307         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
33308         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
33309         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
33310         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
33311         HAVE_DECL_ROUNDF.
33312         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
33313         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
33314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
33315         of HAVE_DECL_ROUND*.
33316         * modules/math (Makefile.am): Update.
33317
33318 2007-11-10  Bruno Haible  <bruno@clisp.org>
33319
33320         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
33321         ptrdiff_t as m4/intl.m4.
33322
33323 2007-11-10  Jim Meyering  <meyering@redhat.com>
33324
33325         Avoid link failure for the argmatch test.
33326         * tests/test-argmatch.c (usage): Define function to avoid a link
33327         failure: argmatch_die requires a usage function.
33328
33329 2007-11-09  Bruno Haible  <bruno@clisp.org>
33330
33331         * doc/functions/snprintf.texi: Mention BeOS deficiency.
33332         * doc/functions/vsnprintf.texi: Likewise.
33333         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
33334         with a size argument < 2.
33335
33336 2007-11-09  Bruno Haible  <bruno@clisp.org>
33337
33338         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
33339         buffer. Fixes an inefficiency introduced on 2007-11-03.
33340
33341 2007-11-09  Bruno Haible  <bruno@clisp.org>
33342
33343         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
33344         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
33345
33346 2007-11-08  Jim Meyering  <meyering@redhat.com>
33347
33348         Change cache variable name prefix "jm_" to "gl_" everywhere.
33349         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
33350         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
33351         * m4/uptime.m4: s/gl_/jm_/
33352
33353 2007-11-07  Bruno Haible  <bruno@clisp.org>
33354
33355         Update to GNU gettext 0.17.
33356         * m4/intl.m4: Update to GNU gettext 0.17.
33357         * m4/po.m4: Likewise.
33358         * modules/gettext (Files): Remove m4/ulonglong.m4.
33359         (configure.ac): Require gettext infrastructure from version 0.17.
33360
33361 2007-11-06  Bruno Haible  <bruno@clisp.org>
33362
33363         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
33364         symbolic values are not defined in a public header.
33365         * lib/freadable.c (freadable) [QNX]: Likewise.
33366         * lib/freadahead.c (freadahead) [QNX]: Likewise.
33367         * lib/freading.c (freading) [QNX]: Likewise.
33368         * lib/fseterr.c (fseterr) [QNX]: Likewise.
33369         * lib/fwritable.c (fwritable) [QNX]: Likewise.
33370         * lib/fwriting.c (fwriting) [QNX]: Likewise.
33371         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
33372         Reported by Alain Magloire.
33373
33374         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
33375
33376 2007-11-05  Bruno Haible  <bruno@clisp.org>
33377
33378         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
33379         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
33380         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
33381         Reported by Eric Blake.
33382
33383 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33384             Bruno Haible  <bruno@clisp.org>
33385
33386         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
33387         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
33388         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
33389         (malloc): Undefine also before including <stdlib.h>.
33390         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
33391         Needed on OSF/1 4.0.
33392
33393 2007-11-05  Jim Meyering  <meyering@redhat.com>
33394
33395         git-version-gen: sync from coreutils.
33396         * build-aux/git-version-gen: Add comments.
33397         Change the first '-' to '.' in the snapshot version string,
33398         e.g., 6.9-377-08144 -> 6.9.377-08144
33399         Remove first parameter.
33400         Don't declare a version "-dirty" merely because a time
33401         stamp has changed.
33402
33403 2007-11-04  Bruno Haible  <bruno@clisp.org>
33404
33405         * lib/lock.h: Protect all macro definitions containing an 'if'
33406         statement through a "do { ... } while (0)".
33407         * lib/tls.h: Likewise.
33408
33409 2007-11-04  Bruno Haible  <bruno@clisp.org>
33410
33411         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
33412
33413 2007-11-04  Bruno Haible  <bruno@clisp.org>
33414
33415         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
33416         * modules/fprintf-posix (Depends-on): Add nocrash.
33417         * modules/snprintf-posix (Depends-on): Likewise.
33418         * modules/sprintf-posix (Depends-on): Likewise.
33419         * modules/vasnprintf-posix (Depends-on): Likewise.
33420         * modules/vasprintf-posix (Depends-on): Likewise.
33421         * modules/vfprintf-posix (Depends-on): Likewise.
33422         * modules/vsnprintf-posix (Depends-on): Likewise.
33423         * modules/vsprintf-posix (Depends-on): Likewise.
33424         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33425         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33426         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33427         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33428         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33429         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33430         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33431
33432 2007-11-04  Bruno Haible  <bruno@clisp.org>
33433
33434         * modules/nocrash: New file.
33435         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
33436         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
33437
33438 2007-11-04  Bruno Haible  <bruno@clisp.org>
33439
33440         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
33441         precision handling.
33442         * tests/test-vasprintf-posix.c (test_function): Likewise.
33443         * tests/test-snprintf-posix.h (test_function): Likewise.
33444         * tests/test-sprintf-posix.h (test_function): Likewise.
33445
33446         Fix *printf behaviour for large precisions on mingw and BeOS.
33447         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
33448         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
33449         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
33450         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33451         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33452         gl_PRINTF_PRECISION and test its result. Invoke
33453         gl_PREREQ_VASNPRINTF_PRECISION.
33454         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33455         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33456         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33457         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33458         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33459         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33460         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33461         * doc/functions/fprintf.texi: Update.
33462         * doc/functions/printf.texi: Update.
33463         * doc/functions/snprintf.texi: Update.
33464         * doc/functions/sprintf.texi: Update.
33465         * doc/functions/vfprintf.texi: Update.
33466         * doc/functions/vprintf.texi: Update.
33467         * doc/functions/vsnprintf.texi: Update.
33468         * doc/functions/vsprintf.texi: Update.
33469
33470 2007-11-04  Bruno Haible  <bruno@clisp.org>
33471
33472         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
33473
33474 2007-11-04  Bruno Haible  <bruno@clisp.org>
33475
33476         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
33477         Reported by Sylvain Beucler <beuc@gnu.org>.
33478
33479 2007-11-03  Bruno Haible  <bruno@clisp.org>
33480
33481         * tests/test-fprintf-posix2.sh: New file.
33482         * tests/test-fprintf-posix2.c: New file.
33483         * modules/fprintf-posix-tests (Files): Add them.
33484         (TESTS): Add test-fprintf-posix2.sh.
33485         (configure.ac): Check for getrlimit and setrlimit.
33486         (check_PROGRAMS): Add test-fprintf-posix2.
33487
33488         * tests/test-printf-posix2.sh: New file.
33489         * tests/test-printf-posix2.c: New file.
33490         * modules/printf-posix-tests (Files): Add them.
33491         (TESTS): Add test-printf-posix2.sh.
33492         (configure.ac): Check for getrlimit and setrlimit.
33493         (check_PROGRAMS): Add test-printf-posix2.
33494
33495         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
33496         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
33497         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
33498         (decode_double): New function, copied from decode_long_double.
33499         (scale10_round_decimal_decoded): New function, extracted from
33500         scale10_round_decimal_long_double.
33501         (scale10_round_decimal_long_double): Use it.
33502         (scale10_round_decimal_double): New function.
33503         (floorlog10): New function.
33504         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
33505         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
33506         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33507         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33508         gl_PRINTF_ENOMEM and test its result. Invoke
33509         gl_PREREQ_VASNPRINTF_ENOMEM.
33510         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33511         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33512         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33513         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33514         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33515         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33516         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33517         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
33518         * modules/snprintf-posix (Depends-on): Likewise.
33519         * modules/sprintf-posix (Depends-on): Likewise.
33520         * modules/vasnprintf-posix (Depends-on): Likewise.
33521         * modules/vasprintf-posix (Depends-on): Likewise.
33522         * modules/vfprintf-posix (Depends-on): Likewise.
33523         * modules/vsnprintf-posix (Depends-on): Likewise.
33524         * modules/vsprintf-posix (Depends-on): Likewise.
33525         * doc/functions/fprintf.texi: Update.
33526         * doc/functions/printf.texi: Update.
33527         * doc/functions/snprintf.texi: Update.
33528         * doc/functions/sprintf.texi: Update.
33529         * doc/functions/vfprintf.texi: Update.
33530         * doc/functions/vprintf.texi: Update.
33531         * doc/functions/vsnprintf.texi: Update.
33532         * doc/functions/vsprintf.texi: Update.
33533
33534 2007-11-03  Bruno Haible  <bruno@clisp.org>
33535
33536         * modules/frexp-nolibm-tests: New file.
33537
33538         * modules/frexp-nolibm: New file.
33539         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
33540
33541 2007-11-03  Bruno Haible  <bruno@clisp.org>
33542
33543         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
33544         value is C99 compliant.
33545         Needed for OSF/1 5.1.
33546
33547 2007-11-03  Bruno Haible  <bruno@clisp.org>
33548
33549         Fix out-of-memory handling of vasnprintf.
33550         * lib/printf-parse.c: Include <errno.h>.
33551         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
33552         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
33553         is already set.
33554
33555 2007-11-02  Eric Blake  <ebb9@byu.net>
33556
33557         Fix tests on cygwin.
33558         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
33559
33560 2007-11-01  Bruno Haible  <bruno@clisp.org>
33561
33562         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
33563         warning.
33564         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
33565         needed for POSIX compatibility.
33566
33567 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
33568
33569         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
33570         for compatibility with GNU.
33571
33572 2007-11-01  Bruno Haible  <bruno@clisp.org>
33573
33574         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
33575         (putenv): Renamed from rpl_putenv. Change argument type from
33576         'const char *' to 'char *'.
33577         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
33578         of defining putenv in config.h, just set REPLACE_PUTENV.
33579         * modules/putenv (Depends-on): Add stdlib.
33580         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33581         (Include): Use <stdlib.h>.
33582         * lib/stdlib.in.h (putenv): New declaration.
33583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
33584         REPLACE_PUTENV.
33585         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
33586         REPLACE_PUTENV.
33587         Needed for MacOS X 10.5.0.
33588         Reported by Peter O'Gorman <peter@pogma.com>.
33589
33590 2007-11-01  Jim Meyering  <meyering@redhat.com>
33591
33592         Treat an empty date string exactly like "0".
33593         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
33594         if the remaining date string (to be parsed) is empty, use "0".
33595         Reported by Mischa Molhoek and discussed in this thread:
33596         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
33597
33598 2007-10-31  Bruno Haible  <bruno@clisp.org>
33599
33600         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
33601         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
33602         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
33603         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
33604         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
33605         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
33606
33607 2007-10-31  Bruno Haible  <bruno@clisp.org>
33608
33609         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
33610         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
33611         (AC_TYPE_LONG_LONG_INT): Use it.
33612         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
33613         it as well.
33614         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
33615         to m4/longlong.m4.
33616         * modules/stdint (Files): Remove m4/ulonglong.m4.
33617         * modules/strtoull (Files): Use m4/longlong.m4 instead of
33618         m4/ulonglong.m4.
33619         * modules/strtoumax (Files): Likewise.
33620
33621 2007-10-30  Bruno Haible  <bruno@clisp.org>
33622
33623         * modules/xvasprintf-posix: New file.
33624         Suggested by Eric Blake.
33625
33626 2007-10-30  Bruno Haible  <bruno@clisp.org>
33627
33628         * modules/xprintf-posix-tests: New file.
33629         * tests/test-xprintf-posix.sh: New file.
33630         * tests/test-xprintf-posix.c: New file.
33631         * tests/test-xfprintf-posix.c: New file.
33632
33633         * modules/xprintf-posix: New file.
33634
33635 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33636
33637         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
33638         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
33639         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
33640
33641 2007-10-29  Bruno Haible  <bruno@clisp.org>
33642
33643         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
33644         contain the special marker '_cv_'.
33645         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33646         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33647         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33648         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
33649         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33650         Reported by Ralf Wildenhues.
33651
33652 2007-10-29  Bruno Haible  <bruno@clisp.org>
33653
33654         * gnulib-tool (func_import): When --lgpl is not specified, set
33655         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
33656         GPLv3.
33657         Reported by Simon Josefsson.
33658
33659 2007-10-28  Bruno Haible  <bruno@clisp.org>
33660
33661         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
33662         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
33663         HAVE_DECL_ISFINITE.
33664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33665         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
33666         HAVE_DECL_ISFINITE.
33667
33668 2007-10-28  Bruno Haible  <bruno@clisp.org>
33669
33670         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
33671         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
33672
33673 2007-10-28  Bruno Haible  <bruno@clisp.org>
33674
33675         Fix link errors with Sun C 5.0 on Solaris 10.
33676         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
33677         function is declared but not present in the compiler's libm.
33678         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33679         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
33680         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
33681         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
33682         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
33683         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
33684         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
33685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33686         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
33687         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
33688         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
33689         HAVE_DECL_FLOORL.
33690
33691 2007-10-28  Bruno Haible  <bruno@clisp.org>
33692
33693         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
33694         gl_FUNC_FLOORL. Cache the result.
33695         (gl_FUNC_FLOORL): Use it.
33696         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
33697         gl_FUNC_CEILL. Cache the result.
33698         (gl_FUNC_CEILL): Use it.
33699
33700         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
33701         gl_FUNC_FLOOR. Cache the result.
33702         (gl_FUNC_FLOOR): Use it.
33703         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
33704         gl_FUNC_CEIL. Cache the result.
33705         (gl_FUNC_CEIL): Use it.
33706
33707         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
33708         gl_FUNC_FLOORF. Cache the result.
33709         (gl_FUNC_FLOORF): Use it.
33710         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
33711         gl_FUNC_CEILF. Cache the result.
33712         (gl_FUNC_CEILF): Use it.
33713
33714 2007-10-28  Bruno Haible  <bruno@clisp.org>
33715
33716         * gnulib-tool: Allow specifying the LGPL version number through
33717         --lgpl=2 or --lgpl=3.
33718         (func_usage): Document --lgpl with argument.
33719         Handle --lgpl=... arguments.
33720         (func_import): Recognize also gl_LGPL calls with an argument. When
33721         --lgpl=2 is used and the module's license is just LGPL, report an
33722         error. Set sed_transform_lib_file according to the lgpl variable. In
33723         the generated files, use --lgpl or gl_LGPL invocations with argument,
33724         if necessary.
33725         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
33726         an LGPv2+ license.
33727         * doc/gnulib-tool.texi (Modified imports): Update explanation of
33728         gl_LGPL macro.
33729
33730 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33731             Bruno Haible  <bruno@clisp.org>
33732
33733         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
33734         (u16_uctomb_aux): Likewise.
33735         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
33736         !HAVE_INLINE.
33737         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
33738
33739 2007-10-28  Bruno Haible  <bruno@clisp.org>
33740
33741         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
33742         Invoke AM_GETTEXT_OPTION if it exists.
33743         * modules/vasprintf: Likewise.
33744         * modules/verror: Likewise.
33745         * modules/xprintf: Likewise.
33746         * modules/xvasprintf: Likewise.
33747
33748 2007-10-27  Ben Pfaff  <blp@gnu.org>
33749
33750         * lib/math.in.h: Define isfinite macro and prototypes for
33751         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
33752         implementations.
33753         * m4/math_h.m4: New substitutions for isfinite module.
33754         * lib/isfinite.c: New file.
33755         * m4/isfinite.m4: New file.
33756         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
33757         * modules/isfinite: New file.
33758         * modules/isfinite-tests: New file.
33759         * tests/tests-isfinite.c: New file.
33760         * doc/functions/isfinite.texi: Mention isfinite module.
33761         * MODULES.html.sh: Mention new module.
33762
33763 2007-10-27  Ben Pfaff  <blp@gnu.org>
33764
33765         Ralf Wildenhues reported that Tru64 4.0D declares the round
33766         functions but does not have definitions.
33767         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
33768         cannot be found in any library, set the output variable to
33769         "missing" instead of "".
33770         * m4/round.m4: Also use our substitute if we cannot find round in
33771         any library, even if it is declared.
33772         * m4/roundf.m4: Likewise for roundf.
33773         * m4/roundl.m4: Likewise for roundl.
33774         * lib/math.in.h: Undefine roundf, round, roundl before defining
33775         their replacements, to allow for hypothetical systems where these
33776         may be defined as macros but not available in libraries.
33777
33778 2007-10-27  Bruno Haible  <bruno@clisp.org>
33779
33780         * doc/gnulib.texi: Invoke @firstparagraphindent.
33781         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
33782         changes in gnulib.
33783         (Source changes): New section.
33784
33785 2007-10-26  Bruno Haible  <bruno@clisp.org>
33786
33787         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
33788         borrowed from autoconf.
33789
33790 2007-10-26  Bruno Haible  <bruno@clisp.org>
33791
33792         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
33793         strerror returned the empty string. Needed on HP-UX 11.00.
33794
33795 2007-10-24  Micah Cowan  <micah@cowan.name>
33796
33797         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
33798         * build-aux/bootstrap: Remove support for now-unnecessary option,
33799         --cvs-user, and envvars CVS_USER, CVS_RSH.
33800
33801 2007-10-24  Jim Meyering  <meyering@redhat.com>
33802
33803         Avoid diagnostics from sha1sum when there is no cached checksum.
33804         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
33805         if the po.s1 file hasn't been created yet.
33806
33807         * build-aux/bootstrap: Sync from coreutils:
33808         2007-10-24  Jim Meyering  <meyering@redhat.com>
33809         Get gnulib from the git repository, not from an obsolete cvs one.
33810         * build-aux/bootstrap: Suggestion from Micah Cowan.
33811         2007-10-04  Jim Meyering  <jim@meyering.net>
33812         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
33813         (update_po_files): Work also when there are no .po files in po/.
33814
33815 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33816
33817         * README: Append ".git" to git and cg examples.
33818         Problem reported by Benoit Sigoure.
33819
33820 2007-10-23  Micah Cowan  <micah@cowan.name>
33821
33822         * users.txt: Add wget.
33823
33824 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33825
33826         Fix linking of some unistdio tests on FreeBSD.
33827         * modules/unistdio/u16-vsnprintf-tests
33828         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
33829         * modules/unistdio/u16-vsprintf-tests
33830         (test_u16_vsnprintf1_LDADD): Likewise.
33831         * modules/unistdio/u32-vsnprintf-tests
33832         (test_u32_vsnprintf1_LDADD): Likewise.
33833         * modules/unistdio/u32-vsprintf-tests
33834         (test_u32_vsprintf1_LDADD): Likewise.
33835         * modules/unistdio/u8-vsnprintf-tests
33836         (test_u8_vsnprintf1_LDADD): Likewise.
33837         * modules/unistdio/u8-vsprintf-tests
33838         (test_u8_vsprintf1_LDADD): Likewise.
33839         * modules/unistdio/ulc-vsnprintf-tests
33840         (test_ulc_vsnprintf1_LDADD): Likewise.
33841         * modules/unistdio/ulc-vsprintf-tests
33842         (test_ulc_vsprintf1_LDADD): Likewise.
33843
33844         Fix linking of some uniconv tests on FreeBSD.
33845         * modules/uniconv/u16-conv-from-enc-tests
33846         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
33847         * modules/uniconv/u16-conv-to-enc-tests
33848         (test_u16_conv_to_enc_LDADD): Likewise.
33849         * modules/uniconv/u16-strconv-from-enc-tests
33850         (test_u16_strconv_from_enc_LDADD): Likewise.
33851         * modules/uniconv/u16-strconv-to-enc-tests
33852         (test_u16_strconv_to_enc_LDADD): Likewise.
33853         * modules/uniconv/u32-conv-from-enc-tests
33854         (test_u32_conv_from_enc_LDADD): Likewise.
33855         * modules/uniconv/u32-conv-to-enc-tests
33856         (test_u32_conv_to_enc_LDADD): Likewise.
33857         * modules/uniconv/u32-strconv-from-enc-tests
33858         (test_u32_strconv_from_enc_LDADD): Likewise.
33859         * modules/uniconv/u32-strconv-to-enc-tests
33860         (test_u32_strconv_to_enc_LDADD): Likewise.
33861         * modules/uniconv/u8-conv-from-enc-tests
33862         (test_u8_conv_from_enc_LDADD): Likewise.
33863         * modules/uniconv/u8-conv-to-enc-tests
33864         (test_u8_conv_to_enc_LDADD): Likewise.
33865         * modules/uniconv/u8-strconv-from-enc-tests
33866         (test_u8_strconv_from_enc_LDADD): Likewise.
33867         * modules/uniconv/u8-strconv-to-enc-tests
33868         (test_u8_strconv_to_enc_LDADD): Likewise.
33869
33870 2007-10-22  Bruno Haible  <bruno@clisp.org>
33871
33872         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
33873         size.
33874
33875 2007-10-22  Eric Blake  <ebb9@byu.net>
33876
33877         Tweak x*printf documentation.
33878         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
33879         variable name and comments.
33880         Suggested by Bruno Haible.
33881
33882 2007-10-22  Bruno Haible  <bruno@clisp.org>
33883
33884         * lib/acl.c (copy_acl): Fix file name in comment.
33885
33886 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33887
33888         Fix Tru64 problem with stdbool.h.
33889         * lib/stdbool.in.h (false, true):
33890         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
33891         Don't declare as an enum in this situation; it runs afoul of Tru64.
33892         Problem reported by Steven M. Schweda in
33893         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
33894
33895 2007-10-22  Eric Blake  <ebb9@byu.net>
33896
33897         Also wrap vf?printf.
33898         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
33899         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
33900         (xvprintf, xvfprintf): New functions.
33901
33902 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33903
33904         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
33905         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
33906
33907         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
33908         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
33909
33910 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33911
33912         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
33913         by Bruno Haible.
33914
33915 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33916
33917         * lib/getloadavg.c
33918         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
33919         Undef `sys' after including sys/table.h, for Tru64 4.0D.
33920
33921         * tests/test-i-ring.c: Work for C89.
33922
33923 2007-10-22  Bruno Haible  <bruno@clisp.org>
33924
33925         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
33926         -1u, in preprocessor expression, so that we don't test for the bug
33927         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
33928         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
33929
33930 2007-10-22  Eric Blake  <ebb9@byu.net>
33931
33932         * tests/test-yesno.sh: Silence stderr during test.
33933
33934 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33935
33936         * modules/crypto/gc-camellia: New file.
33937
33938         * m4/gc-camellia.m4: New file.
33939
33940         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
33941
33942         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
33943
33944 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33945
33946         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
33947         --help to stdout.  Reported by sms@antinode.org (Steven
33948         M. Schweda).
33949
33950 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33951
33952         * users.txt: Fix link to libksba.
33953
33954 2007-10-21  Ben Pfaff  <blp@gnu.org>
33955
33956         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
33957         round.c roundf implementation that depends on floorf and ceilf to
33958         be tested unconditionally.
33959
33960 2007-10-21  Ben Pfaff  <blp@gnu.org>
33961
33962         * m4/check-libm-func.m4: Removed.
33963         * m4/check-math-lib.m4: New file.
33964         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
33965         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
33966         definition and lack of AC_LIBOBJ([roundf]).
33967         * m4/roundl.m4: Ditto, and similarly for roundl.
33968         * modules/round: Reference new m4 file.
33969         * modules/roundf: Ditto.
33970         * modules/roundl: Ditto.
33971         * tests/test-round2.c (main): Use ROUND instead of round.
33972         Bug report from Bruno Haible.
33973
33974 2007-10-21  Bruno Haible  <bruno@clisp.org>
33975
33976         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
33977         context.
33978
33979 2007-10-21  Bruno Haible  <bruno@clisp.org>
33980
33981         * tests/test-wcwidth.c (main): Allow negative result for some control
33982         characters.
33983
33984         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
33985         Needed on OSF/1 5.1.
33986
33987 2007-10-21  Bruno Haible  <bruno@clisp.org>
33988
33989         * tests/test-floorf1.c: Include isnanf.h.
33990         (main): Use isnanf() instead of isnan().
33991         * tests/test-ceilf1.c: Include isnanf.h.
33992         (main): Use isnanf() instead of isnan().
33993         * tests/test-truncf1.c: Include isnanf.h.
33994         (main): Use isnanf() instead of isnan().
33995         * tests/test-roundf1.c: Include isnanf.h.
33996         (main): Use isnanf() instead of isnan().
33997
33998 2007-10-21  Eric Blake  <ebb9@byu.net>
33999
34000         * users.txt: Update URL for m4.
34001
34002 2007-10-21  Bruno Haible  <bruno@clisp.org>
34003
34004         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
34005
34006 2007-10-21  Bruno Haible  <bruno@clisp.org>
34007
34008         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
34009         Git's management files if the CVS files are not present.
34010
34011 2007-10-20  Bruno Haible  <bruno@clisp.org>
34012
34013         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
34014         gcc-3.4.x.
34015
34016 2007-10-20  Ben Pfaff  <blp@gnu.org>
34017
34018         * lib/math.in.h: Declare round, roundf, roundl if we are providing
34019         implementations.
34020         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
34021         * lib/round.c: New file.
34022         * lib/roundf.c: New file.
34023         * lib/roundl.c: New file.
34024         * m4/round.m4: New file.
34025         * m4/roundf.m4: New file.
34026         * m4/roundl.m4: New file.
34027         * m4/check-libm-func-m4: New file.
34028         * modules/math: Replace round, roundf, roundl related @VARS@ in
34029         math.in.h.
34030         * modules/round: New file.
34031         * modules/round-tests: New file.
34032         * modules/roundf: New file.
34033         * modules/roundf-tests: New file.
34034         * modules/roundl: New file.
34035         * modules/roundl-tests: New file.
34036         * tests/test-round1.c: New file.
34037         * tests/test-round2.c: New file.
34038         * tests/test-roundf1.c: New file.
34039         * tests/test-roundf2.c: New file.
34040         * tests/test-roundl.c: New file.
34041         * doc/functions/round.texi: Mention round module.
34042         * doc/functions/roundf.texi: Mention roundf module.
34043         * doc/functions/roundl.texi: Mention roundl module.
34044         * MODULES.html.sh: Mention new modules.
34045         Thanks to Bruno Haible for suggestions.
34046
34047 2007-10-20  Jim Meyering  <meyering@redhat.com>
34048
34049         * lib/xprintf.c: Include <config.h> unconditionally.
34050
34051         Change xprintf's license to GPL.
34052         * modules/xprintf (License): s/LGPL/GPL/, since this module
34053         depends on modules (exit and exitfail) which are GPL.
34054         Suggestion from Bruno Haible.
34055
34056         xprintf fixes.
34057         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
34058         Use a clearer diagnostic.
34059         Patch from Bruno Haible.
34060
34061 2007-10-20  Bruno Haible  <bruno@clisp.org>
34062
34063         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
34064         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
34065         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34066
34067 2007-10-20  Bruno Haible  <bruno@clisp.org>
34068
34069         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
34070         precision in the comparison result > x - 1 or similar.
34071         * tests/test-ceilf2.c (correct_result_p): Likewise.
34072         * tests/test-truncf2.c (correct_result_p): Likewise.
34073         * tests/test-trunc2.c (correct_result_p): Likewise.
34074         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34075
34076 2007-10-20  Bruno Haible  <bruno@clisp.org>
34077
34078         * modules/ceil: New file.
34079         * m4/ceil.m4: New file.
34080         * doc/functions/ceil.texi: Mention the 'ceil' module.
34081
34082 2007-10-20  Bruno Haible  <bruno@clisp.org>
34083
34084         * modules/floor: New file.
34085         * m4/floor.m4: New file.
34086         * doc/functions/floor.texi: Mention the 'floor' module.
34087
34088 2007-10-20  Bruno Haible  <bruno@clisp.org>
34089
34090         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
34091         of %a.
34092         * modules/floorf-tests (Depends-on): Likewise.
34093         * modules/truncf-tests (Depends-on): Likewise.
34094         * modules/trunc-tests (Depends-on): Likewise.
34095         Reported by Ben Pfaff.
34096
34097 2007-10-19  Jim Meyering  <meyering@redhat.com>
34098
34099         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
34100         Don't bother testing specific errno values.  Just test ferror.
34101
34102         New module: xprintf
34103         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
34104
34105 2007-10-19  Bruno Haible  <bruno@clisp.org>
34106
34107         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
34108         syntax.
34109         * modules/javaexec (Makefile.am): Likewise.
34110         * modules/relocatable-prog (Makefile.am): Likewise.
34111         Suggested by Jim Meyering.
34112
34113 2007-10-18  Bruno Haible  <bruno@clisp.org>
34114
34115         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
34116         Reported by Jim Meyering.
34117
34118 2007-10-18  Eric Blake  <ebb9@byu.net>
34119
34120         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
34121
34122 2007-10-18  Bruno Haible  <bruno@clisp.org>
34123
34124         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
34125         the format string into writable memory. Needed in Fortify conditions.
34126
34127 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
34128             Bruno Haible  <bruno@clisp.org>
34129
34130         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
34131         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
34132         * modules/trim (Depends-on): Add mbchar.
34133         (configure.ac): Add gl_FUNC_MBRTOWC.
34134         (Makefile.am): Augment lib_SOURCES.
34135
34136 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34137
34138         Modify glob.c to use fstatat and dirfd, to simplify it.
34139         Suggested by Eric Blake.
34140         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
34141         Don't include <stdbool.h>; not used.
34142         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
34143         (link_exists_p): Simplify implementation, since we can now assume
34144         dirfd and fstatat.
34145         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
34146
34147 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34148
34149         * gnulib-tool (func_get_dependencies): Fix sed script to
34150         match only tests.
34151
34152 2007-10-17  Bruno Haible  <bruno@clisp.org>
34153
34154         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
34155         allow locale names without encoding suffix.
34156         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
34157         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34158
34159 2007-10-16  Bruno Haible  <bruno@clisp.org>
34160
34161         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
34162         * lib/getgroups.c (getgroups): Likewise.
34163         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
34164
34165 2007-10-16  Bruno Haible  <bruno@clisp.org>
34166
34167         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
34168         * modules/malloc-posix (License): Likewise.
34169         * modules/realloc-posix (License): Likewise.
34170         * modules/calloc-posix (License): Likewise.
34171         * modules/intprops (License): Change from GPL to LGPL, with
34172         Paul Eggert's approval.
34173
34174 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34175
34176         Merge glibc changes into lib/glob.c.
34177
34178         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
34179         2007-10-15 04:59:03 UTC.  Here are the changes:
34180
34181         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
34182
34183         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
34184
34185         * lib/glob.c: Add some branch prediction throughout.
34186
34187         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
34188
34189         [BZ #5103]
34190         * lib/glob.c (glob): Recognize patterns starting \/.
34191
34192         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
34193
34194         [BZ #3996]
34195         * lib/glob.c (attribute_hidden): Define if not defined.
34196         (glob): Unescape dirname, filename or username when needed and not
34197         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
34198         is NULL.  Handle unescaped [ in pattern without closing ].
34199         Don't pass GLOB_CHECK down to recursive glob for directories.
34200         (__glob_pattern_type): New function.
34201         (__glob_pattern_p): Implement using __glob_pattern_type.
34202         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
34203         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
34204         Remove unreachable code.
34205
34206         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
34207
34208         * lib/glob.c (glob_in_dir): Add some comments and asserts to
34209         explain why there are no leaks.
34210
34211         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
34212
34213         [BZ #3253]
34214         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
34215         time, rather allocate increasingly bigger arrays of pointers, if
34216         possible with alloca, if too large with malloc.
34217
34218 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34219
34220         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
34221         Problem reported by H.Merijn Brand in
34222         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
34223         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
34224         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
34225
34226 2007-10-15  Bruno Haible  <bruno@clisp.org>
34227
34228         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
34229         with explicit rpl_ prefix.
34230         * lib/fopen.c (fopen): Likewise.
34231         * lib/freopen.c (freopen): Likewise.
34232         * lib/iconv.c (iconv): Likewise.
34233         * lib/iconv_close.c (iconv_close): Likewise.
34234
34235 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34236
34237         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
34238
34239 2007-10-15  Bruno Haible  <bruno@clisp.org>
34240
34241         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
34242         <stddef.h> instead of <stdlib.h> since we only need NULL.
34243         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34244
34245 2007-10-15  Bruno Haible  <bruno@clisp.org>
34246
34247         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
34248         Replace paragraph talking about LIBOBJS.
34249         Reported by Colin Watson <cjwatson@debian.org>.
34250
34251 2007-10-15  Bruno Haible  <bruno@clisp.org>
34252
34253         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
34254         <stdlib.h> before using NULL.
34255
34256 2007-10-15  Simon Josefsson  <simon@josefsson.org>
34257
34258         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
34259         Reported by Albert Chin <china@thewrittenword.com>.
34260
34261 2007-10-14  Bruno Haible  <bruno@clisp.org>
34262
34263         * modules/iconv_open-utf-tests: New file.
34264         * tests/test-iconv-utf.c: New file.
34265
34266         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
34267         * modules/iconv_open-utf: New file.
34268         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
34269         (iconv, iconv_close): New declarations.
34270         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
34271         be defined.
34272         (iconv_open): Add special handling of conversion between UTF-8 and
34273         UTF-{16,32}{BE,LE}.
34274         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
34275         * lib/iconv_close.c: New file.
34276         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
34277         gl_FUNC_ICONV_OPEN.
34278         (gl_FUNC_ICONV_OPEN): Use it.
34279         (gl_FUNC_ICONV_OPEN_UTF): New macro.
34280         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
34281         and REPLACE_ICONV_UTF.
34282         * modules/iconv_open (Depends-on): Add c-strcase.
34283         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
34284         ICONV_CONST.
34285         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
34286
34287 2007-10-13  Albert Chin  <china@thewrittenword.com>
34288             Bruno Haible  <bruno@clisp.org>
34289
34290         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
34291         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
34292
34293 2007-10-13  Bruno Haible  <bruno@clisp.org>
34294
34295         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
34296         defined, use the ISO C99 inline semantics.
34297         * lib/argp.h (ARGP_EI): Likewise.
34298
34299 2007-10-13  Bruno Haible  <bruno@clisp.org>
34300
34301         Handle 'inline' change in gcc 4.3.0.
34302         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
34303         argp_fmtstream_write, argp_fmtstream_set_lmargin,
34304         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
34305         argp_fmtstream_point): Disable 'extern' declaration if the function
34306         definition is going to be provided inline.
34307         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
34308         semantics, not the ISO C99 inline semantics.
34309         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
34310         'extern' declaration if the function definition is going to be provided
34311         inline.
34312         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
34313         the GNU C inline semantics, not the ISO C99 inline semantics. With
34314         GCC 4.2, avoid a warning.
34315
34316 2007-10-13  Bruno Haible  <bruno@clisp.org>
34317
34318         * lib/freading.h (freading): Enable the use of __freading for
34319         glibc >= 2.7.
34320         * lib/freading.c (freading): Likewise.
34321
34322 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34323
34324         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
34325         "warning: C99 inline functions are not supported; using GNU89".
34326
34327 2007-10-12  Bruno Haible  <bruno@clisp.org>
34328
34329         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
34330         of 2.
34331         * tests/test-ceilf2.c: New file.
34332         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
34333
34334         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
34335         * modules/ceilf-tests: Update.
34336
34337 2007-10-12  Bruno Haible  <bruno@clisp.org>
34338
34339         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
34340         of 2.
34341         * tests/test-floorf2.c: New file.
34342         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
34343
34344         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
34345         * modules/floorf-tests: Update.
34346
34347 2007-10-12  Bruno Haible  <bruno@clisp.org>
34348
34349         * tests/test-trunc2.c: New file.
34350         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
34351
34352         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
34353         * modules/trunc-tests: Update.
34354
34355 2007-10-12  Bruno Haible  <bruno@clisp.org>
34356
34357         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
34358         of 2.
34359         * tests/test-truncf2.c: New file.
34360         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
34361
34362         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
34363         * modules/truncf-tests: Update.
34364
34365 2007-10-11  Eric Blake  <ebb9@byu.net>
34366
34367         Don't claim strerror is broken on Interix.
34368         * doc/functions/strerror.texi (strerror): Known broken systems are
34369         now Solaris 8, and not Interix.
34370         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
34371         Interix on cross-compile.
34372         Reported by Martin Koeppe in
34373         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
34374
34375 2007-10-11  Bruno Haible  <bruno@clisp.org>
34376
34377         * modules/i-ring-tests: New file.
34378         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
34379         instead of assert.
34380
34381 2007-10-11  Bruno Haible  <bruno@clisp.org>
34382
34383         * modules/filenamecat-tests: New file.
34384         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
34385         * lib/filenamecat.c: Remove test code.
34386
34387 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34388
34389         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
34390
34391         * lib/strerror.c: Include <string.h> always, to test interface,
34392         and to remove the need for the dummy.
34393         Include intprops.h to compute width instead of doing it ourselves
34394         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
34395         (strerror): Define it to return NULL if there's no system strerror.
34396         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
34397         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
34398         ancient pre-strerror Unix systems well any more.  Saying "unknown
34399         system error" is enough.
34400         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
34401         simpler strerror.c implementation.
34402         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
34403         Simplify the tests to reflect the simpler strerror implementation.
34404         * modules/strerror (Depends-on): Add intprops.
34405
34406 2007-10-09  Eric Blake  <ebb9@byu.net>
34407
34408         Silence test-fpending.
34409         * modules/fpending-tests (Files): Add wrapper script.
34410         * tests/test-fpending.sh: New file.
34411
34412 2007-10-09  Bruno Haible  <bruno@clisp.org>
34413
34414         * MODULES.html.sh (func_module): Don't create a hyperlink for
34415         function names like 'printf_frexp'.
34416         (Misc): Add crc, memxor.
34417         (Characteristics of floating types): New section.
34418         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
34419         isnanf-nolibm, signbit, trunc, truncf, truncl.
34420         (Enhancements for ISO C 99 functions): New subsection Input/output.
34421         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
34422         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
34423         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
34424         (Compatibility checks for POSIX:2001 functions): Add clock-time.
34425         (Enhancements for POSIX:2001 functions): Add chdir-long.
34426         (File system functions): Add areadlink, chdir-safer, read-file.
34427         Remove cycle-check.
34428         (File system as inode set): New section.
34429         (Date and time): Add gethrxtime.
34430         (Multithreading): Add openmp.
34431         (Internationalization functions): Add localename.
34432         (Unicode string functions): Add unistr/u*-mbsnlen.
34433         (Support for maintaining and releasing projects): Add git-version-gen.
34434         (Lone files): Remove directories.
34435
34436 2007-10-08  Ben Pfaff  <blp@gnu.org>
34437
34438         * lib/xmalloca.h: Fix typo in comment.
34439
34440 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34441
34442         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
34443         when avoiding problems with integer overflow.  Use a portable test
34444         instead.
34445
34446 2007-10-08  Simon Josefsson  <simon@josefsson.org>
34447
34448         * modules/dummy (License): Change to LGPLv2+.
34449         * modules/float (License): Likewise
34450         * modules/realloc (License): Likewise
34451         * modules/stdlib (License): Likewise
34452
34453 2007-10-07  Bruno Haible  <bruno@clisp.org>
34454
34455         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
34456         * floor.c (TWO_MANT_DIG): Likewise.
34457         * ceil.c (TWO_MANT_DIG): Likewise.
34458         Reported by Ben Pfaff.
34459
34460 2007-10-07  Bruno Haible  <bruno@clisp.org>
34461
34462         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
34463         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
34464         * lib/frexp.c (FUNC): Likewise.
34465         * lib/printf-frexp.h (printf_frexp): Likewise.
34466         * lib/printf-frexpl.h (printf_frexpl): Likewise.
34467         * lib/printf-frexp.c (FUNC): Likewise.
34468         Suggested by Jim Meyering.
34469
34470 2007-10-07  Jim Meyering  <meyering@redhat.com>
34471
34472         Make xnanosleep's integer overflow test more robust.
34473         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
34474         so that gcc-4.3.0 doesn't optimize away this test for overflow.
34475
34476 2007-10-07  Bruno Haible  <bruno@clisp.org>
34477
34478         * NEWS: Mention the license change.
34479
34480         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
34481         abbreviations in the modules files.
34482
34483         Change copyright notice from GPLv2+ to GPLv3+.
34484         * README: Change copyright notice.
34485         * MODULES.html.sh: Likewise.
34486         * build-aux/bootstrap.conf: Likewise.
34487         * build-aux/config.libpath: Likewise.
34488         * build-aux/csharpcomp.sh.in: Likewise.
34489         * build-aux/csharpexec.sh.in: Likewise.
34490         * build-aux/install-reloc: Likewise.
34491         * build-aux/javacomp.sh.in: Likewise.
34492         * build-aux/javaexec.sh.in: Likewise.
34493         * build-aux/ldd.sh.in: Likewise.
34494         * build-aux/reloc-ldflags: Likewise.
34495         * build-aux/relocatable.sh.in: Likewise.
34496         * build-aux/x-to-1.in: Likewise.
34497         * check-module: Likewise.
34498         * config/srclistvars.sh: Likewise.
34499         * gnulib-tool: Likewise.
34500         * lib/acl-internal.h: Likewise.
34501         * lib/acl.c: Likewise.
34502         * lib/acl.h: Likewise.
34503         * lib/acl_entries.c: Likewise.
34504         * lib/areadlink-with-size.c: Likewise.
34505         * lib/areadlink.c: Likewise.
34506         * lib/areadlink.h: Likewise.
34507         * lib/argmatch.c: Likewise.
34508         * lib/argmatch.h: Likewise.
34509         * lib/argp-ba.c: Likewise.
34510         * lib/argp-eexst.c: Likewise.
34511         * lib/argp-fmtstream.c: Likewise.
34512         * lib/argp-fmtstream.h: Likewise.
34513         * lib/argp-fs-xinl.c: Likewise.
34514         * lib/argp-help.c: Likewise.
34515         * lib/argp-namefrob.h: Likewise.
34516         * lib/argp-parse.c: Likewise.
34517         * lib/argp-pin.c: Likewise.
34518         * lib/argp-pv.c: Likewise.
34519         * lib/argp-pvh.c: Likewise.
34520         * lib/argp-xinl.c: Likewise.
34521         * lib/argp.h: Likewise.
34522         * lib/at-func.c: Likewise.
34523         * lib/atanl.c: Likewise.
34524         * lib/backupfile.c: Likewise.
34525         * lib/backupfile.h: Likewise.
34526         * lib/basename.c: Likewise.
34527         * lib/binary-io.h: Likewise.
34528         * lib/byteswap.in.h: Likewise.
34529         * lib/c-stack.c: Likewise.
34530         * lib/c-stack.h: Likewise.
34531         * lib/c-strcasestr.c: Likewise.
34532         * lib/c-strcasestr.h: Likewise.
34533         * lib/c-strstr.c: Likewise.
34534         * lib/c-strstr.h: Likewise.
34535         * lib/c-strtod.c: Likewise.
34536         * lib/calloc.c: Likewise.
34537         * lib/canon-host.c: Likewise.
34538         * lib/canon-host.h: Likewise.
34539         * lib/canonicalize-lgpl.c: Likewise.
34540         * lib/canonicalize.c: Likewise.
34541         * lib/canonicalize.h: Likewise.
34542         * lib/ceil.c: Likewise.
34543         * lib/ceilf.c: Likewise.
34544         * lib/ceill.c: Likewise.
34545         * lib/chdir-long.c: Likewise.
34546         * lib/chdir-long.h: Likewise.
34547         * lib/chdir-safer.c: Likewise.
34548         * lib/chdir-safer.h: Likewise.
34549         * lib/chown.c: Likewise.
34550         * lib/classpath.c: Likewise.
34551         * lib/classpath.h: Likewise.
34552         * lib/clean-temp.c: Likewise.
34553         * lib/clean-temp.h: Likewise.
34554         * lib/cloexec.c: Likewise.
34555         * lib/close-stream.c: Likewise.
34556         * lib/closein.c: Likewise.
34557         * lib/closein.h: Likewise.
34558         * lib/closeout.c: Likewise.
34559         * lib/closeout.h: Likewise.
34560         * lib/concat-filename.c: Likewise.
34561         * lib/copy-file.c: Likewise.
34562         * lib/copy-file.h: Likewise.
34563         * lib/count-one-bits.h: Likewise.
34564         * lib/crc.c: Likewise.
34565         * lib/crc.h: Likewise.
34566         * lib/creat-safer.c: Likewise.
34567         * lib/csharpcomp.c: Likewise.
34568         * lib/csharpcomp.h: Likewise.
34569         * lib/csharpexec.c: Likewise.
34570         * lib/csharpexec.h: Likewise.
34571         * lib/cycle-check.c: Likewise.
34572         * lib/cycle-check.h: Likewise.
34573         * lib/diacrit.c: Likewise.
34574         * lib/diacrit.h: Likewise.
34575         * lib/diffseq.h: Likewise.
34576         * lib/dirchownmod.c: Likewise.
34577         * lib/dirent.in.h: Likewise.
34578         * lib/dirfd.c: Likewise.
34579         * lib/dirfd.h: Likewise.
34580         * lib/dirname.c: Likewise.
34581         * lib/dirname.h: Likewise.
34582         * lib/dummy.c: Likewise.
34583         * lib/dup-safer.c: Likewise.
34584         * lib/dup2.c: Likewise.
34585         * lib/eealloc.h: Likewise.
34586         * lib/error.c: Likewise.
34587         * lib/error.h: Likewise.
34588         * lib/euidaccess.c: Likewise.
34589         * lib/exclude.c: Likewise.
34590         * lib/exclude.h: Likewise.
34591         * lib/execute.c: Likewise.
34592         * lib/execute.h: Likewise.
34593         * lib/exitfail.c: Likewise.
34594         * lib/exitfail.h: Likewise.
34595         * lib/expl.c: Likewise.
34596         * lib/fatal-signal.c: Likewise.
34597         * lib/fatal-signal.h: Likewise.
34598         * lib/fbufmode.c: Likewise.
34599         * lib/fbufmode.h: Likewise.
34600         * lib/fchdir.c: Likewise.
34601         * lib/fchmodat.c: Likewise.
34602         * lib/fchownat.c: Likewise.
34603         * lib/fcntl--.h: Likewise.
34604         * lib/fcntl-safer.h: Likewise.
34605         * lib/fcntl.in.h: Likewise.
34606         * lib/fd-safer.c: Likewise.
34607         * lib/fflush.c: Likewise.
34608         * lib/file-has-acl.c: Likewise.
34609         * lib/file-set.c: Likewise.
34610         * lib/file-type.c: Likewise.
34611         * lib/file-type.h: Likewise.
34612         * lib/fileblocks.c: Likewise.
34613         * lib/filemode.c: Likewise.
34614         * lib/filemode.h: Likewise.
34615         * lib/filename.h: Likewise.
34616         * lib/filenamecat.c: Likewise.
34617         * lib/filenamecat.h: Likewise.
34618         * lib/findprog.c: Likewise.
34619         * lib/findprog.h: Likewise.
34620         * lib/float.in.h: Likewise.
34621         * lib/floor.c: Likewise.
34622         * lib/floorf.c: Likewise.
34623         * lib/floorl.c: Likewise.
34624         * lib/fopen-safer.c: Likewise.
34625         * lib/fopen.c: Likewise.
34626         * lib/fpending.c: Likewise.
34627         * lib/fpending.h: Likewise.
34628         * lib/fprintf.c: Likewise.
34629         * lib/fprintftime.h: Likewise.
34630         * lib/fpucw.h: Likewise.
34631         * lib/fpurge.c: Likewise.
34632         * lib/fpurge.h: Likewise.
34633         * lib/freadable.c: Likewise.
34634         * lib/freadable.h: Likewise.
34635         * lib/freadahead.c: Likewise.
34636         * lib/freadahead.h: Likewise.
34637         * lib/freading.c: Likewise.
34638         * lib/freading.h: Likewise.
34639         * lib/free.c: Likewise.
34640         * lib/freopen.c: Likewise.
34641         * lib/frexp.c: Likewise.
34642         * lib/frexpl.c: Likewise.
34643         * lib/fseek.c: Likewise.
34644         * lib/fseterr.c: Likewise.
34645         * lib/fseterr.h: Likewise.
34646         * lib/fstatat.c: Likewise.
34647         * lib/fstrcmp.c: Likewise.
34648         * lib/fstrcmp.h: Likewise.
34649         * lib/fsusage.c: Likewise.
34650         * lib/fsusage.h: Likewise.
34651         * lib/ftell.c: Likewise.
34652         * lib/ftello.c: Likewise.
34653         * lib/fts-cycle.c: Likewise.
34654         * lib/fts.c: Likewise.
34655         * lib/fts_.h: Likewise.
34656         * lib/full-read.c: Likewise.
34657         * lib/full-read.h: Likewise.
34658         * lib/full-write.c: Likewise.
34659         * lib/full-write.h: Likewise.
34660         * lib/fwritable.c: Likewise.
34661         * lib/fwritable.h: Likewise.
34662         * lib/fwriteerror.c: Likewise.
34663         * lib/fwriteerror.h: Likewise.
34664         * lib/fwriting.c: Likewise.
34665         * lib/fwriting.h: Likewise.
34666         * lib/gcd.c: Likewise.
34667         * lib/gcd.h: Likewise.
34668         * lib/getcwd.c: Likewise.
34669         * lib/getdate.h: Likewise.
34670         * lib/getdate.y: Likewise.
34671         * lib/getdomainname.c: Likewise.
34672         * lib/getdomainname.h: Likewise.
34673         * lib/getgroups.c: Likewise.
34674         * lib/gethostname.c: Likewise.
34675         * lib/gethrxtime.c: Likewise.
34676         * lib/gethrxtime.h: Likewise.
34677         * lib/getloadavg.c: Likewise.
34678         * lib/getndelim2.c: Likewise.
34679         * lib/getndelim2.h: Likewise.
34680         * lib/getnline.c: Likewise.
34681         * lib/getnline.h: Likewise.
34682         * lib/getopt.c: Likewise.
34683         * lib/getopt.in.h: Likewise.
34684         * lib/getopt1.c: Likewise.
34685         * lib/getopt_int.h: Likewise.
34686         * lib/getpagesize.h: Likewise.
34687         * lib/getsubopt.c: Likewise.
34688         * lib/gettime.c: Likewise.
34689         * lib/getugroups.c: Likewise.
34690         * lib/getugroups.h: Likewise.
34691         * lib/getusershell.c: Likewise.
34692         * lib/gl_anyavltree_list1.h: Likewise.
34693         * lib/gl_anyavltree_list2.h: Likewise.
34694         * lib/gl_anyhash_list1.h: Likewise.
34695         * lib/gl_anyhash_list2.h: Likewise.
34696         * lib/gl_anylinked_list1.h: Likewise.
34697         * lib/gl_anylinked_list2.h: Likewise.
34698         * lib/gl_anyrbtree_list1.h: Likewise.
34699         * lib/gl_anyrbtree_list2.h: Likewise.
34700         * lib/gl_anytree_list1.h: Likewise.
34701         * lib/gl_anytree_list2.h: Likewise.
34702         * lib/gl_anytree_oset.h: Likewise.
34703         * lib/gl_anytreehash_list1.h: Likewise.
34704         * lib/gl_anytreehash_list2.h: Likewise.
34705         * lib/gl_array_list.c: Likewise.
34706         * lib/gl_array_list.h: Likewise.
34707         * lib/gl_array_oset.c: Likewise.
34708         * lib/gl_array_oset.h: Likewise.
34709         * lib/gl_avltree_list.c: Likewise.
34710         * lib/gl_avltree_list.h: Likewise.
34711         * lib/gl_avltree_oset.c: Likewise.
34712         * lib/gl_avltree_oset.h: Likewise.
34713         * lib/gl_avltreehash_list.c: Likewise.
34714         * lib/gl_avltreehash_list.h: Likewise.
34715         * lib/gl_carray_list.c: Likewise.
34716         * lib/gl_carray_list.h: Likewise.
34717         * lib/gl_linked_list.c: Likewise.
34718         * lib/gl_linked_list.h: Likewise.
34719         * lib/gl_linkedhash_list.c: Likewise.
34720         * lib/gl_linkedhash_list.h: Likewise.
34721         * lib/gl_list.c: Likewise.
34722         * lib/gl_list.h: Likewise.
34723         * lib/gl_oset.c: Likewise.
34724         * lib/gl_oset.h: Likewise.
34725         * lib/gl_rbtree_list.c: Likewise.
34726         * lib/gl_rbtree_list.h: Likewise.
34727         * lib/gl_rbtree_oset.c: Likewise.
34728         * lib/gl_rbtree_oset.h: Likewise.
34729         * lib/gl_rbtreehash_list.c: Likewise.
34730         * lib/gl_rbtreehash_list.h: Likewise.
34731         * lib/gl_sublist.c: Likewise.
34732         * lib/gl_sublist.h: Likewise.
34733         * lib/group-member.c: Likewise.
34734         * lib/group-member.h: Likewise.
34735         * lib/hard-locale.c: Likewise.
34736         * lib/hard-locale.h: Likewise.
34737         * lib/hash-pjw.c: Likewise.
34738         * lib/hash-pjw.h: Likewise.
34739         * lib/hash-triple.c: Likewise.
34740         * lib/hash.c: Likewise.
34741         * lib/hash.h: Likewise.
34742         * lib/human.c: Likewise.
34743         * lib/human.h: Likewise.
34744         * lib/i-ring.c: Likewise.
34745         * lib/i-ring.h: Likewise.
34746         * lib/idcache.c: Likewise.
34747         * lib/imaxabs.c: Likewise.
34748         * lib/imaxdiv.c: Likewise.
34749         * lib/inet_pton.c: Likewise.
34750         * lib/inet_pton.h: Likewise.
34751         * lib/intprops.h: Likewise.
34752         * lib/inttostr.c: Likewise.
34753         * lib/inttostr.h: Likewise.
34754         * lib/inttypes.in.h: Likewise.
34755         * lib/isapipe.c: Likewise.
34756         * lib/isdir.c: Likewise.
34757         * lib/isnan.c: Likewise.
34758         * lib/isnan.h: Likewise.
34759         * lib/isnanf.c: Likewise.
34760         * lib/isnanf.h: Likewise.
34761         * lib/isnanl-nolibm.h: Likewise.
34762         * lib/isnanl.c: Likewise.
34763         * lib/isnanl.h: Likewise.
34764         * lib/javacomp.c: Likewise.
34765         * lib/javacomp.h: Likewise.
34766         * lib/javaexec.c: Likewise.
34767         * lib/javaexec.h: Likewise.
34768         * lib/javaversion.c: Likewise.
34769         * lib/javaversion.h: Likewise.
34770         * lib/javaversion.java: Likewise.
34771         * lib/lbrkprop.h: Likewise.
34772         * lib/lchmod.h: Likewise.
34773         * lib/lchown.c: Likewise.
34774         * lib/ldexpl.c: Likewise.
34775         * lib/linebreak.c: Likewise.
34776         * lib/linebreak.h: Likewise.
34777         * lib/linebuffer.c: Likewise.
34778         * lib/linebuffer.h: Likewise.
34779         * lib/locale.in.h: Likewise.
34780         * lib/logl.c: Likewise.
34781         * lib/long-options.c: Likewise.
34782         * lib/long-options.h: Likewise.
34783         * lib/lstat.c: Likewise.
34784         * lib/lstat.h: Likewise.
34785         * lib/math.in.h: Likewise.
34786         * lib/mbchar.c: Likewise.
34787         * lib/mbchar.h: Likewise.
34788         * lib/mbfile.h: Likewise.
34789         * lib/mbiter.h: Likewise.
34790         * lib/mbscasecmp.c: Likewise.
34791         * lib/mbscasestr.c: Likewise.
34792         * lib/mbschr.c: Likewise.
34793         * lib/mbscspn.c: Likewise.
34794         * lib/mbslen.c: Likewise.
34795         * lib/mbsncasecmp.c: Likewise.
34796         * lib/mbsnlen.c: Likewise.
34797         * lib/mbspbrk.c: Likewise.
34798         * lib/mbspcasecmp.c: Likewise.
34799         * lib/mbsrchr.c: Likewise.
34800         * lib/mbssep.c: Likewise.
34801         * lib/mbsspn.c: Likewise.
34802         * lib/mbsstr.c: Likewise.
34803         * lib/mbstok_r.c: Likewise.
34804         * lib/mbswidth.c: Likewise.
34805         * lib/mbswidth.h: Likewise.
34806         * lib/mbuiter.h: Likewise.
34807         * lib/memcasecmp.c: Likewise.
34808         * lib/memcasecmp.h: Likewise.
34809         * lib/memchr.c: Likewise.
34810         * lib/memcmp.c: Likewise.
34811         * lib/memcoll.c: Likewise.
34812         * lib/memcoll.h: Likewise.
34813         * lib/memcpy.c: Likewise.
34814         * lib/memrchr.c: Likewise.
34815         * lib/mkancesdirs.c: Likewise.
34816         * lib/mkdir-p.c: Likewise.
34817         * lib/mkdir-p.h: Likewise.
34818         * lib/mkdir.c: Likewise.
34819         * lib/mkdirat.c: Likewise.
34820         * lib/mkdtemp.c: Likewise.
34821         * lib/mkstemp-safer.c: Likewise.
34822         * lib/mkstemp.c: Likewise.
34823         * lib/modechange.c: Likewise.
34824         * lib/modechange.h: Likewise.
34825         * lib/mountlist.c: Likewise.
34826         * lib/mountlist.h: Likewise.
34827         * lib/mpsort.c: Likewise.
34828         * lib/nanosleep.c: Likewise.
34829         * lib/obstack.c: Likewise.
34830         * lib/obstack.h: Likewise.
34831         * lib/open-safer.c: Likewise.
34832         * lib/open.c: Likewise.
34833         * lib/openat-die.c: Likewise.
34834         * lib/openat-priv.h: Likewise.
34835         * lib/openat-proc.c: Likewise.
34836         * lib/openat.c: Likewise.
34837         * lib/openat.h: Likewise.
34838         * lib/pagealign_alloc.c: Likewise.
34839         * lib/pagealign_alloc.h: Likewise.
34840         * lib/physmem.c: Likewise.
34841         * lib/physmem.h: Likewise.
34842         * lib/pipe-safer.c: Likewise.
34843         * lib/pipe.c: Likewise.
34844         * lib/pipe.h: Likewise.
34845         * lib/posixtm.c: Likewise.
34846         * lib/posixtm.h: Likewise.
34847         * lib/posixver.c: Likewise.
34848         * lib/printf-frexp.c: Likewise.
34849         * lib/printf-frexp.h: Likewise.
34850         * lib/printf-frexpl.c: Likewise.
34851         * lib/printf-frexpl.h: Likewise.
34852         * lib/printf.c: Likewise.
34853         * lib/progname.c: Likewise.
34854         * lib/progname.h: Likewise.
34855         * lib/progreloc.c: Likewise.
34856         * lib/putenv.c: Likewise.
34857         * lib/quote.c: Likewise.
34858         * lib/quote.h: Likewise.
34859         * lib/quotearg.c: Likewise.
34860         * lib/quotearg.h: Likewise.
34861         * lib/raise.c: Likewise.
34862         * lib/readline.c: Likewise.
34863         * lib/readline.h: Likewise.
34864         * lib/readlink.c: Likewise.
34865         * lib/readtokens.c: Likewise.
34866         * lib/readtokens.h: Likewise.
34867         * lib/readtokens0.c: Likewise.
34868         * lib/readtokens0.h: Likewise.
34869         * lib/readutmp.c: Likewise.
34870         * lib/readutmp.h: Likewise.
34871         * lib/realloc.c: Likewise.
34872         * lib/relocwrapper.c: Likewise.
34873         * lib/rename-dest-slash.c: Likewise.
34874         * lib/rename.c: Likewise.
34875         * lib/rmdir.c: Likewise.
34876         * lib/rpmatch.c: Likewise.
34877         * lib/safe-read.c: Likewise.
34878         * lib/safe-read.h: Likewise.
34879         * lib/safe-write.c: Likewise.
34880         * lib/safe-write.h: Likewise.
34881         * lib/same-inode.h: Likewise.
34882         * lib/same.c: Likewise.
34883         * lib/same.h: Likewise.
34884         * lib/save-cwd.c: Likewise.
34885         * lib/save-cwd.h: Likewise.
34886         * lib/savedir.c: Likewise.
34887         * lib/savedir.h: Likewise.
34888         * lib/savewd.c: Likewise.
34889         * lib/savewd.h: Likewise.
34890         * lib/search.in.h: Likewise.
34891         * lib/setenv.c: Likewise.
34892         * lib/setenv.h: Likewise.
34893         * lib/settime.c: Likewise.
34894         * lib/sh-quote.c: Likewise.
34895         * lib/sh-quote.h: Likewise.
34896         * lib/sig2str.c: Likewise.
34897         * lib/sig2str.h: Likewise.
34898         * lib/signal.in.h: Likewise.
34899         * lib/signbitd.c: Likewise.
34900         * lib/signbitf.c: Likewise.
34901         * lib/signbitl.c: Likewise.
34902         * lib/sigprocmask.c: Likewise.
34903         * lib/sincosl.c: Likewise.
34904         * lib/sleep.c: Likewise.
34905         * lib/sprintf.c: Likewise.
34906         * lib/sqrtl.c: Likewise.
34907         * lib/stat-time.h: Likewise.
34908         * lib/stdio--.h: Likewise.
34909         * lib/stdio-safer.h: Likewise.
34910         * lib/stdlib--.h: Likewise.
34911         * lib/stdlib-safer.h: Likewise.
34912         * lib/stdlib.in.h: Likewise.
34913         * lib/stpcpy.c: Likewise.
34914         * lib/stpncpy.c: Likewise.
34915         * lib/strchrnul.c: Likewise.
34916         * lib/strcspn.c: Likewise.
34917         * lib/strerror.c: Likewise.
34918         * lib/strftime.c: Likewise.
34919         * lib/strftime.h: Likewise.
34920         * lib/striconveh.c: Likewise.
34921         * lib/striconveh.h: Likewise.
34922         * lib/striconveha.c: Likewise.
34923         * lib/striconveha.h: Likewise.
34924         * lib/stripslash.c: Likewise.
34925         * lib/strnlen1.c: Likewise.
34926         * lib/strnlen1.h: Likewise.
34927         * lib/strtod.c: Likewise.
34928         * lib/strtoimax.c: Likewise.
34929         * lib/strtok_r.c: Likewise.
34930         * lib/strtol.c: Likewise.
34931         * lib/strtoll.c: Likewise.
34932         * lib/strtoul.c: Likewise.
34933         * lib/strtoull.c: Likewise.
34934         * lib/sysexits.in.h: Likewise.
34935         * lib/tempname.c: Likewise.
34936         * lib/tempname.h: Likewise.
34937         * lib/timespec.h: Likewise.
34938         * lib/tls.c: Likewise.
34939         * lib/tls.h: Likewise.
34940         * lib/tmpdir.c: Likewise.
34941         * lib/tmpdir.h: Likewise.
34942         * lib/tmpfile-safer.c: Likewise.
34943         * lib/tmpfile.c: Likewise.
34944         * lib/trigl.c: Likewise.
34945         * lib/trigl.h: Likewise.
34946         * lib/trim.c: Likewise.
34947         * lib/trim.h: Likewise.
34948         * lib/trunc.c: Likewise.
34949         * lib/truncf.c: Likewise.
34950         * lib/truncl.c: Likewise.
34951         * lib/tsearch.c: Likewise.
34952         * lib/unicodeio.c: Likewise.
34953         * lib/unicodeio.h: Likewise.
34954         * lib/unistd--.h: Likewise.
34955         * lib/unistd-safer.h: Likewise.
34956         * lib/unistdio/ulc-fprintf.c: Likewise.
34957         * lib/unistdio/ulc-vfprintf.c: Likewise.
34958         * lib/unlinkdir.c: Likewise.
34959         * lib/unlinkdir.h: Likewise.
34960         * lib/unlocked-io.h: Likewise.
34961         * lib/unsetenv.c: Likewise.
34962         * lib/userspec.c: Likewise.
34963         * lib/utime.c: Likewise.
34964         * lib/utimecmp.c: Likewise.
34965         * lib/utimecmp.h: Likewise.
34966         * lib/utimens.c: Likewise.
34967         * lib/verify.h: Likewise.
34968         * lib/verror.c: Likewise.
34969         * lib/verror.h: Likewise.
34970         * lib/version-etc-fsf.c: Likewise.
34971         * lib/version-etc.c: Likewise.
34972         * lib/version-etc.h: Likewise.
34973         * lib/vfprintf.c: Likewise.
34974         * lib/vprintf.c: Likewise.
34975         * lib/vsprintf.c: Likewise.
34976         * lib/w32spawn.h: Likewise.
34977         * lib/wait-process.c: Likewise.
34978         * lib/wait-process.h: Likewise.
34979         * lib/wcwidth.c: Likewise.
34980         * lib/write-any-file.c: Likewise.
34981         * lib/xalloc-die.c: Likewise.
34982         * lib/xalloc.h: Likewise.
34983         * lib/xasprintf.c: Likewise.
34984         * lib/xgetcwd.c: Likewise.
34985         * lib/xgetcwd.h: Likewise.
34986         * lib/xgetdomainname.c: Likewise.
34987         * lib/xgetdomainname.h: Likewise.
34988         * lib/xgethostname.c: Likewise.
34989         * lib/xmalloc.c: Likewise.
34990         * lib/xmalloca.c: Likewise.
34991         * lib/xmalloca.h: Likewise.
34992         * lib/xmemcoll.c: Likewise.
34993         * lib/xnanosleep.c: Likewise.
34994         * lib/xreadlink.c: Likewise.
34995         * lib/xreadlink.h: Likewise.
34996         * lib/xsetenv.c: Likewise.
34997         * lib/xsetenv.h: Likewise.
34998         * lib/xstriconv.c: Likewise.
34999         * lib/xstriconv.h: Likewise.
35000         * lib/xstrndup.c: Likewise.
35001         * lib/xstrndup.h: Likewise.
35002         * lib/xstrtod.c: Likewise.
35003         * lib/xstrtod.h: Likewise.
35004         * lib/xstrtol-error.c: Likewise.
35005         * lib/xstrtol.c: Likewise.
35006         * lib/xstrtol.h: Likewise.
35007         * lib/xtime.h: Likewise.
35008         * lib/xvasprintf.c: Likewise.
35009         * lib/xvasprintf.h: Likewise.
35010         * lib/yesno.c: Likewise.
35011         * lib/yesno.h: Likewise.
35012         * posix-modules: Likewise.
35013         * tests/test-alloca-opt.c: Likewise.
35014         * tests/test-arcfour.c: Likewise.
35015         * tests/test-arctwo.c: Likewise.
35016         * tests/test-argmatch.c: Likewise.
35017         * tests/test-argp-2.sh: Likewise.
35018         * tests/test-argp.c: Likewise.
35019         * tests/test-arpa_inet.c: Likewise.
35020         * tests/test-array_list.c: Likewise.
35021         * tests/test-array_oset.c: Likewise.
35022         * tests/test-atexit.c: Likewise.
35023         * tests/test-avltree_list.c: Likewise.
35024         * tests/test-avltree_oset.c: Likewise.
35025         * tests/test-avltreehash_list.c: Likewise.
35026         * tests/test-base64.c: Likewise.
35027         * tests/test-binary-io.c: Likewise.
35028         * tests/test-byteswap.c: Likewise.
35029         * tests/test-c-ctype.c: Likewise.
35030         * tests/test-c-strcasecmp.c: Likewise.
35031         * tests/test-c-strcasestr.c: Likewise.
35032         * tests/test-c-strncasecmp.c: Likewise.
35033         * tests/test-c-strstr.c: Likewise.
35034         * tests/test-canonicalize-lgpl.c: Likewise.
35035         * tests/test-canonicalize.c: Likewise.
35036         * tests/test-carray_list.c: Likewise.
35037         * tests/test-ceilf.c: Likewise.
35038         * tests/test-ceill.c: Likewise.
35039         * tests/test-count-one-bits.c: Likewise.
35040         * tests/test-crc.c: Likewise.
35041         * tests/test-dirname.c: Likewise.
35042         * tests/test-fbufmode.c: Likewise.
35043         * tests/test-fcntl.c: Likewise.
35044         * tests/test-fflush.c: Likewise.
35045         * tests/test-floorf.c: Likewise.
35046         * tests/test-floorl.c: Likewise.
35047         * tests/test-fopen.c: Likewise.
35048         * tests/test-fprintf-posix.c: Likewise.
35049         * tests/test-fprintf-posix.h: Likewise.
35050         * tests/test-fpurge.c: Likewise.
35051         * tests/test-freadable.c: Likewise.
35052         * tests/test-freadahead.c: Likewise.
35053         * tests/test-freading.c: Likewise.
35054         * tests/test-freopen.c: Likewise.
35055         * tests/test-frexp.c: Likewise.
35056         * tests/test-frexpl.c: Likewise.
35057         * tests/test-fseek.c: Likewise.
35058         * tests/test-fseeko.c: Likewise.
35059         * tests/test-fseterr.c: Likewise.
35060         * tests/test-fstrcmp.c: Likewise.
35061         * tests/test-ftell.c: Likewise.
35062         * tests/test-ftello.c: Likewise.
35063         * tests/test-fwritable.c: Likewise.
35064         * tests/test-fwriting.c: Likewise.
35065         * tests/test-getaddrinfo.c: Likewise.
35066         * tests/test-getpass.c: Likewise.
35067         * tests/test-gettimeofday.c: Likewise.
35068         * tests/test-hmac-md5.c: Likewise.
35069         * tests/test-hmac-sha1.c: Likewise.
35070         * tests/test-iconv.c: Likewise.
35071         * tests/test-iconvme.c: Likewise.
35072         * tests/test-inttypes.c: Likewise.
35073         * tests/test-isnan.c: Likewise.
35074         * tests/test-isnanf.c: Likewise.
35075         * tests/test-isnanl-nolibm.c: Likewise.
35076         * tests/test-isnanl.c: Likewise.
35077         * tests/test-isnanl.h: Likewise.
35078         * tests/test-ldexpl.c: Likewise.
35079         * tests/test-linked_list.c: Likewise.
35080         * tests/test-linkedhash_list.c: Likewise.
35081         * tests/test-locale.c: Likewise.
35082         * tests/test-localename.c: Likewise.
35083         * tests/test-lock.c: Likewise.
35084         * tests/test-lseek.c: Likewise.
35085         * tests/test-malloca.c: Likewise.
35086         * tests/test-math.c: Likewise.
35087         * tests/test-mbscasecmp.c: Likewise.
35088         * tests/test-mbscasestr1.c: Likewise.
35089         * tests/test-mbscasestr2.c: Likewise.
35090         * tests/test-mbscasestr3.c: Likewise.
35091         * tests/test-mbscasestr4.c: Likewise.
35092         * tests/test-mbschr.c: Likewise.
35093         * tests/test-mbscspn.c: Likewise.
35094         * tests/test-mbsncasecmp.c: Likewise.
35095         * tests/test-mbspbrk.c: Likewise.
35096         * tests/test-mbspcasecmp.c: Likewise.
35097         * tests/test-mbsrchr.c: Likewise.
35098         * tests/test-mbsspn.c: Likewise.
35099         * tests/test-mbsstr1.c: Likewise.
35100         * tests/test-mbsstr2.c: Likewise.
35101         * tests/test-mbsstr3.c: Likewise.
35102         * tests/test-md5.c: Likewise.
35103         * tests/test-memmem.c: Likewise.
35104         * tests/test-netinet_in.c: Likewise.
35105         * tests/test-open.c: Likewise.
35106         * tests/test-printf-frexp.c: Likewise.
35107         * tests/test-printf-frexpl.c: Likewise.
35108         * tests/test-printf-posix.c: Likewise.
35109         * tests/test-printf-posix.h: Likewise.
35110         * tests/test-rbtree_list.c: Likewise.
35111         * tests/test-rbtree_oset.c: Likewise.
35112         * tests/test-rbtreehash_list.c: Likewise.
35113         * tests/test-read-file.c: Likewise.
35114         * tests/test-rijndael.c: Likewise.
35115         * tests/test-search.c: Likewise.
35116         * tests/test-signbit.c: Likewise.
35117         * tests/test-sleep.c: Likewise.
35118         * tests/test-snprintf-posix.c: Likewise.
35119         * tests/test-snprintf-posix.h: Likewise.
35120         * tests/test-snprintf.c: Likewise.
35121         * tests/test-sprintf-posix.c: Likewise.
35122         * tests/test-sprintf-posix.h: Likewise.
35123         * tests/test-stat-time.c: Likewise.
35124         * tests/test-stdbool.c: Likewise.
35125         * tests/test-stdint.c: Likewise.
35126         * tests/test-stdio.c: Likewise.
35127         * tests/test-stdlib.c: Likewise.
35128         * tests/test-stpncpy.c: Likewise.
35129         * tests/test-strcasestr.c: Likewise.
35130         * tests/test-striconv.c: Likewise.
35131         * tests/test-striconveh.c: Likewise.
35132         * tests/test-striconveha.c: Likewise.
35133         * tests/test-string.c: Likewise.
35134         * tests/test-sys_select.c: Likewise.
35135         * tests/test-sys_socket.c: Likewise.
35136         * tests/test-sys_stat.c: Likewise.
35137         * tests/test-sys_time.c: Likewise.
35138         * tests/test-sysexits.c: Likewise.
35139         * tests/test-time.c: Likewise.
35140         * tests/test-tls.c: Likewise.
35141         * tests/test-trunc.c: Likewise.
35142         * tests/test-truncf.c: Likewise.
35143         * tests/test-truncl.c: Likewise.
35144         * tests/test-unistd.c: Likewise.
35145         * tests/test-vasnprintf-posix.c: Likewise.
35146         * tests/test-vasnprintf-posix2.c: Likewise.
35147         * tests/test-vasnprintf.c: Likewise.
35148         * tests/test-vasprintf-posix.c: Likewise.
35149         * tests/test-vasprintf.c: Likewise.
35150         * tests/test-verify.c: Likewise.
35151         * tests/test-vfprintf-posix.c: Likewise.
35152         * tests/test-vprintf-posix.c: Likewise.
35153         * tests/test-vsnprintf-posix.c: Likewise.
35154         * tests/test-vsnprintf.c: Likewise.
35155         * tests/test-vsprintf-posix.c: Likewise.
35156         * tests/test-wchar.c: Likewise.
35157         * tests/test-wctype.c: Likewise.
35158         * tests/test-wcwidth.c: Likewise.
35159         * tests/test-xstrtol.c: Likewise.
35160         * tests/test-xvasprintf.c: Likewise.
35161         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35162         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35163         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35164         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35165         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35166         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35167         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35168         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35169         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35170         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35171         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35172         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35173         * tests/uniname/test-uninames.c: Likewise.
35174         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35175         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
35176         * tests/unistdio/test-u16-printf1.h: Likewise.
35177         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35178         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35179         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35180         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35181         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35182         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35183         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35184         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
35185         * tests/unistdio/test-u32-printf1.h: Likewise.
35186         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35187         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35188         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35189         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35190         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35191         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35192         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35193         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
35194         * tests/unistdio/test-u8-printf1.h: Likewise.
35195         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35196         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35197         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35198         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35199         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35200         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35201         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35202         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
35203         * tests/unistdio/test-ulc-printf1.h: Likewise.
35204         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35205         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35206         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35207         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35208         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
35209         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
35210         * tests/uniwidth/test-u16-strwidth.c: Likewise.
35211         * tests/uniwidth/test-u16-width.c: Likewise.
35212         * tests/uniwidth/test-u32-strwidth.c: Likewise.
35213         * tests/uniwidth/test-u32-width.c: Likewise.
35214         * tests/uniwidth/test-u8-strwidth.c: Likewise.
35215         * tests/uniwidth/test-u8-width.c: Likewise.
35216         * tests/uniwidth/test-uc_width.c: Likewise.
35217         * config/srclist-update: Likewise.
35218         (fixlicense): Update to GPLv3+.
35219
35220         Change copyright notice from LGPLv2.1+ to LGPLv3+.
35221         * tests/test-tsearch.c: Change copyright notice.
35222
35223         Change copyright notice from LGPLv2.0+ to LGPLv3+.
35224         * lib/c-strcaseeq.h: Change copyright notice.
35225         * lib/streq.h: Likewise.
35226         * lib/uniconv.h: Likewise.
35227         * lib/uniconv/u-conv-from-enc.h: Likewise.
35228         * lib/uniconv/u-conv-to-enc.h: Likewise.
35229         * lib/uniconv/u-strconv-from-enc.h: Likewise.
35230         * lib/uniconv/u-strconv-to-enc.h: Likewise.
35231         * lib/uniconv/u16-conv-from-enc.c: Likewise.
35232         * lib/uniconv/u16-conv-to-enc.c: Likewise.
35233         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
35234         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
35235         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
35236         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
35237         * lib/uniconv/u32-conv-from-enc.c: Likewise.
35238         * lib/uniconv/u32-conv-to-enc.c: Likewise.
35239         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
35240         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
35241         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
35242         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
35243         * lib/uniconv/u8-conv-from-enc.c: Likewise.
35244         * lib/uniconv/u8-conv-to-enc.c: Likewise.
35245         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
35246         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
35247         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
35248         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
35249         * lib/uniname.h: Likewise.
35250         * lib/uniname/uniname.c: Likewise.
35251         * lib/unistdio.h: Likewise.
35252         * lib/unistdio/u-asnprintf.h: Likewise.
35253         * lib/unistdio/u-asprintf.h: Likewise.
35254         * lib/unistdio/u-printf-args.c: Likewise.
35255         * lib/unistdio/u-printf-args.h: Likewise.
35256         * lib/unistdio/u-printf-parse.h: Likewise.
35257         * lib/unistdio/u-snprintf.h: Likewise.
35258         * lib/unistdio/u-sprintf.h: Likewise.
35259         * lib/unistdio/u-vasprintf.h: Likewise.
35260         * lib/unistdio/u-vsnprintf.h: Likewise.
35261         * lib/unistdio/u-vsprintf.h: Likewise.
35262         * lib/unistdio/u16-asnprintf.c: Likewise.
35263         * lib/unistdio/u16-asprintf.c: Likewise.
35264         * lib/unistdio/u16-printf-parse.c: Likewise.
35265         * lib/unistdio/u16-snprintf.c: Likewise.
35266         * lib/unistdio/u16-sprintf.c: Likewise.
35267         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
35268         * lib/unistdio/u16-u16-asprintf.c: Likewise.
35269         * lib/unistdio/u16-u16-snprintf.c: Likewise.
35270         * lib/unistdio/u16-u16-sprintf.c: Likewise.
35271         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
35272         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
35273         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
35274         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
35275         * lib/unistdio/u16-vasnprintf.c: Likewise.
35276         * lib/unistdio/u16-vasprintf.c: Likewise.
35277         * lib/unistdio/u16-vsnprintf.c: Likewise.
35278         * lib/unistdio/u16-vsprintf.c: Likewise.
35279         * lib/unistdio/u32-asnprintf.c: Likewise.
35280         * lib/unistdio/u32-asprintf.c: Likewise.
35281         * lib/unistdio/u32-printf-parse.c: Likewise.
35282         * lib/unistdio/u32-snprintf.c: Likewise.
35283         * lib/unistdio/u32-sprintf.c: Likewise.
35284         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
35285         * lib/unistdio/u32-u32-asprintf.c: Likewise.
35286         * lib/unistdio/u32-u32-snprintf.c: Likewise.
35287         * lib/unistdio/u32-u32-sprintf.c: Likewise.
35288         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
35289         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
35290         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
35291         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
35292         * lib/unistdio/u32-vasnprintf.c: Likewise.
35293         * lib/unistdio/u32-vasprintf.c: Likewise.
35294         * lib/unistdio/u32-vsnprintf.c: Likewise.
35295         * lib/unistdio/u32-vsprintf.c: Likewise.
35296         * lib/unistdio/u8-asnprintf.c: Likewise.
35297         * lib/unistdio/u8-asprintf.c: Likewise.
35298         * lib/unistdio/u8-printf-parse.c: Likewise.
35299         * lib/unistdio/u8-snprintf.c: Likewise.
35300         * lib/unistdio/u8-sprintf.c: Likewise.
35301         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
35302         * lib/unistdio/u8-u8-asprintf.c: Likewise.
35303         * lib/unistdio/u8-u8-snprintf.c: Likewise.
35304         * lib/unistdio/u8-u8-sprintf.c: Likewise.
35305         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
35306         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
35307         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
35308         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
35309         * lib/unistdio/u8-vasnprintf.c: Likewise.
35310         * lib/unistdio/u8-vasprintf.c: Likewise.
35311         * lib/unistdio/u8-vsnprintf.c: Likewise.
35312         * lib/unistdio/u8-vsprintf.c: Likewise.
35313         * lib/unistdio/ulc-asnprintf.c: Likewise.
35314         * lib/unistdio/ulc-asprintf.c: Likewise.
35315         * lib/unistdio/ulc-printf-parse.c: Likewise.
35316         * lib/unistdio/ulc-snprintf.c: Likewise.
35317         * lib/unistdio/ulc-sprintf.c: Likewise.
35318         * lib/unistdio/ulc-vasnprintf.c: Likewise.
35319         * lib/unistdio/ulc-vasprintf.c: Likewise.
35320         * lib/unistdio/ulc-vsnprintf.c: Likewise.
35321         * lib/unistdio/ulc-vsprintf.c: Likewise.
35322         * lib/unistr.h: Likewise.
35323         * lib/unistr/u-cpy-alloc.h: Likewise.
35324         * lib/unistr/u-cpy.h: Likewise.
35325         * lib/unistr/u-endswith.h: Likewise.
35326         * lib/unistr/u-move.h: Likewise.
35327         * lib/unistr/u-set.h: Likewise.
35328         * lib/unistr/u-startswith.h: Likewise.
35329         * lib/unistr/u-stpcpy.h: Likewise.
35330         * lib/unistr/u-stpncpy.h: Likewise.
35331         * lib/unistr/u-strcat.h: Likewise.
35332         * lib/unistr/u-strcpy.h: Likewise.
35333         * lib/unistr/u-strcspn.h: Likewise.
35334         * lib/unistr/u-strdup.h: Likewise.
35335         * lib/unistr/u-strlen.h: Likewise.
35336         * lib/unistr/u-strncat.h: Likewise.
35337         * lib/unistr/u-strncpy.h: Likewise.
35338         * lib/unistr/u-strnlen.h: Likewise.
35339         * lib/unistr/u-strpbrk.h: Likewise.
35340         * lib/unistr/u-strspn.h: Likewise.
35341         * lib/unistr/u-strstr.h: Likewise.
35342         * lib/unistr/u-strtok.h: Likewise.
35343         * lib/unistr/u16-check.c: Likewise.
35344         * lib/unistr/u16-chr.c: Likewise.
35345         * lib/unistr/u16-cmp.c: Likewise.
35346         * lib/unistr/u16-cpy-alloc.c: Likewise.
35347         * lib/unistr/u16-cpy.c: Likewise.
35348         * lib/unistr/u16-endswith.c: Likewise.
35349         * lib/unistr/u16-mblen.c: Likewise.
35350         * lib/unistr/u16-mbsnlen.c: Likewise.
35351         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35352         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35353         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35354         * lib/unistr/u16-mbtouc.c: Likewise.
35355         * lib/unistr/u16-mbtoucr.c: Likewise.
35356         * lib/unistr/u16-move.c: Likewise.
35357         * lib/unistr/u16-next.c: Likewise.
35358         * lib/unistr/u16-prev.c: Likewise.
35359         * lib/unistr/u16-set.c: Likewise.
35360         * lib/unistr/u16-startswith.c: Likewise.
35361         * lib/unistr/u16-stpcpy.c: Likewise.
35362         * lib/unistr/u16-stpncpy.c: Likewise.
35363         * lib/unistr/u16-strcat.c: Likewise.
35364         * lib/unistr/u16-strchr.c: Likewise.
35365         * lib/unistr/u16-strcmp.c: Likewise.
35366         * lib/unistr/u16-strcpy.c: Likewise.
35367         * lib/unistr/u16-strcspn.c: Likewise.
35368         * lib/unistr/u16-strdup.c: Likewise.
35369         * lib/unistr/u16-strlen.c: Likewise.
35370         * lib/unistr/u16-strmblen.c: Likewise.
35371         * lib/unistr/u16-strmbtouc.c: Likewise.
35372         * lib/unistr/u16-strncat.c: Likewise.
35373         * lib/unistr/u16-strncmp.c: Likewise.
35374         * lib/unistr/u16-strncpy.c: Likewise.
35375         * lib/unistr/u16-strnlen.c: Likewise.
35376         * lib/unistr/u16-strpbrk.c: Likewise.
35377         * lib/unistr/u16-strrchr.c: Likewise.
35378         * lib/unistr/u16-strspn.c: Likewise.
35379         * lib/unistr/u16-strstr.c: Likewise.
35380         * lib/unistr/u16-strtok.c: Likewise.
35381         * lib/unistr/u16-to-u32.c: Likewise.
35382         * lib/unistr/u16-to-u8.c: Likewise.
35383         * lib/unistr/u16-uctomb-aux.c: Likewise.
35384         * lib/unistr/u16-uctomb.c: Likewise.
35385         * lib/unistr/u32-check.c: Likewise.
35386         * lib/unistr/u32-chr.c: Likewise.
35387         * lib/unistr/u32-cmp.c: Likewise.
35388         * lib/unistr/u32-cpy-alloc.c: Likewise.
35389         * lib/unistr/u32-cpy.c: Likewise.
35390         * lib/unistr/u32-endswith.c: Likewise.
35391         * lib/unistr/u32-mblen.c: Likewise.
35392         * lib/unistr/u32-mbsnlen.c: Likewise.
35393         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35394         * lib/unistr/u32-mbtouc.c: Likewise.
35395         * lib/unistr/u32-mbtoucr.c: Likewise.
35396         * lib/unistr/u32-move.c: Likewise.
35397         * lib/unistr/u32-next.c: Likewise.
35398         * lib/unistr/u32-prev.c: Likewise.
35399         * lib/unistr/u32-set.c: Likewise.
35400         * lib/unistr/u32-startswith.c: Likewise.
35401         * lib/unistr/u32-stpcpy.c: Likewise.
35402         * lib/unistr/u32-stpncpy.c: Likewise.
35403         * lib/unistr/u32-strcat.c: Likewise.
35404         * lib/unistr/u32-strchr.c: Likewise.
35405         * lib/unistr/u32-strcmp.c: Likewise.
35406         * lib/unistr/u32-strcpy.c: Likewise.
35407         * lib/unistr/u32-strcspn.c: Likewise.
35408         * lib/unistr/u32-strdup.c: Likewise.
35409         * lib/unistr/u32-strlen.c: Likewise.
35410         * lib/unistr/u32-strmblen.c: Likewise.
35411         * lib/unistr/u32-strmbtouc.c: Likewise.
35412         * lib/unistr/u32-strncat.c: Likewise.
35413         * lib/unistr/u32-strncmp.c: Likewise.
35414         * lib/unistr/u32-strncpy.c: Likewise.
35415         * lib/unistr/u32-strnlen.c: Likewise.
35416         * lib/unistr/u32-strpbrk.c: Likewise.
35417         * lib/unistr/u32-strrchr.c: Likewise.
35418         * lib/unistr/u32-strspn.c: Likewise.
35419         * lib/unistr/u32-strstr.c: Likewise.
35420         * lib/unistr/u32-strtok.c: Likewise.
35421         * lib/unistr/u32-to-u16.c: Likewise.
35422         * lib/unistr/u32-to-u8.c: Likewise.
35423         * lib/unistr/u32-uctomb.c: Likewise.
35424         * lib/unistr/u8-check.c: Likewise.
35425         * lib/unistr/u8-chr.c: Likewise.
35426         * lib/unistr/u8-cmp.c: Likewise.
35427         * lib/unistr/u8-cpy-alloc.c: Likewise.
35428         * lib/unistr/u8-cpy.c: Likewise.
35429         * lib/unistr/u8-endswith.c: Likewise.
35430         * lib/unistr/u8-mblen.c: Likewise.
35431         * lib/unistr/u8-mbsnlen.c: Likewise.
35432         * lib/unistr/u8-mbtouc-aux.c: Likewise.
35433         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35434         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35435         * lib/unistr/u8-mbtouc.c: Likewise.
35436         * lib/unistr/u8-mbtoucr.c: Likewise.
35437         * lib/unistr/u8-move.c: Likewise.
35438         * lib/unistr/u8-next.c: Likewise.
35439         * lib/unistr/u8-prev.c: Likewise.
35440         * lib/unistr/u8-set.c: Likewise.
35441         * lib/unistr/u8-startswith.c: Likewise.
35442         * lib/unistr/u8-stpcpy.c: Likewise.
35443         * lib/unistr/u8-stpncpy.c: Likewise.
35444         * lib/unistr/u8-strcat.c: Likewise.
35445         * lib/unistr/u8-strchr.c: Likewise.
35446         * lib/unistr/u8-strcmp.c: Likewise.
35447         * lib/unistr/u8-strcpy.c: Likewise.
35448         * lib/unistr/u8-strcspn.c: Likewise.
35449         * lib/unistr/u8-strdup.c: Likewise.
35450         * lib/unistr/u8-strlen.c: Likewise.
35451         * lib/unistr/u8-strmblen.c: Likewise.
35452         * lib/unistr/u8-strmbtouc.c: Likewise.
35453         * lib/unistr/u8-strncat.c: Likewise.
35454         * lib/unistr/u8-strncmp.c: Likewise.
35455         * lib/unistr/u8-strncpy.c: Likewise.
35456         * lib/unistr/u8-strnlen.c: Likewise.
35457         * lib/unistr/u8-strpbrk.c: Likewise.
35458         * lib/unistr/u8-strrchr.c: Likewise.
35459         * lib/unistr/u8-strspn.c: Likewise.
35460         * lib/unistr/u8-strstr.c: Likewise.
35461         * lib/unistr/u8-strtok.c: Likewise.
35462         * lib/unistr/u8-to-u16.c: Likewise.
35463         * lib/unistr/u8-to-u32.c: Likewise.
35464         * lib/unistr/u8-uctomb-aux.c: Likewise.
35465         * lib/unistr/u8-uctomb.c: Likewise.
35466         * lib/unitypes.h: Likewise.
35467         * lib/uniwidth.h: Likewise.
35468         * lib/uniwidth/cjk.h: Likewise.
35469         * lib/uniwidth/u16-strwidth.c: Likewise.
35470         * lib/uniwidth/u16-width.c: Likewise.
35471         * lib/uniwidth/u32-strwidth.c: Likewise.
35472         * lib/uniwidth/u32-width.c: Likewise.
35473         * lib/uniwidth/u8-strwidth.c: Likewise.
35474         * lib/uniwidth/u8-width.c: Likewise.
35475         * lib/uniwidth/width.c: Likewise.
35476
35477 2007-10-07  Bruno Haible  <bruno@clisp.org>
35478
35479         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
35480         The file is still under LGPL (see modules/inttypes).
35481
35482 2007-10-06  Bruno Haible  <bruno@clisp.org>
35483
35484         * modules/trunc (Dependencies): Add 'extensions'.
35485         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
35486         Reported by Ben Pfaff <blp@gnu.org>.
35487
35488 2007-10-06  Bruno Haible  <bruno@clisp.org>
35489
35490         * modules/freopen-tests: New file.
35491         * tests/test-freopen.c: New file.
35492
35493         * modules/fopen-tests: New file.
35494         * tests/test-fopen.c: New file.
35495
35496         * modules/fopen: New file.
35497         * lib/fopen.c: New file.
35498         * m4/fopen.m4: New file.
35499         * modules/freopen: New file.
35500         * lib/freopen.c: New file.
35501         * m4/freopen.m4: New file.
35502         * lib/stdio.in.h (fopen, freopen): New declarations.
35503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
35504         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35505         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
35506         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35507         * doc/functions/fopen.texi: Mention the 'fopen' module.
35508         * doc/functions/freopen.texi: Mention the 'freopen' module.
35509
35510 2007-10-06  Bruno Haible  <bruno@clisp.org>
35511
35512         * modules/open-tests: New file.
35513         * tests/test-open.c: New file.
35514
35515         * modules/open: New file.
35516         * lib/open.c: New file.
35517         * m4/open.m4: New file.
35518         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
35519         lib/open.c does.
35520         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
35521         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
35522         macros.
35523         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
35524         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
35525         REPLACE_OPEN.
35526         * doc/functions/open.texi: Mention the 'open' module.
35527
35528 2007-10-04  Bruno Haible  <bruno@clisp.org>
35529
35530         * modules/ceill-tests: New file.
35531         * tests/test-ceill.c: New file.
35532
35533         * modules/ceill: New file.
35534         * lib/ceill.c: Replace entire file.
35535         * m4/ceill.m4: New file.
35536         * lib/math.in.h (ceill): Replace declaration.
35537         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
35538         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
35539         * doc/functions/ceill.texi: Mention the 'ceill' module.
35540         * modules/mathl (Files): Remove lib/ceill.c.
35541         (Depends-on): Add ceill.
35542
35543 2007-10-04  Bruno Haible  <bruno@clisp.org>
35544
35545         * modules/ceilf-tests: New file.
35546         * tests/test-ceilf.c: New file.
35547
35548         * modules/ceilf: New file.
35549         * lib/ceil.c: New file.
35550         * lib/ceilf.c: New file.
35551         * m4/ceilf.m4: New file.
35552         * lib/math.in.h (ceilf): New declaration.
35553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
35554         HAVE_DECL_CEILF.
35555         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
35556         HAVE_DECL_CEILF.
35557         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
35558
35559 2007-10-04  Bruno Haible  <bruno@clisp.org>
35560
35561         * modules/floorl-tests: New file.
35562         * tests/test-floorl.c: New file.
35563
35564         * modules/floorl: New file.
35565         * lib/floorl.c: Replace entire file.
35566         * m4/floorl.m4: New file.
35567         * lib/math.in.h (floorl): Replace declaration.
35568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
35569         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
35570         * doc/functions/floorl.texi: Mention the 'floorl' module.
35571         * modules/mathl (Files): Remove lib/floorl.c.
35572         (Depends-on): Add floorl.
35573
35574 2007-10-04  Bruno Haible  <bruno@clisp.org>
35575
35576         * modules/floorf-tests: New file.
35577         * tests/test-floorf.c: New file.
35578
35579         * modules/floorf: New file.
35580         * lib/floor.c: New file.
35581         * lib/floorf.c: New file.
35582         * m4/floorf.m4: New file.
35583         * lib/math.in.h (floorf): New declaration.
35584         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
35585         HAVE_DECL_FLOORF.
35586         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
35587         HAVE_DECL_FLOORF.
35588         * doc/functions/floorf.texi: Mention the 'floorf' module.
35589
35590 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
35591             Bruno Haible  <bruno@clisp.org>
35592
35593         Advertise for the Git server instead of the CVS server.
35594         * doc/gnulib-intro.texi (Steady Development): Mention the Git
35595         repository instead of the CVS one.
35596         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
35597         about all VCS systems generically.
35598         * doc/gnulib.texi (Introduction): Capitalize `Git'.
35599
35600 2007-10-04  Bruno Haible  <bruno@clisp.org>
35601
35602         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
35603         means.
35604         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
35605
35606 2007-10-04  Bruno Haible  <bruno@clisp.org>
35607
35608         * modules/truncl-tests: New file.
35609         * tests/test-truncl.c: New file.
35610
35611         * modules/truncl: New file.
35612         * lib/truncl.c: New file.
35613         * m4/truncl.m4: New file.
35614         * lib/math.in.h (truncl): New declaration.
35615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
35616         HAVE_DECL_TRUNCL.
35617         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
35618         HAVE_DECL_TRUNCL.
35619         * doc/functions/truncl.texi: Mention the 'truncl' module.
35620
35621 2007-10-04  Bruno Haible  <bruno@clisp.org>
35622
35623         * modules/truncf-tests: New file.
35624         * tests/test-truncf.c: New file.
35625
35626         * modules/truncf: New file.
35627         * lib/trunc.c: Make paramerizable through USE_* macros.
35628         * lib/truncf.c: New file.
35629         * m4/truncf.m4: New file.
35630         * lib/math.in.h (truncf): New declaration.
35631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
35632         HAVE_DECL_TRUNCF.
35633         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
35634         HAVE_DECL_TRUNCF.
35635         * doc/functions/truncf.texi: Mention the 'truncf' module.
35636
35637 2007-10-03  Bruno Haible  <bruno@clisp.org>
35638
35639         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35640         augmentation also for tests modules.
35641         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
35642         * modules/atexit-tests (Makefile.am): Likewise.
35643         * modules/binary-io-tests (Makefile.am): Likewise.
35644         * modules/c-strcase-tests (Makefile.am): Likewise.
35645         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
35646         * modules/canonicalize-tests (Makefile.am): Likewise.
35647         * modules/closein-tests (Makefile.am): Likewise.
35648         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35649         * modules/freadahead-tests (Makefile.am): Likewise.
35650         * modules/fseek-tests (Makefile.am): Likewise.
35651         * modules/fseeko-tests (Makefile.am): Likewise.
35652         * modules/ftell-tests (Makefile.am): Likewise.
35653         * modules/ftello-tests (Makefile.am): Likewise.
35654         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
35655         * modules/isnanl-tests (Makefile.am): Likewise.
35656         * modules/lseek-tests (Makefile.am): Likewise.
35657         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35658         * modules/mbscasestr-tests (Makefile.am): Likewise.
35659         * modules/mbschr-tests (Makefile.am): Likewise.
35660         * modules/mbscspn-tests (Makefile.am): Likewise.
35661         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35662         * modules/mbspbrk-tests (Makefile.am): Likewise.
35663         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35664         * modules/mbsrchr-tests (Makefile.am): Likewise.
35665         * modules/mbsspn-tests (Makefile.am): Likewise.
35666         * modules/mbsstr-tests (Makefile.am): Likewise.
35667         * modules/printf-posix-tests (Makefile.am): Likewise.
35668         * modules/snprintf-posix-tests (Makefile.am): Likewise.
35669         * modules/sprintf-posix-tests (Makefile.am): Likewise.
35670         * modules/tsearch-tests (Makefile.am): Likewise.
35671         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35672         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35673         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35674         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35675         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35676         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35677         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35678         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35679         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
35680         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
35681         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35682         * modules/xstrtol-tests (Makefile.am): Likewise.
35683         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35684         * modules/yesno-tests (Makefile.am): Likewise.
35685
35686 2007-10-03  Bruno Haible  <bruno@clisp.org>
35687
35688         * modules/trunc-tests: New file.
35689         * tests/test-trunc.c: New file.
35690
35691         * modules/trunc: New file.
35692         * lib/trunc.c: New file.
35693         * m4/trunc.m4: New file.
35694         * lib/math.in.h (trunc): New declaration.
35695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
35696         HAVE_DECL_TRUNC.
35697         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
35698         HAVE_DECL_TRUNC.
35699         * doc/functions/trunc.texi: Mention the 'trunc' module.
35700
35701 2007-10-03  Bruno Haible  <bruno@clisp.org>
35702
35703         * tests/test-fpending.c: New file, mostly copied
35704         from coreutils/lib/t-fpending.c.
35705         * modules/fpending-tests: New file.
35706
35707 2007-10-03  Bruno Haible  <bruno@clisp.org>
35708
35709         Port the stdio extensions to QNX (untested).
35710         * lib/fseterr.c (fseterr): Add support for QNX.
35711         * lib/fbufmode.c (fbufmode): Likewise.
35712         * lib/freadable.c (freadable): Likewise.
35713         * lib/fwritable.c (fwritable): Likewise.
35714         * lib/freading.c (freading): Likewise.
35715         * lib/fwriting.c (fwriting): Likewise.
35716         * lib/freadahead.c (freadahed): Likewise.
35717         * lib/fpurge.c (fpurge): Likewise.
35718         * lib/fseeko.c (rpl_fseeko): Likewise.
35719
35720 2007-10-03  Bruno Haible  <bruno@clisp.org>
35721             Jim Meyering  <jim@meyering.net>
35722             Eric Blake  <ebb9@byu.net>
35723
35724         * doc/relocatable.texi: Use @command instead of @program.
35725
35726 2007-10-02  Jim Meyering  <jim@meyering.net>
35727
35728         Perform one more "_.h" -> ".in.h" substitution.
35729         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
35730         instead of unistd_.h here, too.
35731
35732 2007-10-01  Bruno Haible  <bruno@clisp.org>
35733
35734         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
35735         Needed for the alloca-opt module.
35736
35737 2007-09-30  Bruno Haible  <bruno@clisp.org>
35738
35739         * lib/alloca.in.h: Renamed from lib/alloca_.h.
35740         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
35741         alloca_.h.
35742         * lib/argz.in.h: Renamed from lib/argz_.h.
35743         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
35744         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
35745         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
35746         byteswap_.h.
35747         * lib/dirent.in.h: Renamed from lib/dirent_.h.
35748         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
35749         dirent_.h.
35750         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
35751         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
35752         fcntl_.h.
35753         * lib/float.in.h: Renamed from lib/float_.h.
35754         * modules/float (Files, Makefile.am): Use float.in.h instead of
35755         float_.h.
35756         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
35757         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
35758         fnmatch_.h.
35759         * lib/getopt.in.h: Renamed from lib/getopt_.h.
35760         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
35761         getopt_.h.
35762         * lib/glob.in.h: Renamed from lib/glob_.h.
35763         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
35764         * lib/iconv.in.h: Renamed from lib/iconv_.h.
35765         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
35766         iconv_.h.
35767         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
35768         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
35769         inttypes_.h.
35770         * lib/locale.in.h: Renamed from lib/locale_.h.
35771         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
35772         locale_.h.
35773         * lib/math.in.h: Renamed from lib/math_.h.
35774         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
35775         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
35776         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
35777         of netinet_in_.h. Add dependency.
35778         * lib/poll.in.h: Renamed from lib/poll_.h.
35779         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
35780         * lib/search.in.h: Renamed from lib/search_.h.
35781         * modules/search (Files, Makefile.am): Use search.in.h instead of
35782         search_.h.
35783         * lib/signal.in.h: Renamed from lib/signal_.h.
35784         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
35785         _signal.h.
35786         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
35787         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
35788         stdbool_.h.
35789         * lib/stdint.in.h: Renamed from lib/stdint_.h.
35790         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
35791         stdint_.h.
35792         * lib/stdio.in.h: Renamed from lib/stdio_.h.
35793         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
35794         stdio_.h.
35795         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
35796         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
35797         stdlib_.h.
35798         * lib/string.in.h: Renamed from lib/string_.h.
35799         * modules/string (Files, Makefile.am): Use string.in.h instead of
35800         string_.h.
35801         * doc/gnulib-tool.texi (Initial import): Update.
35802         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
35803         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
35804         of sys_select_.h. Add dependency.
35805         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
35806         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
35807         of sys_socket_.h.
35808         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
35809         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
35810         sys_stat_.h.
35811         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
35812         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
35813         sys_time_.h.
35814         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
35815         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
35816         sysexits_.h.
35817         * lib/time.in.h: Renamed from lib/time_.h.
35818         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
35819         * lib/unistd.in.h: Renamed from lib/unistd_.h.
35820         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
35821         unistd_.h.
35822         * lib/wchar.in.h: Renamed from lib/wchar_.h.
35823         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
35824         wchar_.h.
35825         * lib/wctype.in.h: Renamed from lib/wctype_.h.
35826         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
35827         wctype_.h.
35828         * build-aux/bootstrap (slurp): Update.
35829         * lib/.cppi-disable: Update.
35830
35831 2007-09-30  Bruno Haible  <bruno@clisp.org>
35832
35833         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
35834         Needed on BeOS.
35835
35836 2007-09-30  Bruno Haible  <bruno@clisp.org>
35837
35838         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
35839
35840 2007-09-29  Bruno Haible  <bruno@clisp.org>
35841
35842         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
35843
35844 2007-09-29  Bruno Haible  <bruno@clisp.org>
35845
35846         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
35847         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
35848         * build-aux/install-reloc: Compile also areadlink.c.
35849         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
35850
35851 2007-09-29  Bruno Haible  <bruno@clisp.org>
35852
35853         * gnulib-tool (func_emit_initmacro_done): Indentation.
35854
35855 2007-09-29  Bruno Haible  <bruno@clisp.org>
35856
35857         * README: Add CVS checkout update instructions.
35858         Info from Bob Proulx <bob@proulx.com>.
35859
35860 2007-09-28  Eric Blake  <ebb9@byu.net>
35861
35862         Provide move-if-change.
35863         * build-aux/move-if-change: New file, based on best practice
35864         rather than any canonical upstream location.
35865
35866 2007-09-28  Jim Meyering  <jim@meyering.net>
35867
35868         Fix canonicalize loop-detection corner case.
35869         Do not attempt to stat the symlink values stored via seen_triple.
35870         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
35871         on linux-2.6.18, (but not 2.6.22).
35872         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
35873         triple_compare.  The former compares dev,ino,filename, while the latter
35874         would actually stat dirname(filename) when dev and ino were equal.
35875         * lib/hash-triple.c: Install <string.h>.
35876         (STREQ): Define.
35877         (triple_compare_ino_str): New function.
35878         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
35879
35880 2007-09-28  Eric Blake  <ebb9@byu.net>
35881
35882         Enforce that AC_REPLACE_FUNCS files exist.
35883         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
35884         override check for typos.
35885
35886         Fix test-closein on Solaris 10.
35887         * tests/test-closein.c (main): Don't assume stdin can be inherited
35888         closed on all systems.
35889         * tests/test-closein.sh: Likewise.
35890         Reported by Piotr Tarnowski.
35891
35892 2007-09-28  Jim Meyering  <jim@meyering.net>
35893
35894         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
35895
35896 2007-09-27  Jim Meyering  <jim@meyering.net>
35897
35898         canonicalize: Avoid a false-positive cycle failure.
35899         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
35900         Sort.  Remove cycle-check.
35901         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
35902         not cycle-check.h.
35903         (seen_triple): New function.
35904         (canonicalize_filename_mode): Use it instead of cycle-check.
35905         * tests/test-canonicalize.c: Add a test for this bug.
35906         * tests/test-canonicalize.sh: Set up and run the test.
35907
35908         New module, file-set, from coreutils.
35909         * modules/file-set: Define it.
35910         * lib/file-set.c, lib/file-set.h: Implement.
35911
35912         New module, hash-triple, from coreutils.
35913         * modules/hash-triple: Define it.
35914         * lib/hash-triple.c, lib/hash-triple.h: Implement.
35915
35916 2007-09-25  Eric Blake  <ebb9@byu.net>
35917
35918         Fix strerror on Interix.
35919         * lib/string_.h (strerror): Declare replacement.
35920         * doc/functions/strerror.texi (strerror): Document the Interix
35921         shortcoming.
35922         * modules/string (Makefile.am): Support new hooks.
35923         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
35924         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
35925         gl_FUNC_STRERROR_SEPARATE.
35926         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
35927         * lib/strerror.c (rpl_strerror): Provide replacement.
35928         * modules/strerror (Depends-on): Add string.
35929         (configure.ac): Detect use of module.
35930         * tests/test-strerror.c: New file.
35931         * modules/strerror-tests: New test module.
35932         * modules/argp (Depends-on): Add strerror.
35933         * modules/error (Depends-on): Likewise.
35934         Reported by Martin Koeppe.
35935
35936 2007-09-24  Bruno Haible  <bruno@clisp.org>
35937
35938         * README: Update git instructions.
35939
35940 2007-09-24  Eric Blake  <ebb9@byu.net>
35941
35942         Revert fpending breakage from 2007-09-08.
35943         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
35944         __fpending.c.
35945
35946 2007-09-24  Jim Meyering  <jim@meyering.net>
35947
35948         filenamecat.c: Add a test.
35949         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
35950         showing how the function works when DIR is the empty string.
35951
35952 2007-09-21  Simon Josefsson  <simon@josefsson.org>
35953
35954         * tests/test-canonicalize.sh: Turn on executable bit.
35955
35956 2007-09-19  Eric Blake  <ebb9@byu.net>
35957
35958         * README: Update CVS instructions.
35959
35960 2007-09-18  Bruno Haible  <bruno@clisp.org>
35961
35962         * modules/areadlink: New file.
35963         * lib/areadlink.h (areadlink): New declaration.
35964         * lib/areadlink.c: New file, based on lib/xreadlink.c.
35965
35966 2007-09-17  Jim Meyering  <jim@meyering.net>
35967
35968         * lib/savewd.c (ESTALE) [!defined]: Define.
35969         Reported to be required on Interix by Martin Koeppe.
35970
35971 2007-09-17  Bruno Haible  <bruno@clisp.org>
35972
35973         * gnulib-tool (func_version): Use $version.
35974
35975 2007-09-16  Bruno Haible  <bruno@clisp.org>
35976
35977         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
35978         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
35979         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
35980         Reported by Greg Schafer <gschafer@zip.com.au>.
35981
35982 2007-09-15  Bruno Haible  <bruno@clisp.org>
35983
35984         * gnulib-tool (sed): Try a little harder to make bash understand the
35985         alias.
35986         Reported by Bruce Korb <bruce.korb@gmail.com>.
35987
35988 2007-09-13  Eric Blake  <ebb9@byu.net>
35989
35990         * ChangeLog: Remove conflict markers.
35991
35992 2007-09-13  Simon Josefsson  <simon@josefsson.org>
35993
35994         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
35995         Reported by Bruno Haible <bruno@clisp.org>.
35996
35997 2007-09-12  Bruno Haible  <bruno@clisp.org>
35998
35999         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
36000         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
36001         is not defined.
36002
36003 2007-09-12  Eric Blake  <ebb9@byu.net>
36004
36005         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
36006         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
36007         Autoconf definition.
36008         * modules/euidaccess (Depends-on): Add extensions, for
36009         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
36010         * modules/fnmatch (Depends-on): Likewise.
36011         * modules/getaddrinfo (Depends-on): Likewise.
36012         * modules/getdelim (Depends-on): Likewise.
36013         * modules/getline (Depends-on): Likewise.
36014         * modules/getsubopt (Depends-on): Likewise.
36015         * modules/gettext (Depends-on): Likewise.
36016         * modules/group-member (Depends-on): Likewise.
36017         * modules/mbchar (Depends-on): Likewise.
36018         * modules/memmem (Depends-on): Likewise.
36019         * modules/mempcpy (Depends-on): Likewise.
36020         * modules/memrchr (Depends-on): Likewise.
36021         * modules/pagealign_alloc (Depends-on): Likewise.
36022         * modules/readutmp (Depends-on): Likewise.
36023         * modules/stpcpy (Depends-on): Likewise.
36024         * modules/stpncpy (Depends-on): Likewise.
36025         * modules/strchrnul (Depends-on): Likewise.
36026         * modules/strndup (Depends-on): Likewise.
36027         * modules/strsep (Depends-on): Likewise.
36028         * modules/strverscmp (Depends-on): Likewise.
36029         * modules/vasprintf (Depends-on): Likewise.
36030         * modules/wcwidth (Depends-on): Likewise.
36031         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
36032         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
36033         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
36034         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
36035         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36036         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36037         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
36038         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36039         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
36040         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36041         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36042         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
36043         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
36044         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
36045         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
36046         * m4/readutmp.m4 (gl_READUTMP): Likewise.
36047         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36048         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
36049         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36050         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
36051         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36052         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
36053         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
36054         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
36055         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
36056         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36057         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
36058         so that lock.m4 can be used in gettext without extensions module.
36059
36060 2007-09-11  Bruno Haible  <bruno@clisp.org>
36061
36062         * m4/isc-posix.m4: Remove file.
36063         Suggested by Eric Blake.
36064
36065 2007-09-11  Eric Blake  <ebb9@byu.net>
36066
36067         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
36068
36069 2007-09-10  Bruno Haible  <bruno@clisp.org>
36070
36071         * posix-modules: Fix typo in error message.
36072         Reported by Matt <mkraai@beckman.com>.
36073
36074 2007-09-09  Bruno Haible  <bruno@clisp.org>
36075
36076         * doc/functions/getdelim.texi: Update list of platforms lacking the
36077         function.
36078         * doc/functions/getline.texi: Likewise.
36079
36080 2007-09-09  Jim Meyering  <jim@meyering.net>
36081
36082         * lib/hash.c (hash_initialize): Detect calloc failure.
36083         Reported by Bruno Haible.
36084
36085 2007-09-09  Bruno Haible  <bruno@clisp.org>
36086
36087         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
36088         malloc or realloc fails.
36089
36090 2007-09-09  Bruno Haible  <bruno@clisp.org>
36091
36092         * modules/getcwd (Depends-on): Add malloc-posix.
36093         * modules/glob (Depends-on): Likewise.
36094         * modules/putenv (Depends-on): Likewise.
36095         * modules/strdup (Depends-on): Likewise.
36096         * modules/getdelim (Depends-on): Add realloc-posix.
36097         * modules/read-file (Depends-on): Likewise.
36098
36099 2007-09-09  Bruno Haible  <bruno@clisp.org>
36100
36101         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
36102         (gl_FUNC_MALLOC_POSIX): Require it.
36103         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
36104         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
36105         * modules/realloc (Files): Add m4/malloc.m4.
36106         * modules/calloc (Files): Likewise.
36107
36108 2007-09-09  Bruno Haible  <bruno@clisp.org>
36109
36110         * modules/malloc-posix: New file.
36111         * modules/malloc (Depends-on): Add malloc-posix.
36112         * lib/malloc.c: Include errno.h.
36113         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
36114         and a POSIX-compatible malloc into a single function. Set ENOMEM
36115         when returning NULL.
36116         * m4/malloc.m4: New file.
36117         * doc/functions/malloc.texi: Mention the malloc-posix module.
36118         * lib/stdlib_.h (malloc): New declaration.
36119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36120         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
36121         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
36122         and HAVE_MALLOC_POSIX.
36123
36124 2007-09-09  Bruno Haible  <bruno@clisp.org>
36125
36126         * modules/realloc-posix: New file.
36127         * modules/realloc (Depends-on): Add realloc-posix.
36128         * lib/realloc.c: Include errno.h.
36129         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
36130         and a POSIX-compatible realloc into a single function. Set ENOMEM
36131         when returning NULL.
36132         * m4/realloc.m4: New file.
36133         * doc/functions/realloc.texi: Mention the realloc-posix module.
36134         * lib/stdlib_.h (realloc): New declaration.
36135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36136         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
36137         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
36138         and HAVE_REALLOC_POSIX.
36139
36140 2007-09-09  Bruno Haible  <bruno@clisp.org>
36141
36142         * modules/calloc-posix: New file.
36143         * modules/calloc (Depends-on): Add calloc-posix.
36144         * lib/calloc.c: Include errno.h.
36145         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
36146         and a POSIX-compatible calloc into a single function. Set ENOMEM
36147         when returning NULL.
36148         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
36149         * doc/functions/calloc.texi: Mention the calloc-posix module.
36150         * lib/stdlib_.h (calloc): New declaration.
36151         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36152         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
36153         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
36154         and HAVE_CALLOC_POSIX.
36155
36156 2007-09-09  Bruno Haible  <bruno@clisp.org>
36157
36158         Allow for modules to show an arbitrary notice.
36159         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
36160         * gnulib-tool: New option --extract-notice.
36161         (func_usage): Document it.
36162         (sed_extract_prog): Update.
36163         (func_get_notice): New function.
36164         (func_modules_notice): New function.
36165         (func_import, func_create_testdir): Invoke it.
36166         Suggested by Jim Meyering.
36167
36168 2007-09-09  Bruno Haible  <bruno@clisp.org>
36169
36170         * gnulib-tool: New options --verbose, --quiet.
36171         (func_usage): Document them.
36172         (verbose): New variable.
36173         (func_execute_command): New function.
36174         (func_import): Don't show the module list and the file list if
36175         $verbose < 0.
36176         (func_create_testdir): Likewise. Use func_execute_command.
36177         (func_create_megatestdir): Use func_execute_command.
36178
36179 2007-09-08  Bruno Haible  <bruno@clisp.org>
36180
36181         * gnulib-tool (func_import): Prefer rsync over wget when available,
36182         for fetching the PO files.
36183
36184 2007-09-08  Bruno Haible  <bruno@clisp.org>
36185
36186         * posix-modules: New file. Portions copied from gnulib-tool.
36187         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
36188
36189 2007-09-08  Jim Meyering  <jim@meyering.net>
36190
36191         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
36192         * lib/fpending.h: Rename from __fpending.h.
36193         * lib/fpending.c: Rename from __fpending.c.
36194         Include "fpending.h", not "__fpending.h".
36195         * lib/__fpending.h, lib/__fpending.c: Remove files.
36196         * modules/fpending (Files): Reflect new file names.
36197         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
36198
36199 2007-09-08  Bruno Haible  <bruno@clisp.org>
36200
36201         * m4/inttypes-h.m4: Remove stub file.
36202
36203 2007-09-07  Simon Josefsson  <simon@josefsson.org>
36204
36205         * doc/headers/stdint.texi: Discuss #include_next issue.
36206
36207 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36208
36209         * build-aux/bootstrap: Remove obsolete comment about wget --help.
36210
36211 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36212
36213         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
36214         in variable name.
36215
36216 2007-09-03  Jim Meyering  <jim@meyering.net>
36217
36218         New module: git-version-gen.
36219         * modules/git-version-gen: New file.
36220
36221         Import changes from coreutils for bootstrap script.
36222
36223         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
36224
36225         bootstrap: uses rsync to download the .po files
36226         * build-aux/bootstrap (po_download_command_format): New global.
36227         (download_po_files): Use rsync.
36228         (update_po_files): Don't remove .po files after download,
36229         so future rsync runs can take advantage of the copies.
36230
36231         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
36232
36233         Solve the unnecessary-.po-file-regeneration problem once and for all.
36234         * build-aux/bootstrap (download_po_files): New function, renamed from
36235         get_translations.  Now, downloads, but doesn't update LINGUAS.
36236         (update_po_files): New function.
36237
36238         bootstrap: Ignore more.
36239         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
36240         uniwidth to e.g., lib/.gitignore.
36241         (slurp): Handle the sys_stat_.h -> sys mapping, too.
36242
36243         * build-aux/bootstrap: New setting: vc_ignore.
36244         (insert_sorted_if_absent): Create $file if absent.
36245         Adapt to new, possibly empty, list: $vc_ignore.
36246
36247         bootstrap: generate more ignorable names
36248         * build-aux/bootstrap (slurp): When generating ignorable names,
36249         also map .sin to .sed, .gperf to .c, and .y to .c.
36250
36251 2007-09-03  Jim Meyering  <jim@meyering.net>
36252
36253         * build-aux/git-version-gen: New file, from coreutils.  For details, see
36254         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
36255
36256 2007-09-02  Bruno Haible  <bruno@clisp.org>
36257
36258         Fix mis-recognition of 'mcs' on QNX 6.
36259         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
36260         output contains the string "Mono".
36261         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
36262         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
36263
36264 2007-09-01  Bruno Haible  <bruno@clisp.org>
36265
36266         Fix collision between uniwidth/* and linebreak modules.
36267         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
36268         u32_width): Remove declarations.
36269         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
36270         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
36271         streq3, streq2, streq1, streq0): Remove functions.
36272         (STREQ): Remove macro.
36273         (is_cjk_encoding): Remove function.
36274         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
36275         (uc_width, u8_width, u16_width, u32_width): Remove functions.
36276         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
36277         * NEWS: Document the change.
36278
36279 2007-09-01  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/streq.h: Add double-inclusion guard.
36282
36283 2007-09-01  Karl Berry  <karl@gnu.org>
36284
36285         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
36286
36287 2007-08-28  Jim Meyering  <jim@meyering.net>
36288
36289         Rename mreadlink_with_size to areadlink_with_size.
36290         * NEWS: Document the change.
36291         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
36292         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
36293         * lib/mreadlink.h: Rename this to...
36294         * lib/areadlink.h: ...this.
36295         * modules/mreadlink-with-size: Rename this to...
36296         * modules/areadlink-with-size: ...this.
36297         * lib/canonicalize.c: Reflect the renaming.
36298         * modules/canonicalize: Likewise.
36299
36300 2007-08-26  Bruno Haible  <bruno@clisp.org>
36301
36302         * gnulib-tool (func_import): When deciding which files to remove,
36303         consider also dangling symbolic links.
36304         Reported by Eric Blake.
36305
36306 2007-08-26  Bruno Haible  <bruno@clisp.org>
36307
36308         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
36309
36310 2007-08-23  Simon Josefsson  <simon@josefsson.org>
36311
36312         * lib/readline.c: Don't include getline.h, the prototype is now
36313         found in stdio.h.
36314
36315 2007-08-23  Jim Meyering  <jim@meyering.net>
36316
36317         Getdelim touchup.
36318         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
36319         around the funlockfile call, since funlockfile never sets errno.
36320         Don't set errno upon failed realloc.
36321
36322 2007-08-22  Eric Blake  <ebb9@byu.net>
36323
36324         Getline touchups.
36325         * lib/getdelim.c (getdelim): Revert regression that required *n to
36326         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
36327         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
36328         getdelim, rather than whether implementation is missing.
36329         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
36330         * lib/stdio_.h (getline): Also declare if replacement is
36331         required.
36332         * doc/functions/getdelim.texi: New file.
36333         * doc/functions/getline.texi: Likewise.
36334         * doc/gnulib.texi (Function Substitutes): Add new files.
36335         Reported by Bruno Haible.
36336
36337 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
36338
36339         * users.txt: Add Guile.
36340
36341 2007-08-22  Eric Blake  <ebb9@byu.net>
36342
36343         * tests/test-getdelim.c (main): Use remove, not unlink.
36344         * tests/test-getline.c (main): Likewise.
36345
36346         Move getline and getdelim into stdio.h, per POSIX 200x.
36347         * modules/getline (Files): Remove getline.h.
36348         (Depends-on): Add stdio.
36349         (configure.ac): Add module indicator.
36350         * modules/getdelim (Files): Remove getdelim.h.
36351         (Depends-on): Add stdio.
36352         (configure.ac): Add module indicator.
36353         * modules/stdio (Makefile.am): Work with new indicators.
36354         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36355         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
36356         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36357         * lib/getdelim.h: Delete.
36358         * lib/getline.h: Delete.
36359         * lib/stdio_.h (getdelim, getline): Declare.
36360         * modules/getdelim-tests: New module.
36361         * modules/getline-tests: Likewise.
36362         * tests/test-getdelim.c: New file.
36363         * tests/test-getline.c: Likewise.
36364         * NEWS: Document the change.
36365         * lib/getline.c: Update choice of header.
36366         * lib/csharpcomp.c: Likewise.
36367         * lib/getpass.c: Likewise.
36368         * lib/javacomp.c: Likewise.
36369         * lib/javaversion.c: Likewise.
36370         * lib/yesno.c: Likewise.
36371         * lib/getdelim.c: Likewise.
36372         (getdelim): Set errno on failure, and avoid memory leak.
36373
36374 2007-08-19  Bruno Haible  <bruno@clisp.org>
36375
36376         * modules/closein (Depends-on): Add freadahead.
36377         * lib/closein.c: Include freadahead.h.
36378         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
36379         is zero.
36380
36381 2007-08-19  Bruno Haible  <bruno@clisp.org>
36382
36383         * modules/freadahead-tests: New file.
36384         * tests/test-freadahead.sh: New file.
36385         * tests/test-freadahead.c: New file.
36386
36387         * modules/freadahead: New file.
36388         * lib/freadahead.h: New file.
36389         * lib/freadahead.c: New file.
36390         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
36391         fbufmode, fpurge, freadable, fwritable.
36392
36393 2007-08-19  Eric Blake  <ebb9@byu.net>
36394
36395         Test yesno in combination with closein.
36396         * lib/yesno.c (yesno): Document use of stdin.
36397         * modules/yesno-tests (Files): New module.
36398         * tests/test-yesno.c (main): New file.
36399         * tests/test-yesno.sh: Likewise.
36400
36401 2007-08-19  Bruno Haible  <bruno@clisp.org>
36402
36403         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
36404         * lib/fseeko.c (rpl_fseeko): Likewise.
36405         * lib/fseterr.c (fseterr): Likewise.
36406
36407 2007-08-19  Bruno Haible  <bruno@clisp.org>
36408
36409         * tests/test-lseek.c (main): Disable a test for BeOS.
36410         * doc/functions/lseek.texi: Document the BeOS bug.
36411
36412 2007-08-19  Bruno Haible  <bruno@clisp.org>
36413             Eric Blake  <ebb9@byu.net>
36414
36415         * lib/lseek.c: Include <sys/stat.h>.
36416         (rpl_lseek): Add workaround code also for Unix platforms.
36417         Needed for BeOS.
36418         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
36419         * doc/functions/lseek.texi: Document BeOS definiency.
36420
36421 2007-08-18  Bruno Haible  <bruno@clisp.org>
36422
36423         * modules/fstrcmp-tests: New file.
36424         * tests/test-fstrcmp.c: New file.
36425
36426 2007-08-18  Bruno Haible  <bruno@clisp.org>
36427
36428         * modules/fstrcmp: New file, from GNU gettext with modifications.
36429         * lib/fstrcmp.h: New file, from GNU gettext.
36430         * lib/fstrcmp.c: New file, from GNU gettext.
36431         * MODULES.html.sh (String handling): Add fstrcmp.
36432
36433 2007-08-18  Bruno Haible  <bruno@clisp.org>
36434
36435         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
36436         'bool'.
36437         (diag, compareseq): Remove const from the ctxt argument.
36438         (USE_HEURISTIC): Undefine at the end.
36439
36440 2007-08-18  Jim Meyering  <jim@meyering.net>
36441
36442         New file: lib/idcache.h
36443         * NEWS: Mention the addition.
36444         * modules/idcache (Files): Add lib/idcache.h
36445         * lib/idcache.c: Include "idcache.h".
36446         Don't include <sys/types.h>.
36447         Add a FIXME comment.
36448         Move file-scoped "static" declarations to the top.
36449         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
36450
36451 2007-08-17  Bruno Haible  <bruno@clisp.org>
36452         and Paul Eggert  <eggert@cs.ucla.edu>
36453
36454         * MODULES.html.sh: Add diffseq.
36455         * modules/diffseq: New file.
36456         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
36457         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
36458
36459 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36460
36461         Import changes from coreutils for bootstrap script.
36462
36463         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36464
36465         * build-aux/bootstrap (slurp): Work even in environments where
36466         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
36467         current code does not slurp files whose names start with ".", and
36468         this looks like it might be a troublesome area.
36469
36470         2007-07-11  Jim Meyering  <jim@meyering.net>
36471
36472         If there's a GPL vN copyright comment, require that N == 3.
36473
36474         2007-07-08  Jim Meyering  <jim@meyering.net>
36475
36476         Run the coreutils-specific code only if tests/Makefile.am.in exists.
36477         * build-aux/bootstrap (mam_template): Move definition out of loop.
36478
36479         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
36480
36481         * build-aux/bootstrap (symlink_to_dir): Rename function from
36482         symlink_to_gnulib.  Add a directory parameter.  Update all
36483         callers.
36484         (cp_mark_as_generated): Also check for -- and link to -- files in
36485         gl/.
36486
36487         2007-07-08  Jim Meyering  <jim@meyering.net>
36488
36489         Adapt to deeper hierarchy in gnulib.
36490         * build-aux/bootstrap (symlink_to_dir): If the destination
36491         directory doesn't exist, create it. This is required at least for
36492         "lib/uniwidth/cjk.h".
36493
36494         2007-05-15  Jim Meyering  <jim@meyering.net>
36495
36496         * build-aux/bootstrap: Now that generated Makefile.am files
36497         are no longer under version control, they must be created at
36498         bootstrap time.
36499
36500 2007-08-14  Ben Pfaff  <blp@gnu.org>
36501
36502         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
36503
36504 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36505
36506         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
36507         given the changes below.
36508         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
36509         even on hosts that have padding bits beyond the supported 64.
36510
36511 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36512
36513         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
36514         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
36515         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
36516         depends on it.
36517         (xstrtol_error): Remove.
36518         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
36519         but with a different signature.
36520         (ATTRIBUTE_NORETURN, __attribute__): New macros.
36521         * lib/xstrtol-error.c: Include exitfail.h.
36522         (xstrtol_fatal): New function, with a different signature from the
36523         old xstrtol_error, so that the caller need not worry about passing
36524         in an exit status, or about storage management of the option argument.
36525         (xstrtol_error): Now a static function.  Redo signature to
36526         implement xstrtol_fatal.  Output the correct number of hyphens in
36527         front of the option so that the caller need not worry about
36528         storage management.
36529         (N_): New macro.
36530         (_): Remove; not used now.
36531         * modules/xstrtol: Depend on getopt.
36532         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
36533         of old STRTOL_FATAL_ERROR macro.
36534         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
36535         of test program.
36536         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
36537         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
36538
36539 2007-08-08  Eric Blake  <ebb9@byu.net>
36540
36541         * lib/xstrtol-error.c: Add missing include.
36542
36543         Move xstrtol messages into gnulib domain, when --pobase is used.
36544         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
36545         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
36546         * modules/xstrtol (Files): Distribute new file.
36547         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
36548         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
36549         * tests/test-xstrtol.c: ...into new file.
36550         * tests/test-xstrtoul.c: Also test xstrtoul.
36551         * tests/test-xstrtoimax.c: Also test xstrtoimax.
36552         * tests/test-xstrtoumax.c: Also test xstrtoumax.
36553         * tests/test-xstrtol.sh: Drive the tests.
36554         * tests/test-xstrtoimax.sh: Likewise.
36555         * tests/test-xstrtoumax.sh: Likewise.
36556         * modules/xstrtol-tests: New module.
36557         * modules/xstrtoimax-tests: Likewise.
36558         * modules/xstrtoumax-tests: Likewise.
36559
36560 2007-08-08  Jim Meyering  <jim@meyering.net>
36561
36562         New function: mfile_name_concat.
36563         * lib/filenamecat.c (mfile_name_concat): New function, just like
36564         file_name_concat, but return NULL upon failure rather than exiting
36565         with a diagnostic.
36566         * lib/filenamecat.h: Declare it.
36567
36568 2007-08-07  Bruno Haible  <bruno@clisp.org>
36569
36570         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
36571         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
36572         warning from gcc.
36573         Reported by Eric Blake.
36574
36575 2007-08-07  Simon Josefsson  <simon@josefsson.org>
36576
36577         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
36578         * modules/crypto/arcfour (License): Likewise.
36579         * modules/crypto/des-tests (License): Likewise.
36580         * modules/crypto/gc-arctwo-tests (License): Likewise.
36581         * modules/crypto/gc-des-tests (License): Likewise.
36582         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
36583         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
36584         * modules/crypto/gc-md2-tests (License): Likewise.
36585         * modules/crypto/gc-md4-tests (License): Likewise.
36586         * modules/crypto/gc-md5-tests (License): Likewise.
36587         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
36588         * modules/crypto/gc-rijndael-tests (License): Likewise.
36589         * modules/crypto/gc-sha1-tests (License): Likewise.
36590         * modules/crypto/gc-tests (License): Likewise.
36591         * modules/crypto/hmac-md5 (License): Likewise.
36592         * modules/crypto/hmac-sha1 (License): Likewise.
36593         * modules/crypto/md2-tests (License): Likewise.
36594         * modules/crypto/md4-tests (License): Likewise.
36595         * modules/crypto/md5 (License): Likewise.
36596         * modules/crypto/rijndael (License): Likewise.
36597         * modules/crypto/sha1 (License): Likewise.
36598         * modules/memxor (License): Likewise.
36599
36600 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
36601         and Bruno Haible  <bruno@clisp.org>
36602
36603         * NEWS: Describe interface changes to human, xstrtol.
36604         * lib/human.h: Include <xstrtol.h>.
36605         (human_options): Return enum strtol_error, not int.  Remove
36606         bool arg; take int * instead.
36607         * lib/human.c: Don't include "gettext.h".
36608         (_): Remove; no longer used.
36609         Don't include <xstrtol.h>, since human.h does it.
36610         (human_options): Adjust to abovementioned interface changes.
36611         Do not report error to stderr; that's now the caller's
36612         responsibility.
36613         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
36614         interface change.
36615         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
36616         Str, Argument_type_string.  All uses changed.  Put " argument"
36617         in diagnostics to make them clearer.  Change wording of suffix
36618         message for clarity.
36619         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
36620         Argument_type_string.
36621         (STRTOL_FATAL_WARN): Remove; no longer used.
36622         * modules/human (Depends-on): Remove gettext-h.
36623
36624 2007-08-06  Simon Josefsson  <simon@josefsson.org>
36625
36626         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
36627
36628 2007-07-31  Bruno Haible  <bruno@clisp.org>
36629
36630         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
36631         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
36632         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
36633
36634 2007-07-31  Bruno Haible  <bruno@clisp.org>
36635
36636         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
36637         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
36638
36639 2007-07-30  Bruno Haible  <bruno@clisp.org>
36640
36641         * modules/base64 (License): Use the synonymous term "LGPLv2+".
36642         * modules/c-ctype (License): Likewise.
36643         * modules/c-strcase (License): Likewise.
36644         * modules/check-version (License): Likewise.
36645         * modules/iconv (License): Likewise.
36646         * modules/iconv_open (License): Likewise.
36647         * modules/read-file (License): Likewise.
36648         * modules/striconv (License): Likewise.
36649         * modules/strverscmp (License): Likewise.
36650         * modules/vasprintf (License): Likewise.
36651         * modules/crypto/des (License): Likewise.
36652         * modules/crypto/gc (License): Likewise.
36653         * modules/crypto/gc-arcfour (License): Likewise.
36654         * modules/crypto/gc-arctwo (License): Likewise.
36655         * modules/crypto/gc-des (License): Likewise.
36656         * modules/crypto/gc-hmac-md5 (License): Likewise.
36657         * modules/crypto/gc-hmac-sha1 (License): Likewise.
36658         * modules/crypto/gc-md2 (License): Likewise.
36659         * modules/crypto/gc-md4 (License): Likewise.
36660         * modules/crypto/gc-md5 (License): Likewise.
36661         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
36662         * modules/crypto/gc-random (License): Likewise.
36663         * modules/crypto/gc-rijndael (License): Likewise.
36664         * modules/crypto/gc-sha1 (License): Likewise.
36665         * modules/crypto/md2 (License): Likewise.
36666         * modules/crypto/md4 (License): Likewise.
36667
36668 2007-07-30  Jim Meyering  <jim@meyering.net>
36669
36670         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
36671         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
36672         it has valid stat data.  This bug would cause du not to count the
36673         sizes of inaccessible directories.
36674         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
36675         in <http://bugzilla.redhat.com/250077>.
36676
36677 2007-07-25  Peter O'Gorman  <peter@pogma.com>
36678             Bruno Haible  <bruno@clisp.org>
36679
36680         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
36681         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
36682         #include_next, gives a diagnostic about it, but reports no error in
36683         the exit code.
36684         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36685
36686 2007-07-24  Ben Pfaff  <blp@gnu.org>
36687
36688         Improve name: "count-one-bits" is better than "popcount".
36689         * MODULES.html.sh: Update name.
36690         * lib/popcount.h: Renamed lib/count-one-bits.h.
36691         (popcount): Renamed count_one_bits.
36692         (popcountl): Renamed count_one_bits_l.
36693         (popcountll): Renamed count_one_bits_ll.
36694         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
36695         * modules/popcount: Renamed module/count-one-bits.
36696         * modules/popcount-tests: Renamed module/count-one-bits-tests.
36697         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
36698
36699 2007-07-23  Ben Pfaff  <blp@gnu.org>
36700
36701         * lib/popcount.h (popcount32): Reduce size of constants, to allow
36702         better code generation, and add U to large constants to avoid
36703         warnings, in non-GCC case.
36704         Suggested by Bruno Haible.
36705
36706 2007-07-23  Ben Pfaff  <blp@gnu.org>
36707
36708         * lib/popcount.h: Use verify_true instead of if...abort.
36709         * modules/popcount: Depend on verify module.
36710         Suggested by Jim Meyering.
36711
36712 2007-07-23  Bruno Haible  <bruno@clisp.org>
36713
36714         * gnulib-tool (func_import): Create a .cvsignore file also when the
36715         directory is not yet in CVS but the toplevel directory is. When
36716         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
36717         Reported by Karl Berry.
36718
36719 2007-07-22  Ben Pfaff  <blp@gnu.org>
36720
36721         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
36722         case.
36723         Suggested by Eric Blake.
36724
36725 2007-07-22  Ben Pfaff  <blp@gnu.org>
36726
36727         New module: popcount.
36728         * MODULES.html.sh: Add popcount.
36729         * modules/popcount: New file.
36730         * modules/popcount-tests: New file.
36731         * tests/test-popcount.c: New file.
36732         * lib/popcount.h: New file.
36733         * m4/popcount.m4: New file.
36734
36735 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
36736
36737         * build-aux/announce-gen: Update to GPLv3.
36738
36739         * build-aux/config.guess: Update from config.
36740
36741 2007-07-21  Bruno Haible  <bruno@clisp.org>
36742
36743         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
36744         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
36745
36746 2007-07-20  Jim Meyering  <jim@meyering.net>
36747
36748         * check-module: Diagnose a self-dependency.
36749
36750 2007-07-19  Bruno Haible  <bruno@clisp.org>
36751
36752         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
36753         empty.
36754         Reported by Eric Blake.
36755
36756 2007-07-18  Bruno Haible  <bruno@clisp.org>
36757
36758         * gnulib-tool: New options --po-base, --po-domain.
36759         (func_usage): Document them.
36760         (pobase, po_domain): New variables.
36761         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
36762         DEFAULT_TEXT_DOMAIN.
36763         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
36764         (func_import): Consider pobase and po_domain. Create a po/ directory.
36765         (func_create_testdir): Set pobase and po_domain to empty.
36766         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
36767         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
36768
36769 2007-07-18  Bruno Haible  <bruno@clisp.org>
36770
36771         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36772         EXTRA_DIST augmentation for files in build-aux/.
36773
36774 2007-07-16  Bruno Haible  <bruno@clisp.org>
36775
36776         * modules/lseek (License): Use the synonymous term "LGPLv2+".
36777         * modules/getdelim (License): Likewise.
36778
36779 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36780
36781         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
36782         * modules/d-type (License): Likewise.
36783         * modules/extensions (License): Likewise.
36784         * modules/fnmatch (License): Likewise.
36785         * modules/fseeko (License): Likewise.
36786         * modules/getaddrinfo (License): Likewise.
36787         * modules/getline (License): Likewise.
36788         * modules/getlogin_r (License): Likewise.
36789         * modules/getpass (License): Likewise.
36790         * modules/gettimeofday (License): Likewise.
36791         * modules/glob (License): Likewise.
36792         * modules/inet_ntop (License): Likewise.
36793         * modules/malloc (License): Likewise.
36794         * modules/malloca (License): Likewise.
36795         * modules/memmem (License): Likewise.
36796         * modules/mempcpy (License): Likewise.
36797         * modules/memset (License): Likewise.
36798         * modules/minmax (License): Likewise.
36799         * modules/mktime (License): Likewise.
36800         * modules/netinet_in (License): Likewise.
36801         * modules/pathmax (License): Likewise.
36802         * modules/poll (License): Likewise.
36803         * modules/regex (License): Likewise.
36804         * modules/snprintf (License): Likewise.
36805         * modules/stdbool (License): Likewise.
36806         * modules/stdint (License): Likewise.
36807         * modules/stdio (License): Likewise.
36808         * modules/strcase (License): Likewise.
36809         * modules/strcasestr (License): Likewise.
36810         * modules/strdup (License): Likewise.
36811         * modules/string (License): Likewise.
36812         * modules/strndup (License): Likewise.
36813         * modules/strnlen (License): Likewise.
36814         * modules/strpbrk (License): Likewise.
36815         * modules/strptime (License): Likewise.
36816         * modules/strsep (License): Likewise.
36817         * modules/sys_select (License): Likewise.
36818         * modules/sys_socket (License): Likewise.
36819         * modules/sys_stat (License): Likewise.
36820         * modules/sys_time (License): Likewise.
36821         * modules/time (License): Likewise.
36822         * modules/time_r (License): Likewise.
36823         * modules/timegm (License): Likewise.
36824         * modules/unistd (License): Likewise.
36825         * modules/vsnprintf (License): Likewise.
36826         * modules/wctype (License): Likewise.
36827
36828 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36829
36830         * modules/argz (License): LGPLv2+.
36831
36832 2007-07-15  Karl Berry  <karl@gnu.org>
36833
36834         * doc/gnulib.texi: revise node structure per new fdl.texi.
36835
36836 2007-07-14  Bruno Haible  <bruno@clisp.org>
36837
36838         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
36839         the output file.
36840         * lib/uniname/uninames.h: Regenerated.
36841
36842 2007-07-14  Karl Berry  <karl@gnu.org>
36843
36844         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
36845         omitting sectioning and index commands.
36846
36847 2007-07-13  Bruno Haible  <bruno@clisp.org>
36848
36849         New gnulib-tool option --more-symlinks.
36850         * gnulib-tool (func_usage): Document --more-symlinks.
36851         (do_copyrights): New variable.
36852         Recognize option --more-symlinks.
36853         (func_import): Don't add a copyright notice transform to
36854         sed_transform_lib_file if do_copyrights is empty.
36855
36856 2007-07-13  Bruno Haible  <bruno@clisp.org>
36857
36858         * lib/vasnprintf.c (decimal_point_char): Define also if
36859         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
36860         && !NEED_PRINTF_DIRECTIVE_A.
36861         Reported by Clemens Koller <clemens.koller@anagramm.de> via
36862         Gary V. Vaughan <gary@gnu.org>.
36863
36864 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36865
36866         * lib/inttypes_.h: Undo previous change, since it was fixed
36867         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
36868
36869 2007-07-13  Bruno Haible  <bruno@clisp.org>
36870
36871         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
36872         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
36873
36874 2007-07-13  Jim Meyering  <jim@meyering.net>
36875
36876         df: Don't fail for Tru64's "file-on-file mount".
36877         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
36878         so we fall through and use statfs instead.  Details here:
36879         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
36880         Reported by Albert Chin.
36881
36882 2007-07-13  Bruno Haible  <bruno@clisp.org>
36883
36884         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
36885         * modules/configmake (License): Likewise.
36886         * modules/gettext (License): Likewise.
36887         * modules/gettext-h (License): Likewise.
36888         * modules/include_next (License): Likewise.
36889         * modules/link-warning (License): Likewise.
36890         * modules/localcharset (License): Likewise.
36891         * modules/localename (License): Likewise.
36892         * modules/lock (License): Likewise.
36893         * modules/relocatable-lib-lgpl (License): Likewise.
36894         * modules/size_max (License): Likewise.
36895         * modules/vasnprintf (License): Likewise.
36896         * modules/wchar (License): Likewise.
36897         * modules/xsize (License): Likewise.
36898
36899 2007-07-13  Bruno Haible  <bruno@clisp.org>
36900
36901         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
36902         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
36903
36904 2007-07-12  Bruno Haible  <bruno@clisp.org>
36905
36906         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
36907         in the modules files.
36908
36909 2007-07-11  Karl Berry  <karl@gnu.org>
36910
36911         * MODULES.html.sh (func_module): use
36912          sed -e '\|^'"${includefile}"'$|d'
36913          instead of /.../d, to avoid errors on $includefile's containing /.
36914
36915 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36916
36917         * gnulib-tool (func_import): Avoid duplication of --avoid
36918         statements
36919         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
36920         names to `_' in variable names.
36921
36922 2007-07-10  Eric Blake  <ebb9@byu.net>
36923
36924         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
36925         * NEWS: Document this change.
36926
36927 2007-07-08  Bruno Haible  <bruno@clisp.org>
36928
36929         Update to Unicode 5.0.
36930         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
36931         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
36932         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
36933         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
36934         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
36935         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
36936         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
36937         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
36938         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
36939         U+10A3F, U+1D242..U+1D244.
36940         (nonspacing_table_ind): Update.
36941         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
36942         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
36943
36944 2007-07-08  Bruno Haible  <bruno@clisp.org>
36945
36946         Update to Unicode 5.0.
36947         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
36948         code transform. Extend the name index field of unicode_name_to_code and
36949         unicode_code_to_name from 16 to 24 bits.
36950         * lib/uniname/uniname.c (unicode_character_name,
36951         unicode_name_character): Add the range 0x12xxx to the code transform.
36952         * lib/uniname/uninames.h: Regenerated.
36953         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
36954
36955 2007-07-07  Bruno Haible  <bruno@clisp.org>
36956
36957         * modules/wcwidth-tests: New file.
36958         * tests/test-wcwidth.c: New file.
36959
36960         Work around MacOS X wcwidth() bug.
36961         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
36962         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
36963         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
36964         original wcwidth in non-UTF-8 locales.
36965         * modules/wcwidth (Depends-on): Add localcharset, streq,
36966         uniwidth/width.
36967         * doc/functions/wcwidth.texi: Update.
36968
36969 2007-07-07  Bruno Haible  <bruno@clisp.org>
36970
36971         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
36972         (wcwidth): New declaration.
36973         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
36974         macros.
36975         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
36976         here. Prepare for creating <wchar.h> unconditionally.
36977         * modules/wchar (Depends-on): Add link-warning.
36978         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
36979         REPLACE_WCWIDTH, and GL_LINK_WARNING.
36980         * lib/wcwidth.h: Remove file.
36981         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
36982         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
36983         * modules/wcwidth (Files): Remove lib/wcwidth.h.
36984         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
36985         (Include): Replace wcwidth.h with <wchar.h>.
36986         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
36987         * lib/mbchar.h: Don't include wcwidth.h.
36988         * lib/mbswidth.c: Likewise.
36989         * NEWS: Mention the change.
36990
36991 2007-07-07  Bruno Haible  <bruno@clisp.org>
36992
36993         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
36994         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
36995         definition with an external declaration.
36996         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
36997         defined as a function. Remove AC_C_INLINE requirement.
36998         * modules/wcwidth (Files): Add lib/wcwidth.c.
36999         (Makefile.am): Remove redundant statement.
37000
37001 2007-07-07  Bruno Haible  <bruno@clisp.org>
37002
37003         * MODULES.html.sh (Unicode string functions): Add the new modules.
37004
37005         * tests/uniwidth/test-u32-strwidth.c: New file.
37006         * modules/uniwidth/u32-strwidth-tests: New file.
37007
37008         * lib/uniwidth/u32-strwidth.c: New file.
37009         * modules/uniwidth/u32-strwidth: New file.
37010
37011         * tests/uniwidth/test-u16-strwidth.c: New file.
37012         * modules/uniwidth/u16-strwidth-tests: New file.
37013
37014         * lib/uniwidth/u16-strwidth.c: New file.
37015         * modules/uniwidth/u16-strwidth: New file.
37016
37017         * tests/uniwidth/test-u8-strwidth.c: New file.
37018         * modules/uniwidth/u8-strwidth-tests: New file.
37019
37020         * lib/uniwidth/u8-strwidth.c: New file.
37021         * modules/uniwidth/u8-strwidth: New file.
37022
37023         * tests/uniwidth/test-u32-width.c: New file.
37024         * modules/uniwidth/u32-width-tests: New file.
37025
37026         * lib/uniwidth/u32-width.c: New file.
37027         * modules/uniwidth/u32-width: New file.
37028
37029         * tests/uniwidth/test-u16-width.c: New file.
37030         * modules/uniwidth/u16-width-tests: New file.
37031
37032         * lib/uniwidth/u16-width.c: New file.
37033         * modules/uniwidth/u16-width: New file.
37034
37035         * tests/uniwidth/test-u8-width.c: New file.
37036         * modules/uniwidth/u8-width-tests: New file.
37037
37038         * lib/uniwidth/u8-width.c: New file.
37039         * modules/uniwidth/u8-width: New file.
37040
37041         * tests/uniwidth/test-uc_width.c: New file.
37042         * modules/uniwidth/width-tests: New file.
37043
37044         * lib/uniwidth/width.c: New file, from GNU libiconv.
37045         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
37046         * modules/uniwidth/width: New file.
37047
37048         * lib/uniwidth.h: New file, from GNU libiconv.
37049         * modules/uniwidth/base: New file.
37050
37051 2007-07-07  Bruno Haible  <bruno@clisp.org>
37052
37053         * lib/uniname.h: New file, from GNU gettext.
37054         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
37055         * lib/uniname/uninames.h: New file, from GNU gettext.
37056         * lib/uniname/uniname.c: New file, from GNU gettext.
37057         * tests/uniname/test-uninames.sh: New file.
37058         * tests/uniname/test-uninames.c: New file, from GNU gettext.
37059         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
37060         * modules/uniname/base: New file.
37061         * modules/uniname/uniname: New file.
37062         * modules/uniname/uniname-tests: New file.
37063         * MODULES.html.sh (Unicode string functions): Add the new modules.
37064
37065 2007-07-06  Bruno Haible  <bruno@clisp.org>
37066
37067         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
37068
37069 2007-07-06  Bruno Haible  <bruno@clisp.org>
37070
37071         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
37072         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
37073         includes <cygwin/sys_time.h> which includes <sys/select.h> which
37074         include <sys/time.h>.
37075         Reported by Eric Blake.
37076
37077 2007-07-06  Eric Blake  <ebb9@byu.net>
37078
37079         Fix testing canonicalize on cygwin.
37080         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37081         Revert patch from 2007-06-19.
37082         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
37083         canonicalize module is also in use.
37084         * tests/test-canonicalize.c: New file.
37085         * tests/test-canonicalize.sh: Likewise.
37086         * modules/canonicalize-tests: Likewise.
37087
37088 2007-07-06  Jim Meyering  <jim@meyering.net>
37089
37090         * lib/getugroups.c (getugroups): Detect getgrent failure.
37091         Adjust comment to reflect reality: this function may return -1.
37092
37093 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37094
37095         * build-aux/bootstrap (TP_URL,get_translations): Update to use
37096         the new TP address.
37097         (usage): Fix typo
37098         (gnulib_mk): New variable.
37099
37100 2007-07-05  Jim Meyering  <jim@meyering.net>
37101
37102         Don't let endgrent clobber errno, no matter how improbable.
37103         * lib/getugroups.c (getugroups): Save and restore errno around
37104         endgrent call.
37105
37106         Close the group DB even when failing with 2^31 or more members.
37107         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
37108
37109 2007-07-04  Jim Meyering  <jim@meyering.net>
37110
37111         * lib/getugroups.h: New file.
37112         * lib/getugroups.c: Include "getugroups.h".
37113         Remove uses of "register" keyword.
37114         Move local variable, "cp", down into scope where used.
37115         Give "username" parameter the "const" attribute.
37116         * modules/getugroups (Files): Add lib/getugroups.h
37117
37118 2007-07-04  Karl Berry  <karl@gnu.org>
37119
37120         * MODULES.html.sh (func_all_modules): Complete rename of
37121         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
37122
37123 2007-07-02  Bruno Haible  <bruno@clisp.org>
37124
37125         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
37126         mode, when inttypes.h comes from gnulib.
37127         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37128
37129 2007-07-02  Simon Josefsson  <simon@josefsson.org>
37130
37131         * NEWS: Mention lgpl module name change.
37132
37133         * modules/lgpl-2.1: Renamed from lgpl.
37134
37135         * NEWS: Mention gpl module name change.
37136
37137         * modules/gpl-3.0: New file, based on gpl-2.0.
37138
37139         * modules/gpl-2.0: Renamed from gpl.
37140
37141         * modules/gpl: Fix filename, doc/gpl.texi is now found at
37142         doc/gpl-2.0.texi.
37143
37144 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37145
37146         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
37147         #define __STDC_LIMIT_MACROS temporarily while including
37148         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
37149         Problem reported by Joel E. Denny in
37150         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
37151
37152 2007-07-01  Bruno Haible  <bruno@clisp.org>
37153
37154         * lib/unistdio.h: New file.
37155         * lib/unistdio/u-asnprintf.h: New file.
37156         * lib/unistdio/u-asprintf.h: New file.
37157         * lib/unistdio/u-printf-args.c: New file.
37158         * lib/unistdio/u-printf-args.h: New file.
37159         * lib/unistdio/u-printf-parse.h: New file.
37160         * lib/unistdio/u-snprintf.h: New file.
37161         * lib/unistdio/u-sprintf.h: New file.
37162         * lib/unistdio/u-vasprintf.h: New file.
37163         * lib/unistdio/u-vsnprintf.h: New file.
37164         * lib/unistdio/u-vsprintf.h: New file.
37165         * lib/unistdio/ulc-asnprintf.c: New file.
37166         * lib/unistdio/ulc-asprintf.c: New file.
37167         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
37168         * lib/unistdio/ulc-printf-parse.c: New file.
37169         * lib/unistdio/ulc-snprintf.c: New file.
37170         * lib/unistdio/ulc-sprintf.c: New file.
37171         * lib/unistdio/ulc-vasnprintf.c: New file.
37172         * lib/unistdio/ulc-vasprintf.c: New file.
37173         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
37174         * lib/unistdio/ulc-vsnprintf.c: New file.
37175         * lib/unistdio/ulc-vsprintf.c: New file.
37176         * lib/unistdio/u8-asnprintf.c: New file.
37177         * lib/unistdio/u8-asprintf.c: New file.
37178         * lib/unistdio/u8-printf-parse.c: New file.
37179         * lib/unistdio/u8-snprintf.c: New file.
37180         * lib/unistdio/u8-sprintf.c: New file.
37181         * lib/unistdio/u8-vasnprintf.c: New file.
37182         * lib/unistdio/u8-vasprintf.c: New file.
37183         * lib/unistdio/u8-vsnprintf.c: New file.
37184         * lib/unistdio/u8-vsprintf.c: New file.
37185         * lib/unistdio/u8-u8-asnprintf.c: New file.
37186         * lib/unistdio/u8-u8-asprintf.c: New file.
37187         * lib/unistdio/u8-u8-snprintf.c: New file.
37188         * lib/unistdio/u8-u8-sprintf.c: New file.
37189         * lib/unistdio/u8-u8-vasnprintf.c: New file.
37190         * lib/unistdio/u8-u8-vasprintf.c: New file.
37191         * lib/unistdio/u8-u8-vsnprintf.c: New file.
37192         * lib/unistdio/u8-u8-vsprintf.c: New file.
37193         * lib/unistdio/u16-asnprintf.c: New file.
37194         * lib/unistdio/u16-asprintf.c: New file.
37195         * lib/unistdio/u16-printf-parse.c: New file.
37196         * lib/unistdio/u16-snprintf.c: New file.
37197         * lib/unistdio/u16-sprintf.c: New file.
37198         * lib/unistdio/u16-vasnprintf.c: New file.
37199         * lib/unistdio/u16-vasprintf.c: New file.
37200         * lib/unistdio/u16-vsnprintf.c: New file.
37201         * lib/unistdio/u16-vsprintf.c: New file.
37202         * lib/unistdio/u16-u16-asnprintf.c: New file.
37203         * lib/unistdio/u16-u16-asprintf.c: New file.
37204         * lib/unistdio/u16-u16-snprintf.c: New file.
37205         * lib/unistdio/u16-u16-sprintf.c: New file.
37206         * lib/unistdio/u16-u16-vasnprintf.c: New file.
37207         * lib/unistdio/u16-u16-vasprintf.c: New file.
37208         * lib/unistdio/u16-u16-vsnprintf.c: New file.
37209         * lib/unistdio/u16-u16-vsprintf.c: New file.
37210         * lib/unistdio/u32-asnprintf.c: New file.
37211         * lib/unistdio/u32-asprintf.c: New file.
37212         * lib/unistdio/u32-printf-parse.c: New file.
37213         * lib/unistdio/u32-snprintf.c: New file.
37214         * lib/unistdio/u32-sprintf.c: New file.
37215         * lib/unistdio/u32-vasnprintf.c: New file.
37216         * lib/unistdio/u32-vasprintf.c: New file.
37217         * lib/unistdio/u32-vsnprintf.c: New file.
37218         * lib/unistdio/u32-vsprintf.c: New file.
37219         * lib/unistdio/u32-u32-asnprintf.c: New file.
37220         * lib/unistdio/u32-u32-asprintf.c: New file.
37221         * lib/unistdio/u32-u32-snprintf.c: New file.
37222         * lib/unistdio/u32-u32-sprintf.c: New file.
37223         * lib/unistdio/u32-u32-vasnprintf.c: New file.
37224         * lib/unistdio/u32-u32-vasprintf.c: New file.
37225         * lib/unistdio/u32-u32-vsnprintf.c: New file.
37226         * lib/unistdio/u32-u32-vsprintf.c: New file.
37227         * tests/unistdio/test-ulc-asnprintf1.c: New file.
37228         * tests/unistdio/test-ulc-asnprintf1.h: New file.
37229         * tests/unistdio/test-ulc-printf1.h: New file.
37230         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
37231         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
37232         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
37233         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
37234         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
37235         * tests/unistdio/test-ulc-vasprintf1.c: New file.
37236         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
37237         * tests/unistdio/test-ulc-vsprintf1.c: New file.
37238         * tests/unistdio/test-u8-asnprintf1.c: New file.
37239         * tests/unistdio/test-u8-asnprintf1.h: New file.
37240         * tests/unistdio/test-u8-printf1.h: New file.
37241         * tests/unistdio/test-u8-vasnprintf1.c: New file.
37242         * tests/unistdio/test-u8-vasnprintf2.c: New file.
37243         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
37244         * tests/unistdio/test-u8-vasnprintf3.c: New file.
37245         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
37246         * tests/unistdio/test-u8-vasprintf1.c: New file.
37247         * tests/unistdio/test-u8-vsnprintf1.c: New file.
37248         * tests/unistdio/test-u8-vsprintf1.c: New file.
37249         * tests/unistdio/test-u16-asnprintf1.c: New file.
37250         * tests/unistdio/test-u16-asnprintf1.h: New file.
37251         * tests/unistdio/test-u16-printf1.h: New file.
37252         * tests/unistdio/test-u16-vasnprintf1.c: New file.
37253         * tests/unistdio/test-u16-vasnprintf2.c: New file.
37254         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
37255         * tests/unistdio/test-u16-vasnprintf3.c: New file.
37256         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
37257         * tests/unistdio/test-u16-vasprintf1.c: New file.
37258         * tests/unistdio/test-u16-vsnprintf1.c: New file.
37259         * tests/unistdio/test-u16-vsprintf1.c: New file.
37260         * tests/unistdio/test-u32-asnprintf1.c: New file.
37261         * tests/unistdio/test-u32-asnprintf1.h: New file.
37262         * tests/unistdio/test-u32-printf1.h: New file.
37263         * tests/unistdio/test-u32-vasnprintf1.c: New file.
37264         * tests/unistdio/test-u32-vasnprintf2.c: New file.
37265         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
37266         * tests/unistdio/test-u32-vasnprintf3.c: New file.
37267         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
37268         * tests/unistdio/test-u32-vasprintf1.c: New file.
37269         * tests/unistdio/test-u32-vsnprintf1.c: New file.
37270         * tests/unistdio/test-u32-vsprintf1.c: New file.
37271         * modules/unistdio/base: New file.
37272         * modules/unistdio/u-printf-args: New file.
37273         * modules/unistdio/ulc-asnprintf: New file.
37274         * modules/unistdio/ulc-asprintf: New file.
37275         * modules/unistdio/ulc-fprintf: New file.
37276         * modules/unistdio/ulc-printf-parse: New file.
37277         * modules/unistdio/ulc-snprintf: New file.
37278         * modules/unistdio/ulc-sprintf: New file.
37279         * modules/unistdio/ulc-vasnprintf: New file.
37280         * modules/unistdio/ulc-vasprintf: New file.
37281         * modules/unistdio/ulc-vfprintf: New file.
37282         * modules/unistdio/ulc-vsnprintf: New file.
37283         * modules/unistdio/ulc-vsprintf: New file.
37284         * modules/unistdio/u8-asnprintf: New file.
37285         * modules/unistdio/u8-asprintf: New file.
37286         * modules/unistdio/u8-printf-parse: New file.
37287         * modules/unistdio/u8-snprintf: New file.
37288         * modules/unistdio/u8-sprintf: New file.
37289         * modules/unistdio/u8-vasnprintf: New file.
37290         * modules/unistdio/u8-vasprintf: New file.
37291         * modules/unistdio/u8-vsnprintf: New file.
37292         * modules/unistdio/u8-vsprintf: New file.
37293         * modules/unistdio/u8-u8-asnprintf: New file.
37294         * modules/unistdio/u8-u8-asprintf: New file.
37295         * modules/unistdio/u8-u8-snprintf: New file.
37296         * modules/unistdio/u8-u8-sprintf: New file.
37297         * modules/unistdio/u8-u8-vasnprintf: New file.
37298         * modules/unistdio/u8-u8-vasprintf: New file.
37299         * modules/unistdio/u8-u8-vsnprintf: New file.
37300         * modules/unistdio/u8-u8-vsprintf: New file.
37301         * modules/unistdio/u16-asnprintf: New file.
37302         * modules/unistdio/u16-asprintf: New file.
37303         * modules/unistdio/u16-printf-parse: New file.
37304         * modules/unistdio/u16-snprintf: New file.
37305         * modules/unistdio/u16-sprintf: New file.
37306         * modules/unistdio/u16-vasnprintf: New file.
37307         * modules/unistdio/u16-vasprintf: New file.
37308         * modules/unistdio/u16-vsnprintf: New file.
37309         * modules/unistdio/u16-vsprintf: New file.
37310         * modules/unistdio/u16-u16-asnprintf: New file.
37311         * modules/unistdio/u16-u16-asprintf: New file.
37312         * modules/unistdio/u16-u16-snprintf: New file.
37313         * modules/unistdio/u16-u16-sprintf: New file.
37314         * modules/unistdio/u16-u16-vasnprintf: New file.
37315         * modules/unistdio/u16-u16-vasprintf: New file.
37316         * modules/unistdio/u16-u16-vsnprintf: New file.
37317         * modules/unistdio/u16-u16-vsprintf: New file.
37318         * modules/unistdio/u32-asnprintf: New file.
37319         * modules/unistdio/u32-asprintf: New file.
37320         * modules/unistdio/u32-printf-parse: New file.
37321         * modules/unistdio/u32-snprintf: New file.
37322         * modules/unistdio/u32-sprintf: New file.
37323         * modules/unistdio/u32-vasnprintf: New file.
37324         * modules/unistdio/u32-vasprintf: New file.
37325         * modules/unistdio/u32-vsnprintf: New file.
37326         * modules/unistdio/u32-vsprintf: New file.
37327         * modules/unistdio/u32-u32-asnprintf: New file.
37328         * modules/unistdio/u32-u32-asprintf: New file.
37329         * modules/unistdio/u32-u32-snprintf: New file.
37330         * modules/unistdio/u32-u32-sprintf: New file.
37331         * modules/unistdio/u32-u32-vasnprintf: New file.
37332         * modules/unistdio/u32-u32-vasprintf: New file.
37333         * modules/unistdio/u32-u32-vsnprintf: New file.
37334         * modules/unistdio/u32-u32-vsprintf: New file.
37335         * modules/unistdio/ulc-asnprintf-tests: New file.
37336         * modules/unistdio/ulc-vasnprintf-tests: New file.
37337         * modules/unistdio/ulc-vasprintf-tests: New file.
37338         * modules/unistdio/ulc-vsnprintf-tests: New file.
37339         * modules/unistdio/ulc-vsprintf-tests: New file.
37340         * modules/unistdio/u8-asnprintf-tests: New file.
37341         * modules/unistdio/u8-vasnprintf-tests: New file.
37342         * modules/unistdio/u8-vasprintf-tests: New file.
37343         * modules/unistdio/u8-vsnprintf-tests: New file.
37344         * modules/unistdio/u8-vsprintf-tests: New file.
37345         * modules/unistdio/u16-asnprintf-tests: New file.
37346         * modules/unistdio/u16-vasnprintf-tests: New file.
37347         * modules/unistdio/u16-vasprintf-tests: New file.
37348         * modules/unistdio/u16-vsnprintf-tests: New file.
37349         * modules/unistdio/u16-vsprintf-tests: New file.
37350         * modules/unistdio/u32-asnprintf-tests: New file.
37351         * modules/unistdio/u32-vasnprintf-tests: New file.
37352         * modules/unistdio/u32-vasprintf-tests: New file.
37353         * modules/unistdio/u32-vsnprintf-tests: New file.
37354         * modules/unistdio/u32-vsprintf-tests: New file.
37355         * MODULES.html.sh (Unicode string functions): Add the new modules.
37356
37357 2007-07-01  Bruno Haible  <bruno@clisp.org>
37358
37359         * lib/sprintf.c (sprintf): Limit the available length estimation,
37360         to avoid address wraparound.
37361         * lib/vsprintf.c (vsprintf): Likewise.
37362         * modules/sprintf-posix (Dependencies): Add stdint.
37363         * modules/vsprintf-posix (Dependencies): Likewise.
37364
37365 2007-07-01  Bruno Haible  <bruno@clisp.org>
37366
37367         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
37368         Windows PATH as well. Conservative double-quoting. Comments.
37369
37370 2007-07-01  Bruno Haible  <bruno@clisp.org>
37371             Eric Blake  <ebb9@byu.net>
37372             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37373
37374         * gnulib-tool (self_abspathname): Fix algorithm to cope with
37375         empty components in $PATH, denoting '.'.
37376
37377 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37378
37379         * gnulib-tool: Fix indentation.
37380         (func_create_megatestdir): Likewise.
37381         Report by Bruno Haible.
37382
37383 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37384
37385         Sync from Automake.
37386         * build-aux/gnupload: Fix shell portability issues with for loops.
37387         Report by Karl Berry.
37388
37389 2007-06-29  Simon Josefsson  <simon@josefsson.org>
37390
37391         * build-aux/maint.mk (POURL): Use translationproject.org.
37392
37393 2007-06-27  Simon Josefsson  <simon@josefsson.org>
37394             Bruno Haible  <bruno@clisp.org>
37395
37396         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
37397         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
37398         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
37399         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
37400         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
37401
37402 2007-06-27  Bruno Haible  <bruno@clisp.org>
37403
37404         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
37405         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
37406
37407 2007-06-26  Karl Berry  <karl@gnu.org>
37408
37409         * MODULES.html.sh: remove xreadlink-with-size.
37410
37411 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37412
37413         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
37414         method that I hope also handles the double-include problem noted
37415         by Bruno Haible in
37416         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
37417
37418 2007-06-23  Bruno Haible  <bruno@clisp.org>
37419
37420         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37421         Don't let the 'mostlyclean' target fail if the last subdirectory could
37422         not be removed.
37423         Reported by Karl Berry.
37424
37425 2007-06-23  Bruno Haible  <bruno@clisp.org>
37426
37427         * gnulib-tool (echo): Add a speedier workaround for ksh.
37428         * tests/test-echo.sh: Likewise.
37429
37430 2007-06-23  Bruno Haible  <bruno@clisp.org>
37431
37432         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
37433         * tests/test-echo.sh: Likewise.
37434
37435 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37436
37437         * gnulib-tool (IFS): Initialize early, so we don't set it to
37438         empty later.
37439         (self_abspathname): Rewrite algorithm to set it, reindent.
37440         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
37441         (func_create_megatestdir): Merge some sed scripts.
37442
37443 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37444
37445         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
37446         exposed by Sun Studio 11 cc on Solaris 8.
37447
37448 2007-06-22  Bruno Haible  <bruno@clisp.org>
37449
37450         * gnulib-tool (echo): Ensure the echo primitive does not interpret
37451         backslashes.
37452         * tests/test-echo.sh: New file.
37453
37454 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37455
37456         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
37457         simplify `sed_replace_build_aux' scripts, they are portable but
37458         echoing them with `echo' is not.
37459         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
37460
37461 2007-06-21  Karl Berry  <karl@gnu.org>
37462
37463         * config/srclist.txt: guess we can't handle the licenses via
37464         srclist at the moment.
37465
37466 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37467
37468         * MODULES.html.sh: Add include_next.
37469         * modules/include_next: New file.
37470
37471 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37472
37473         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
37474         INCLUDE_NEXT.
37475         (gl_CHECK_NEXT_HEADERS): New macro.
37476         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
37477         the obsolescent gl_ABSOLUTE_HEADER.
37478         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
37479         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
37480         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37481         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37482         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37483         * m4/math_h.m4 (gl_MATH_H): Likewise.
37484         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37485         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37486         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37487         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37488         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37489         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37490         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37491         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37492         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37493         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37494         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37495         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37496         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
37497         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37498         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37499         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37500         * m4/inttypes.m4 (gl_INTTYPES_H): Define
37501         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
37502         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
37503         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
37504         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
37505         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
37506         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
37507         * lib/float_.h: Likewise.
37508         * lib/inttypes_.h: Likewise.
37509         * lib/math_.h: Likewise.
37510         * lib/search_.h: Likewise.
37511         * lib/signal_.h: Likewise.
37512         * lib/stdint_.h: Likewise.
37513         * lib/stdio_.h: Likewise.
37514         * lib/stdlib_.h: Likewise.
37515         * lib/string_.h: Likewise.
37516         * lib/sys_stat_.h: Likewise.
37517         * lib/sys_time_.h: Likewise.
37518         * lib/time_.h: Likewise.
37519         * lib/unistd_.h: Likewise.
37520         * lib/wchar_.h: Likewise.
37521         * lib/wctype_.h: Likewise.
37522         * lib/dirent_.h: Likewise.
37523         * lib/iconv_.h: Likewise.
37524         * lib/locale_.h: Likewise.
37525         * lib/netinet_in_.h: Likewise.
37526         * lib/sys_select_.h: Likewise.
37527         * lib/sys_socket_.h: Likewise.
37528         * lib/sysexits_.h: Likewise.
37529         * modules/fcntl (Depends-on): Depend on include_next, not
37530         absolute_header.
37531         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
37532         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
37533         * modules/fchdir: Likewise.
37534         * modules/float: Likewise.
37535         * modules/iconv_open: Likewise.
37536         * modules/inttypes: Likewise.
37537         * modules/locale: Likewise.
37538         * modules/math: Likewise.
37539         * modules/netinet_in: Likewise.
37540         * modules/search: Likewise.
37541         * modules/signal: Likewise.
37542         * modules/stdint: Likewise.
37543         * modules/stdio: Likewise.
37544         * modules/stdlib: Likewise.
37545         * modules/string: Likewise.
37546         * modules/sys_select: Likewise.
37547         * modules/sys_socket: Likewise.
37548         * modules/sys_stat: Likewise.
37549         * modules/sys_time: Likewise.
37550         * modules/sysexits: Likewise.
37551         * modules/time: Likewise.
37552         * modules/unistd: Likewise.
37553         * modules/wchar: Likewise.
37554         * modules/wctype: Likewise.
37555         * modules/sys_stat: Change maintainer to "all".
37556         * modules/unistd: Likewise.
37557
37558 2007-06-20  Karl Berry  <karl@gnu.org>
37559
37560         * config/srclist.txt: track www changes in license files.
37561
37562 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
37563
37564         * build-aux/bootstrap: Remove stray dot.
37565         Make sure build_aux settings are honored when linking
37566         gnulib_extra_files.
37567
37568 2007-06-19  Eric Blake  <ebb9@byu.net>
37569
37570         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37571         Allow compilation on cygwin.
37572
37573 2007-06-19  Jim Meyering  <jim@meyering.net>
37574
37575         xreadlink-with-size: Remove module.  No longer used.
37576         Ex-callers now use xreadlink or mreadlink-with-size.
37577         * modules/xreadlink-with-size: Remove module.
37578         * lib/xreadlink-with-size.c: Remove file.
37579         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
37580         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
37581         just before the function definition *is* accurate.
37582
37583         Eliminate one way canonicalize_filename_mode could exit.
37584         * lib/canonicalize.c (canonicalize_filename_mode):
37585         Use mreadlink_with_size, not xreadlink_with_size.
37586
37587 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37588
37589         Detect porting problems to FreeBSD/arm, which has time_t wider than
37590         long int.  Original problem reported for GNU diff by Xin Li in
37591         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
37592         * modules/getdate (Depends-on): Add intprops, verify.
37593         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
37594         is an integer type no wider than long int.
37595
37596 2007-06-18  Jim Meyering  <jim@meyering.net>
37597
37598         New module: mreadlink-with-size.
37599         * MODULES.html.sh: Add mreadlink-with-size.
37600         * modules/mreadlink-with-size: New module
37601         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
37602         not xreadlink-with-size.
37603         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
37604
37605 2007-06-16  Bruno Haible  <bruno@clisp.org>
37606
37607         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
37608         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
37609         Reported by Gary V. Vaughan <gary@gnu.org>.
37610
37611 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37612
37613         Revamp lchown so that it lives in unistd.h where it belongs.
37614         * lib/lchown.h: Remove.
37615         * lib/dirchownmod.c: Don't include lib/lchown.h.
37616         * lib/fchownat.c: Likewise.
37617         * lib/openat.c: Likewise.
37618         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
37619         does not follow symlinks.
37620         (EOPNOTSUPP): Define if not defined.
37621         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
37622         is defined to 0.
37623         (lchown): New decl.
37624         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
37625         Do not check for lchown decl.
37626         Set REPLACE_LCHOWN.
37627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
37628         REPLACE_LCHOWN.
37629         * modules/chown: Make it clear it follows symlinks.
37630         * modules/lchown: Make it clear it doesn't follow symlinks.
37631         (Files): Remove lib/lchown.h
37632         (Depends-on): Add unistd.
37633         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
37634         (Include): Include <unistd.h>, not "lchown.h".
37635         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
37636         REPLACE_LCHOWN.
37637
37638 2007-06-15  Jim Meyering  <jim@meyering.net>
37639
37640         Change license (GPL to LGPL) of fsusage and dependents.
37641         * modules/fsusage (License): Change to LGPL.
37642         * modules/full-read (License): Likewise.
37643         * modules/full-write (License): Likewise.
37644         * modules/safe-read (License): Likewise.
37645         * modules/safe-write (License): Likewise.
37646
37647 2007-06-14  Ben Pfaff  <blp@gnu.org>
37648
37649         Missing part of allocsa -> malloca transition.
37650         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
37651         gl_MALLOCA.
37652
37653 2007-06-12  Bruno Haible  <bruno@clisp.org>
37654
37655         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
37656         to ia64, x86_64, i386.
37657         Reported by Eric Blake.
37658
37659 2007-06-12  Bruno Haible  <bruno@clisp.org>
37660
37661         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
37662         cross-compiling to x86_64.
37663
37664 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37665
37666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
37667         glitch reported by Ralf Wildenhues in
37668         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
37669
37670         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
37671         Vin Shelton.
37672
37673 2007-06-11  Bruno Haible  <bruno@clisp.org>
37674
37675         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
37676         replacement string.
37677         Reported by Eric Blake.
37678
37679 2007-06-10  Bruno Haible  <bruno@clisp.org>
37680
37681         Prepare vasnprintf code for use with Unicode strings.
37682         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
37683         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
37684         TYPE_U32_STRING.
37685         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
37686         a_u32_string variants.
37687         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37688         * lib/printf-args.c: Don't include config.h and the specification
37689         header if PRINTF_FETCHARGS is already defined.
37690         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37691         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
37692         TYPE_U16_STRING, TYPE_U32_STRING.
37693         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
37694         u16_directive, u16_directives, u32_directive, u32_directives): New
37695         types.
37696         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
37697         New declarations.
37698         * lib/printf-parse.c: Don't include config.h and the specification
37699         header if PRINTF_PARSE is already defined. Eliminate the set of
37700         parameters for WIDE_CHAR_VERSION; the user of this file must provide
37701         them now. Include c-ctype.h.
37702         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
37703         directive and CHAR_T_ONLY_ASCII.
37704         * lib/vasnprintf.c: Don't include config.h and the specification header
37705         if VASNPRINTF is already defined.
37706         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
37707         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
37708         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
37709         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
37710         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
37711         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
37712         code accordingly.
37713         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
37714         pad_ourselves also in this case, with the 'c' and 's' directives, and
37715         with a different notion of "width".
37716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
37717
37718 2007-06-10  Bruno Haible  <bruno@clisp.org>
37719
37720         * modules/unistr/u32-mbsnlen: New file.
37721         * lib/unistr/u32-mbsnlen.c: New file.
37722
37723         * modules/unistr/u16-mbsnlen: New file.
37724         * lib/unistr/u16-mbsnlen.c: New file.
37725
37726         * modules/unistr/u8-mbsnlen: New file.
37727         * lib/unistr/u8-mbsnlen.c: New file.
37728
37729         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
37730         declarations.
37731
37732 2007-06-10  Bruno Haible  <bruno@clisp.org>
37733
37734         * lib/string_.h (mbsnlen): New declaration.
37735         * lib/mbsnlen.c: New file.
37736         * m4/mbsnlen.m4: New file.
37737         * modules/mbsnlen: New file.
37738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
37739         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
37740         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
37741
37742 2007-06-10  Bruno Haible  <bruno@clisp.org>
37743
37744         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
37745
37746 2007-06-10  Bruno Haible  <bruno@clisp.org>
37747
37748         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
37749         * lib/mbuiter.h: Likewise.
37750
37751 2007-06-10  Bruno Haible  <bruno@clisp.org>
37752
37753         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
37754         declaration.
37755
37756 2007-06-10  Karl Berry  <karl@gnu.org>
37757
37758         * config/srclist.txt: remove gettext entries, Bruno prefers
37759         to update individually.
37760
37761 2007-06-10  Bruno Haible  <bruno@clisp.org>
37762
37763         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
37764         'maxlen'. Ensure only length + width bytes are allocated, not
37765         length + 1 + width.
37766
37767 2007-06-09  Bruno Haible  <bruno@clisp.org>
37768
37769         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
37770         (CHAR_T): Remove macro.
37771         (VASNPRINTF): Update.
37772
37773 2007-06-09  Bruno Haible  <bruno@clisp.org>
37774
37775         * MODULES.html.sh (Unicode string functions): Add the new modules.
37776
37777         * modules/uniconv/u32-conv-to-enc: New file.
37778         * lib/uniconv/u32-conv-to-enc.c: New file.
37779         * modules/uniconv/u32-conv-to-enc-tests: New file.
37780         * tests/uniconv/test-u32-conv-to-enc.c: New file.
37781
37782         * modules/uniconv/u16-conv-to-enc: New file.
37783         * lib/uniconv/u16-conv-to-enc.c: New file.
37784         * lib/uniconv/u-conv-to-enc.h: New file.
37785         * modules/uniconv/u16-conv-to-enc-tests: New file.
37786         * tests/uniconv/test-u16-conv-to-enc.c: New file.
37787
37788         * modules/uniconv/u8-conv-to-enc: New file.
37789         * lib/uniconv/u8-conv-to-enc.c: New file.
37790         * modules/uniconv/u8-conv-to-enc-tests: New file.
37791         * tests/uniconv/test-u8-conv-to-enc.c: New file.
37792
37793         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
37794         u32_conv_to_encoding): New declarations.
37795
37796 2007-06-09  Bruno Haible  <bruno@clisp.org>
37797
37798         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
37799
37800 2007-06-09  Bruno Haible  <bruno@clisp.org>
37801
37802         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
37803         * modules/malloca: Renamed from modules/allocsa, updated.
37804         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
37805         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
37806         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
37807         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
37808         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
37809         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
37810         * modules/xmalloca: Renamed from modules/xallocsa, updated.
37811         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
37812         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
37813         * modules/c-strcasestr (Depends-on): Update.
37814         * lib/c-strcasestr.c: Update.
37815         * modules/c-strstr (Depends-on): Update.
37816         * lib/c-strstr.c: Update.
37817         * modules/canonicalize-lgpl (Depends-on): Update.
37818         * lib/canonicalize-lgpl.c: Update.
37819         * modules/clean-temp (Depends-on): Update.
37820         * lib/clean-temp.c: Update.
37821         * modules/csharpcomp (Depends-on): Update.
37822         * lib/csharpcomp.c: Update.
37823         * modules/csharpexec (Depends-on): Update.
37824         * lib/csharpexec.c: Update.
37825         * modules/javacomp (Depends-on): Update.
37826         * lib/javacomp.c: Update.
37827         * modules/javaexec (Depends-on): Update.
37828         * lib/javaexec.c: Update.
37829         * modules/mbscasestr (Depends-on): Update.
37830         * lib/mbscasestr.c: Update.
37831         * modules/mbsstr (Depends-on): Update.
37832         * lib/mbsstr.c: Update.
37833         * modules/setenv (Depends-on): Update.
37834         * lib/setenv.c: Update.
37835         * modules/strcasestr (Depends-on): Update.
37836         * lib/strcasestr.c: Update.
37837         * modules/striconveha (Depends-on): Update.
37838         * lib/striconveha.c: Update.
37839         * modules/relocatable-prog-wrapper (Files): Update.
37840         * lib/relocwrapper.c: Update.
37841         * build-aux/install-reloc: Update.
37842         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
37843
37844 2007-06-08  Bruno Haible  <bruno@clisp.org>
37845
37846         Port to uClibc.
37847         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
37848         * lib/fpurge.c (fpurge): Likewise.
37849         * lib/freading.c (freading): Likewise.
37850         * lib/fseeko.c (rpl_fseeko): Likewise.
37851         * lib/fseterr.c (fseterr): Likewise.
37852         * lib/fwriting.c (fwriting): Likewise.
37853         * tests/test-fflush.c (main): Avoid a failure on uClibc.
37854
37855 2007-06-08  Bruno Haible  <bruno@clisp.org>
37856
37857         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
37858         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
37859         * modules/gettext (Files): Add m4/intlmacosx.m4.
37860
37861 2007-06-07  Bruno Haible  <bruno@clisp.org>
37862
37863         * modules/localename-tests: New file.
37864         * tests/test-localename.c: New file.
37865
37866         New module 'localename'.
37867         * lib/localename.h: New file.
37868         * lib/localename.c: New file, from GNU gettext.
37869         * m4/localename.m4: New file.
37870         * modules/localename: New file.
37871
37872 2007-06-07  Bruno Haible  <bruno@clisp.org>
37873
37874         Work around the lack of <wchar.h> on some builds of uClibc.
37875         * doc/headers/wchar.texi: Update.
37876         * lib/wchar_.h: Include <wchar.h> only if it exists.
37877         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
37878         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
37879         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
37880         doesn't exist.
37881         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
37882         * modules/mbfile (Depends-on): Add wchar.
37883         * modules/mbiter (Depends-on): Likewise.
37884         * modules/mbuiter (Depends-on): Likewise.
37885         Reported by Simon Josefsson.
37886
37887 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
37888
37889         Work around problem reported by Steven M. Schweda in
37890         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
37891         Tru64 5.1B with the Compaq compiler environment installed declares
37892         an 'isblank' function but does not define it in the C library.
37893         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
37894         * lib/regex_internal.h (isblank): Likewise.
37895         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
37896         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37897
37898 2007-06-05  Bruno Haible  <bruno@clisp.org>
37899
37900         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
37901         ia64.
37902         * modules/printf-safe: New file.
37903         * modules/fprintf-posix (Depends-on): Add printf-safe.
37904         * modules/printf-posix (Depends-on): Likewise.
37905         * modules/snprintf-posix (Depends-on): Likewise.
37906         * modules/sprintf-posix (Depends-on): Likewise.
37907         * modules/vasnprintf-posix (Depends-on): Likewise.
37908         * modules/vasprintf-posix (Depends-on): Likewise.
37909         * modules/vfprintf-posix (Depends-on): Likewise.
37910         * modules/vprintf-posix (Depends-on): Likewise.
37911         * modules/vsnprintf-posix (Depends-on): Likewise.
37912         * modules/vsprintf-posix (Depends-on): Likewise.
37913         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
37914         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
37915         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
37916         "no" on i386, x86_64, ia64.
37917         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
37918         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37919         on i386, x86_64, ia64.
37920         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
37921         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37922         on i386, x86_64, ia64.
37923         * tests/test-vasnprintf-posix.c: Include float.h.
37924         (LDBL80_WORDS): New macro.
37925         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37926         on i386, x86_64, ia64.
37927         * tests/test-vasprintf-posix.c: Include float.h.
37928         (LDBL80_WORDS): New macro.
37929         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37930         on i386, x86_64, ia64.
37931         * tests/test-snprintf-posix.c: Include float.h.
37932         * tests/test-sprintf-posix.c: Likewise.
37933         * tests/test-vsnprintf-posix.c: Likewise.
37934         * tests/test-vsprintf-posix.c: Likewise.
37935
37936 2007-06-05  Bruno Haible  <bruno@clisp.org>
37937
37938         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
37939         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
37940         non-IEEE numbers on i386, x86_64, ia64.
37941         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
37942         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
37943         * tests/test-isnanl.h: Include float.h.
37944         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
37945
37946 2007-06-05  Bruno Haible  <bruno@clisp.org>
37947
37948         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
37949         also the %a / %A. Handle the %a / %A code before this extra handling.
37950
37951 2007-06-05  Bruno Haible  <bruno@clisp.org>
37952
37953         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
37954         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
37955
37956 2007-06-05  Bruno Haible  <bruno@clisp.org>
37957
37958         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
37959         typo in variable name.
37960
37961 2007-06-05  Eric Blake  <ebb9@byu.net>
37962
37963         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
37964         Reported by Simon Josefsson.
37965
37966 2007-06-04  Bruno Haible  <bruno@clisp.org>
37967
37968         Avoid test failures on some PowerPC platforms.
37969         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
37970         Define differently for PowerPC.
37971         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
37972         Reported by Gary V. Vaughan <gary@gnu.org>.
37973
37974 2007-06-02  Bruno Haible  <bruno@clisp.org>
37975
37976         Fix test-stdint failure on FreeBSD/ia64.
37977         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
37978         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
37979         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
37980         * doc/headers/stdint.texi: Update.
37981
37982 2007-06-01  Bruno Haible  <bruno@clisp.org>
37983
37984         * tests/test-binary-io.c (main): Pass a third argument to open().
37985         Reported by Gary V. Vaughan <gary@gnu.org>.
37986
37987 2007-06-01  Bruno Haible  <bruno@clisp.org>
37988
37989         * doc/functions/frexpl.texi: Update for mingw.
37990
37991 2007-06-01  Bruno Haible  <bruno@clisp.org>
37992
37993         * tests/test-lseek.c (main): Disable test of errno for invalid third
37994         argument.
37995         * doc/functions/lseek.texi: Update.
37996         Reported by Gary V. Vaughan <gary@gnu.org>.
37997
37998 2007-05-28  Bruno Haible  <bruno@clisp.org>
37999
38000         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
38001
38002 2007-05-31  Eric Blake  <ebb9@byu.net>
38003
38004         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
38005         cross compiling.
38006
38007 2007-05-30  Eric Blake  <ebb9@byu.net>
38008         and Bruno Haible  <bruno@clisp.org>
38009
38010         Work around mingw test failures exposed by m4-1.4.9b.
38011         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
38012         * tests/test-unistd.c: Disable uid_t and git_t tests for the
38013         moment.
38014
38015 2007-05-30  Bruno Haible  <bruno@clisp.org>
38016
38017         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
38018         assuming that they are closed. Needed on HP-UX 11.
38019
38020 2007-05-29  Bruno Haible  <bruno@clisp.org>
38021
38022         Fix a problem with #include_next.
38023         * lib/dirent_.h: Split the double-inclusion guard.
38024         * lib/fcntl_.h: Likewise.
38025         * lib/float_.h: Likewise.
38026         * lib/iconv_.h: Likewise.
38027         * lib/inttypes_.h: Likewise.
38028         * lib/locale_.h: Likewise.
38029         * lib/math_.h: Likewise.
38030         * lib/netinet_in_.h: Likewise.
38031         * lib/search_.h: Likewise.
38032         * lib/signal_.h: Likewise.
38033         * lib/stdint_.h: Likewise.
38034         * lib/stdio_.h: Likewise.
38035         * lib/stdlib_.h: Likewise.
38036         * lib/string_.h: Likewise.
38037         * lib/sys_select_.h: Likewise.
38038         * lib/sys_socket_.h: Likewise.
38039         * lib/sys_stat_.h: Likewise.
38040         * lib/sys_time_.h: Likewise.
38041         * lib/sysexits_.h: Likewise.
38042         * lib/time_.h: Likewise.
38043         * lib/unistd_.h: Likewise.
38044         * lib/wchar_.h: Likewise.
38045         * lib/wctype_.h: Likewise.
38046
38047 2007-05-29  Bruno Haible  <bruno@clisp.org>
38048
38049         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
38050         for the moment.
38051
38052 2007-05-29  Bruno Haible  <bruno@clisp.org>
38053
38054         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
38055         invocation.
38056         Reported by Eric Blake.
38057
38058 2007-05-29  Bruno Haible  <bruno@clisp.org>
38059
38060         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
38061         compiling case.
38062
38063 2007-05-29  Eric Blake  <ebb9@byu.net>
38064             Bruno Haible  <bruno@clisp.org>
38065
38066         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
38067         cross compiles.
38068
38069 2007-05-28  Eric Blake  <ebb9@byu.net>
38070
38071         * modules/closein-tests (test_closein_LDADD): Support test on
38072         cygwin with libtool.
38073
38074 2007-05-28  Bruno Haible  <bruno@clisp.org>
38075
38076         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
38077         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38078         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38079         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38080         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38081         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38082         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38083         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38084         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38085
38086 2007-05-28  Eric Blake  <ebb9@byu.net>
38087
38088         Unconditionally include <config.h> in unit tests.
38089         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
38090         * tests/test-allocsa.c, tests/test-arcfour.c,
38091         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
38092         tests/test-array_list.c, tests/test-array_oset.c,
38093         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
38094         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
38095         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
38096         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
38097         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
38098         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
38099         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
38100         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
38101         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
38102         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
38103         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
38104         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
38105         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
38106         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
38107         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
38108         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
38109         test-md5.c, test-memmem.c, test-printf-posix.c,
38110         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
38111         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
38112         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
38113         test-strcasestr.c, test-striconv.c, test-striconveh.c,
38114         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
38115         test-vasnprintf-posix2.c, test-vasnprintf.c,
38116         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
38117         test-vfprintf-posix.c, test-vprintf-posix.c,
38118         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
38119         test-xvasprintf.c: Likewise.
38120
38121 2007-05-28  Bruno Haible  <bruno@clisp.org>
38122
38123         * gnulib-tool (func_import): Remember the --with-tests command-line
38124         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
38125         Reported by Eric Blake.
38126
38127 2007-05-28  Bruno Haible  <bruno@clisp.org>
38128
38129         * modules/ftell-tests: New file.
38130         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
38131         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
38132
38133         * lib/ftell.c: New file.
38134         * modules/ftell: New file.
38135         * m4/ftell.m4: New file.
38136         * doc/functions/ftell.texi: Update.
38137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
38138         REPLACE_FTELL.
38139         * lib/stdio_.h (rpl_ftell): New declaration.
38140         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
38141         REPLACE_FTELL.
38142
38143 2007-05-28  Eric Blake  <ebb9@byu.net>
38144
38145         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
38146
38147 2007-05-28  Bruno Haible  <bruno@clisp.org>
38148
38149         * modules/fseek-tests: New file.
38150         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
38151         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
38152
38153         * lib/fseek.c: New file.
38154         * modules/fseek: New file.
38155         * m4/fseek.m4: New file.
38156         * doc/functions/fseek.texi: Update.
38157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
38158         REPLACE_FSEEK.
38159         * lib/stdio_.h (rpl_fseek): New declaration.
38160         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
38161         REPLACE_FSEEK.
38162
38163 2007-05-28  Bruno Haible  <bruno@clisp.org>
38164
38165         * lib/stdio_.h (fflush): More comments.
38166
38167 2007-05-28  Bruno Haible  <bruno@clisp.org>
38168
38169         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
38170         runtime test.
38171
38172 2007-05-28  Eric Blake  <ebb9@byu.net>
38173
38174         Improve lseek module.
38175         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
38176         * lib/unistd_.h (lseek): Scale back link warning message.
38177         * tests/test-lseek.c: Beef up test.
38178         * tests/test-lseek.sh: Exercise more facets of lseek.
38179         Reported by Bruno Haible.
38180
38181 2007-05-28  Bruno Haible  <bruno@clisp.org>
38182
38183         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
38184         to define.
38185
38186 2007-05-27  Bruno Haible  <bruno@clisp.org>
38187
38188         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
38189
38190 2007-05-27  Bruno Haible  <bruno@clisp.org>
38191
38192         * modules/openmp: New file.
38193         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
38194         Noah Misch.
38195
38196 2007-05-26  Bruno Haible  <bruno@clisp.org>
38197
38198         * modules/chdir-long (Depends-on): Add fchdir.
38199         * modules/chdir-safer (Depends-on): Likewise.
38200         * modules/fts (Depends-on): Likewise.
38201         * modules/fts-lgpl (Depends-on): Likewise.
38202         * modules/openat (Depends-on): Likewise.
38203         * modules/savewd (Depends-on): Likewise.
38204
38205 2007-05-24  Eric Blake  <ebb9@byu.net>
38206
38207         Fix lseek on mingw.
38208         * modules/lseek: New module.
38209         * m4/lseek.m4: New file.
38210         * lib/lseek.c: New file.
38211         * modules/lseek-tests: New file.
38212         * tests/test-lseek.c: New file.
38213         * tests/test-lseek.sh: New file.
38214         * MODULES.html.sh: Document lseek module.
38215         * modules/fflush (Depends-on): Add lseek, fseeko.
38216         * modules/fseeko (Depends-on): Likewise.
38217         * modules/ftello (Depends-on): Likewise.
38218         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
38219         broken.
38220         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
38221         broken.
38222         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
38223         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
38224         * lib/ftello.c (rpl_ftello): Likewise.
38225         * tests/test-fseeko.c (main): Test this.
38226         * tests/test-fseeko.sh: Likewise.
38227         * tests/test-ftello.c (main): Likewise.
38228         * tests/test-ftello.sh: Likewise.
38229         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
38230         implies replacing fseek.
38231         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
38232         HAVE_FTELLO.
38233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
38234         * modules/unistd (Makefile.am): Likewise.
38235         * lib/unistd_.h (lseek): Declare a replacement.
38236         * doc/functions/lseek.texi (lseek): Document this fix.
38237         * doc/functions/fseek.texi (fseek): Likewise.
38238         * doc/functions/ftell.texi (ftell): Likewise.
38239
38240 2007-05-24  Bruno Haible  <bruno@clisp.org>
38241
38242         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
38243         in the printed representation of a NaN.
38244         * tests/test-vasprintf-posix.c (test_function): Likewise.
38245         * tests/test-snprintf-posix.h (test_function): Likewise.
38246         * tests/test-sprintf-posix.h (test_function): Likewise.
38247         Reported by Eric Blake.
38248
38249 2007-05-23  Eric Blake  <ebb9@byu.net>
38250
38251         Fix fseeko/ftello on cygwin 1.5.24.
38252         * doc/functions/fseeko.texi (fseeko): Document the fix.
38253         * doc/functions/ftello.texi (ftello): Document the fix.
38254         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
38255         * doc/functions/stdout.text (stdout): New file.
38256         * doc/functions/stderr.text (stderr): New file.
38257         * doc/gnulib.texi (Function Substitutes): Use new files.
38258         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
38259         prior to 1.7.0.
38260         * tests/test-ftello.c (main): Likewise for ftello.
38261         * tests/test-fseeko.sh: New file.
38262         * tests/test-ftello.sh: New file.
38263         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
38264         with seekable stdin.
38265         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
38266         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
38267         (gl_REPLACE_FSEEKO): New macro.
38268         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
38269         * modules/fseeko (Files): Distribute fseeko.c.
38270         * modules/ftello (Files): Distribute ftello.c.
38271         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
38272         mode.
38273         * lib/ftello.c (rpl_ftello): New file.
38274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
38275         fseeko, ftello.
38276         (gl_STDIN_LARGE_OFFSET): New macro.
38277         * modules/stdio (Makefile.am): Perform the replacement.
38278         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
38279
38280 2007-05-23  Bruno Haible  <bruno@clisp.org>
38281
38282         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
38283         GNULIB_POSIXCHECK is defined.
38284
38285 2007-05-21  Bruno Haible  <bruno@clisp.org>
38286
38287         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
38288         Check also the output for NaN arguments. When cross-compiling, guess
38289         no on IRIX.
38290         * lib/vasnprintf.c: Update comments.
38291         * tests/test-vasnprintf-posix.c (strisnan): New function.
38292         (test_function): Use it.
38293         * tests/test-vasprintf-posix.c (strisnan): New function.
38294         (test_function): Use it.
38295         * tests/test-snprintf-posix.h (strisnan): New function.
38296         (test_function): Use it.
38297         * tests/test-sprintf-posix.h (strisnan): New function.
38298         (test_function): Use it.
38299         Reported by Eric Blake.
38300
38301 2007-05-20  Bruno Haible  <bruno@clisp.org>
38302
38303         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
38304         numbers that fails on BeOS.
38305         * doc/functions/frexpl.texi: Update.
38306
38307 2007-05-20  Jim Meyering  <jim@meyering.net>
38308
38309         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
38310         forced upon us by glibc-2.6.
38311
38312 2007-05-20  Bruno Haible  <bruno@clisp.org>
38313
38314         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
38315         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
38316         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
38317         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
38318         NEED_PRINTF_INFINITE.
38319         (is_infinitel): New function.
38320         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
38321         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
38322         gl_PREREQ_VASNPRINTF_INFINITE.
38323         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
38324         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38325         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
38326         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
38327         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
38328         gl_PREREQ_VASNPRINTF_INFINITE.
38329         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38330         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38331         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38332         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38333         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38334         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38335         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38336         * doc/functions/fprintf.texi: Update.
38337         * doc/functions/printf.texi: Update.
38338         * doc/functions/snprintf.texi: Update.
38339         * doc/functions/sprintf.texi: Update.
38340         * doc/functions/vfprintf.texi: Update.
38341         * doc/functions/vprintf.texi: Update.
38342         * doc/functions/vsnprintf.texi: Update.
38343         * doc/functions/vsprintf.texi: Update.
38344
38345 2007-05-20  Bruno Haible  <bruno@clisp.org>
38346
38347         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
38348         was not found in libc.
38349         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
38350
38351 2007-05-20  Bruno Haible  <bruno@clisp.org>
38352
38353         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38354         printed as "-nan" instead of "nan".
38355         * tests/test-vasprintf-posix.c (test_function): Likewise.
38356         * tests/test-snprintf-posix.h (test_function): Likewise.
38357         * tests/test-sprintf-posix.h (test_function): Likewise.
38358         Needed for HP-UX 11.
38359
38360 2007-05-20  Jim Meyering  <jim@meyering.net>
38361
38362         Fix buggy test for the fchownat-deref bug.
38363         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
38364         symlink required for the run-test.  Without it, this test would
38365         always declare that fchownat doesn't work, and client code would
38366         unnecessarily use the replacement function with fixed libc.
38367         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
38368         Reported by Greg Schafer.
38369
38370 2007-05-19  Bruno Haible  <bruno@clisp.org>
38371
38372         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
38373         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
38374         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
38375         Needed for IRIX 6.5 and Solaris 2.5.1.
38376
38377 2007-05-19  Bruno Haible  <bruno@clisp.org>
38378
38379         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
38380         (test_function): Skip tests involving -0.0 on platforms where
38381         -0.0 = 0.0.
38382         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
38383         (test_function): Skip tests involving -0.0 on platforms where
38384         -0.0 = 0.0.
38385         * tests/test-snprintf-posix.h (have_minus_zero): New function.
38386         (test_function): Skip tests involving -0.0 on platforms where
38387         -0.0 = 0.0.
38388         * tests/test-sprintf-posix.h (have_minus_zero): New function.
38389         (test_function): Skip tests involving -0.0 on platforms where
38390         -0.0 = 0.0.
38391         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
38392         tests.
38393         * tests/test-printf-posix.h (test_function): Likewise.
38394         * tests/test-printf-posix.output: Remove all -0.0 related results.
38395         Needed for IRIX 6.5.
38396
38397 2007-05-19  Bruno Haible  <bruno@clisp.org>
38398
38399         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38400         printed as "nan0x7fffffff" instead of "nan".
38401         * tests/test-vasprintf-posix.c (test_function): Likewise.
38402         * tests/test-snprintf-posix.h (test_function): Likewise.
38403         * tests/test-sprintf-posix.h (test_function): Likewise.
38404         * tests/test-fprintf-posix.h (NaN): Remove macro.
38405         (test_function): Remove all NaN related tests.
38406         * tests/test-printf-posix.h (NaN): Remove macro.
38407         (test_function): Remove all NaN related tests.
38408         * tests/test-printf-posix.output: Remove all NaN related results.
38409         Needed for IRIX 6.5.
38410
38411 2007-05-19  Bruno Haible  <bruno@clisp.org>
38412
38413         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
38414         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
38415
38416 2007-05-19  Bruno Haible  <bruno@clisp.org>
38417
38418         * lib/float_.h: New file.
38419         * m4/float_h.m4: New file.
38420         * modules/float: New file.
38421         * modules/isnanl (Dependencies): Add float.
38422         * modules/isnanl-nolibm (Dependencies): Likewise.
38423         * modules/mathl (Dependencies): Likewise.
38424         * modules/printf-frexpl (Dependencies): Likewise.
38425         * modules/signbit (Dependencies): Likewise.
38426         * modules/vasnprintf (Dependencies): Likewise.
38427         * doc/headers/float.texi: Update.
38428
38429 2007-05-19  Jim Meyering  <jim@meyering.net>
38430
38431         * lib/utimens.c (gl_futimens): Rename from futimens,
38432         now that glibc-2.6 declares futimens.
38433         * lib/utimens.h: Likewise.
38434
38435 2007-05-19  Bruno Haible  <bruno@clisp.org>
38436
38437         Avoid test failures on mingw.
38438         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
38439         * tests/test-printf-posix.sh: Likewise.
38440         * tests/test-vfprintf-posix.sh: Likewise.
38441         * tests/test-vprintf-posix.sh: Likewise.
38442
38443 2007-05-19  Bruno Haible  <bruno@clisp.org>
38444
38445         Fix *printf result for NaN, Inf, -0.0 on mingw.
38446         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
38447         * lib/vasnprintf.c: Include math.h and isnan.h.
38448         (is_infinite_or_zero): New function.
38449         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
38450         values in the %f, %F, %e, %E, %g, %G directives.
38451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
38452         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38453         gl_PRINTF_INFINITE and test its result. Invoke
38454         gl_PREREQ_VASNPRINTF_INFINITE.
38455         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38456         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38457         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38459         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38460         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38461         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38462         * doc/functions/fprintf.texi: Update.
38463         * doc/functions/printf.texi: Update.
38464         * doc/functions/snprintf.texi: Update.
38465         * doc/functions/sprintf.texi: Update.
38466         * doc/functions/vfprintf.texi: Update.
38467         * doc/functions/vprintf.texi: Update.
38468         * doc/functions/vsnprintf.texi: Update.
38469         * doc/functions/vsprintf.texi: Update.
38470
38471 2007-05-19  Bruno Haible  <bruno@clisp.org>
38472
38473         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
38474         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
38475         Instead of multiplying with 10^k, set extra_zeroes to k.
38476         (scale10_round_long_double): Remove function.
38477
38478 2007-05-18  Bruno Haible  <bruno@clisp.org>
38479
38480         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
38481         introduced on 2007-05-06.
38482
38483 2007-05-18  Bruno Haible  <bruno@clisp.org>
38484
38485         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
38486         %g directives.
38487         * tests/test-vasprintf-posix.c (test_function): Likewise.
38488         * tests/test-snprintf-posix.h (test_function): Likewise.
38489         * tests/test-sprintf-posix.h (test_function): Likewise.
38490
38491 2007-05-18  Bruno Haible  <bruno@clisp.org>
38492
38493         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
38494         (strmatch): New function.
38495         (test_function): Test the %f directive on numbers of various exponents.
38496         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
38497         (strmatch): New function.
38498         (test_function): Test the %f directive on numbers of various exponents.
38499         * tests/test-snprintf-posix.h (strmatch): New function.
38500         (test_function): Test the %f directive on numbers of various exponents.
38501         * tests/test-sprintf-posix.h (strmatch): New function.
38502         (test_function): Test the %f directive on numbers of various exponents.
38503         * tests/test-snprintf-posix.c (SIZEOF): New macro.
38504         * tests/test-sprintf-posix.c (SIZEOF): New macro.
38505         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
38506         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
38507
38508 2007-05-18  Bruno Haible  <bruno@clisp.org>
38509
38510         Add support for 'long double' number output.
38511         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
38512         * lib/vasnprintf.c: Include math.h and float+.h.
38513         (mp_limb_t): New type.
38514         (GMP_LIMB_BITS): New macro.
38515         (mp_twolimb_t): New type.
38516         (GMP_TWOLIMB_BITS): New macro.
38517         (mpn_t): New type.
38518         (multiply, divide, convert_to_decimal, decode_long_double,
38519         scale10_round_long_double, scale10_round_decimal_long_double,
38520         floorlog10l): New functions.
38521         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
38522         for the %f, %F, %e, %E, %g, %G directives.
38523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
38524         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38525         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
38526         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
38527         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38528         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38529         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38530         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38531         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38532         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38533         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38534         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
38535         * modules/snprintf-posix (Depends-on): Likewise.
38536         * modules/sprintf-posix (Depends-on): Likewise.
38537         * modules/vasnprintf-posix (Depends-on): Likewise.
38538         * modules/vasprintf-posix (Depends-on): Likewise.
38539         * modules/vfprintf-posix (Depends-on): Likewise.
38540         * modules/vsnprintf-posix (Depends-on): Likewise.
38541         * modules/vsprintf-posix (Depends-on): Likewise.
38542         * modules/vasnprintf (Files): Add lib/float+.h.
38543         * doc/functions/fprintf.texi: Update.
38544         * doc/functions/printf.texi: Update.
38545         * doc/functions/snprintf.texi: Update.
38546         * doc/functions/sprintf.texi: Update.
38547         * doc/functions/vfprintf.texi: Update.
38548         * doc/functions/vprintf.texi: Update.
38549         * doc/functions/vsnprintf.texi: Update.
38550         * doc/functions/vsprintf.texi: Update.
38551
38552 2007-05-18  Bruno Haible  <bruno@clisp.org>
38553
38554         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
38555
38556 2007-05-18  Bruno Haible  <bruno@clisp.org>
38557
38558         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
38559         for printing 64-bit integers. Needed for mingw.
38560
38561 2007-05-18  Bruno Haible  <bruno@clisp.org>
38562
38563         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38564         gl_FUNC_FREXPL_WORKS.
38565         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
38566
38567 2007-05-18  Bruno Haible  <bruno@clisp.org>
38568
38569         * modules/frexpl-nolibm-tests: New file.
38570
38571         * modules/frexpl-nolibm: New file.
38572         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
38573
38574 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38575
38576         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
38577         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38578         GCC 4.2, which otherwise issues a lot of warnings.
38579         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
38580         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
38581         Likewise.
38582         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
38583         * modules/iconv_open (iconv.h): Likewise.
38584         * modules/locale (locale.h): Likewise.
38585         * modules/netinet_in (netinet/in.h): Likewise.
38586         * modules/sys_select (sys_select.h): Likewise.
38587         * modules/sys_socket (sys/socket.h): Likewise.
38588         * modules/sys_stat (sys/stat.h): Likewise.
38589         * modules/sysexits (sysexits.h): Likewise.
38590         * modules/unistd (unistd.h): Likewise.
38591
38592 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38593
38594         * modules/closein-tests (Makefile.am): Distribute
38595         `test-closein.sh'.
38596
38597 2007-05-17  Bruno Haible  <bruno@clisp.org>
38598
38599         * tests/test-printf-posix.output: Renamed from
38600         tests/test-fprintf-posix.out.
38601         * modules/fprintf-posix-tests: Update.
38602         * modules/printf-posix-tests: Update.
38603         * modules/vfprintf-posix-tests: Update.
38604         * modules/vprintf-posix-tests: Update.
38605         * tests/test-fprintf-posix.sh: Update.
38606         * tests/test-printf-posix.sh: Update.
38607         * tests/test-vfprintf-posix.sh: Update.
38608         * tests/test-vprintf-posix.sh: Update.
38609         Reported by Ralf Wildenhues.
38610
38611 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38612
38613         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
38614         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38615         GCC 4.2, which otherwise issues a lot of warnings.
38616         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
38617         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
38618         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
38619         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
38620         it should no longer be needed.
38621         * lib/string_.h: Likewise.
38622         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
38623         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
38624         * modules/inttypes (inttypes.h): Likewise.
38625         * modules/math (math.h): Likewise.
38626         * modules/search (search.h): Likewise.
38627         * modules/signal (signal.h): Likewise.
38628         * modules/stdint (stdint.h): Likewise.
38629         * modules/stdio (stdio.h): Likewise.
38630         * modules/stdlib (stdlib.h): Likewise.
38631         * modules/string (string.h): Likewise.
38632         * modules/sys_time (sys/time.h): Likewise.
38633         * modules/time (time.h): Likewise.
38634         * modules/wchar (wchar.h): Likewise.
38635         * modules/wctype (wtype.h): Likewise.
38636
38637 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38638
38639         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
38640
38641 2007-05-13  Bruno Haible  <bruno@clisp.org>
38642
38643         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
38644         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38645         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
38646         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
38647         (gl_PREREQ_STRTOK_R): Don't require it here.
38648
38649 2007-05-13  Bruno Haible  <bruno@clisp.org>
38650
38651         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
38652         when used in C++ mode.
38653
38654 2007-05-12  Bruno Haible  <bruno@clisp.org>
38655
38656         * lib/linebuffer.h: Tweak doc.
38657         * lib/linebuffer.c: Likewise.
38658
38659 2007-05-12  James Youngman  <jay@gnu.org>
38660
38661         * lib/linebuffer.c (readlinebuffer_delim): New function,
38662         like readlinebuffer, but use a caller-specified delimiter.
38663         (readlinebuffer): Just call readlinebuffer_delim with '\n'
38664         as the delimiter.
38665         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
38666
38667 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38668
38669         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
38670         * modules/openat (Files): Remove openat-die.c.
38671         (Depends-on): Add openat-die.
38672         * modules/openat-die: New module.
38673
38674 2007-05-06  Bruno Haible  <bruno@clisp.org>
38675
38676         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
38677         Update with info about Cygwin.
38678         * doc/functions/fprintf.texi: Update.
38679         * doc/functions/printf.texi: Update.
38680         * doc/functions/snprintf.texi: Update.
38681         * doc/functions/sprintf.texi: Update.
38682         * doc/functions/vfprintf.texi: Update.
38683         * doc/functions/vprintf.texi: Update.
38684         * doc/functions/vsnprintf.texi: Update.
38685         * doc/functions/vsprintf.texi: Update.
38686         Reported by Eric Blake.
38687
38688 2007-05-06  Bruno Haible  <bruno@clisp.org>
38689
38690         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
38691         padding ourselves for the floating-point directives.
38692         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
38693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
38694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38695         gl_PRINTF_FLAG_ZERO and test its result. Invoke
38696         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
38697         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38698         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38699         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38700         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38701         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38702         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38703         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38704         * tests/test-snprintf-posix.h (test_function): Also check the width
38705         and some flags in the %f directive.
38706         * tests/test-sprintf-posix.h (test_function): Likewise.
38707         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38708         * tests/test-vasprintf-posix.c (test_function): Likewise.
38709         * doc/functions/fprintf.texi: Update.
38710         * doc/functions/printf.texi: Update.
38711         * doc/functions/snprintf.texi: Update.
38712         * doc/functions/sprintf.texi: Update.
38713         * doc/functions/vfprintf.texi: Update.
38714         * doc/functions/vprintf.texi: Update.
38715         * doc/functions/vsnprintf.texi: Update.
38716         * doc/functions/vsprintf.texi: Update.
38717
38718 2007-05-06  Bruno Haible  <bruno@clisp.org>
38719
38720         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
38721         pass the ' flag character to sprintf or snprintf.
38722         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
38723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
38724         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38725         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
38726         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
38727         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38728         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38729         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38730         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38731         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38732         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38733         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38734         * tests/test-snprintf-posix.h (test_function): Also check the grouping
38735         flag.
38736         * tests/test-sprintf-posix.h (test_function): Likewise.
38737         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38738         * tests/test-vasprintf-posix.c (test_function): Likewise.
38739         * doc/functions/fprintf.texi: Update.
38740         * doc/functions/printf.texi: Update.
38741         * doc/functions/snprintf.texi: Update.
38742         * doc/functions/sprintf.texi: Update.
38743         * doc/functions/vfprintf.texi: Update.
38744         * doc/functions/vprintf.texi: Update.
38745         * doc/functions/vsnprintf.texi: Update.
38746         * doc/functions/vsprintf.texi: Update.
38747
38748 2007-05-01  Bruno Haible  <bruno@clisp.org>
38749
38750         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
38751
38752 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
38753
38754         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
38755         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
38756
38757 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38758
38759         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
38760         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
38761         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
38762
38763 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
38764
38765         * lib/argp-help.c (struct hol_entry): New member `ord'.
38766         (HOL_ENTRY_PTRCMP): Use ord for comparison
38767         (hol_sort): Initialize ord.
38768
38769 2007-05-01  Bruno Haible  <bruno@clisp.org>
38770
38771         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
38772         Reported by Eric Blake.
38773         * doc/gnulib.texi (Function Substitutes): Update.
38774
38775 2007-05-01  Bruno Haible  <bruno@clisp.org>
38776
38777         * doc/functions.texi: Remove file, now redundant through
38778         doc/functions/*.texi.
38779
38780 2007-05-01  Bruno Haible  <bruno@clisp.org>
38781
38782         * modules/argp (Depends-on): Add sleep.
38783
38784 2007-05-01  Bruno Haible  <bruno@clisp.org>
38785
38786         * modules/sleep-tests: New file.
38787         * tests/test-sleep.c: New file.
38788
38789         * modules/sleep: New file.
38790         * lib/sleep.c: New file.
38791         * m4/sleep.m4: New file.
38792         * lib/unistd_.h (sleep): New declaration.
38793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
38794         HAVE_SLEEP.
38795         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
38796         * doc/functions/sleep.texi: Document the sleep module.
38797
38798 2007-05-01  Bruno Haible  <bruno@clisp.org>
38799
38800         * lib/sigprocmask.h: Remove file.
38801         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
38802         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
38803         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
38804         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
38805         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
38806         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
38807         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
38808         HAVE_SIGSET_T as a shell variable.
38809         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
38810         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
38811         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
38812         (Depends-on): Add signal. Remove verify.
38813         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
38814         (Include): Mention <signal.h> instead of sigprocmask.h.
38815         * NEWS: Mention the change.
38816         * lib/fatal-signal.c: Don't include sigprocmask.h.
38817
38818 2007-05-01  Bruno Haible  <bruno@clisp.org>
38819
38820         * modules/signal: New file.
38821         * lib/signal_.h: New file.
38822         * m4/signal_h.m4: New file.
38823
38824 2007-05-01  Bruno Haible  <bruno@clisp.org>
38825
38826         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
38827         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
38828         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
38829         HAVE_WCTYPE_CTMP_BUG into wctype.h.
38830
38831 2007-05-01  Bruno Haible  <bruno@clisp.org>
38832
38833         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
38834         configure time.
38835         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
38836         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
38837         * modules/sys_stat (Makefile.am): Substitute their values into
38838         sys/stat.h.
38839
38840 2007-05-01  Bruno Haible  <bruno@clisp.org>
38841
38842         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
38843         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
38844         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
38845
38846 2007-05-01  Bruno Haible  <bruno@clisp.org>
38847
38848         * doc/header/assert.texi: Undo last change: don't mention the gnulib
38849         'assert' module here.
38850
38851 2007-05-01  Bruno Haible  <bruno@clisp.org>
38852
38853         * doc/functions/*.texi: New files.
38854         * doc/functions/google-ranking.txt: New file.
38855         * doc/gnulib.texi (Function Substitutes): New chapter.
38856         (ctime, inet_ntoa): Remove sections.
38857         * doc/ctime.texi: Remove file.
38858         * doc/inet_ntoa.texi: Remove file.
38859         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
38860         dependencies.
38861         (%.info): New rule, specifying a --reference-limit.
38862
38863 2007-05-01  Bruno Haible  <bruno@clisp.org>
38864
38865         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
38866
38867 2007-05-01  Bruno Haible  <bruno@clisp.org>
38868
38869         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
38870         the portability of 'mkdir' to mingw systems.
38871
38872 2007-05-01  Bruno Haible  <bruno@clisp.org>
38873
38874         * doc/headers/google-ranking.txt: New file.
38875
38876 2007-04-30  Eric Blake  <ebb9@byu.net>
38877
38878         Prefer fseeko to fseek.
38879         * modules/getpass (Depends-on): Add fseeko.
38880         * lib/getpass.c (getpass): Use fseeko, not fseek.
38881
38882 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
38883
38884         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
38885         assumes the sorting is stable, while most qsort implementations
38886         are not.  Use argument addresses to ensure they never compare as
38887         equal.
38888
38889         * tests/test-argp-2.sh (usage-indent test): Fix output
38890         (func_compare): Restore diff options
38891         * tests/test-argp.c: Restore #include "progname.h"
38892
38893 2007-04-29  Bruno Haible  <bruno@clisp.org>
38894
38895         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
38896         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38897         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
38898         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38899         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
38900         (configure.ac): Define CHECK_SNPRINTF_POSIX.
38901         (TESTS, check_PROGRAMS): Add test-snprintf.
38902         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
38903         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
38904         (TESTS, check_PROGRAMS): Add test-vsnprintf.
38905         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
38906         assertions that fail on HP-UX, OSF/1, or IRIX.
38907         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
38908
38909 2007-04-29  Bruno Haible  <bruno@clisp.org>
38910
38911         * MODULES.html.sh (posix_functions): Remove 'contents'.
38912
38913 2007-04-29  Karl Berry  <karl@gnu.org>
38914
38915         * config/srclist.txt (gendocs_template_min): new entry.
38916
38917 2007-04-29  Bruno Haible  <bruno@clisp.org>
38918
38919         Work around fpurge bug on BSD systems.
38920         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
38921         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
38922         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
38923         fpurge to rpl_fpurge if the system already has this function.
38924         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
38925         the case where the system already has this function. Correct invariants
38926         on BSD systems.
38927         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
38928         BSD systems.
38929
38930 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
38931
38932         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
38933         proposed by Sven Verdoolaege.
38934
38935         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
38936         options.
38937         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
38938         (usage and help tests): Update
38939
38940 2007-04-29  Bruno Haible  <bruno@clisp.org>
38941
38942         * tests/test-fflush.c (main): Use a file of size 17, not 10.
38943         Print more information in case of failure. Disable a test on BeOS.
38944
38945 2007-04-29  Bruno Haible  <bruno@clisp.org>
38946
38947         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
38948         This helps debugging on systems on which no gdb is available.
38949
38950 2007-04-29  Bruno Haible  <bruno@clisp.org>
38951
38952         * lib/freading.h: Improve comments.
38953         * lib/fwriting.h: Likewise.
38954         * tests/test-freading.c (main): Don't check freading immediately after
38955         repositioning. Needed for glibc.
38956
38957 2007-04-29  Bruno Haible  <bruno@clisp.org>
38958
38959         * lib/freading.c (freading): Trivial simplification.
38960
38961 2007-04-28  Bruno Haible  <bruno@clisp.org>
38962
38963         * tests/test-fwriting.c (main): Also test the interaction between
38964         fflush and fwriting.
38965         * modules/fwriting-tests (Depends-on): Add fflush.
38966
38967         * tests/test-freading.c (main): Also test the interaction between
38968         fflush and freading.
38969         * modules/freading-tests (Depends-on): Add fflush.
38970
38971 2007-04-28  Bruno Haible  <bruno@clisp.org>
38972
38973         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
38974         fseeko and ftello.
38975         Suggested by Eric Blake.
38976
38977 2007-04-28  Jim Meyering  <jim@meyering.net>
38978
38979         Avoid false-negative in gl_STDINT_H's C99 conformance test.
38980         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
38981         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
38982
38983 2007-04-27  Eric Blake  <ebb9@byu.net>
38984
38985         * doc/headers/assert.texi (assert.h): Document assert module use.
38986
38987 2007-04-27  Bruno Haible  <bruno@clisp.org>
38988
38989         * doc/headers/*.texi: New files.
38990         * doc/gnulib.texi (Header File Substitutes): New chapter.
38991         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
38992         dependencies.
38993         (standards.info ,standards.html, standards.dvi): Update dependencies.
38994         (mostlyclean, clean): New targets.
38995
38996 2007-04-27  Bruno Haible  <bruno@clisp.org>
38997
38998         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
38999         * modules/sysexits (Files, Makefile.am): Update.
39000
39001         * lib/sys_socket_.h: Renamed from lib/socket_.h.
39002         * modules/sys_socket (Files, Makefile.am): Update.
39003
39004         * lib/sys_stat_.h: Renamed from lib/stat_.h.
39005         * modules/sys_stat (Files, Makefile.am): Update.
39006
39007 2007-04-27  Eric Blake  <ebb9@byu.net>
39008
39009         * lib/freading.h: Improve comments.
39010         * lib/fwriting.h: Likewise.
39011         * lib/fflush.c: Likewise.
39012
39013         Fix closein for mingw.
39014         * modules/closein-tests: Add tests for closein.
39015         * tests/test-closein.c: New file.
39016         * tests/test-closein.sh: Likewise.
39017         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
39018         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
39019
39020 2007-04-27  Bruno Haible  <bruno@clisp.org>
39021
39022         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
39023         version is < 6.
39024         * lib/math_.h [__DECC]: Likewise.
39025         * lib/stdio_.h [__DECC]: Likewise.
39026         * lib/stdlib_.h [__DECC]: Likewise.
39027         * lib/string_.h [__DECC]: Likewise.
39028         * lib/time_.h [__DECC]: Likewise.
39029         * lib/wchar_.h [__DECC]: Likewise.
39030         * lib/wctype_.h [__DECC]: Likewise.
39031
39032 2007-04-27  Bruno Haible  <bruno@clisp.org>
39033
39034         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
39035
39036 2007-04-27  Bruno Haible  <bruno@clisp.org>
39037
39038         * lib/fflush.c: Add comments.
39039         * modules/fpurge-tests (Depends-on): Add fflush.
39040         * modules/freadable-tests (Depends-on): Likewise.
39041         * modules/fwritable-tests (Depends-on): Likewise.
39042
39043 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
39044
39045         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
39046         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
39047         Report by Bruno Haible <bruno@clisp.org>.
39048
39049 2007-04-26  Eric Blake  <ebb9@byu.net>
39050
39051         Fix fflush on mingw.
39052         * modules/fflush (Depends-on): Add freading.
39053         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
39054         but unread data.
39055
39056 2007-04-26  Eric Blake  <ebb9@byu.net>
39057         and Bruno Haible  <bruno@clisp.org>
39058
39059         Implement freading and fwriting.
39060         * lib/freading.c: New file.
39061         * lib/freading.h: Likewise.
39062         * m4/freading.m4: Likewise.
39063         * modules/freading: Likewise.
39064         * modules/freading-tests: Likewise.
39065         * tests/test-freading.c: Likewise.
39066         * lib/fwriting.c: New file.
39067         * lib/fwriting.h: Likewise.
39068         * m4/fwriting.m4: Likewise.
39069         * modules/fwriting: Likewise.
39070         * modules/fwriting-tests: Likewise.
39071         * tests/test-fwriting.c: Likewise.
39072         * MODULES.html.sh (File stream based Input/Output): Mention them.
39073
39074 2007-04-26  Bruno Haible  <bruno@clisp.org>
39075
39076         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
39077         'long' when we assume it.
39078         Suggested by Eric Blake.
39079
39080 2007-04-26  Bruno Haible  <bruno@clisp.org>
39081
39082         Ensure fseeko, ftello are declared on glibc systems.
39083         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
39084         * modules/fseeko (configure.ac-early): Likewise.
39085         * modules/ftello (configure.ac-early): Likewise.
39086         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
39087         AC_FUNC_FSEEKO for this.
39088         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
39089         (gl_CHECK_FSEEKO): Remove macro.
39090
39091 2007-04-26  Bruno Haible  <bruno@clisp.org>
39092
39093         * tests/test-fflush.c (main): Also check the ftell result after
39094         fflush and fseek/fseeko.
39095         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
39096         file descriptor position cache in the stream.
39097         * lib/fseeko.c (rpl_fseeko): Likewise.
39098
39099 2007-04-26  Bruno Haible  <bruno@clisp.org>
39100
39101         * modules/fflush-tests (Depends-on): Add fseeko.
39102
39103 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
39104             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39105
39106         * lib/argz_.h: ensure error_t definition is obtained in same
39107         mechanism system argz.h would have.
39108         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
39109         argz facilities are known bad.  Err on the side of caution if
39110         cross-compiling.
39111
39112 2007-04-25  Eric Blake  <ebb9@byu.net>
39113
39114         * lib/fpurge.c (includes): Use stdlib.h for free.
39115         * tests/test-fflush.c (main): Also test fflush-fseeko.
39116
39117 2007-04-25  Bruno Haible  <bruno@clisp.org>
39118
39119         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
39120         * lib/fseeko.c: New file.
39121         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
39122         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
39123         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
39124         gl_FUNC_FSEEKO.
39125         (gl_FUNC_FSEEKO): Invoke it.
39126         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
39127         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
39128         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
39129
39130 2007-04-25  Bruno Haible  <bruno@clisp.org>
39131
39132         * modules/fflush (Depends-on): Add ftello.
39133
39134 2007-04-25  Bruno Haible  <bruno@clisp.org>
39135
39136         * modules/ftello-tests: New file.
39137         * tests/test-ftello.c: New file.
39138
39139         * modules/ftello: New file.
39140         * m4/ftello.m4: New file.
39141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
39142         HAVE_FTELLO.
39143         * lib/stdio_.h (ftello): New declaration.
39144         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
39145         HAVE_FTELLO.
39146
39147 2007-04-25  Bruno Haible  <bruno@clisp.org>
39148
39149         * modules/fseeko-tests: New file.
39150         * tests/test-fseeko.c: New file.
39151
39152         * modules/fseeko: New file.
39153         * m4/fseeko.m4: New file.
39154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
39155         HAVE_FSEEKO.
39156         * lib/stdio_.h (fseeko): New declaration.
39157         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
39158         HAVE_FSEEKO.
39159
39160 2007-04-25  Bruno Haible  <bruno@clisp.org>
39161
39162         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
39163
39164 2007-04-25  Bruno Haible  <bruno@clisp.org>
39165
39166         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
39167         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
39168         * tests/test-unistd.c: Likewise.
39169         * tests/test-fcntl.c: Likewise.
39170
39171 2007-04-23  Eric Blake  <ebb9@byu.net>
39172
39173         * lib/fflush.c: Fix missing include.
39174         Reported by Bruno Haible.
39175
39176 2007-04-23  Bruno Haible  <bruno@clisp.org>
39177
39178         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
39179         Reported by Eric Blake.
39180
39181 2007-04-23  Bruno Haible  <bruno@clisp.org>
39182
39183         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
39184
39185 2007-04-23  Bruno Haible  <bruno@clisp.org>
39186
39187         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
39188
39189 2007-04-23  Bruno Haible  <bruno@clisp.org>
39190
39191         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
39192         Needed on HP-UX 11.
39193
39194 2007-04-16  Eric Blake  <ebb9@byu.net>
39195
39196         Make fflush rely on fpurge.
39197         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
39198         open coding all variants.
39199         * modules/fflush (Depends-on): Add fpurge and unistd.
39200         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
39201         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
39202
39203         Fix --with-tests compilation on cygwin.
39204         * modules/argmatch-tests (Makefile.am): List gnulib library first
39205         in LDADD.
39206         * modules/argp-tests (Makefile.am): Likewise.
39207         * modules/array-list-tests (Makefile.am): Likewise.
39208         * modules/array-oset-tests (Makefile.am): Likewise.
39209         * modules/avltree-list-tests (Makefile.am): Likewise.
39210         * modules/avltree-oset-tests (Makefile.am): Likewise.
39211         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39212         * modules/carray-list-tests (Makefile.am): Likewise.
39213         * modules/dirname-tests (Makefile.am): Likewise.
39214         * modules/frexp-tests (Makefile.am): Likewise.
39215         * modules/isnanl-tests (Makefile.am): Likewise.
39216         * modules/linked-list-tests (Makefile.am): Likewise.
39217         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39218         * modules/lock-tests (Makefile.am): Likewise.
39219         * modules/rbtree-list-tests (Makefile.am): Likewise.
39220         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39221         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39222         * modules/tls-tests (Makefile.am): Likewise.
39223         * modules/tsearch-tests (Makefile.am): Likewise.
39224         * modules/xvasprintf-tests (Makefile.am): Likewise.
39225
39226         Fix fpurge for cygwin.
39227         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
39228         value.
39229         * modules/fpurge-tests (Depends-on): Clean up trash.
39230
39231 2007-04-16  Simon Josefsson  <simon@josefsson.org>
39232
39233         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
39234
39235         * m4/autobuild.m4: Re-indent.
39236
39237 2007-04-13  Bruno Haible  <bruno@clisp.org>
39238
39239         * modules/fpurge-tests: New file.
39240         * tests/test-fpurge.c: New file.
39241
39242         * modules/fpurge: New file.
39243         * lib/fpurge.h: New file.
39244         * lib/fpurge.c: New file.
39245         * m4/fpurge.m4: New file.
39246
39247 2007-04-13  Bruno Haible  <bruno@clisp.org>
39248
39249         * modules/fbufmode-tests: New file.
39250         * tests/test-fbufmode.c: New file.
39251
39252         * modules/fbufmode: New file.
39253         * lib/fbufmode.h: New file.
39254         * lib/fbufmode.c: New file.
39255         * m4/fbufmode.m4: New file.
39256
39257 2007-04-13  Bruno Haible  <bruno@clisp.org>
39258
39259         * modules/fwritable-tests: New file.
39260         * tests/test-fwritable.c: New file.
39261
39262         * modules/fwritable: New file.
39263         * lib/fwritable.h: New file.
39264         * lib/fwritable.c: New file.
39265         * m4/fwritable.m4: New file.
39266
39267 2007-04-13  Bruno Haible  <bruno@clisp.org>
39268
39269         * modules/freadable-tests: New file.
39270         * tests/test-freadable.c: New file.
39271
39272         * modules/freadable: New file.
39273         * lib/freadable.h: New file.
39274         * lib/freadable.c: New file.
39275         * m4/freadable.m4: New file.
39276
39277 2007-04-13  Bruno Haible  <bruno@clisp.org>
39278
39279         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
39280         MOSTLYCLEANFILES.
39281
39282 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39283
39284         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
39285         gzip bootstrap.conf to avoid dragging in i18n machinery.
39286         (gnulib_tool_option): Use it.
39287
39288 2007-04-13  Bruno Haible  <bruno@clisp.org>
39289
39290         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
39291         %F directives.
39292         * tests/test-vasprintf-posix.c (test_function): Likewise.
39293         * tests/test-snprintf-posix.h (test_function): Likewise.
39294         * tests/test-sprintf-posix.h (test_function): Likewise.
39295         * tests/test-fprintf-posix.h (test_function): Likewise.
39296         * tests/test-printf-posix.h (test_function): Likewise.
39297         * tests/test-fprintf-posix.out: Likewise.
39298
39299 2007-04-13  Bruno Haible  <bruno@clisp.org>
39300
39301         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
39302         * modules/tls-tests (configure.ac): Likewise.
39303         Reported by Arto C. Nirkko <anirkko@insel.ch>.
39304
39305 2007-04-13  Bruno Haible  <bruno@clisp.org>
39306
39307         * lib/tls.c (glthread_tls_get): Fix return type.
39308         Patch by Arto C. Nirkko <anirkko@insel.ch>.
39309
39310 2007-04-12  Eric Blake  <ebb9@byu.net>
39311
39312         * modules/gettime (Depends-on): Remove gettime.
39313         Reported by Dmitry V. Levin.
39314
39315 2007-04-12  Bruno Haible  <bruno@clisp.org>
39316
39317         * modules/fflush (Include): Mention <stdio.h>.
39318         * modules/strtoimax (Include): Mention <inttypes.h>.
39319         * modules/strtoumax (Include): Likewise.
39320
39321 2007-04-12  Eric Blake  <ebb9@byu.net>
39322
39323         * .cvsignore: New file.
39324         * .gitignore: Likewise.
39325
39326 2007-04-12  Bruno Haible  <bruno@clisp.org>
39327
39328         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
39329         not before, since $(LDADD) often contains libgnu.a.
39330         * modules/striconv-tests (test_striconv_LDADD): Likewise.
39331         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
39332         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
39333         Needed on Cygwin.
39334
39335 2007-04-12  Eric Blake  <ebb9@byu.net>
39336
39337         Work around glibc's failure to flush stdin on fclose.
39338         * lib/closein.c (close_stdin): Flush stdin before closing.
39339
39340         Work around glibc's failure to reset seekable stdin on exit.
39341         * modules/closein: New module.
39342         * lib/closein.c: New file.
39343         * lib/closein.h: Likewise.
39344         * m4/closein.m4: Likewise.
39345         * MODULES.html.sh (File stream based Input/Output): Document it.
39346
39347 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39348
39349         * gnulib-tool: Rename generated 'autobuild' script to
39350         'do-autobuild' in --create-megatestdir output.
39351
39352         * doc/gnulib.texi (Build robot for gnulib): Fix.
39353
39354 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39355
39356         * modules/sysexits (Depends-on): Add absolute-header.
39357
39358 2007-04-12  Eric Blake  <ebb9@byu.net>
39359
39360         No need to preserve errno on success.
39361         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
39362         Reported by Bruno Haible.
39363
39364 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39365
39366         * MODULES.html.sh (Support for maintaining and releasing
39367         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
39368
39369 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39370
39371         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
39372
39373 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39374
39375         * modules/autobuild: New module.
39376
39377         * m4/autobuild.m4: New file.
39378
39379 2007-04-11  Bruno Haible  <bruno@clisp.org>
39380
39381         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
39382         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
39383         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
39384         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
39385         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39386         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39387         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39388         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39389         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39390         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
39392         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39393         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39394         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
39395         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39396         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39397         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
39398         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39399         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39400         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
39401         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39402         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39403         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
39404         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39405         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39406         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
39407         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39408         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39409         Reported by Eric Blake.
39410
39411 2007-04-11  Bruno Haible  <bruno@clisp.org>
39412
39413         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
39414
39415 2007-04-10  Bruno Haible  <bruno@clisp.org>
39416
39417         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
39418         for NaN and Infinity. Needed on FreeBSD 6.1.
39419         * tests/test-vasnprintf-posix.c (test_function): Undo last change
39420         regarding results for "%010a" of Infinity and NaN.
39421         * tests/test-vasprintf-posix.c (test_function): Likewise.
39422         * tests/test-snprintf-posix.h (test_function): Likewise.
39423         * tests/test-sprintf-posix.h (test_function): Likewise.
39424         * tests/test-fprintf-posix.h (test_function): Likewise.
39425         * tests/test-printf-posix.h (test_function): Likewise.
39426         * tests/test-fprintf-posix.out: Likewise.
39427
39428 2007-04-10  Bruno Haible  <bruno@clisp.org>
39429
39430         * modules/locale-tests: New file.
39431         * tests/test-locale.c: New file.
39432
39433         * modules/locale: New file.
39434         * lib/locale_.h: New file.
39435         * m4/locale_h.m4: New file.
39436
39437 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
39438             Bruno Haible  <bruno@clisp.org>
39439
39440         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
39441         be determined, test for availability of the copysignf, copysign,
39442         copysignl functions.
39443         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
39444         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
39445         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
39446
39447 2007-04-09  Eric Blake  <ebb9@byu.net>
39448
39449         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
39450         * modules/stdio (Makefile.am): Support fflush.
39451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39452         * modules/fflush: New file.
39453         * lib/fflush.c: Likewise.
39454         * m4/fflush.m4: Likewise.
39455         * modules/fflush-tests: New test.
39456         * tests/test-fflush.c: Likewise.
39457         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
39458
39459 2007-04-06  Bruno Haible  <bruno@clisp.org>
39460
39461         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
39462         (VASNPRINTF): Use signbit for faster determination whether to print a
39463         minus sign.
39464         * modules/vasnprintf (Files): Remove lib/float+.h.
39465         * modules/fprintf-posix (Depends-on): Add signbit.
39466         * modules/snprintf-posix (Depends-on): Likewise.
39467         * modules/sprintf-posix (Depends-on): Likewise.
39468         * modules/vasnprintf-posix (Depends-on): Likewise.
39469         * modules/vasprintf-posix (Depends-on): Likewise.
39470         * modules/vfprintf-posix (Depends-on): Likewise.
39471         * modules/vsnprintf-posix (Depends-on): Likewise.
39472         * modules/vsprintf-posix (Depends-on): Likewise.
39473
39474 2007-04-06  Bruno Haible  <bruno@clisp.org>
39475
39476         * tests/test-frexp.c (main): Test also the sign bit of zero results.
39477         * tests/test-frexpl.c (main): Likewise.
39478         * tests/test-ldexpl.c (main): Likewise.
39479         * modules/frexp-tests (Depends-on): Add signbit.
39480         * modules/frexpl-tests (Depdends-on): Likewise.
39481         * modules/ldexpl-tests (Depdends-on): Likewise.
39482
39483 2007-04-06  Bruno Haible  <bruno@clisp.org>
39484
39485         * modules/signbit-tests: New file.
39486         * tests/test-signbit.c: New file.
39487
39488         * modules/signbit: New file.
39489         * lib/signbitf.c: New file.
39490         * lib/signbitd.c: New file.
39491         * lib/signbitl.c: New file.
39492         * m4/signbit.m4: New file.
39493         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
39494         (signbit): New macro.
39495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
39496         REPLACE_SIGNBIT.
39497         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
39498         REPLACE_FREXPL into math.h.
39499
39500 2007-04-06  Bruno Haible  <bruno@clisp.org>
39501
39502         * modules/isnanf-nolibm-tests: New file.
39503         * tests/test-isnanf.c: New file.
39504
39505         * modules/isnanf-nolibm: New file.
39506         * lib/isnanf.h: New file.
39507         * lib/isnanf.c: New file.
39508         * lib/isnan.c: Consider the USE_FLOAT macro.
39509         * m4/isnanf.m4: New file.
39510
39511 2007-04-06  Bruno Haible  <bruno@clisp.org>
39512
39513         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
39514         (Link): New section.
39515
39516         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
39517
39518 2007-04-06  Bruno Haible  <bruno@clisp.org>
39519
39520         Assume the 'long double' type.
39521         * m4/longdouble.m4: Remove file.
39522         * config/srclist.txt: Don't mention longdouble.m4.
39523         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
39524         * lib/float+.h: Likewise.
39525         * lib/frexp.c: Likewise.
39526         * lib/printf-args.h: Likewise.
39527         * lib/printf-args.c: Likewise.
39528         * lib/printf-frexp.c: Likewise.
39529         * lib/printf-parse.c: Likewise.
39530         * lib/vasnprintf.c: Likewise.
39531         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
39532         * m4/intl.m4: Likewise.
39533         * m4/isnanl.m4: Likewise.
39534         * m4/printf.m4: Likewise.
39535         * m4/printf-frexpl.m4: Likewise.
39536         * m4/vasnprintf.m4: Likewise.
39537         * modules/allocsa (Files): Remove m4/longdouble.m4.
39538         * modules/gettext (Files): Likewise.
39539         * modules/relocatable-prog-wrapper (Files): Likewise.
39540         * modules/vasnprintf (Files): Likewise.
39541         * modules/isnanl (Files): Likewise.
39542         (Include): Simplify.
39543         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
39544         (Include): Simplify.
39545         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
39546         (Include): Simplify.
39547         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
39548         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39549         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
39550         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39551         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39552         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39553         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
39554         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39555         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39556         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39557         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
39558         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39559         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
39560         * tests/test-isnanl.c: Likewise.
39561         * tests/test-snprintf-posix.h: Likewise.
39562         * tests/test-sprintf-posix.h: Likewise.
39563         * tests/test-vasnprintf-posix.c: Likewise.
39564         * tests/test-vasnprintf-posix2.c: Likewise.
39565         * tests/test-vasprintf-posix.c: Likewise.
39566
39567 2007-04-06  Bruno Haible  <bruno@clisp.org>
39568
39569         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
39570         * lib/math_.h [__DECC]: Include the overridden include file through
39571         #include_next, outside the double-inclusion guard.
39572         * lib/stdio_.h [__DECC]: Likewise.
39573         * lib/stdlib_.h [__DECC]: Likewise.
39574         * lib/string_.h [__DECC]: Likewise.
39575         * lib/time_.h [__DECC]: Likewise.
39576         * lib/wchar_.h [__DECC]: Likewise.
39577         * lib/wctype_.h [__DECC]: Likewise.
39578         * lib/inttypes_.h [__DECC]: Likewise.
39579         Reported by Albert Chin <china@thewrittenword.com> in
39580         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
39581
39582 2007-04-04  Eric Blake  <ebb9@byu.net>
39583
39584         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
39585         1.5.x.
39586
39587 2007-04-04  Bruno Haible  <bruno@clisp.org>
39588
39589         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
39590         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
39591
39592 2007-04-04  Bruno Haible  <bruno@clisp.org>
39593
39594         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
39595         results for "%010a" of Infinity and NaN.
39596         * tests/test-vasprintf-posix.c (test_function): Likewise.
39597         * tests/test-snprintf-posix.h (test_function): Likewise.
39598         * tests/test-sprintf-posix.h (test_function): Likewise.
39599         * tests/test-fprintf-posix.h (test_function): Remove these tests.
39600         * tests/test-printf-posix.h (test_function): Likewise.
39601         * tests/test-fprintf-posix.out: Update.
39602         Needed for FreeBSD 6.1.
39603
39604 2007-04-04  Bruno Haible  <bruno@clisp.org>
39605
39606         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
39607         directly used by the gnulib modules nor by gnulib-tool.
39608
39609 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39610
39611         * DEPENDENCIES: Give overall description of version dependency
39612         desirability.  Use more-typical names for apps.
39613         Add shell, coreutils, diffutils, grep, tar, gzip.
39614
39615 2007-04-04  Simon Josefsson  <simon@josefsson.org>
39616
39617         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
39618
39619 2007-04-04  Karl Berry  <karl@gnu.org>
39620
39621         * MODULES.html.sh (func_module): missing '.
39622
39623 2007-04-03  Bruno Haible  <bruno@clisp.org>
39624
39625         * modules/argmatch-tests (Makefile.am): New variable
39626         test_argmatch_LDADD.
39627         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
39628         * modules/array-list-tests (Makefile.am): New variable
39629         test_array_list_LDADD.
39630         * modules/array-oset-tests (Makefile.am): New variable
39631         test_array_oset_LDADD.
39632         * modules/avltree-list-tests (Makefile.am): New variable
39633         test_avltree_list_LDADD.
39634         * modules/avltree-oset-tests (Makefile.am): New variable
39635         test_avltree_oset_LDADD.
39636         * modules/avltreehash-list-tests (Makefile.am): New variable
39637         test_avltreehash_list_LDADD.
39638         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
39639         test_canonicalize_lgpl_LDADD.
39640         * modules/carray-list-tests (Makefile.am): New variable
39641         test_carray_list_LDADD.
39642         * modules/dirname-tests (Makefile.am): New variable
39643         test_dirname_LDADD.
39644         * modules/linked-list-tests (Makefile.am): New variable
39645         test_linked_list_LDADD.
39646         * modules/linkedhash-list-tests (Makefile.am): New variable
39647         test_linkedhash_list_LDADD.
39648         * modules/rbtree-list-tests (Makefile.am): New variable
39649         test_rbtree_list_LDADD.
39650         * modules/rbtree-oset-tests (Makefile.am): New variable
39651         test_rbtree_oset_LDADD.
39652         * modules/rbtreehash-list-tests (Makefile.am): New variable
39653         test_rbtreehash_list_LDADD.
39654         * modules/xvasprintf-tests (Makefile.am): New variable
39655         test_xvasprintf_LDADD.
39656         Reported by Eric Blake.
39657
39658 2007-04-03  Eric Blake  <ebb9@byu.net>
39659
39660         * DEPENDENCIES: Weaken m4 requirements.
39661
39662 2007-04-03  Bruno Haible  <bruno@clisp.org>
39663
39664         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
39665         * modules/isnanl-tests (configure.ac): Likewise.
39666
39667 2007-04-03  Ben Pfaff  <blp@gnu.org>
39668
39669         * modules/iconv_open: Add $(srcdir)/ to source directory
39670         references in Makefile fragments that call gperf, to fix VPATH
39671         builds.
39672
39673 2007-04-03  Bruno Haible  <bruno@clisp.org>
39674
39675         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
39676         * lib/ldexpl.c: Undo last change.
39677
39678 2007-04-03  Bruno Haible  <bruno@clisp.org>
39679
39680         * modules/printf-frexpl (Depends-on): Undo last change.
39681         (Files): Add m4/ldexpl.m4.
39682
39683 2007-04-03  Bruno Haible  <bruno@clisp.org>
39684
39685         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
39686         * modules/isnanl (Link): New section.
39687
39688         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
39689         * modules/frexp (Link): New section.
39690
39691         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
39692         * modules/frexpl (Link): New section.
39693
39694         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
39695         * modules/ldexpl (Link): New section.
39696
39697 2007-04-03  Bruno Haible  <bruno@clisp.org>
39698
39699         * modules/TEMPLATE-EXTENDED: New file.
39700         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
39701
39702 2007-04-03  Bruno Haible  <bruno@clisp.org>
39703
39704         * DEPENDENCIES: New file.
39705         Suggested by Simon Josefsson.
39706
39707 2007-04-03  Bruno Haible  <bruno@clisp.org>
39708
39709         * doc/gnulib.texi: Escape @.
39710
39711 2007-04-03  James Youngman  <jay@gnu.org>
39712         and Paul Eggert  <eggert@cs.ucla.edu>
39713
39714         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
39715         birthtime on all systems that have birthtime, not just those which
39716         use st_birthtimensec rather than st_birthtim.  Putting zero in
39717         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
39718         that the birth time is not available for files on an NFS mount.
39719
39720 2007-04-03  Simon Josefsson  <simon@josefsson.org>
39721
39722         * modules/memxor: Move back from crypto/, suggested by Bruno.
39723         * modules/crypto/hmac-sha1: Fix memxor dependency.
39724
39725         * modules/crypto/gc: Moved from ../.
39726
39727 2007-04-02  Eric Blake  <ebb9@byu.net>
39728
39729         * lib/ldexpl.c (includes): Avoid libm.
39730
39731         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
39732
39733 2007-04-02  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
39736         on IRIX.
39737
39738 2007-04-02  Bruno Haible  <bruno@clisp.org>
39739
39740         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
39741         x86 or x86_64 platforms running MacOS X.
39742         Reported by Ryan Schmidt <@ryandesign.com>.
39743
39744 2007-04-02  Bruno Haible  <bruno@clisp.org>
39745
39746         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
39747         i386.
39748
39749 2007-04-01  Simon Josefsson  <simon@josefsson.org>
39750
39751         * modules/crypto/arcfour: Moved from ../.
39752         * modules/crypto/arcfour-tests: Moved from ../.
39753         * modules/crypto/arctwo: Moved from ../.
39754         * modules/crypto/arctwo-tests: Moved from ../.
39755         * modules/crypto/des: Moved from ../.
39756         * modules/crypto/des-tests: Moved from ../.
39757         * modules/crypto/gc-arcfour: Moved from ../.
39758         * modules/crypto/gc-arcfour-tests: Moved from ../.
39759         * modules/crypto/gc-arctwo: Moved from ../.
39760         * modules/crypto/gc-arctwo-tests: Moved from ../.
39761         * modules/crypto/gc-des: Moved from ../.
39762         * modules/crypto/gc-des-tests: Moved from ../.
39763         * modules/crypto/gc-hmac-md5: Moved from ../.
39764         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
39765         * modules/crypto/gc-hmac-sha1: Moved from ../.
39766         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
39767         * modules/crypto/gc-md2: Moved from ../.
39768         * modules/crypto/gc-md2-tests: Moved from ../.
39769         * modules/crypto/gc-md4: Moved from ../.
39770         * modules/crypto/gc-md4-tests: Moved from ../.
39771         * modules/crypto/gc-md5: Moved from ../.
39772         * modules/crypto/gc-md5-tests: Moved from ../.
39773         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
39774         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
39775         * modules/crypto/gc-random: Moved from ../.
39776         * modules/crypto/gc-rijndael: Moved from ../.
39777         * modules/crypto/gc-rijndael-tests: Moved from ../.
39778         * modules/crypto/gc-sha1: Moved from ../.
39779         * modules/crypto/gc-sha1-tests: Moved from ../.
39780         * modules/crypto/gc-tests: Moved from ../.
39781         * modules/crypto/hmac-md5: Moved from ../.
39782         * modules/crypto/hmac-md5-tests: Moved from ../.
39783         * modules/crypto/hmac-sha1: Moved from ../.
39784         * modules/crypto/hmac-sha1-tests: Moved from ../.
39785         * modules/crypto/md2: Moved from ../.
39786         * modules/crypto/md2-tests: Moved from ../.
39787         * modules/crypto/md4: Moved from ../.
39788         * modules/crypto/md4-tests: Moved from ../.
39789         * modules/crypto/md5: Moved from ../.
39790         * modules/crypto/md5-tests: Moved from ../.
39791         * modules/crypto/memxor: Moved from ../.
39792         * modules/crypto/rijndael: Moved from ../.
39793         * modules/crypto/rijndael-tests: Moved from ../.
39794         * modules/crypto/sha1: Moved from ../.
39795
39796 2007-03-30  James Youngman  <jay@gnu.org>
39797
39798         * tests/test-stat-time.c (prepare_test): use chmod() rather than
39799         rename() to change the ctime of a file (because ctime is unaffected
39800         by rename on jfs2 on AIX 5.1).
39801         (main): Start by doing cleanup, in case a previous run failed leaving
39802         test files behind.
39803
39804 2007-03-31  Bruno Haible  <bruno@clisp.org>
39805
39806         Support old proprietary implementations of iconv.
39807         * modules/iconv_open: New file.
39808         * lib/iconv_.h: New file.
39809         * m4/iconv_h.m4: New file.
39810         * lib/iconv_open.c: New file.
39811         * lib/iconv_open-aix.gperf: New file.
39812         * lib/iconv_open-hpux.gperf: New file.
39813         * lib/iconv_open-irix.gperf: New file.
39814         * lib/iconv_open-osf.gperf: New file.
39815         * m4/iconv_open.m4: New file.
39816         * modules/linebreak (Depends-on): Add iconv_open.
39817         * modules/striconv (Depends-on): Likewise.
39818         * modules/striconveh (Depends-on): Likewise.
39819         * modules/unicodeio (Depends-on): Likewise.
39820         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
39821         (iconv_t)(-1).
39822         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
39823         conversion if cd is (iconv_t)(-1).
39824         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
39825         is not possible.
39826
39827 2007-03-31  Bruno Haible  <bruno@clisp.org>
39828
39829         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39830         work on Solaris either. Protect also second use of "autodetect_jp".
39831
39832 2007-03-31  Bruno Haible  <bruno@clisp.org>
39833
39834         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
39835         the function is not present.
39836
39837 2007-03-31  Bruno Haible  <bruno@clisp.org>
39838
39839         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
39840         the function is not present.
39841
39842 2007-03-31  Bruno Haible  <bruno@clisp.org>
39843
39844         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
39845         a bug in HP-UX iconv_open().
39846
39847 2007-03-31  Bruno Haible  <bruno@clisp.org>
39848
39849         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
39850         (Mathematics <math.h>): New section, add fpieee.
39851         (Input/output <stdio.h>): Add fseterr.
39852         (Mathematics <math.h>): New section, add printf-frexp.
39853         (Container data structures): Add sublist.
39854         (Core language properties): Add fpucw, inline.
39855         (Functions for greatest-width integer types <inttypes.h>): Add
39856         imaxabs, imaxdiv, inttypes.
39857         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
39858         isnanl-nolibm, ldexp.
39859         (Mathematics <math.h>): New section, add printf-frexpl.
39860         (Support for systems lacking POSIX:2001): Add fprintf-posix,
39861         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
39862         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
39863         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
39864         (Unicode string functions): Add unistr/u*-mbtoucr.
39865         (Java): Add javacomp-script, javaexec-script.
39866         (C#): Add csharpcomp-script, csharpexec-script.
39867         (Support for building libraries and executables): Add havelib,
39868         relocatable-*.
39869         (Support for maintaining and releasing projects): Renamed from
39870         'Support for maintaining and release projects'. Add announce-gen.
39871
39872 2007-03-31  Bruno Haible  <bruno@clisp.org>
39873
39874         * README: Talk primarily about git.
39875         (git and CVS): Renamed from CVS.
39876         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
39877         gnulib is available through git.
39878         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
39879
39880 2007-03-30  Bruno Haible  <bruno@clisp.org>
39881
39882         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
39883         * lib/poll_.h: Likewise.
39884         * lib/stat_.h: Likewise.
39885         * lib/sys_time_.h: Likewise.
39886         * lib/sysexit_.h: Likewise.
39887         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
39888         * lib/stdbool_.h: Likewise.
39889         * lib/byteswap_.h: Add double-inclusion guard.
39890
39891 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
39892
39893         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
39894
39895 2007-03-30  Karl Berry  <karl@gnu.org>
39896
39897         * config/srclist-update: double space after USA in the license
39898         substitution, since that's how it's usually (?) written.
39899
39900 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39901
39902         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
39903         reported by Bruno Haible.
39904
39905 2007-03-29  Bruno Haible  <bruno@clisp.org>
39906
39907         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
39908         a bug in AIX iconv().
39909
39910 2007-03-29  Bruno Haible  <bruno@clisp.org>
39911
39912         * modules/ldexpl-tests: New file.
39913         * tests/test-ldexpl.c: New file.
39914
39915 2007-03-29  Bruno Haible  <bruno@clisp.org>
39916
39917         * lib/ldexpl.c: Include fpucw.h.
39918         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
39919         multiplication.
39920         * modules/ldexpl (Depends-on): Add fpucw.
39921
39922 2007-03-29  Bruno Haible  <bruno@clisp.org>
39923
39924         * modules/ldexpl: New file.
39925         * m4/ldexpl.m4: New file.
39926         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
39927         set.
39928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
39929         REPLACE_LDEXPL.
39930         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
39931         REPLACE_LDEXPL.
39932         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
39933         gl_FUNC_LDEXPL_WORKS.
39934         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
39935         * modules/mathl (Files): Remove lib/ldexpl.c.
39936         (Depends-on): Add ldexpl.
39937
39938 2007-03-29  Bruno Haible  <bruno@clisp.org>
39939
39940         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
39941
39942 2007-03-29  Bruno Haible  <bruno@clisp.org>
39943
39944         * tests/test-striconveh.c (main): Don't assume that a direct conversion
39945         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
39946         and possibly also HP-UX.
39947         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39948         work on AIX, IRIX, HP-UX, OSF/1.
39949         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39950         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39951         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39952         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39953         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
39954         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39955
39956 2007-03-29  Bruno Haible  <bruno@clisp.org>
39957
39958         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
39959
39960 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39961
39962         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
39963         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
39964
39965 2007-03-29  Eric Blake  <ebb9@byu.net>
39966
39967         * lib/acl-internal.h: Remove redundant include.
39968         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
39969         Cygwin when a file is locked.
39970
39971 2007-03-29  Bruno Haible  <bruno@clisp.org>
39972
39973         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
39974         file.
39975         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
39976
39977 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39978
39979         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
39980         try to remove a parent directory if the child couldn't be removed
39981         (except for the first rmdir, which could fail because the child
39982         doesn't exist).  Problem reported by Jeff Blaine in
39983         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
39984
39985 2007-03-28  Bruno Haible  <bruno@clisp.org>
39986
39987         * lib/striconveh.c (utf8conv_carefully): New function.
39988         (mem_cd_iconveh_internal): Invoke it.
39989
39990 2007-03-28  Bruno Haible  <bruno@clisp.org>
39991
39992         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
39993         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
39994         input.
39995         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
39996         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
39997         unistr/u8-uctomb.
39998
39999 2007-03-28  Bruno Haible  <bruno@clisp.org>
40000
40001         * modules/unistr/u8-mbtoucr: New file.
40002         * lib/unistr/u8-mbtoucr.c: New file.
40003         * modules/unistr/u16-mbtoucr: New file.
40004         * lib/unistr/u16-mbtoucr.c: New file.
40005         * modules/unistr/u16-mbtoucr: New file.
40006         * lib/unistr/u16-mbtoucr.c: New file.
40007         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
40008
40009 2007-03-27  Simon Josefsson  <simon@josefsson.org>
40010             Bruno Haible  <bruno@clisp.org>
40011
40012         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
40013         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
40014         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
40015
40016         * m4/stdio_h.m4: Add stubs for vasprintf too.
40017
40018         * modules/stdio: Support vasprintf in sed command.
40019
40020         * modules/vasprintf: Depend on stdio for prototypes.  Remove
40021         vasprintf.h.  Add stdio module indicator.
40022
40023         * lib/stdio_.h: Declare asprintf and vasprintf, based on
40024         vasprintf.h.
40025
40026         * lib/vasprintf.h: File removed.
40027
40028         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
40029         * lib/vasprintf.c: Ditto.
40030         * lib/xvasprintf.c: Ditto.
40031         * tests/test-vasprintf-posix.c: Ditto.
40032         * tests/test-vasprintf.c: Ditto.
40033
40034 2007-03-27  Bruno Haible  <bruno@clisp.org>
40035
40036         Make vasnprintf multithread-safe.
40037         * lib/vasnprintf.c (decimal_point_char): New function.
40038         (VASNPRINTF): Use it.
40039         Suggested by Simon Josefsson.
40040
40041 2007-03-27  Eric Blake  <ebb9@byu.net>
40042
40043         Support sub-second birthtime on cygwin.
40044         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
40045         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
40046         (get_stat_birthtime): Also work with st_birthtim.
40047
40048 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
40049
40050         * lib/stat-time.h (USE_BIRTHTIME): Remove.
40051         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
40052         (get_stat_birthtime_ns): Do not try to use "spare" fields.
40053         (get_stat_birthtime_ns): Simplify compile-time tests.
40054         (get_stat_birthtime): Change the API to look like
40055         get_stat_mtime etc., except return a negative tv_nsec on error.
40056         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
40057         Don't check for "spare" fields.
40058         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
40059         or for struct stat.st_birthtime, as these tests aren't used.
40060         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
40061
40062 2007-03-27  Bruno Haible  <bruno@clisp.org>
40063
40064         * lib/stat-time.h: Include <sys/stat.h>.
40065
40066 2007-03-27  James Youngman  <jay@gnu.org>
40067
40068         * lib/stat-time.h (get_stat_birthtime): New function for
40069           retrieving st_birthtime as provided by UFS2 (hence *BSD).
40070         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
40071           and its variants.
40072         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
40073         * modules/stat-time-test: New file.
40074         * tests/test-stat-time.c: New test, devised by Bruno Haible.
40075
40076 2007-03-26  Bruno Haible  <bruno@clisp.org>
40077
40078         Better support of signalling NaNs.
40079         * lib/atanl.c: Include isnanl.h.
40080         (atanl): Perform test for NaN at the beginning of the function and
40081         through a call to isnanl.
40082         * lib/cosl.c: Include isnanl.h.
40083         (cosl): Perform test for NaN at the beginning of the function and
40084         through a call to isnanl.
40085         * lib/ldexpl.c: Include isnanl.h.
40086         (ldexpl): Perform test for NaN through a call to isnanl.
40087         * lib/logl.c: Include isnanl.h.
40088         (logl): Perform test for NaN at the beginning of the function and
40089         through a call to isnanl.
40090         * lib/sinl.c: Include isnanl.h.
40091         (sinl): Perform test for NaN at the beginning of the function and
40092         through a call to isnanl.
40093         * lib/sqrtl.c: Include isnanl.h.
40094         (sqrtl): Perform test for NaN at the beginning of the function and
40095         through a call to isnanl.
40096         * lib/tanl.c: Include isnanl.h.
40097         (tanl): Perform test for NaN at the beginning of the function and
40098         through a call to isnanl.
40099         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
40100         * modules/mathl (Depends-on): Add isnanl.
40101
40102 2007-03-26  Eric Blake  <ebb9@byu.net>
40103
40104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
40105         regression in logic sense of previous patch.
40106
40107 2007-03-26  Bruno Haible  <bruno@clisp.org>
40108
40109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
40110         unportable shell command "if ! ...".
40111         Reported by Ralf Wildenhues.
40112
40113 2007-03-25  Bruno Haible  <bruno@clisp.org>
40114
40115         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
40116         <sysexits.h> file, and only add EX_CONFIG.
40117         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
40118         absolute file name and whether it is sufficient. Substitute also
40119         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
40120         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
40121         ABSOLUTE_SYSEXITS_H into sysexits.h.
40122
40123 2007-03-25  Bruno Haible  <bruno@clisp.org>
40124
40125         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
40126         hints is NULL.
40127
40128 2007-03-25  Bruno Haible  <bruno@clisp.org>
40129
40130         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
40131         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
40132
40133 2007-03-25  Bruno Haible  <bruno@clisp.org>
40134
40135         * lib/vasnprintf.c: Include langinfo.h.
40136         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
40137         multithread-safe.
40138         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
40139         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
40140         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40141         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40142         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40143         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40144         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40145         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
40146         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40147         Reported by Simon Josefsson.
40148
40149 2007-03-25  Bruno Haible  <bruno@clisp.org>
40150
40151         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
40152         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
40153         * modules/vasnprintf (Depends-on): Add stdint.
40154
40155 2007-03-25  Bruno Haible  <bruno@clisp.org>
40156
40157         * modules/fpieee: New file.
40158         * m4/fpieee.m4: New file.
40159         * modules/isnan-nolibm (Depends-on): Add fpieee.
40160         * modules/isnanl-nolibm (Depends-on): Add fpieee.
40161         * modules/isnanl (Depends-on): Add fpieee.
40162
40163 2007-03-25  Bruno Haible  <bruno@clisp.org>
40164
40165         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
40166
40167 2007-03-25  Bruno Haible  <bruno@clisp.org>
40168
40169         Avoid test failures on IRIX 6.5.
40170         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
40171         (main): Use it.
40172         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
40173         macros.
40174         (main): Use them.
40175
40176 2007-03-25  Bruno Haible  <bruno@clisp.org>
40177
40178         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
40179         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
40180         exists but doesn't work.
40181         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
40182         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
40183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
40184         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
40185
40186 2007-03-25  Bruno Haible  <bruno@clisp.org>
40187
40188         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
40189         returns inf. Needed on IRIX 6.5.
40190
40191 2007-03-25  Bruno Haible  <bruno@clisp.org>
40192
40193         * tests/test-frexpl.c: Include isnanl-nolibm.h.
40194         (main): Use isnanl instead of x != x idiom.
40195         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
40196
40197         * tests/test-frexp.c: Include isnan.h.
40198         (main): Use isnan instead of x != x idiom.
40199         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
40200
40201 2007-03-25  Bruno Haible  <bruno@clisp.org>
40202
40203         * tests/test-frexp.c (NaN): New function/macro.
40204         (main): Use it instead of 0.0 / 0.0.
40205         * tests/test-isnan.c (NaN): New function/macro.
40206         (main): Use it instead of 0.0 / 0.0.
40207         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
40208         (test_function): Use it instead of 0.0 / 0.0.
40209         * tests/test-vasprintf-posix.c (NaN): New function/macro.
40210         (test_function): Use it instead of 0.0 / 0.0.
40211         * tests/test-snprintf-posix.h (NaN): New function/macro.
40212         (test_function): Use it instead of 0.0 / 0.0.
40213         * tests/test-sprintf-posix.h (NaN): New function/macro.
40214         (test_function): Use it instead of 0.0 / 0.0.
40215         * tests/test-fprintf-posix.h (NaN): New function/macro.
40216         (test_function): Use it instead of 0.0 / 0.0.
40217         * tests/test-printf-posix.h (NaN): New function/macro.
40218         (test_function): Use it instead of 0.0 / 0.0.
40219
40220         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
40221
40222 2007-03-25  Bruno Haible  <bruno@clisp.org>
40223
40224         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
40225
40226 2007-03-25  Bruno Haible  <bruno@clisp.org>
40227
40228         * lib/regexec.c (merge_state_with_log): Make static.
40229
40230 2007-03-25  Bruno Haible  <bruno@clisp.org>
40231
40232         * lib/trigl.c (kernel_rem_pio2): Make static.
40233
40234 2007-03-25  Bruno Haible  <bruno@clisp.org>
40235
40236         * lib/sincosl.c (sincosl_table): Make static.
40237
40238 2007-03-25  Bruno Haible  <bruno@clisp.org>
40239
40240         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
40241         if the compiler does not support C99.
40242
40243 2007-03-25  Bruno Haible  <bruno@clisp.org>
40244
40245         * modules/time (Makefile.am): Ensure all rule action lines start with a
40246         tab.
40247
40248 2007-03-24  Bruno Haible  <bruno@clisp.org>
40249
40250         * modules/tsearch-tests: New file.
40251         * tests/test-tsearch.sh: New file.
40252         * tests/test-tsearch.c: New file, mostly copied from glibc.
40253
40254         * modules/search-tests: New file.
40255         * tests/test-search.c: New file.
40256
40257         * modules/search: New file.
40258         * lib/search_.h: New file, incorporating lib/tsearch.h.
40259         * m4/search_h.m4: New file.
40260         * lib/tsearch.h: Remove file.
40261         * lib/tsearch.c: Include search.h instead of tsearch.h.
40262         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
40263         HAVE_TSEARCH.
40264         * modules/tsearch (Files): Remove lib/tsearch.h.
40265         (Depends-on): Add search.
40266         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
40267         (Include): Change tsearch.h into search.h.
40268
40269 2007-03-24  Bruno Haible  <bruno@clisp.org>
40270
40271         * modules/fpucw: New file.
40272         * lib/fpucw.h: New file.
40273         * lib/frexp.c: Include fpucw.h.
40274         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40275         (FUNC): Use them.
40276         * lib/printf-frexp.c: Include fpucw.h.
40277         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40278         (FUNC): Use them.
40279         * lib/vasnprintf.c: Include fpucw.h.
40280         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
40281         'long double' calculations.
40282         * tests/test-frexpl.c: Include fpucw.h.
40283         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40284         * tests/test-printf-frexpl.c: Include fpucw.h.
40285         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40286         * modules/frexpl (Depends-on): Add fpucw.
40287         * modules/printf-frexpl (Depends-on): Likewise.
40288         * modules/fprintf-posix (Depends-on): Likewise.
40289         * modules/snprintf-posix (Depends-on): Likewise.
40290         * modules/sprintf-posix (Depends-on): Likewise.
40291         * modules/vasnprintf-posix (Depends-on): Likewise.
40292         * modules/vasprintf-posix (Depends-on): Likewise.
40293         * modules/vfprintf-posix (Depends-on): Likewise.
40294         * modules/vsnprintf-posix (Depends-on): Likewise.
40295         * modules/vsprintf-posix (Depends-on): Likewise.
40296         * modules/frexpl-tests (Depends-on): Likewise.
40297         * modules/printf-frexpl-tests (Depends-on): Likewise.
40298
40299 2007-03-24  Bruno Haible  <bruno@clisp.org>
40300
40301         * lib/float+.h: New file.
40302         * lib/isnan.c: Include float+.h.
40303         (SIZE): New macro.
40304         (FUNC): Compare only SIZE bytes of the value.
40305         * lib/vasnprintf.c: Include float+.h.
40306         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
40307         SIZEOF_LDBL or SIZEOF_DBL bytes.
40308         * modules/isnan-nolibm (Files): Add lib/float+.h.
40309         * modules/isnanl-nolibm (Files): Add lib/float+.h.
40310         * modules/isnanl (Files): Add lib/float+.h.
40311         * modules/vasnprintf (Files): Add lib/float+.h.
40312
40313 2007-03-24  Bruno Haible  <bruno@clisp.org>
40314
40315         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
40316         include isnanl-nolibm.h.
40317
40318 2007-03-24  Bruno Haible  <bruno@clisp.org>
40319
40320         * tests/test-read-file.c (main): Don't produce spurious output for
40321         expected situations. Make the test fail if it encountered unexpected
40322         results.
40323
40324 2007-03-24  Bruno Haible  <bruno@clisp.org>
40325
40326         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
40327         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
40328
40329 2007-03-24  Bruno Haible  <bruno@clisp.org>
40330
40331         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
40332
40333 2007-03-24  Bruno Haible  <bruno@clisp.org>
40334
40335         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
40336         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
40337
40338         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
40339         * modules/utf8-ucs4: Turn into a symbolic link to module
40340         unistr/u8-mbtouc.
40341
40342         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
40343         utf8-ucs4-unsafe.
40344         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
40345         unistr/u8-mbtouc-unsafe.
40346
40347         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
40348         * modules/utf16-ucs4: Turn into a symbolic link to module
40349         unistr/u16-mbtouc.
40350
40351         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
40352         utf16-ucs4-unsafe.
40353         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
40354         unistr/u16-mbtouc-unsafe.
40355
40356         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
40357         * modules/ucs4-utf8: Turn into a symbolic link to module
40358         unistr/u8-ubtomb.
40359
40360         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
40361         * modules/ucs4-utf16: Turn into a symbolic link to module
40362         unistr/u16-ubtomb.
40363
40364 2007-03-24  Bruno Haible  <bruno@clisp.org>
40365
40366         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
40367         Enable the function only if HAVE_INLINE.
40368         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
40369         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40370         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
40371         Enable the function only if HAVE_INLINE.
40372         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
40373         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40374         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
40375         Enable the function only if HAVE_INLINE.
40376         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
40377         Enable the function only if HAVE_INLINE.
40378         * modules/utf8-ucs4: Update.
40379         * modules/utf8-ucs4-unsafe: Update.
40380         * modules/utf16-ucs4: Update.
40381         * modules/utf16-ucs4-unsafe: Update.
40382         * modules/ucs4-utf8: Update.
40383         * modules/ucs4-utf16: Update.
40384
40385 2007-03-24  Bruno Haible  <bruno@clisp.org>
40386
40387         * lib/utf8-ucs4.h: Remove file.
40388         * lib/utf8-ucs4-unsafe.h: Remove file.
40389         * lib/utf16-ucs4.h: Remove file.
40390         * lib/utf16-ucs4-unsafe.h: Remove file.
40391         * lib/ucs4-utf8.h: Remove file.
40392         * lib/ucs4-utf16.h: Remove file.
40393         * lib/unistr.h: Include their previous contents.
40394         * m4/utf-ucs4.m4: Remove file.
40395         * m4/ucs4-utf.m4: Remove file.
40396         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
40397         (Depends-on): Add unistr/base.
40398         (configure.ac): Remove gl_UTF_UCS4.
40399         (Makefile.am): Update.
40400         (Include): Change to unistr.h.
40401         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
40402         (Depends-on): Add unistr/base.
40403         (configure.ac): Remove gl_UTF_UCS4.
40404         (Makefile.am): Update.
40405         (Include): Change to unistr.h.
40406         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
40407         (Depends-on): Add unistr/base.
40408         (configure.ac): Remove gl_UTF_UCS4.
40409         (Makefile.am): Update.
40410         (Include): Change to unistr.h.
40411         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
40412         (Depends-on): Add unistr/base.
40413         (configure.ac): Remove gl_UTF_UCS4.
40414         (Makefile.am): Update.
40415         (Include): Change to unistr.h.
40416         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
40417         (Depends-on): Add unistr/base.
40418         (configure.ac): Remove gl_UCS4_UTF.
40419         (Makefile.am): Update.
40420         (Include): Change to unistr.h.
40421         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
40422         (Depends-on): Add unistr/base.
40423         (configure.ac): Remove gl_UCS4_UTF.
40424         (Makefile.am): Update.
40425         (Include): Change to unistr.h.
40426         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
40427         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
40428         utf8-ucs4-unsafe.h.
40429         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
40430         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
40431         utf16-ucs4-unsafe.h.
40432         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
40433         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
40434         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
40435         * lib/unistr/u8-strchr.c: Likewise.
40436         * lib/unistr/u8-strrchr.c: Likewise.
40437         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
40438         * lib/unistr/u16-strchr.c: Likewise.
40439         * lib/unistr/u16-strrchr.c: Likewise.
40440         * lib/striconveh.c: Update.
40441         * lib/linebreak.c: Update.
40442
40443 2007-03-24  Bruno Haible  <bruno@clisp.org>
40444
40445         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
40446         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
40447
40448 2007-03-22  Bruno Haible  <bruno@clisp.org>
40449
40450         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
40451
40452 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40453
40454         * MODULES.html.sh (File system functions): New module write-any-file.
40455         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
40456         * m4/write-any-file.m4: New files.
40457
40458 2007-03-23  Eric Blake  <ebb9@byu.net>
40459
40460         * gnulib-tool: Rearrange space-tab sequences, since some editors
40461         like to eat them.
40462
40463 2007-03-23  Eric Blake  <ebb9@byu.net>
40464
40465         * lib/version-etc.c (version_etc_va): Update license wording to
40466         be more concise.  Recommended by Richard Stallman.
40467
40468 2007-03-22  Bruno Haible  <bruno@clisp.org>
40469
40470         * lib/poll.c (MSG_PEEK): New fallback definition.
40471
40472 2007-03-22  Bruno Haible  <bruno@clisp.org>
40473
40474         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
40475         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
40476         (main): Update.
40477         Fixes a compilation error on BeOS.
40478
40479 2007-03-22  Bruno Haible  <bruno@clisp.org>
40480
40481         * modules/frexpl-tests: New file.
40482         * tests/test-frexpl.c: New file.
40483
40484         * modules/frexpl: New file.
40485         * m4/frexpl.m4: New file.
40486         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
40487         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
40488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
40489         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
40490         (Depends-on): Add frexpl. Remove isnanl-nolibm.
40491         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
40492
40493 2007-03-22  Bruno Haible  <bruno@clisp.org>
40494
40495         * lib/frexpl.c: Share code with lib/frexp.c.
40496         * modules/mathl (Files): Add lib/frexp.c.
40497         (Depends-on): Add isnanl-nolibm.
40498
40499 2007-03-22  Bruno Haible  <bruno@clisp.org>
40500
40501         * modules/printf-frexp (Files): Add m4/frexp.m4.
40502         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
40503         only if the found frexp function actually works.
40504
40505 2007-03-22  Bruno Haible  <bruno@clisp.org>
40506
40507         * lib/frexp.c: Remove older implementation that uses divisions.
40508
40509 2007-03-21  Bruno Haible  <bruno@clisp.org>
40510
40511         * modules/frexp-tests: New file.
40512         * tests/test-frexp.c: New file.
40513
40514         * modules/frexp: New file.
40515         * lib/frexp.c: New file.
40516         * m4/frexp.m4: New file.
40517         * lib/math_.h (frexp): New declaration.
40518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
40519         REPLACE_FREXP.
40520         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
40521
40522 2007-03-21  Bruno Haible  <bruno@clisp.org>
40523
40524         * modules/isnanl-tests: New file.
40525         * tests/test-isnanl.c: New file.
40526
40527         * modules/isnanl: New file.
40528         * lib/isnanl.h: New file.
40529         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
40530         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
40531         gl_FUNC_ISNANL_WORKS.
40532         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
40533         New macros.
40534
40535 2007-03-21  Bruno Haible  <bruno@clisp.org>
40536
40537         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
40538         lib/isnanl.h.
40539         (Include): Update.
40540         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
40541         * lib/vasnprintf.c: Update.
40542         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
40543         tests/test-isnanl.h, remove tests/test-isnanl.c.
40544         (Makefile.am): Update.
40545         * tests/test-isnanl-nolibm.c: New file.
40546         * tests/test-isnanl.h: New file.
40547         * tests/test-isnanl.c: Remove file.
40548
40549 2007-03-21  Jim Meyering  <jim@meyering.net>
40550
40551         When trying to open ".", treat ESTALE like EACCES.
40552         * lib/savewd.c (savewd_save): Resort to forking not just upon
40553         failure with EACCES, but also when errno is ESTALE.
40554
40555 2007-03-20  Bruno Haible  <bruno@clisp.org>
40556
40557         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
40558         Needed on AIX 5.1. Reported by Matthew Woehlke.
40559
40560 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40561
40562         Suggestions by Bruno Haible:
40563         * lib/acl-internal.h: Include "gettext.h" rather than rolling
40564         our own.
40565         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
40566         * modules/acl (Depends-on): Add gettext.
40567
40568 2007-03-19  Bruno Haible  <bruno@clisp.org>
40569
40570         * modules/iconvme: Remove file.
40571         * lib/iconvme.h: Remove file.
40572         * lib/iconvme.c: Remove file.
40573         * m4/iconvme.m4: Remove file.
40574
40575 2007-03-19  Bruno Haible  <bruno@clisp.org>
40576
40577         * doc/relocatable-maint.texi: Break long shell script line.
40578         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40579
40580 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40581
40582         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
40583         handle file_has_acl.
40584         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
40585         * lib/acl.c: Move header inclusions and related macro defns into
40586         lib/acl-internal.h.
40587         (S_ISLNK): Remove defn, since that's now done for us.
40588         (file_has_acl): Move to lib/file-has-acl.c.
40589         Call acl_trivial if available.  This is the crucial part of the fix.
40590         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
40591         shared within the library.  Rewrite a bit, partly to make it compatible
40592         with the GNU coding style.
40593         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
40594         Remove unnecessary double-quotes.
40595         Don't test for acl_to_text; the build will catch that.
40596         Replace acl_entries if it doesn't exist and it is needed.
40597         Check for -lsec and acl_trivial (as used on Solaris 10).
40598         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
40599         lib/file-has-acl.c.
40600         (Depends-on): Add sys_stat, for S_ISLNK.
40601
40602 2007-03-19  Ben Pfaff  <blp@gnu.org>
40603
40604         * doc/gnulib.texi: Fix typos.
40605         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40606
40607 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40608
40609         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
40610         If size is zero here, buf must be zero.
40611
40612 2007-03-19  Simon Josefsson  <simon@josefsson.org>
40613
40614         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
40615         <bruno@clisp.org>.
40616
40617 2007-03-18  Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
40620         Suggested by Eric Blake.
40621
40622 2007-03-18  Ben Pfaff  <blp@gnu.org>
40623
40624         * doc/relocatable.texi: Recommend using as prefix a directory
40625         that does not exist and will never be created.  Based on
40626         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
40627         and others.
40628
40629 2007-03-17  Bruno Haible  <bruno@clisp.org>
40630
40631         * lib/fchownat.c: Include lchown.h.
40632
40633 2007-03-17  Bruno Haible  <bruno@clisp.org>
40634
40635         Fix endless loop when the given allocated size was > INT_MAX.
40636         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
40637         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
40638         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
40639         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
40640         * lib/sprintf.c (sprintf): Likewise.
40641
40642 2007-03-17  Bruno Haible  <bruno@clisp.org>
40643
40644         * tests/test-argp-2.sh (func_compare): Output a context diff.
40645
40646 2007-03-17  Bruno Haible  <bruno@clisp.org>
40647
40648         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
40649         locale's decimal-point character.
40650
40651 2007-03-17  Bruno Haible  <bruno@clisp.org>
40652
40653         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
40654         before comparing it. Needed because on some platforms (e.g. x86) a
40655         'long double' occupies less bytes than sizeof (long double).
40656
40657 2007-03-17  Bruno Haible  <bruno@clisp.org>
40658
40659         * tests/test-crc.c (main): Make printf statements 64-bit clean.
40660         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
40661         * tests/test-getaddrinfo.c (simple): Likewise.
40662         * tests/test-read-file.c (main): Likewise.
40663
40664 2007-03-17  Bruno Haible  <bruno@clisp.org>
40665
40666         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
40667
40668 2007-03-17  Bruno Haible  <bruno@clisp.org>
40669
40670         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
40671         unused variable.
40672
40673 2007-03-17  Bruno Haible  <bruno@clisp.org>
40674
40675         * tests/test-c-strcasecmp.c: Include c-strcase.h.
40676         * tests/test-c-strncasecmp.c: Likewise.
40677
40678 2007-03-17  Bruno Haible  <bruno@clisp.org>
40679
40680         * modules/stdlib (Depends-on): Add unistd.
40681         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
40682         Needed for MacOS X 10.3.
40683
40684 2007-03-17  Bruno Haible  <bruno@clisp.org>
40685
40686         * lib/unistr/u-strdup.h: Include <stdlib.h>.
40687
40688 2007-03-17  Bruno Haible  <bruno@clisp.org>
40689
40690         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
40691
40692 2007-03-17  Bruno Haible  <bruno@clisp.org>
40693
40694         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
40695         to reflect files copied from gnulib (with or without modifications).
40696         Suggested by Jim Meyering.
40697
40698 2007-03-17  Eric Blake  <ebb9@byu.net>
40699
40700         * NEWS: Document stdlib change from 2007-02-18.
40701
40702 2007-03-17  Jim Meyering  <jim@meyering.net>
40703
40704         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
40705         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
40706         someone uses a name containing shell meta-characters.
40707         Reported by Alfred M. Szmidt.
40708
40709         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
40710
40711 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40712
40713         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
40714         and copy gettext configuration files only if configure.ac contains
40715         a use of AM_GNU_GETTEXT_VERSION.
40716
40717 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40718
40719         * build-aux/bootstrap (gnulib_name): New variable.
40720         (gnulib_tool_options): Use it.
40721
40722 2007-03-13  Simon Josefsson  <simon@josefsson.org>
40723
40724         * tests/test-des.c: Use new namespace.
40725
40726 2007-03-15  Bruno Haible  <bruno@clisp.org>
40727
40728         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
40729         Reported by James Youngman <jay@gnu.org>.
40730
40731 2007-03-15  Bruno Haible  <bruno@clisp.org>
40732
40733         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
40734         declared prototype. Needed with cc on OSF/1 5.1.
40735
40736 2007-03-15  Bruno Haible  <bruno@clisp.org>
40737
40738         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
40739         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
40740         (struct gl_list_implementation): Add dispose_fn argument to the
40741         'create_empty', 'create' methods.
40742         (struct gl_list_impl_base): Add field 'dispose_fn'.
40743         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
40744         argument.
40745         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
40746         dispose_fn argument.
40747         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
40748         dispose_fn on the dropped values.
40749         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
40750         dispose_fn argument.
40751         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
40752         dropped values.
40753         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
40754         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40755         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
40756         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40757         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
40758         argument.
40759         (gl_tree_list_free): Call dispose_fn on the dropped values.
40760         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
40761         the dropped values.
40762         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
40763         Add dispose_fn argument.
40764         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
40765         Call dispose_fn on the dropped values.
40766         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
40767         Add dispose_fn argument.
40768         (gl_sublist_create): Initialize the 'dispose_fn' field.
40769         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
40770         * tests/test-array_list.c (main): Update.
40771         * tests/test-carray_list.c (main): Update.
40772         * tests/test-avltree_list.c (main): Update.
40773         * tests/test-rbtree_list.c (main): Update.
40774         * tests/test-avltreehash_list.c (main): Update.
40775         * tests/test-rbtreehash_list.c (main): Update.
40776         * tests/test-linked_list.c (main): Update.
40777         * tests/test-linkedhash_list.c (main): Update.
40778         * tests/test-array_oset.c (main): Update.
40779
40780 2007-03-15  Bruno Haible  <bruno@clisp.org>
40781
40782         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
40783         (gl_oset_create_empty): Add dispose_fn argument.
40784         (struct gl_oset_implementation): Add dispose_fn argument to
40785         'create_empty' method.
40786         (struct gl_oset_impl_base): Add dispose_fn field.
40787         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
40788         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
40789         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
40790         values.
40791         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
40792         (gl_tree_oset_free): Call dispose_fn on the dropped values.
40793         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40794         dropped value.
40795         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40796         dropped value.
40797         * tests/test-array_oset.c (main): Update.
40798         * tests/test-avltree_oset.c (main): Update.
40799         * tests/test-rbtree_oset.c (main): Update.
40800         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
40801
40802 2007-03-13  Bruno Haible  <bruno@clisp.org>
40803
40804         * tests/test-stdbool.c (i): Update after last patch.
40805
40806 2007-03-12  Bruno Haible  <bruno@clisp.org>
40807
40808         * lib/quotearg.c: Include <wctype.h> early, before the definition of
40809         the iswprint macro. Needed on Solaris 2.5.1.
40810
40811 2007-03-12  Bruno Haible  <bruno@clisp.org>
40812
40813         * tests/test-printf-frexp.c (main): Declare x as volatile.
40814
40815 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40816
40817         * doc/gnulib.texi (Build robot for gnulib): New section.
40818
40819 2007-03-12  Jim Meyering  <jim@meyering.net>
40820
40821         * build-aux/bootstrap: New file.
40822         * build-aux/bootstrap.conf: New file, from coreutils.
40823
40824 2007-03-11  Bruno Haible  <bruno@clisp.org>
40825
40826         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
40827
40828 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40829
40830         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
40831         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
40832         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
40833
40834 2007-03-11  Bruno Haible  <bruno@clisp.org>
40835
40836         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
40837         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
40838
40839 2007-03-11  Bruno Haible  <bruno@clisp.org>
40840
40841         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
40842         formula. Needed for SunPRO C 5.0.
40843
40844 2007-03-11  Bruno Haible  <bruno@clisp.org>
40845
40846         * modules/long-options (Depends-on): Add getopt.
40847
40848 2007-03-11  Bruno Haible  <bruno@clisp.org>
40849
40850         * modules/modechange (Depends-on): Add stdbool.
40851
40852 2007-03-11  Bruno Haible  <bruno@clisp.org>
40853
40854         * modules/i-ring (Depends-on): Add stdbool.
40855
40856 2007-03-11  Bruno Haible  <bruno@clisp.org>
40857
40858         * modules/gc-des (Depends-on): Add stdbool.
40859
40860 2007-03-11  Bruno Haible  <bruno@clisp.org>
40861
40862         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
40863
40864 2007-03-11  Bruno Haible  <bruno@clisp.org>
40865
40866         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
40867
40868 2007-03-11  Bruno Haible  <bruno@clisp.org>
40869
40870         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
40871
40872 2007-03-11  Bruno Haible  <bruno@clisp.org>
40873
40874         * lib/vasnprintf.c (sprintf): Undefine.
40875
40876 2007-03-11  Bruno Haible  <bruno@clisp.org>
40877
40878         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
40879         initializers in SunPRO C and Compaq C compilers.
40880
40881 2007-03-11  Bruno Haible  <bruno@clisp.org>
40882
40883         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
40884         decrementing code ANSI C compliant.
40885
40886 2007-03-11  Bruno Haible  <bruno@clisp.org>
40887
40888         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
40889         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
40890
40891 2007-03-11  Bruno Haible  <bruno@clisp.org>
40892
40893         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
40894         <stdbool.h> substitute doesn't pass.
40895
40896 2007-03-11  Bruno Haible  <bruno@clisp.org>
40897
40898         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
40899
40900 2007-03-11  Bruno Haible  <bruno@clisp.org>
40901
40902         * gnulib-tool (func_create_megatestdir): Create also an autobuild
40903         script, for submission to autobuild.josefsson.org.
40904
40905 2007-03-10  Bruno Haible  <bruno@clisp.org>
40906
40907         * modules/canonicalize-lgpl-tests: New file.
40908         * tests/test-canonicalize-lgpl.sh: New file.
40909         * tests/test-canonicalize-lgpl.c: New file.
40910
40911         * modules/c-strcase-tests: New file.
40912         * tests/test-c-strcase.sh: New file.
40913         * tests/test-c-strcasecmp.c: New file.
40914         * tests/test-c-strncasecmp.c: New file.
40915
40916         * modules/atexit-tests: New file.
40917         * tests/test-atexit.sh: New file.
40918         * tests/test-atexit.c: New file.
40919
40920 2007-03-10  Bruno Haible  <bruno@clisp.org>
40921
40922         * tests/test-binary-io.sh: Use temporary filenames that are not so
40923         likely to clash with those of other tests (in a parallel make).
40924         * tests/test-binary-io.c: Likewise.
40925
40926 2007-03-10  Bruno Haible  <bruno@clisp.org>
40927
40928         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
40929         fallback; use #error instead.
40930         Suggested by Simon Josefsson.
40931
40932 2007-03-10  Bruno Haible  <bruno@clisp.org>
40933
40934         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
40935         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
40936         first and the last.
40937
40938 2007-03-10  Bruno Haible  <bruno@clisp.org>
40939
40940         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
40941
40942 2007-03-10  Bruno Haible  <bruno@clisp.org>
40943
40944         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
40945         "make distcheck".
40946         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
40947         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
40948         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
40949
40950 2007-03-10  Bruno Haible  <bruno@clisp.org>
40951
40952         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
40953         variable.
40954         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
40955         variable.
40956
40957 2007-03-09  Eric Blake  <ebb9@byu.net>
40958         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
40959
40960         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
40961         types are not being provided by gnulib.
40962         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
40963         types are supported.
40964
40965 2007-03-10  Bruno Haible  <bruno@clisp.org>
40966
40967         * lib/stdio_.h (__attribute__): New macro.
40968         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
40969         vsprintf): Specify __attribute__ __format__ for GCC.
40970         Suggested by Eric Blake.
40971
40972 2007-03-09  Bruno Haible  <bruno@clisp.org>
40973
40974         * modules/printf-posix-tests: New file.
40975         * tests/test-printf-posix.sh: New file.
40976         * tests/test-printf-posix.c: New file.
40977
40978         * modules/printf-posix: New file.
40979         * lib/printf.c: New file.
40980         * m4/printf-posix-rpl.m4: New file.
40981         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
40982         REPLACE_PRINTF.
40983         * lib/stdio_.h (printf): New declaration.
40984         (format, __format__, ____printf____, ____scanf____, ____strftime____,
40985         ____strfmon____): New macros.
40986         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
40987         REPLACE_PRINTF.
40988
40989 2007-03-09  Bruno Haible  <bruno@clisp.org>
40990
40991         * tests/test-vasnprintf-posix2.sh: New file.
40992         * tests/test-vasnprintf-posix2.c: New file.
40993         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
40994         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40995         (Makefile.am): Activate test-vasnprintf-posix2.sh.
40996
40997         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
40998         a locale dependent decimal point, rather than always '.'.
40999
41000 2007-03-09  Eric Blake  <ebb9@byu.net>
41001
41002         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
41003         spite of platforms like Tandem/NSK that define it to -1.
41004
41005 2007-03-08  Bruno Haible  <bruno@clisp.org>
41006
41007         * modules/vprintf-posix-tests: New file.
41008         * tests/test-vprintf-posix.sh: New file.
41009         * tests/test-vprintf-posix.c: New file.
41010         * tests/test-printf-posix.h: New file.
41011
41012         * modules/vprintf-posix: New file.
41013         * lib/vprintf.c: New file.
41014         * m4/vprintf-posix.m4: New file.
41015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
41016         REPLACE_VPRINTF.
41017         * lib/stdio_.h (vprintf): New declaration.
41018         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
41019         REPLACE_VPRINTF.
41020
41021 2007-03-08  Bruno Haible  <bruno@clisp.org>
41022
41023         * modules/fprintf-posix-tests: New file.
41024         * tests/test-fprintf-posix.sh: New file.
41025         * tests/test-fprintf-posix.c: New file.
41026
41027         * modules/fprintf-posix: New file.
41028         * lib/fprintf.c: New file.
41029         * m4/fprintf-posix.m4: New file.
41030         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
41031         REPLACE_FPRINTF.
41032         * lib/stdio_.h (fprintf): New declaration.
41033         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
41034         REPLACE_FPRINTF.
41035
41036 2007-03-08  Bruno Haible  <bruno@clisp.org>
41037
41038         * modules/vfprintf-posix-tests: New file.
41039         * tests/test-vfprintf-posix.sh: New file.
41040         * tests/test-vfprintf-posix.c: New file.
41041         * tests/test-fprintf-posix.h: New file.
41042         * tests/test-fprintf-posix.out: New file.
41043
41044         * modules/vfprintf-posix: New file.
41045         * lib/vfprintf.c: New file.
41046         * m4/vfprintf-posix.m4: New file.
41047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
41048         REPLACE_VFPRINTF.
41049         * lib/stdio_.h (vfprintf): New declaration.
41050         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
41051         REPLACE_VFPRINTF.
41052
41053 2007-03-08  Bruno Haible  <bruno@clisp.org>
41054
41055         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
41056
41057 2007-03-08  Bruno Haible  <bruno@clisp.org>
41058
41059         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
41060         instead of 'expr' invocations.
41061         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41062         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41063         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41064         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41065         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41066         Suggested by Paul Eggert.
41067
41068 2007-03-08  Bruno Haible  <bruno@clisp.org>
41069
41070         * modules/fseterr-tests: New file.
41071         * tests/test-fseterr.c: New file.
41072
41073         * modules/fseterr: New file.
41074         * lib/fseterr.h: New file.
41075         * lib/fseterr.c: New file.
41076
41077 2007-03-08  Bruno Haible  <bruno@clisp.org>
41078
41079         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
41080         * lib/getopt_.h: Likewise.
41081         * lib/mbswidth.h: Likewise.
41082         * lib/setenv.h: Likewise.
41083         * lib/vasnprintf.h: Likewise.
41084         * lib/vasprintf.h: Likewise.
41085         * lib/verror.h: Likewise.
41086         * lib/xsetenv.h: Likewise.
41087         * lib/xvasprintf.h: Likewise.
41088
41089 2007-03-08  Jim Meyering  <jim@meyering.net>
41090
41091         * users.txt: Add parted.
41092
41093         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
41094
41095 2007-03-07  Bruno Haible  <bruno@clisp.org>
41096
41097         * m4/printf.m4: Make the shell script snippets copy&pastable.
41098
41099 2007-03-02  Bruno Haible  <bruno@clisp.org>
41100
41101         * lib/netinet_in_.h: New file.
41102         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
41103         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
41104         * modules/netinet_in (Files): Add lib/netinet_in_.h.
41105         (Depends-on): Add absolute-header.
41106         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
41107         into netinet/in.h.
41108
41109 2007-03-03  Bruno Haible  <bruno@clisp.org>
41110
41111         * lib/sys_select_.h: New file.
41112         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
41113         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
41114         * modules/sys_select (Files): Add lib/sys_select_.h.
41115         (Depends-on): Add absolute-header.
41116         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
41117         into sys/select.h.
41118
41119 2007-03-02  Bruno Haible  <bruno@clisp.org>
41120
41121         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
41122         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
41123         values.
41124         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
41125         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
41126         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
41127         * modules/sys_socket (Depends-on): Add absolute-header.
41128         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
41129         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
41130         (Include): Remove requirement of inclusion of <sys/types.h>.
41131
41132 2007-03-02  Bruno Haible  <bruno@clisp.org>
41133
41134         * lib/byteswap_.h (bswap_32): Fix formula.
41135
41136 2007-03-06  Bruno Haible  <bruno@clisp.org>
41137
41138         * modules/sprintf-posix-tests: New file.
41139         * tests/test-sprintf-posix.c: New file.
41140
41141         * modules/sprintf-posix: New file.
41142         * lib/sprintf.c: New file.
41143         * m4/sprintf-posix.m4: New file.
41144         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
41145         REPLACE_SPRINTF.
41146         * lib/stdio_.h (sprintf): New declaration.
41147         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
41148         REPLACE_SPRINTF.
41149
41150 2007-03-06  Bruno Haible  <bruno@clisp.org>
41151
41152         * modules/vsprintf-posix-tests: New file.
41153         * tests/test-vsprintf-posix.c: New file.
41154         * tests/test-sprintf-posix.h: New file.
41155
41156         * modules/vsprintf-posix: New file.
41157         * lib/vsprintf.c: New file.
41158         * m4/vsprintf-posix.m4: New file.
41159         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
41160         REPLACE_VSPRINTF.
41161         * lib/stdio_.h (vsprintf): New declaration.
41162         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
41163         REPLACE_VSPRINTF.
41164
41165 2007-03-06  Bruno Haible  <bruno@clisp.org>
41166
41167         * modules/vsnprintf (Depend-on): Remove minmax.
41168
41169 2007-03-06  Bruno Haible  <bruno@clisp.org>
41170
41171         * modules/snprintf-posix-tests: New file.
41172         * tests/test-snprintf-posix.c: New file.
41173
41174         * modules/snprintf-posix: New file.
41175         * m4/snprintf-posix.m4: New file.
41176         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
41177         gl_FUNC_SNPRINTF.
41178         (gl_FUNC_SNPRINTF): Invoke it.
41179         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
41180         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
41181         is set.
41182         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
41183
41184 2007-03-06  Bruno Haible  <bruno@clisp.org>
41185
41186         * modules/vsnprintf-posix-tests: New file.
41187         * tests/test-vsnprintf-posix.c: New file.
41188         * tests/test-snprintf-posix.h: New file.
41189
41190         * modules/vsnprintf-posix: New file.
41191         * m4/vsnprintf-posix.m4: New file.
41192         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
41193         gl_FUNC_VSNPRINTF.
41194         (gl_FUNC_VSNPRINTF): Invoke it.
41195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
41196         * lib/stdio_.h (vsnprintf): Define as a replacement if
41197         REPLACE_VSNPRINTF is set.
41198         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
41199
41200 2007-03-06  Bruno Haible  <bruno@clisp.org>
41201
41202         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
41203         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
41204
41205 2007-03-06  Bruno Haible  <bruno@clisp.org>
41206
41207         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
41208         (asinl): Declare also if HAVE_DECL_ASINL is set.
41209         (atanl): Declare also if HAVE_DECL_ATANL is set.
41210         (ceill): Declare also if HAVE_DECL_CEILL is set.
41211         (cosl): Declare also if HAVE_DECL_COSL is set.
41212         (expl): Declare also if HAVE_DECL_EXPL is set.
41213         (floorl): Declare also if HAVE_DECL_FLOORL is set.
41214         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
41215         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
41216         (logl): Declare also if HAVE_DECL_LOGL is set.
41217         (sinl): Declare also if HAVE_DECL_SINL is set.
41218         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
41219         (tanl): Declare also if HAVE_DECL_TANL is set.
41220         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
41221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
41222         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
41223         declaration of frexpl, ldexpl.
41224         * modules/printf-frexpl (Depends-on): Add math.
41225         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
41226
41227 2007-03-05  Bruno Haible  <bruno@clisp.org>
41228
41229         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
41230         frexpl and ldexpl are declared.
41231         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
41232
41233 2007-03-05  Bruno Haible  <bruno@clisp.org>
41234
41235         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
41236         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
41237
41238 2007-03-05  Bruno Haible  <bruno@clisp.org>
41239
41240         * lib/stdio_.h: Include <stddef.h>.
41241
41242 2007-03-05  Bruno Haible  <bruno@clisp.org>
41243
41244         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
41245
41246 2007-03-05  Bruno Haible  <bruno@clisp.org>
41247
41248         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
41249         NetBSD 4, from Ralf Wildenhues.
41250
41251 2007-03-04  Bruno Haible  <bruno@clisp.org>
41252
41253         * lib/vasprintf.h: Update #if logic for the case when the functions
41254         exist but are overridden.
41255
41256 2007-03-04  Bruno Haible  <bruno@clisp.org>
41257
41258         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
41259         implementations: glibc-2.4 and MacOS X 10.3.
41260         * tests/test-vasnprintf-posix.c (test_function): Test also the case
41261         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
41262         * tests/test-vasprintf-posix.c (test_function): Likewise.
41263
41264 2007-03-04  Bruno Haible  <bruno@clisp.org>
41265
41266         * modules/vasprintf-posix-tests: New file.
41267         * tests/test-vasprintf-posix.c: New file.
41268
41269         * modules/vasprintf-posix: New file.
41270         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
41271         defined.
41272         * m4/vasprintf-posix.m4: New file.
41273         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
41274         gl_FUNC_VASPRINTF.
41275         (gl_FUNC_VASPRINTF): Invoke it.
41276         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
41277         here.
41278         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
41279
41280 2007-03-04  Bruno Haible  <bruno@clisp.org>
41281
41282         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
41283         REPLACE_GETTIMEOFDAY.
41284         * modules/sys_time (Makefile.am): Likewise.
41285         * m4/sys_time_h.m4: Likewise.
41286         * m4/gettimeofday.m4: Likewise.
41287
41288 2007-03-04  Bruno Haible  <bruno@clisp.org>
41289
41290         * modules/vasnprintf-posix-tests: New file.
41291         * tests/test-vasnprintf-posix.c: New file.
41292
41293         * modules/vasnprintf-posix: New file.
41294         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
41295         printf-frexpl.h.
41296         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
41297         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
41298         REPLACE_VASNPRINTF is defined.
41299         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
41300         gl_FUNC_VASNPRINTF.
41301         (gl_FUNC_VASNPRINTF): Invoke it.
41302         * m4/vasnprintf-posix.m4: New file.
41303         * m4/printf.m4: New file.
41304
41305 2007-03-04  Bruno Haible  <bruno@clisp.org>
41306
41307         Compile progreloc.c only if --enable-relocatable is specified.
41308         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
41309         if --enable-relocatable was specified.
41310         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
41311         lib_SOURCES.
41312
41313 2007-03-04  Jim Meyering  <jim@meyering.net>
41314
41315         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
41316         Use it consistently, rather than enumerating errno constants.
41317
41318 2007-03-04  Bruno Haible  <bruno@clisp.org>
41319
41320         * modules/xvasprintf-tests: New file.
41321         * tests/test-xvasprintf.c: New file.
41322
41323         * modules/vasprintf-tests: New file.
41324         * tests/test-vasprintf.c: New file.
41325
41326         * modules/vasnprintf-tests: New file.
41327         * tests/test-vasnprintf.c: New file.
41328
41329         * modules/vsnprintf-tests: New file.
41330         * tests/test-vsnprintf.c: New file.
41331
41332         * modules/snprintf-tests: New file.
41333         * tests/test-snprintf.c: New file.
41334
41335 2007-03-04  Bruno Haible  <bruno@clisp.org>
41336
41337         Compile relocatable.c only if --enable-relocatable is specified.
41338         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
41339         gl_RELOCATABLE_LIBRARY.
41340         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
41341         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
41342         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
41343         gl_RELOCATABLE_LIBRARY.
41344         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
41345         (Makefile.am): Remove lib_SOURCES.
41346         * modules/relocatable-lib-lgpl (configure.ac): Invoke
41347         gl_RELOCATABLE_LIBRARY.
41348         (Makefile.am): Remove lib_SOURCES.
41349         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
41350         always.
41351         * modules/relocatable-prog-wrapper (configure.ac): Invoke
41352         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
41353
41354 2007-03-04  Bruno Haible  <bruno@clisp.org>
41355
41356         * modules/argmatch-tests: New file.
41357         * tests/test-argmatch.c: New file.
41358
41359         * tests/test-allocsa.c (main): Halve the number of loop runs.
41360
41361         * modules/alloca-opt-tests: New file.
41362         * tests/test-alloca-opt.c: New file.
41363
41364 2007-03-04  Jim Meyering  <jim@meyering.net>
41365
41366         Work around difference between Linux ACLs and Solaris 10 ZFS.
41367         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
41368         for EINVAL.
41369
41370 2007-03-03  Bruno Haible  <bruno@clisp.org>
41371
41372         * modules/relocatable-prog (Depends-on): Add back progreloc's
41373         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
41374
41375 2007-03-03  Bruno Haible  <bruno@clisp.org>
41376
41377         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
41378         * modules/relocatable-lib: New file.
41379
41380 2007-03-03  Bruno Haible  <bruno@clisp.org>
41381
41382         * modules/relocatable-prog: Renamed from modules/relocatable.
41383         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
41384
41385 2007-03-03  Bruno Haible  <bruno@clisp.org>
41386
41387         * modules/relocatable-script (Files): Add doc/relocatable.texi,
41388         m4/relocatable-lib.m4.
41389         (Depends-on): Remove 'relocatable'.
41390         (configure.ac): Add gl_RELOCATABLE_NOP.
41391
41392 2007-03-03  Bruno Haible  <bruno@clisp.org>
41393
41394         * modules/relocatable-prog-wrapper: New file.
41395         * modules/relocatable (Depends-on): Add it. Remove all other
41396         dependencies except progname.
41397         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
41398
41399         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
41400         (gl_FUNC_STRERROR): Nop.
41401         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
41402
41403         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
41404         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
41405
41406         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
41407         (gl_FUNC_READLINK): Update.
41408
41409         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
41410
41411 2007-03-03  Bruno Haible  <bruno@clisp.org>
41412
41413         * lib/xreadlink.c: Include <unistd.h> unconditionally.
41414         * modules/xreadlink (Depends-on): Add unistd.
41415         * modules/xreadlink-with-size (Depends-on): Likewise.
41416
41417 2007-03-03  Bruno Haible  <bruno@clisp.org>
41418
41419         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
41420         extracted from gt_FUNC_SETENV.
41421         (gt_FUNC_SETENV): Remove macro.
41422         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
41423         remove gt_FUNC_SETENV.
41424
41425 2007-03-03  Bruno Haible  <bruno@clisp.org>
41426
41427         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
41428         ENABLE_RELOCATABLE here.
41429         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
41430
41431 2007-03-03  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/rbtreehash-list-tests (Depends-on): Add progname.
41434         * tests/test-rbtreehash_list.c: Include progname.h.
41435         (main): Call set_program_name.
41436
41437         * modules/rbtree-oset-tests (Depends-on): Add progname.
41438         * tests/test-rbtree_oset.c: Include progname.h.
41439         (main): Call set_program_name.
41440
41441         * modules/rbtree-list-tests (Depends-on): Add progname.
41442         * tests/test-rbtree_list.c: Include progname.h.
41443         (main): Call set_program_name.
41444
41445         * modules/linked-list-tests (Depends-on): Add progname.
41446         * tests/test-linked_list.c: Include progname.h.
41447         (main): Call set_program_name.
41448
41449 2007-03-03  Bruno Haible  <bruno@clisp.org>
41450
41451         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
41452         All uses of __restrict changed to _Restrict_.
41453         * lib/glob_.h (__restrict): Remove macro.
41454
41455 2007-03-02  Bruno Haible  <bruno@clisp.org>
41456
41457         * modules/gettext (configure.ac): Require gettext infrastructure
41458         from version 0.16.1.
41459
41460 2007-03-02  Bruno Haible  <bruno@clisp.org>
41461
41462         * modules/linkedhash-list-tests (Depends-on): Add progname.
41463         * tests/test-linkedhash_list.c: Include progname.h.
41464         (main): Call set_program_name.
41465
41466         * modules/carray-list-tests (Depends-on): Add progname.
41467         * tests/test-carray_list.c: Include progname.h.
41468         (main): Call set_program_name.
41469
41470         * modules/avltreehash-list-tests (Depends-on): Add progname.
41471         * tests/test-avltreehash_list.c: Include progname.h.
41472         (main): Call set_program_name.
41473
41474         * modules/avltree-oset-tests (Depends-on): Add progname.
41475         * tests/test-avltree_oset.c: Include progname.h.
41476         (main): Call set_program_name.
41477
41478         * modules/avltree-list-tests (Depends-on): Add progname.
41479         * tests/test-avltree_list.c: Include progname.h.
41480         (main): Call set_program_name.
41481
41482         * modules/array-oset-tests (Depends-on): Add progname.
41483         * tests/test-array_oset.c: Include progname.h.
41484         (main): Call set_program_name.
41485
41486         * modules/array-list-tests (Depends-on): Add progname.
41487         * tests/test-array_list.c: Include progname.h.
41488         (main): Call set_program_name.
41489
41490         * modules/argp-tests (Depends-on): Add progname.
41491         * tests/test-argp.c: Include argp.h first. Include progname.h.
41492         (main): Call set_program_name.
41493
41494 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
41495
41496         * doc/gnulib-tool.texi (Initial import): Reword description of
41497         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
41498         limited effect even if defined after the first system include.
41499
41500 2007-03-01  Bruno Haible  <bruno@clisp.org>
41501
41502         * build-aux/config.libpath: Update to libtool-1.5.22.
41503         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41504
41505 2007-03-01  Bruno Haible  <bruno@clisp.org>
41506
41507         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41508         foo_CFLAGS.
41509         Reported by Ralf Wildenhues.
41510
41511 2007-03-01  Bruno Haible  <bruno@clisp.org>
41512
41513         * build-aux/install-reloc: Remove object files left over by some
41514         compilers.
41515         Reported by Ralf Wildenhues.
41516
41517 2007-03-01  Bruno Haible  <bruno@clisp.org>
41518
41519         * build-aux/install-reloc: Break long lines.
41520
41521 2007-03-01  Bruno Haible  <bruno@clisp.org>
41522
41523         * doc/relocatable.texi: Document that it may not work on OpenBSD.
41524         Reported by Ralf Wildenhues.
41525
41526 2007-03-01  Bruno Haible  <bruno@clisp.org>
41527
41528         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
41529         include ordering constraints.
41530
41531 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41532
41533         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
41534         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
41535         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
41536         as another example.
41537         * lib/time_.h: Fix misspelling.
41538         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41539         Require gl_HEADER_TIME_H_DEFAULTS.
41540         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
41541         * m4/time_r.m4 (gl_TIME_R): Likewise.
41542         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
41543
41544 2007-03-01  Bruno Haible  <bruno@clisp.org>
41545
41546         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
41547         * m4/utimens.m4 (gl_UTIMENS): Likewise.
41548
41549 2007-03-01  Jim Meyering  <jim@meyering.net>
41550
41551         * modules/xreadlink (Maintainer): Add my name.
41552         * modules/xreadlink-with-size (Depends-on): Alphabetize.
41553
41554 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
41555             Bruno Haible  <bruno@clisp.org>
41556
41557         * build-aux/install-reloc: Compile also c-ctype.c.
41558         * build-aux/relocatable.sh.in: New file.
41559         * doc/relocatable.texi: New file.
41560         * doc/relocatable-maint.texi: New file.
41561         * doc/gnulib.texi: Include relocatable-maint.texi.
41562         * lib/progreloc.c: Include unistd.h unconditionally.
41563         * lib/relocwrapper.c: Include unistd.h unconditionally.
41564         Include c-ctype.h.
41565         (add_dotbin): Use c_tolower.
41566         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
41567         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
41568         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
41569         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
41570         to m4/relocatable-lib.m4.
41571         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
41572         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
41573         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
41574         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
41575         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
41576         * modules/relocatable: New file.
41577         * modules/relocatable-lib: New file.
41578         * modules/relocatable-script: New file.
41579
41580 2007-02-28  Bruno Haible  <bruno@clisp.org>
41581
41582         Import --enable-relocatable infrastructure.
41583         * build-aux/config.libpath: New file, from GNU gettext.
41584         * build-aux/install-reloc: New file, from GNU gettext.
41585         * build-aux/reloc-ldflags: New file, from GNU gettext.
41586         * lib/relocatable.h: New file, from GNU gettext.
41587         * lib/relocatable.c: New file, from GNU gettext.
41588         * lib/relocwrapper.c: New file, from GNU gettext.
41589         * m4/relocatable.m4: New file, from GNU gettext.
41590
41591 2007-02-28  Bruno Haible  <bruno@clisp.org>
41592
41593         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
41594
41595         * modules/xreadlink: New file, from GNU gettext with modifications.
41596         * lib/xreadlink.c: New file, from GNU gettext.
41597         * lib/xreadlink.h: Add comments.
41598         (xreadlink): New declaration.
41599
41600         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
41601         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
41602         lib/xreadlink-with-size.c.
41603         (configure.ac): Remove gl_XREADLINK invocation.
41604         (Makefile.am): Augment lib_SOURCES.
41605         * m4/xreadlink.m4: Remove file.
41606         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
41607         (xreadlink_with_size): Renamed from xreadink.
41608         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
41609         * modules/canonicalize (Depends-on): Replace xreadlink with
41610         xreadlink-with-size.
41611         * lib/canonicalize.c (canonicalize_filename_mode): Update.
41612
41613 2007-02-25  Jim Meyering  <jim@meyering.net>
41614
41615         * build-aux/announce-gen: When complaining about excess arguments,
41616         list them.
41617
41618 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41619
41620         * README: Document signed integer overflow situation more
41621         accurately.
41622
41623 2007-02-25  Bruno Haible  <bruno@clisp.org>
41624
41625         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
41626         'a' or 'A' conversion.
41627
41628 2007-02-25  Bruno Haible  <bruno@clisp.org>
41629
41630         * modules/filename: Renamed from modules/pathname.
41631         (Files): Replace lib/pathname.h with lib/filename.h. Replace
41632         lib/concatpath.c with lib/concat-filename.c.
41633         (Makefile.am): Update.
41634         (Include): Replace pathname.h with filename.h.
41635         * lib/filename.h: Renamed from lib/pathname.h.
41636         (concatenated_filename): Renamed from concatenated_pathname.
41637         * lib/concat-filename.c: Renamed from lib/concatpath.c.
41638         (concatenated_filename): Renamed from concatenated_pathname.
41639         * lib/findprog.c: Include filename.h instead of pathname.h.
41640         (find_in_path): Update.
41641         * lib/javacomp.c: Include filename.h instead of pathname.h.
41642         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41643         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41644         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41645         is_oldgcj_14_13_usable, is_javac_usable): Update.
41646         * lib/javaexec.c: Include filename.h instead of pathname.h.
41647         (execute_java_class): Update.
41648         * modules/findprog: Update.
41649         * modules/javacomp: Update.
41650         * modules/javaexec: Update.
41651         * MODULES.html.sh (File system functions): Add 'filename', remove
41652         'pathname'.
41653
41654 2007-02-25  Bruno Haible  <bruno@clisp.org>
41655
41656         * modules/printf-frexpl-tests: New file.
41657         * tests/test-printf-frexpl.c: New file.
41658
41659         * modules/printf-frexpl: New file.
41660         * lib/printf-frexpl.h: New file.
41661         * lib/printf-frexpl.c: New file.
41662         * m4/printf-frexpl.m4: New file.
41663
41664 2007-02-25  Bruno Haible  <bruno@clisp.org>
41665
41666         * modules/printf-frexp-tests: New file.
41667         * tests/test-printf-frexp.c: New file.
41668
41669         * modules/printf-frexp: New file.
41670         * lib/printf-frexp.h: New file.
41671         * lib/printf-frexp.c: New file.
41672         * m4/printf-frexp.m4: New file.
41673
41674 2007-02-25  Bruno Haible  <bruno@clisp.org>
41675
41676         Assume automake >= 1.10 for the tests.
41677         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
41678         * modules/arctwo-tests: Likewise.
41679         * modules/argp-tests: Likewise.
41680         * modules/avltree-list-tests: Likewise.
41681         * modules/avltree-oset-tests: Likewise.
41682         * modules/avltreehash-list-tests: Likewise.
41683         * modules/carray-list-tests: Likewise.
41684         * modules/crc-tests: Likewise.
41685         * modules/des-tests: Likewise.
41686         * modules/gc-arcfour-tests: Likewise.
41687         * modules/gc-arctwo-tests: Likewise.
41688         * modules/gc-des-tests: Likewise.
41689         * modules/gc-hmac-md5-tests: Likewise.
41690         * modules/gc-hmac-sha1-tests: Likewise.
41691         * modules/gc-md2-tests: Likewise.
41692         * modules/gc-md4-tests: Likewise.
41693         * modules/gc-md5-tests: Likewise.
41694         * modules/gc-pbkdf2-sha1-tests: Likewise.
41695         * modules/gc-rijndael-tests: Likewise.
41696         * modules/gc-sha1-tests: Likewise.
41697         * modules/gc-tests: Likewise.
41698         * modules/getaddrinfo-tests: Likewise.
41699         * modules/hmac-md5-tests: Likewise.
41700         * modules/hmac-sha1-tests: Likewise.
41701         * modules/linked-list-tests: Likewise.
41702         * modules/linkedhash-list-tests: Likewise.
41703         * modules/lock-tests: Likewise.
41704         * modules/md2-tests: Likewise.
41705         * modules/md4-tests: Likewise.
41706         * modules/md5-tests: Likewise.
41707         * modules/rbtree-list-tests: Likewise.
41708         * modules/rbtree-oset-tests: Likewise.
41709         * modules/rbtreehash-list-tests: Likewise.
41710         * modules/read-file-tests: Likewise.
41711         * modules/rijndael-tests: Likewise.
41712         * modules/stdint-tests: Likewise.
41713         * modules/tls-tests: Likewise.
41714
41715 2007-02-24  Bruno Haible  <bruno@clisp.org>
41716
41717         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
41718         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
41719         function; instead check whether isnan with a double argument links.
41720         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
41721         function; instead check whether isnan with a 'long double' argument
41722         links.
41723         Reported by Eric Blake <ebb9@byu.net>.
41724
41725 2007-02-24  Bruno Haible  <bruno@clisp.org>
41726
41727         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
41728         defined.
41729         * lib/isnanl.c: Remove all code. Just include isnan.c.
41730         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
41731
41732 2007-02-25  Jim Meyering  <jim@meyering.net>
41733
41734         Avoid conflicting types for 'unsetenv' on FreeBSD.
41735         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
41736         conflicting with FreeBSD's (5.0 and 6.1) function declaration
41737         in stdlib.h.
41738
41739 2007-02-24  Bruno Haible  <bruno@clisp.org>
41740
41741         * modules/isnanl-nolibm-tests: New file.
41742         * tests/test-isnanl.c: New file.
41743
41744         * modules/isnanl-nolibm: New file.
41745         * lib/isnanl.h: New file.
41746         * lib/isnanl.c: New file.
41747         * m4/isnanl.m4: New file.
41748
41749 2007-02-24  Bruno Haible  <bruno@clisp.org>
41750
41751         * modules/isnan-nolibm-tests: New file.
41752         * tests/test-isnan.c: New file.
41753
41754         * modules/isnan-nolibm: New file.
41755         * lib/isnan.h: New file.
41756         * lib/isnan.c: New file.
41757         * m4/isnan.m4: New file.
41758
41759 2007-02-24  Bruno Haible  <bruno@clisp.org>
41760
41761         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
41762         assume that an exponent fits in 20 bits.
41763
41764 2007-02-24  Jim Meyering  <jim@meyering.net>
41765
41766         * m4/regex.m4: Update the description of the configure-time option,
41767         --without-included-regex, to state accurately what the defaults are,
41768         and perhaps to give people an idea why using this option is risky.
41769
41770 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41771
41772         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
41773         loops on small arguments.  This attempts to avoid the problem
41774         Bruno Haible reported for AIX 4.3.2 in
41775         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
41776
41777 2007-02-23  Bruno Haible  <bruno@clisp.org>
41778
41779         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
41780         Needed for help2man.
41781
41782 2007-02-23  Karl Berry  <karl@gnu.org>
41783
41784         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
41785         exists, foo.h should be cvs-ignored, not committed.
41786
41787 2007-02-23  Eric Blake  <ebb9@byu.net>
41788
41789         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
41790         * lib/stat-time.h (includes): Likewise.
41791         * lib/utimecmp.c (includes): Likewise.
41792         * lib/utimens.h (includes): Likewise.
41793         * lib/getdate.y (includes): Also include "timespec.h" for use
41794         internal to the module.
41795         * modules/utimens (Depends-on): Revert yesterday's patch.
41796         * modules/nanosleep (Depends-on): Add missing dependency.
41797
41798 2007-02-22  Bruno Haible  <bruno@clisp.org>
41799
41800         * lib/glob.c: Don't include getlogin_r.h.
41801
41802 2007-02-22  Jim Meyering  <jim@meyering.net>
41803
41804         * modules/utimens (Depends-on): Add timespec, required for
41805         utimens.h's inclusion of timespec.h.
41806
41807 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
41808
41809         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
41810         long unreadable paths in GNU/Linux.  Problem reported by Andreas
41811         Schwab in
41812         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
41813         I'll try to think of a better way to fix the Solaris problem.
41814
41815         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
41816         like glibc; on Solaris 10, it fails with errno == EINVAL.
41817         POSIX says the behavior is unspecified if the first argument is NULL,
41818         so play it safe and never pass NULL to the system getcwd.
41819
41820 2007-02-21  Jim Meyering  <jim@meyering.net>
41821
41822         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
41823         of gettimeofday.  It would conflict with the one now always
41824         provided via sys_time_.h.  Reported by Matthew Woehlke, as
41825         an IRIX 6.5 build failure.
41826
41827 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
41828
41829         Minor fixups to port to Solaris 10 with Sun C 5.8.
41830         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
41831         * modules/getcwd (Depends-on): Add dirfd.
41832         * lib/putenv.c (putenv): #undef it.
41833         (rpl_putenv): New decl.
41834         (malloc, free): Include <stdlib.h> rather than prototyping separately.
41835
41836 2007-02-20  Bruno Haible  <bruno@clisp.org>
41837
41838         * modules/stdio-tests: New file.
41839         * tests/test-stdio.c: New file.
41840
41841         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
41842         (Depends-on): Add stdio.
41843         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41844         (Include): Use <stdio.h> instead of vsnprintf.h.
41845         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41846         HAVE_DECL_VSNPRINTF.
41847         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
41848
41849         * modules/snprintf (Files): Remove lib/snprintf.h.
41850         (Depends-on): Add stdio.
41851         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41852         (Include): Use <stdio.h> instead of snprintf.h.
41853         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41854         HAVE_DECL_SNPRINTF.
41855         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
41856         * lib/getaddrinfo.c: Likewise.
41857
41858         * modules/stdio: New file.
41859         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
41860         * lib/snprintf.h: Remove file.
41861         * lib/vsnprintf.h: Remove file.
41862         * lib/.cppi-disable: Remove snprintf.h.
41863         * m4/stdio_h.m4: New file.
41864         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
41865
41866 2007-02-20  Jim Meyering  <jim@meyering.net>
41867
41868         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
41869         used by e.g., mingw.  From Bruno Haible.
41870
41871 2007-02-19  Bruno Haible  <bruno@clisp.org>
41872
41873         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
41874         warnings.
41875         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41876
41877 2007-02-19  Bruno Haible  <bruno@clisp.org>
41878
41879         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
41880         from mingw users.
41881
41882 2007-02-19  Bruno Haible  <bruno@clisp.org>
41883
41884         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
41885         warnings.
41886         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
41887
41888 2007-02-19  Jim Meyering  <jim@meyering.net>
41889
41890         Don't use FD after a successful "fdopendir (fd)".
41891         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
41892         Reset it by calling dirfd on the just-obtained DIR*.
41893
41894         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
41895         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
41896
41897 2007-02-18  Bruno Haible  <bruno@clisp.org>
41898
41899         * lib/readlink.c: Include <unistd.h>.
41900         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
41901         HAVE_READLINK.
41902         * modules/readlink (Depends-on): Add unistd.
41903         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41904         (Include): Add <unistd.h>.
41905
41906         * lib/getlogin_r.h: Remove file.
41907         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
41908         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
41909         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
41910         HAVE_DECL_GETLOGIN_R.
41911         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
41912         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41913         (Include): Use <unistd.h> instead of getlogin_r.h.
41914
41915         * lib/getcwd.h: Remove file.
41916         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
41917         * lib/xgetcwd.c: Likewise.
41918         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
41919         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
41920         * modules/getcwd (Files): Remove lib/getcwd.h.
41921         (Depends-on): Add unistd.
41922         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41923         (Include): Use <unistd.h> instad of getcwd.h.
41924
41925         * lib/ftruncate.c: Include <unistd.h> first.
41926         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
41927         Set HAVE_FTRUNCATE.
41928         * modules/ftruncate (Depends-on): Add unistd.
41929         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41930
41931         * lib/fchdir.c: Include <unistd.h> first.
41932         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
41933         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
41934         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
41935         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41936         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
41937
41938         * lib/dup2.c: Include <unistd.h> first.
41939         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
41940         HAVE_DUP2.
41941         * modules/dup2 (Depends-on): Add unistd.
41942         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41943
41944         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
41945         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
41946         REPLACE_CHOWN. Don't define chown as a macro here.
41947         * modules/chown (Depends-on): Add unistd.
41948         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41949
41950         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
41951         Add definition for GL_LINK_WARNING.
41952         (chown, dup2): New declarations.
41953         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
41954         link warning.
41955         (ftruncate): New declaration.
41956         (getcwd): New declaration, taken from old getcwd.h.
41957         (getlogin_r): New declaration, taken from old getlogin_r.h.
41958         (readlink): New declaration.
41959         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
41960         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
41961         (gl_PREREQ_UNISTD): Remove macro.
41962         (gl_UNISTD_MODULE_INDICATOR): New macro.
41963         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
41964         many new variables. Don't set UNISTD_H.
41965         * modules/unistd (Description): Change.
41966         (Depends-on): Add link-warning.
41967         (configure.ac): Update.
41968         (Makefile.am): Create unistd.h always. Substitute many new variables
41969         into it.
41970
41971 2007-02-18  Bruno Haible  <bruno@clisp.org>
41972
41973         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
41974         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
41975         HAVE_GETSUBOPT.
41976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
41977         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
41978         * lib/getsubopt.h: Remove file.
41979         * modules/getsubopt (Files): Remove lib/getsubopt.h.
41980         (Depends-on): Add stdlib.
41981         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41982         (Includes): Use <stdlib.h> instead of getsubopt.h.
41983         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
41984         Set HAVE_GETSUBOPT.
41985         * lib/getsubopt.c: Don't include getsubopt.h.
41986
41987 2007-02-18  Bruno Haible  <bruno@clisp.org>
41988
41989         * modules/fchdir (Depends-on): Add dup2.
41990
41991 2007-02-18  Bruno Haible  <bruno@clisp.org>
41992
41993         * lib/stdlib_.h: Handle glibc's special invocation convention
41994         specially.
41995
41996 2007-02-18  Bruno Haible  <bruno@clisp.org>
41997
41998         * modules/stdlib-tests: New file.
41999         * tests/test-stdlib.c: New file.
42000
42001         * modules/mkstemp (Files): Remove lib/mkstemp.h.
42002         (Depends-on): Add stdlib.
42003         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42004         (Includes): Use <stdlib.h> instead of mkstemp.h.
42005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42006         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
42007         * lib/mkstemp.c: Don't include mkstemp.h.
42008         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
42009         * lib/stdlib--.h: Don't include mkstemp.h.
42010
42011         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
42012         (Depends-on): Add stdlib.
42013         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42014         (Includes): Use <stdlib.h> instead of mkdtemp.h.
42015         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42016         HAVE_MKDTEMP.
42017         * lib/mkdtemp.c: Don't include mkdtemp.h.
42018         * lib/clean-temp.c: Don't include mkdtemp.h.
42019
42020         * modules/exit (Files): Remove lib/exit.h.
42021         (Depends-on): Add stdlib.
42022         (Makefile.am): Remove lib_SOURCES.
42023         (Include): Use <stdlib.h> instead of exit.h.
42024         * lib/argmatch.c: Don't include exit.h.
42025         * lib/execute.c: Likewise.
42026         * lib/pagealign_alloc.c: Likewise.
42027         * lib/pipe.c: Likewise.
42028         * lib/wait-process.c: Likewise.
42029         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
42030         * lib/exitfail.c: Likewise.
42031         * lib/savewd.c: Likewise.
42032         * lib/xsetenv.c: Likewise.
42033
42034         * modules/stdlib: New file.
42035         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
42036         and extra comments about mkstemp().
42037         * lib/exit.h: Remove file.
42038         * lib/mkdtemp.h: Remove file.
42039         * lib/mkstemp.h: Remove file.
42040         * m4/stdlib_h.m4: New file.
42041         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
42042
42043 2007-02-18  Bruno Haible  <bruno@clisp.org>
42044
42045         * modules/math-tests: New file.
42046         * tests/test-math.c: New file.
42047
42048         * modules/math: New file.
42049         * modules/mathl (Files): Remove lib/mathl.h.
42050         (Depends-on): Add math.
42051         (Makefile.am): Don't mention mathl.h.
42052         (Include): Use <math.h> instead of mathl.h.
42053         * lib/math_.h: New file.
42054         * lib/mathl.h: Remove file.
42055         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
42056         mathl.h.
42057         * lib/asinl.c: Likewise.
42058         * lib/atanl.c: Likewise.
42059         * lib/ceill.c: Likewise.
42060         * lib/cosl.c: Likewise.
42061         * lib/expl.c: Likewise.
42062         * lib/floorl.c: Likewise.
42063         * lib/frexpl.c: Likewise.
42064         * lib/ldexpl.c: Likewise.
42065         * lib/logl.c: Likewise.
42066         * lib/sincosl.c: Likewise.
42067         * lib/sinl.c: Likewise.
42068         * lib/sqrtl.c: Likewise.
42069         * lib/tanl.c: Likewise.
42070         * lib/trigl.c: Likewise.
42071         * m4/math_h.m4: New file.
42072         * MODULES.html.sh (Mathematics): Add math.
42073
42074 2007-02-17  Bruno Haible  <bruno@clisp.org>
42075
42076         * modules/wctype-tests: New file.
42077         * tests/test-wctype.c: New file.
42078
42079         * modules/wchar-tests: New file.
42080         * tests/test-wchar.c: New file.
42081
42082         * modules/unistd-tests: New file.
42083         * tests/test-unistd.c: New file.
42084
42085         * modules/time-tests: New file.
42086         * tests/test-time.c: New file.
42087
42088         * modules/sysexits-tests: New file.
42089         * tests/test-sysexits.c: New file.
42090
42091         * modules/sys_time-tests: New file.
42092         * tests/test-sys_time.c: New file.
42093
42094         * modules/sys_stat-tests: New file.
42095         * tests/test-sys_stat.c: New file.
42096
42097         * modules/sys_socket-tests: New file.
42098         * tests/test-sys_socket.c: New file.
42099
42100         * modules/sys_select-tests: New file.
42101         * tests/test-sys_select.c: New file.
42102
42103         * modules/string-tests: New file.
42104         * tests/test-string.c: New file.
42105
42106         * modules/stdbool-tests: New file.
42107         * tests/test-stdbool.c: New file.
42108
42109         * modules/netinet_in-tests: New file.
42110         * tests/test-netinet_in.c: New file.
42111
42112         * modules/inttypes-tests: New file.
42113         * tests/test-inttypes.c: New file.
42114
42115         * modules/fcntl-tests: New file.
42116         * tests/test-fcntl.c: New file.
42117
42118         * modules/byteswap-tests: New file.
42119         * tests/test-byteswap.c: New file.
42120
42121         * modules/arpa_inet-tests: New file.
42122         * tests/test-arpa_inet.c: New file.
42123
42124 2007-02-17  Bruno Haible  <bruno@clisp.org>
42125
42126         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
42127         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
42128         if the corresponding module is not enabled. Emit link warnings if
42129         the function is used nevertheless.
42130         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
42131         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
42132         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
42133         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
42134         * modules/inttypes (Depends-on): Add link-warning.
42135         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42136         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
42137         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
42138         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
42139         * modules/imaxdiv (configure.ac): Likewise.
42140         * modules/strtoimax (configure.ac): Likewise.
42141         * modules/strtoumax (configure.ac): Likewise.
42142
42143 2007-02-17  Bruno Haible  <bruno@clisp.org>
42144
42145         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
42146         gl_STRING_MODULE_INDICATOR_DEFAULTS.
42147         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
42148         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
42149
42150 2007-02-17  Bruno Haible  <bruno@clisp.org>
42151
42152         * modules/link-warning: New file.
42153         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
42154         * lib/string_.h (GL_LINK_WARNING): Remove definition.
42155         * modules/string (Depends-on): Add link-warning.
42156         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42157         string.h.
42158         * MODULES.html.sh (Support for building libraries and executables): Add
42159         link-warning.
42160
42161 2007-02-17  Bruno Haible  <bruno@clisp.org>
42162
42163         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
42164         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
42165         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
42166         long lines.
42167
42168 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
42169             Bruno Haible  <bruno@clisp.org>
42170
42171         * modules/tmpfile: New file.
42172         * lib/tmpfile.c: New file.
42173         * m4/tmpfile.m4: New file.
42174         * MODULES.html.sh (func_all_modules): New section "Input/output".
42175
42176 2007-02-15  Bruno Haible  <bruno@clisp.org>
42177
42178         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
42179         (supports_delete_on_close): New function.
42180         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
42181
42182 2007-02-14  Bruno Haible  <bruno@clisp.org>
42183
42184         * modules/mbspcasecmp-tests: New file.
42185         * tests/test-mbspcasecmp.sh: New file.
42186         * tests/test-mbspcasecmp.c: New file.
42187
42188         New module mbspcasecmp.
42189         * modules/mbspcasecmp: New file.
42190         * lib/mbspcasecmp.c: New file.
42191         * lib/string_.h (strncasecmp): Change warning message.
42192         (mbspcasecmp): New declaration.
42193         * m4/mbspcasecmp.m4: New file.
42194         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42195         GNULIB_MBSPCASECMP.
42196         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
42197         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
42198
42199 2007-02-14  Bruno Haible  <bruno@clisp.org>
42200
42201         * modules/mbsncasecmp-tests: New file.
42202         * tests/test-mbsncasecmp.sh: New file.
42203         * tests/test-mbsncasecmp.c: New file.
42204
42205         New module mbsncasecmp.
42206         * modules/mbsncasecmp: New file.
42207         * lib/mbsncasecmp.c: New file.
42208         * lib/string_.h (mbsncasecmp): New declaration.
42209         * m4/mbsncasecmp.m4: New file.
42210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42211         GNULIB_MBSNCASECMP.
42212         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
42213         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
42214
42215 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
42216
42217         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
42218         Verify that it doesn't overlap with our flags.
42219         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
42220         do not have the desired effect in multibyte locales; instead, use
42221         mbscasecmp.
42222         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
42223         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
42224         we don't require GNU fnmatch ourselves (if our users require it, they
42225         should do so explicitly).
42226
42227         Fix regex code so it doesn't rely on strcasecmp.
42228         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
42229         Otherwise, include gnulib's langinfo.h.
42230         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
42231         undesirable behavior in non-C locales.  Instead, rely on localecharset.
42232         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
42233         * modules/regex (FILES): Remove m4/codeset.m4.
42234         (Depends-on): Add localcharset.  Remove strcase.
42235
42236 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42237
42238         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
42239         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
42240
42241 2007-02-13  Bruno Haible  <bruno@clisp.org>
42242
42243         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
42244         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42245
42246 2007-02-12  Bruno Haible  <bruno@clisp.org>
42247
42248         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42249         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
42250         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
42251         time warning rather than a link error.
42252
42253 2007-02-12  Bruno Haible  <bruno@clisp.org>
42254
42255         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
42256         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42258
42259 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42260
42261         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
42262         args, not 2.
42263
42264 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42265
42266         New module 'time', so that apps can include <time.h> as per
42267         POSIX and GNU instead of separate include files like time_r.h
42268         and timegm.h.  This implementation tries out a simpler approach
42269         for replacing decls in standard include files (as compared to
42270         the string module), somewhat as an experiment.
42271
42272         * config/srclist.txt: Comment out mktime.c for now.
42273         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
42274         since it doesn't apply any more.  Use generic wording instead.
42275         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
42276         'time'.
42277         * lib/time_.h, m4/time_h.m4, modules/time: New files.
42278         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
42279         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
42280         Don't include <sys/types.h>; no longer needed since we assume C89.
42281         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
42282         * lib/strftime.c: Likewise.
42283         * lib/time_r.c: Likewise.
42284         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
42285         * lib/nanosleep.c: Include <time.h> first, to check interface.
42286         * lib/strptime.c: Likewise.
42287         * lib/time_r.c: Likewise.
42288         * lib/timegm.c: Likewise.
42289         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
42290         needed.
42291         * lib/timegm.c: Don't include timegm.h; no longer needed.
42292         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
42293         time.h now handles any problems in that area.
42294         (struct timespec, nanosleep): Remove; time.h now arranges for these.
42295         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
42296         that time.h defines struct timespec.
42297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
42298         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
42299         handles that.
42300         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
42301         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
42302         needed.  Set REPLACE_LOCALTIME.
42303         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
42304         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
42305         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
42306         nanosleep; time_h.m4 now does that.  Don't require
42307         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
42308         module handles this now.
42309         * modules/getdate (Depends-on): Remove timespec.  Add time.
42310         * modules/nanosleep (Depends-on): Likewise.
42311         * modules/stat-time (Depends-on): Likewise.
42312         * modules/nanosleep (Include): Include time.h, not timespec.h.
42313         * modules/strptime (Files): Remove lib/strptime.h.
42314         (Depends-on): Add extensions, time.
42315         (Include): Include time.h, not strptime.h.
42316         * modules/time_r (Files): Remove lib/time_r.h.
42317         (Depends-on): Add time.
42318         (Include): Include time.h, not time_r.h.
42319         * modules/timegm: Likewise.
42320         * modules/timespec (Description): Now does timespec-related decls
42321         of our own, instead of struct timespec itself.
42322         (Depends-on): Add time; remove extensions.
42323         (Maintainer): Add self.
42324         * modules/utimecmp (Depends-on): Add time; remove timespec.
42325         * modules/utimens (Depends-on): Likewise.
42326         * modules/xnanosleep (Depends-on): Likewise.
42327
42328 2007-02-11  Bruno Haible  <bruno@clisp.org>
42329
42330         * lib/c-strstr.c: Include allocsa.h.
42331         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42332         * lib/c-strcasestr.c: Include allocsa.h.
42333         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42334         * lib/strcasestr.c: Include allocsa.h.
42335         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42336         * lib/mbsstr.c: Include allocsa.h.
42337         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42338         allocsa/freesa instead of malloc/free.
42339         * lib/mbscasestr.c: Include allocsa.h.
42340         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42341         allocsa/freesa instead of malloc/free.
42342         * modules/c-strstr (Depends-on): Add allocsa.
42343         * modules/c-strcasestr (Depends-on): Likewise.
42344         * modules/strcasestr (Depends-on): Likewise.
42345         * modules/mbsstr (Depends-on): Likewise.
42346         * modules/mbscasestr (Depends-on): Likewise.
42347
42348 2007-02-11  Bruno Haible  <bruno@clisp.org>
42349
42350         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
42351
42352         * modules/mbsspn-tests: New file.
42353         * tests/test-mbsspn.sh: New file.
42354         * tests/test-mbsspn.c: New file.
42355
42356 2007-02-11  Bruno Haible  <bruno@clisp.org>
42357
42358         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
42359
42360         * modules/mbspbrk-tests: New file.
42361         * tests/test-mbspbrk.sh: New file.
42362         * tests/test-mbspbrk.c: New file.
42363
42364 2007-02-11  Bruno Haible  <bruno@clisp.org>
42365
42366         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
42367         unneeded cast.
42368
42369         * modules/mbscspn-tests: New file.
42370         * tests/test-mbscspn.sh: New file.
42371         * tests/test-mbscspn.c: New file.
42372
42373 2007-02-11  Bruno Haible  <bruno@clisp.org>
42374
42375         * modules/mbscasecmp-tests: New file.
42376         * tests/test-mbscasecmp.sh: New file.
42377         * tests/test-mbscasecmp.c: New file.
42378
42379 2007-02-11  Bruno Haible  <bruno@clisp.org>
42380
42381         Ensure O(n) worst-case complexity of mbscasestr.
42382         * lib/mbscasestr.c: Include stdbool.h.
42383         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42384         functions.
42385         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
42386         the bookkeeping indicates that it's worth it.
42387         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
42388
42389         * modules/mbscasestr-tests: New file.
42390         * tests/test-mbscasestr1.c: New file.
42391         * tests/test-mbscasestr2.sh: New file.
42392         * tests/test-mbscasestr2.c: New file.
42393         * tests/test-mbscasestr3.sh: New file.
42394         * tests/test-mbscasestr3.c: New file.
42395         * tests/test-mbscasestr4.sh: New file.
42396         * tests/test-mbscasestr4.c: New file.
42397         * m4/locale-tr.m4: New file.
42398
42399 2007-02-11  Bruno Haible  <bruno@clisp.org>
42400
42401         Ensure O(n) worst-case complexity of mbsstr.
42402         * lib/mbsstr.c: Include stdbool.h.
42403         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42404         functions.
42405         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
42406         bookkeeping indicates that it's worth it.
42407         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
42408
42409         * modules/mbsstr-tests: New file.
42410         * tests/test-mbsstr1.c: New file.
42411         * tests/test-mbsstr2.sh: New file.
42412         * tests/test-mbsstr2.c: New file.
42413         * tests/test-mbsstr3.sh: New file.
42414         * tests/test-mbsstr3.c: New file.
42415         * m4/locale-fr.m4: New file.
42416
42417 2007-02-11  Bruno Haible  <bruno@clisp.org>
42418
42419         * lib/mbsrchr.c (mbsrchr): Fix bug.
42420
42421         * modules/mbsrchr-tests: New file.
42422         * tests/test-mbsrchr.sh: New file.
42423         * tests/test-mbsrchr.c: New file.
42424
42425 2007-02-11  Bruno Haible  <bruno@clisp.org>
42426
42427         * lib/mbschr.c (mbschr): Fix bug.
42428
42429         * modules/mbschr-tests: New file.
42430         * tests/test-mbschr.sh: New file.
42431         * tests/test-mbschr.c: New file.
42432         * m4/locale-zh.m4: New file.
42433
42434 2007-02-11  Bruno Haible  <bruno@clisp.org>
42435
42436         Support for copying multibyte string iterators.
42437         * lib/mbiter.h: Include <string.h>.
42438         (mbiter_multi_copy): New function.
42439         (mbi_copy): New macro.
42440         * lib/mbuiter.h: Include <string.h>.
42441         (mbuiter_multi_copy): New function.
42442         (mbui_copy): New macro.
42443
42444 2007-02-11  Bruno Haible  <bruno@clisp.org>
42445
42446         New module mbslen.
42447         * modules/mbslen: New file.
42448         * lib/mbslen.c: New file.
42449         * lib/string_.h (mbslen): New declaration.
42450         * m4/mbslen.m4: New file.
42451         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42452         GNULIB_MBSLEN.
42453         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
42454         * MODULES.html.sh (Internationalization functions): Add mbslen.
42455
42456 2007-02-11  Bruno Haible  <bruno@clisp.org>
42457
42458         Ensure O(n) worst-case complexity of strcasestr substitute.
42459         * lib/strcasestr.c: Include stdbool.h.
42460         (knuth_morris_pratt): New function.
42461         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42462         bookkeeping indicates that it's worth it.
42463         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
42464
42465         * modules/strcasestr-tests: New file.
42466         * tests/test-strcasestr.c: New file.
42467
42468 2007-02-11  Bruno Haible  <bruno@clisp.org>
42469
42470         Ensure O(n) worst-case complexity of c_strcasestr.
42471         * lib/c-strcasestr.c: Include stdbool.h, string.h.
42472         (knuth_morris_pratt): New function.
42473         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
42474         the bookkeeping indicates that it's worth it.
42475         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
42476
42477         * modules/c-strcasestr-tests: New file.
42478         * tests/test-c-strcasestr.c: New file.
42479
42480 2007-02-11  Bruno Haible  <bruno@clisp.org>
42481
42482         Ensure O(n) worst-case complexity of c_strstr.
42483         * lib/c-strstr.c: Include stdbool.h, string.h.
42484         (knuth_morris_pratt): New function.
42485         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42486         bookkeeping indicates that it's worth it.
42487         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
42488
42489         * lib/c-strstr.c: Complete rewrite for maintainability.
42490
42491         * modules/c-strstr-tests: New file.
42492         * tests/test-c-strstr.c: New file.
42493
42494 2007-02-11  Bruno Haible  <bruno@clisp.org>
42495
42496         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
42497         5.2.1 and earlier, whereby \055 was treated just like the range
42498         delimiter '-'.
42499         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42500
42501 2007-02-08  Bruno Haible  <bruno@clisp.org>
42502
42503         * modules/regex (Depends-on): Add stdbool.
42504         Reported by Dalibor Topic <robilad@kaffe.org>.
42505
42506 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42507
42508         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
42509         Prefer returning from main to exiting from it.
42510         Remove unnecessary parens after sizeof.
42511
42512 2007-02-05  Bruno Haible  <bruno@clisp.org>
42513
42514         New module mbssep.
42515         * modules/mbssep: New file.
42516         * lib/mbssep.c: New file.
42517         * lib/string_.h (strsep): Add a conditional link warning.
42518         (mbssep): New declaration.
42519         * m4/mbssep.m4: New file.
42520         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42521         GNULIB_MBSSEP.
42522         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
42523         * MODULES.html.sh (Internationalization functions): Add mbssep.
42524
42525 2007-02-05  Bruno Haible  <bruno@clisp.org>
42526
42527         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
42528         Optimize search in case of 1 delimiter.
42529
42530 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42531
42532         * lib/acl.h: Include sys/types.h before sys/acl.h.
42533
42534 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42535
42536         Merge upstream fix for glibc bugzilla #3957:
42537
42538         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
42539
42540         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
42541         bit for RE_HAT_LISTS_NOT_NEWLINE.
42542         (build_charclass_op): Remove bogus comment.
42543
42544 2007-02-05  Simon Josefsson  <simon@josefsson.org>
42545
42546         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
42547
42548 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42549
42550         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
42551         * lib/memmem.c [!defined _LIBC]: Include config.h.
42552
42553 2007-02-04  Bruno Haible  <bruno@clisp.org>
42554
42555         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
42556         warning message.
42557
42558 2007-02-04  Bruno Haible  <bruno@clisp.org>
42559
42560         New module mbstok_r.
42561         * modules/mbstok_r: New file.
42562         * lib/mbstok_r.c: New file.
42563         * lib/string_.h (strtok_r): Change argument names to match the
42564         comments. Add a conditional link warning.
42565         (mbstok_r): New declaration.
42566         * m4/mbstok_r.m4: New file.
42567         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42568         GNULIB_MBSTOK_R.
42569         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
42570         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
42571
42572 2007-02-04  Bruno Haible  <bruno@clisp.org>
42573
42574         New module mbsspn.
42575         * modules/mbsspn: New file.
42576         * lib/mbsspn.c: New file.
42577         * lib/string_.h (strspn): Add a conditional link warning.
42578         (mbsspn): New declaration.
42579         * m4/mbsspn.m4: New file.
42580         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42581         GNULIB_MBSSPN.
42582         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
42583         * MODULES.html.sh (Internationalization functions): Add mbsspn.
42584
42585 2007-02-04  Bruno Haible  <bruno@clisp.org>
42586
42587         New module mbspbrk.
42588         * modules/mbspbrk: New file.
42589         * lib/mbspbrk.c: New file.
42590         * lib/string_.h (strpbrk): Add a conditional link warning.
42591         (mbspbrk): New declaration.
42592         * m4/mbspbrk.m4: New file.
42593         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42594         GNULIB_MBSPBRK.
42595         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
42596         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
42597
42598 2007-02-04  Bruno Haible  <bruno@clisp.org>
42599
42600         New module mbscspn.
42601         * modules/mbscspn: New file.
42602         * lib/mbscspn.c: New file.
42603         * lib/string_.h (strcspn): Add a conditional link warning.
42604         (mbscspn): New declaration.
42605         * m4/mbscspn.m4: New file.
42606         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42607         GNULIB_MBSCSPN.
42608         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
42609         * MODULES.html.sh (Internationalization functions): Add mbscspn.
42610
42611 2007-02-04  Bruno Haible  <bruno@clisp.org>
42612
42613         New module mbscasestr, reduced goal of strcasestr.
42614         * modules/mbscasestr: New file.
42615         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
42616         (mbscasestr): Renamed from strcasestr.
42617         * lib/strcasestr.c: Don't include mbuiter.h.
42618         (strcasestr): Remove support for multibyte locales.
42619         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
42620         Change the conditional link warning.
42621         (mbscasestr): New declaration.
42622         * m4/mbscasestr.m4: New file.
42623         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
42624         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
42625         REPLACE_STRCASESTR.
42626         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
42627         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42628         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42629         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
42630         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
42631         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42632         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
42633         (Depends-on): Remove mbuiter.
42634         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
42635
42636 2007-02-04  Bruno Haible  <bruno@clisp.org>
42637
42638         Simplify handling of strncasecmp.
42639         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
42640         the conditional link warning.
42641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42642         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
42643         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
42644         * modules/strcase (configure.ac): Don't invoke
42645         gl_STRING_MODULE_INDICATOR.
42646         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
42647
42648 2007-02-04  Bruno Haible  <bruno@clisp.org>
42649
42650         New module mbscasecmp, reduced goal of strcasecmp.
42651         * modules/mbscasecmp: New file.
42652         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
42653         (mbscasecmp): Renamed from strcasecmp.
42654         * lib/strcasecmp.c: Don't include mbuiter.h.
42655         (strcasecmp): Remove support for multibyte locales.
42656         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
42657         Change the conditional link warning.
42658         (mbscasecmp): New declaration.
42659         * m4/mbscasecmp.m4: New file.
42660         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
42661         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
42662         REPLACE_STRCASECMP.
42663         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
42664         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42665         GNULIB_MBSCASECMP.
42666         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
42667         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
42668         * modules/strcase (Files): Remove m4/mbrtowc.m4.
42669         (Depends-on): Remove mbuiter.
42670         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
42671
42672 2007-02-04  Bruno Haible  <bruno@clisp.org>
42673
42674         New module mbsstr. Remove module strstr.
42675         * modules/mbsstr: New file.
42676         * modules/strstr: Remove file.
42677         * lib/mbsstr.c: Renamed from lib/strstr.c.
42678         (mbsstr): Renamed from strstr.
42679         * lib/string_.h (strstr): Remove declaration. Change the conditional
42680         link warning.
42681         (mbsstr): New declaration.
42682         * m4/mbsstr.m4: New file.
42683         * m4/strstr.m4: Remove file.
42684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
42685         REPLACE_STRSTR.
42686         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
42687         Don't initialize GNULIB_STRSTR.
42688         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
42689         substitute GNULIB_STRSTR and REPLACE_STRSTR.
42690         * MODULES.html.sh (Internationalization functions): Add mbsstr.
42691         (Support for systems lacking ANSI C 89): Remove strstr.
42692
42693 2007-02-04  Bruno Haible  <bruno@clisp.org>
42694
42695         New module mbsrchr.
42696         * modules/mbsrchr: New file.
42697         * lib/mbsrchr.c: New file.
42698         * lib/string_.h (strrchr): Add a conditional link warning.
42699         (mbsrchr): New declaration.
42700         * m4/mbsrchr.m4: New file.
42701         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42702         GNULIB_MBSRCHR.
42703         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
42704         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
42705
42706 2007-02-04  Bruno Haible  <bruno@clisp.org>
42707
42708         New module mbschr.
42709         * modules/mbschr: New file.
42710         * lib/mbschr.c: New file.
42711         * lib/string_.h (strchr): Add a conditional link warning.
42712         (mbschr): New declaration.
42713         * m4/mbschr.m4: New file.
42714         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42715         GNULIB_MBSCHR.
42716         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
42717         * MODULES.html.sh (Internationalization functions): Add mbschr.
42718
42719 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42720
42721         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
42722
42723         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
42724
42725 2007-02-04  Bruno Haible  <bruno@clisp.org>
42726
42727         New module description section 'configure.ac-early'.
42728         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
42729         (func_get_autoconf_early_snippet): New function.
42730         (func_import, func_create_testdir): Use it. Remove special cases for
42731         modules 'extensions' and 'lock'.
42732         * modules/extensions (configure.ac-early): Require
42733         gl_USE_SYSTEM_EXTENSIONS.
42734         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
42735
42736 2007-02-04  Bruno Haible  <bruno@clisp.org>
42737
42738         Make use of gcj-4.3's -fsource and -ftarget option.
42739         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
42740         and if so try the options -fsource and -ftarget.
42741         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
42742         source_version, ftarget_option, target_version arguments.
42743         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
42744         (is_envjavac_oldgcj_14_14_usable): Renamed from
42745         is_envjavac_gcj_14_14_usable.
42746         (is_envjavac_oldgcj_14_13_usable): Renamed from
42747         is_envjavac_gcj_14_13_usable.
42748         (is_gcj_present): Update.
42749         (is_gcj_43, is_gcj43_usable): New functions.
42750         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
42751         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
42752         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
42753         try the options -fsource and -ftarget.
42754
42755 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
42756
42757         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
42758         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
42759         larger value.
42760
42761 2007-02-03  Jim Meyering  <jim@meyering.net>
42762
42763         Give tools a better chance to allocate space for very large buffers.
42764         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
42765
42766         Make pwd and readlink work also when run with an unreadable parent dir
42767         on systems with openat support.
42768         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
42769         provided getcwd function, even when we have openat support.
42770         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
42771
42772 2007-02-02  Bruno Haible  <bruno@clisp.org>
42773
42774         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42775         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
42776         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
42777         portability problems if one of these functions is only used on specific
42778         platforms.
42779         Reported by Paul Eggert.
42780
42781 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
42782
42783         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
42784         is causing more trouble than it's curing.
42785         * lib/regex_internal.h (__mempcpy): Remove.
42786         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
42787         (and make the code a tad smaller to boot).
42788         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
42789
42790 2007-02-02  Jim Meyering  <jim@meyering.net>
42791
42792         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
42793         section, not in the Makefile.am: one.
42794
42795 2007-02-02  Eric Blake  <ebb9@byu.net>
42796
42797         * lib/strchrnul.c: Always include config.h first.
42798
42799         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
42800         gnulib strstr is not necessary here.
42801
42802 2007-02-02  Simon Josefsson  <simon@josefsson.org>
42803
42804         * m4/socklen.m4: Fix typo.
42805
42806 2007-02-02  Eric Blake  <ebb9@byu.net>
42807
42808         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
42809         * modules/netinet_in (Makefile.am): Likewise.
42810
42811 2007-02-01  Bruno Haible  <bruno@clisp.org>
42812
42813         * lib/string_.h (GL_LINK_WARNING): New macro.
42814         (strcasecmp, strstr, strcasestr): If provided by the system,
42815         conditionally define as a macro that leads to a warning instead of to
42816         an error.
42817         (strncasecmp): Conditionally define as a macro that leads to a warning.
42818
42819 2007-02-01  Karl Berry  <karl@gnu.org>
42820
42821         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
42822
42823 2007-02-01  Bruno Haible  <bruno@clisp.org>
42824
42825         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
42826         renamings.
42827
42828 2007-02-01  Eric Blake  <ebb9@byu.net>
42829
42830         * modules/regex (Depends-on): Revert dependence on mempcpy.
42831         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
42832         module's definition of mempcpy.
42833         Reported by Paul Eggert.
42834
42835 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
42836
42837         * lib/string_.h: If the gnulib module XYZ is not present, undefine
42838         the symbol XYZ before redefining it.  This fixes a problem with
42839         programs that don't use XYZ, when compiled on systems that define
42840         XYZ to something else.
42841
42842 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
42843
42844         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
42845         occurs when "mkdir -m foo" creates a setgid directory that is (1)
42846         writeable to group or other and (2) is intended to have a special
42847         mode bit that is set or cleared.  In such a case, the directory
42848         should be neither group- nor other-writeable until the special
42849         mode bits are right.
42850
42851 2007-01-31  Eric Blake  <ebb9@byu.net>
42852
42853         * modules/mountlist (Depends-on): Add strstr.
42854
42855         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
42856         bug.
42857         * modules/string (Makefile.am): Remove redundant replacement.
42858         * modules/regex (Depends-on): Add mempcpy.
42859
42860 2007-01-31  Bruno Haible  <bruno@clisp.org>
42861
42862         New module description field 'Link'.
42863         * gnulib-tool (func_usage): Document --extract-link-directive.
42864         (sed_extract_prog): Recognize 'Link' directive.
42865         (func_get_link_directive): New function.
42866         (func_import): Show summary of link directives.
42867         Handle --extract-link-directive option.
42868         * modules/acl (Link): New section.
42869         * modules/clock-time (Link): New section.
42870         * modules/euidaccess (Link): New section.
42871         * modules/gettext (Link): New section.
42872         * modules/iconv (Link): New section.
42873         * modules/lock (Link): New section.
42874         * modules/nanosleep (Link): New section.
42875         * modules/readline (Link): New section.
42876
42877 2007-01-27  Bruno Haible  <bruno@clisp.org>
42878
42879         Enforce the use of gnulib modules for unportable <string.h> functions.
42880         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
42881         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
42882         (gl_HEADER_STRING_H_BODY): Require it.
42883         * lib/string_.h: If the gnulib module XYZ is not present, redefine
42884         the symbol XYZ to one that gives a link error.
42885         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
42886         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
42887         * modules/mempcpy (configure.ac): Likewise.
42888         * modules/memrchr (configure.ac): Likewise.
42889         * modules/stpcpy (configure.ac): Likewise.
42890         * modules/stpncpy (configure.ac): Likewise.
42891         * modules/strcase (configure.ac): Likewise.
42892         * modules/strcasestr (configure.ac): Likewise.
42893         * modules/strchrnul (configure.ac): Likewise.
42894         * modules/strdup (configure.ac): Likewise.
42895         * modules/strndup (configure.ac): Likewise.
42896         * modules/strnlen (configure.ac): Likewise.
42897         * modules/strpbrk (configure.ac): Likewise.
42898         * modules/strsep (configure.ac): Likewise.
42899         * modules/strstr (configure.ac): Likewise.
42900         * modules/strtok_r (configure.ac): Likewise.
42901
42902 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
42903
42904         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
42905
42906 2007-01-30  Jim Meyering  <jim@meyering.net>
42907
42908         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
42909
42910 2007-01-29  Bruno Haible  <bruno@clisp.org>
42911
42912         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
42913         * lib/execute.c: Likewise.
42914         * lib/pipe.c: Likewise.
42915         * lib/printf-args.h: Likewise.
42916         * lib/printf-args.c: Likewise.
42917         * lib/printf-parse.c: Likewise.
42918         * lib/vasnprintf.c: Likewise.
42919
42920 2007-01-29  Eric Blake  <ebb9@byu.net>
42921
42922         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
42923         declaration.
42924
42925 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42926
42927         * lib/strptime.h (strptime): Use 'restrict' for args where
42928         POSIX requires this.
42929         * lib/strptime.c (strptime): Likewise.
42930         Change license notice from LGPL to GPL, since gnulib-tool will
42931         change this as needed.
42932         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
42933         defined.
42934         Include "strptime.h" first, to check interface.
42935         Do not #undef _LIBC and _NL_CURRENT.
42936         Do not include <stdlib.h>; no longer needed.
42937         Include "time_r.h" and declare ptime_locale_status
42938         only if _LIBC is not defined.
42939         (__P): Remove unused macro.
42940         (match_string): Bring back glibc version, but use it only if _LIBC
42941         is defined.
42942         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
42943         Remove unnecessary assertion and abort() call.
42944         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
42945         * m4/strptime.m4: Fix serial number comment.
42946         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
42947         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
42948         (Depends-on): Add time_r.
42949
42950 2007-01-29  Bruno Haible  <bruno@clisp.org>
42951
42952         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42953         strptime.
42954         * modules/strptime (Depends-on): Add stdbool.
42955         * lib/strptime.h: Include <time.h> always. Add comments.
42956
42957 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42958
42959         * modules/strptime: New file.
42960         * lib/strptime.h: New file.
42961         * lib/strptime.c: New file.
42962         * m4/strptime.m4: New file.
42963
42964 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42965
42966         * MODULES.html.sh: New module mpsort.
42967         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
42968
42969         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
42970         a circularity problem with HP-UX ia64 reported by Bob Proulx in
42971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
42972         All uses changed.
42973         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
42974         All uses changed.
42975         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
42976         to _Restrict_.
42977         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
42978         the parameter matches the prototype.
42979
42980 2007-01-28  Jim Meyering  <jim@meyering.net>
42981
42982         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
42983         sys/time.h here, reverting that part of the previous patch:
42984         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
42985
42986 2007-01-28  Bruno Haible  <bruno@clisp.org>
42987
42988         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
42989         value of $(SYS_TIME_H).
42990         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
42991         remove it conditionally, too. [added by Jim Meyering]
42992         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
42993         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42994         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
42995         GETTIMEOFDAY_REPLACEMENT to 1.
42996
42997 2007-01-28  Bruno Haible  <bruno@clisp.org>
42998
42999         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
43000         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
43001         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
43002         Set UNISTD_H instead of UNISTD_H2.
43003         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
43004
43005 2007-01-28  Bruno Haible  <bruno@clisp.org>
43006
43007         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
43008         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
43009
43010 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43011
43012         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
43013         (func_create_testdir): Ensure C locale for `grep' and `tr'
43014         character ranges.
43015         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
43016         ACLOCAL_AMFLAGS parsing state machine.
43017
43018 2007-01-27  Bruno Haible  <bruno@clisp.org>
43019
43020         * modules/unistr/base: Update.
43021
43022 2007-01-27  Bruno Haible  <bruno@clisp.org>
43023
43024         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
43025         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
43026         * modules/unistr/u32-mbtouc-unsafe: Renamed from
43027         modules/unistr/u32-mbtouc.
43028         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
43029         * lib/unistr.h: Update.
43030         * lib/linebreak.c: Update.
43031         * modules/unistr/u32-mbtouc: Renamed from
43032         modules/unistr/u32-mbtouc-safe.
43033         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
43034         * lib/unistr.h: Update.
43035         * lib/unistr/u32-to-u8.c: Update.
43036         * lib/unistr/u32-to-u16.c: Update.
43037
43038 2007-01-27  Bruno Haible  <bruno@clisp.org>
43039
43040         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
43041         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
43042         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
43043         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
43044         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
43045         * modules/unistr/u16-mbtouc-unsafe: Renamed from
43046         modules/unistr/u16-mbtouc.
43047         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
43048         * lib/unistr.h: Update.
43049         * lib/linebreak.c: Update.
43050         * modules/linebreak: Update.
43051         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
43052         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
43053         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
43054         * modules/unistr/u16-mbtouc: Renamed from
43055         modules/unistr/u16-mbtouc-safe.
43056         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
43057         * lib/unistr.h: Update.
43058         * lib/unistr/u16-to-u8.c: Update.
43059         * modules/unistr/u16-to-u8: Update.
43060         * lib/unistr/u16-to-u32.c: Update.
43061         * modules/unistr/u16-to-u32: Update.
43062
43063 2007-01-27  Bruno Haible  <bruno@clisp.org>
43064
43065         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
43066         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
43067         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
43068         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
43069         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
43070         * modules/unistr/u8-mbtouc-unsafe: Renamed from
43071         modules/unistr/u8-mbtouc.
43072         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
43073         * lib/unistr.h: Update.
43074         * lib/striconveh.c: Update.
43075         * modules/striconveh: Update.
43076         * lib/linebreak.c: Update.
43077         * modules/linebreak: Update.
43078         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
43079         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
43080         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
43081         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
43082         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
43083         * lib/unistr.h: Update.
43084         * lib/striconveh.c: Update.
43085         * modules/striconveh: Update.
43086         * lib/unistr/u8-to-u16.c: Update.
43087         * modules/unistr/u8-to-u16: Update.
43088         * lib/unistr/u8-to-u32.c: Update.
43089         * modules/unistr/u8-to-u32: Update.
43090
43091 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43092
43093         Sync from Libtool.
43094         * lib/argz.c: Do not include strings.h nor memory.h, include
43095         string.h unconditionally.  Patch by Simon Josefsson.
43096
43097 2007-01-27  Bruno Haible  <bruno@clisp.org>
43098
43099         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
43100         from gl_HEADER_STRING_H_BODY.
43101         (gl_HEADER_STRING_H_BODY): Require it.
43102         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
43103         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
43104         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
43105         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
43106         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
43107         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
43108         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43109         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
43110         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
43111         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43112         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
43113         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
43114         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
43115         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43116         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43117
43118 2007-01-27  Bruno Haible  <bruno@clisp.org>
43119
43120         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
43121         check_PROGRAMS into noinst_PROGRAMS.
43122         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
43123         check_PROGRAMS in this case.
43124         (func_import): Set for_test to false.
43125         (func_create_testdir): Set for_test to true.
43126
43127 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43128             Bruno Haible  <bruno@clisp.org>
43129
43130         * modules/strcasestr (Files): Remove lib/strcasestr.h.
43131         (Depends-on): Add string.
43132         (Includes): Use <string.h> instead of strcasestr.h.
43133         * modules/string (Makefile.am): Also substitute the value of
43134         REPLACE_STRCASESTR.
43135         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
43136         assume strcasestr is declared in <string.h> not <strings.h>. Also
43137         set REPLACE_STRCASESTR.
43138         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
43139         REPLACE_STRCASESTR.
43140         * lib/strcasestr.h: Remove file.
43141         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
43142         * lib/string_.h (strcasestr): New declaration.
43143
43144 2007-01-27  Bruno Haible  <bruno@clisp.org>
43145
43146         * lib/string_.h: Use 'extern'.
43147
43148 2007-01-27  Jim Meyering  <jim@meyering.net>
43149
43150         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
43151         of set-but-not-used local, "q".
43152
43153         * lib/mempcpy.c: Include <config.h> before <string.h>.
43154         This fixes a compilation error on HP-UX, due to the system's
43155         "restrict"-using mempcpy prototype.
43156
43157 2007-01-26  Bruno Haible  <bruno@clisp.org>
43158
43159         Small optimization.
43160         * lib/javacomp.c: Include c-strstr.h.
43161          (is_envjavac_gcj): Use c_strstr instead of strstr.
43162         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
43163
43164 2007-01-26  Bruno Haible  <bruno@clisp.org>
43165
43166         * MODULES.html.sh (Unicode string functions): Add the new modules.
43167
43168         * modules/uniconv/u32-strconv-to-locale: New file.
43169         * lib/uniconv/u32-strconv-to-locale.c: New file.
43170
43171         * modules/uniconv/u16-strconv-to-locale: New file.
43172         * lib/uniconv/u16-strconv-to-locale.c: New file.
43173
43174         * modules/uniconv/u8-strconv-to-locale: New file.
43175         * lib/uniconv/u8-strconv-to-locale.c: New file.
43176
43177         * modules/uniconv/u32-strconv-from-locale: New file.
43178         * lib/uniconv/u32-strconv-from-locale.c: New file.
43179
43180         * modules/uniconv/u16-strconv-from-locale: New file.
43181         * lib/uniconv/u16-strconv-from-locale.c: New file.
43182
43183         * modules/uniconv/u8-strconv-from-locale: New file.
43184         * lib/uniconv/u8-strconv-from-locale.c: New file.
43185
43186         * modules/uniconv/u32-strconv-to-enc: New file.
43187         * lib/uniconv/u32-strconv-to-enc.c: New file.
43188         * modules/uniconv/u32-strconv-to-enc-tests: New file.
43189         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
43190
43191         * modules/uniconv/u16-strconv-to-enc: New file.
43192         * lib/uniconv/u16-strconv-to-enc.c: New file.
43193         * lib/uniconv/u-strconv-to-enc.h: New file.
43194         * modules/uniconv/u16-strconv-to-enc-tests: New file.
43195         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
43196
43197         * modules/uniconv/u8-strconv-to-enc: New file.
43198         * lib/uniconv/u8-strconv-to-enc.c: New file.
43199         * modules/uniconv/u8-strconv-to-enc-tests: New file.
43200         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
43201
43202         * modules/uniconv/u32-strconv-from-enc: New file.
43203         * lib/uniconv/u32-strconv-from-enc.c: New file.
43204         * modules/uniconv/u32-strconv-from-enc-tests: New file.
43205         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
43206
43207         * modules/uniconv/u16-strconv-from-enc: New file.
43208         * lib/uniconv/u16-strconv-from-enc.c: New file.
43209         * modules/uniconv/u16-strconv-from-enc-tests: New file.
43210         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
43211
43212         * modules/uniconv/u8-strconv-from-enc: New file.
43213         * lib/uniconv/u8-strconv-from-enc.c: New file.
43214         * lib/uniconv/u-strconv-from-enc.h: New file.
43215         * modules/uniconv/u8-strconv-from-enc-tests: New file.
43216         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
43217
43218         * modules/uniconv/u32-conv-from-enc: New file.
43219         * lib/uniconv/u32-conv-from-enc.c: New file.
43220         * modules/uniconv/u32-conv-from-enc-tests: New file.
43221         * tests/uniconv/test-u32-conv-from-enc.c: New file.
43222
43223         * modules/uniconv/u16-conv-from-enc: New file.
43224         * lib/uniconv/u16-conv-from-enc.c: New file.
43225         * lib/uniconv/u-conv-from-enc.h: New file.
43226         * modules/uniconv/u16-conv-from-enc-tests: New file.
43227         * tests/uniconv/test-u16-conv-from-enc.c: New file.
43228
43229         * modules/uniconv/u8-conv-from-enc: New file.
43230         * lib/uniconv/u8-conv-from-enc.c: New file.
43231         * modules/uniconv/u8-conv-from-enc-tests: New file.
43232         * tests/uniconv/test-u8-conv-from-enc.c: New file.
43233
43234         * modules/uniconv/base: New file.
43235         * lib/uniconv.h: New file.
43236
43237 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
43238
43239         * doc/gnulib-tool.texi (Initial import): Update to match current
43240         behavior with strdup module.
43241         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
43242         * lib/memmem.h: Remove; all uses removed.  This is now done
43243         by <string.h>.
43244         * lib/mempcpy.h: Likewise.
43245         * lib/memrchr.h: Likewise.
43246         * lib/stpcpy.h: Likewise.
43247         * lib/stpncpy.h: Likewise.
43248         * lib/strcase.h: Likewise.
43249         * lib/strchrnul.h: Likewise.
43250         * lib/strdup.h: Likewise.
43251         * lib/strndup.h: Likewise.
43252         * lib/strnlen.h: Likewise.
43253         * lib/strpbrk.h: Likewise.
43254         * lib/strsep.h: Likewise.
43255         * lib/strstr.h: Likewise.
43256         * lib/strtok_r.h: Likewise.
43257         * lib/string_.h: New file.
43258         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
43259         Rely on <string.h> instead.
43260         * lib/canon-host.c: Likewise.
43261         * lib/chdir-long.c: Likewise.
43262         * lib/concatpath.c: Likewise.
43263         * lib/exclude.c: Likewise.
43264         * lib/fchdir.c: Likewise.
43265         * lib/getaddrinfo.c: Likewise.
43266         * lib/getcwd.c: Likewise.
43267         * lib/getsubopt.c: Likewise.
43268         * lib/glob.c: Likewise.
43269         * lib/hard-locale.c: Likewise.
43270         * lib/iconvme.c: Likewise.
43271         * lib/javacomp.c: Likewise.
43272         * lib/mempcpy.c: Likewise.
43273         * lib/memrchr.c: Likewise.
43274         * lib/regex_internal.h: Likewise.
43275         * lib/stpncpy.c: Likewise.
43276         * lib/strcasecmp.c: Likewise.
43277         * lib/strchrnul.c: Likewise.
43278         * lib/strdup.c: Likewise.
43279         * lib/striconv.c: Likewise.
43280         * lib/striconveh.c: Likewise.
43281         * lib/striconveha.c: Likewise.
43282         * lib/strncasecmp.c: Likewise.
43283         * lib/strndup.c: Likewise.
43284         * lib/strnlen.c: Likewise.
43285         * lib/strsep.c: Likewise.
43286         * lib/strstr.c: Likewise.
43287         * lib/strtok_r.c: Likewise.
43288         * lib/userspec.c: Likewise.
43289         * lib/w32spawn.h: Likewise.
43290         * lib/xstrndup.c: Likewise.
43291         * lib/mountlist.c (strstr): Remove decl.
43292         * m4/string_h.m4: New file.
43293         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
43294         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
43295         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
43296         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
43297         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
43298         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
43299         Set REPLACE_STRCASECMP if necessary.
43300         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
43301         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
43302         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
43303         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
43304         HAVE_DECL_STRDUP if necessary.
43305         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
43306         since gl_FUNC_STRNDUP does that now.
43307         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
43308         Check for decl here...
43309         (gl_PREREQ_STRNLEN): ... not here.
43310         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
43311         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
43312         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
43313         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
43314         necessary.
43315         * modules/string: New file.
43316         * modules/memmem (Files): Remove special-purpose include file.
43317         (Depends-on): Add string.
43318         (Include): Include <string.h>, not the removed file.
43319         * modules/mempcpy: Likewise.
43320         * modules/memrchr: Likewise.
43321         * modules/stpcpy: Likewise.
43322         * modules/stpncpy: Likewise.
43323         * modules/strcase: Likewise.
43324         * modules/strchrnul: Likewise.
43325         * modules/strdup: Likewise.
43326         * modules/strndup: Likewise.
43327         * modules/strnlen: Likewise.
43328         * modules/strpbrk: Likewise.
43329         * modules/strsep: Likewise.
43330         * modules/strstr: Likewise.
43331         * modules/strtok_r: Likewise.
43332         * tests/test-dirname.c: Don't include "strdup.h", since
43333         <string.h> now suffices.
43334         * tests/test-memmem.c: Don't include "memmem.h", since
43335         <string.h> now suffices.
43336
43337 2007-01-25  Bruno Haible  <bruno@clisp.org>
43338
43339         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
43340         *resultp is 0.
43341
43342         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
43343         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
43344         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
43345         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
43346
43347         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
43348         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
43349         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
43350         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
43351         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
43352         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
43353
43354 2007-01-24  Bruno Haible  <bruno@clisp.org>
43355
43356         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
43357         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
43358         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
43359         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
43360         gl_FUNC_FTS_CORE.
43361         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
43362         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
43363         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43364         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
43365         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
43366         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
43367         gl_FUNC_FCHOWNAT.
43368         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
43369         gl_FUNC_STRFTIME.
43370         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
43371         Reported by Ralf Wildenhues.
43372
43373 2007-01-24  Bruno Haible  <bruno@clisp.org>
43374
43375         Drop AC_REQUIRE calls that are redundant with the module dependencies.
43376         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
43377         gl_GETADDRINFO.
43378         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
43379         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
43380         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
43381
43382 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
43383
43384         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
43385         Don't use 'exit'; just return from 'main'.
43386         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
43387
43388         * lib/fnmatch_.h: Readjust white space and comments to match
43389         glibc, to avoid spurious diffs.
43390
43391 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43392
43393         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
43394         2004-12-01 change by Jakub Jelinek, since this code won't compile
43395         if !LIBC.  Problem reported by Bob Proulx.
43396
43397 2007-01-23  Bruno Haible  <bruno@clisp.org>
43398
43399         * lib/striconveh.c: Include c-strcaseeq.h.
43400         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
43401         * modules/striconveh (Depends-on): Add c-strcaseeq.
43402
43403 2007-01-23  Bruno Haible  <bruno@clisp.org>
43404
43405         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
43406
43407         * modules/c-strcaseeq: New file.
43408         * lib/c-strcaseeq.h: New file.
43409
43410         * modules/streq: New file.
43411         * lib/streq.h: New file.
43412
43413 2007-01-23  Bruno Haible  <bruno@clisp.org>
43414
43415         * modules/striconveha-tests: New file.
43416         * tests/test-striconveha.c: New file.
43417
43418         * lib/striconveha.h: Include <stdbool.h>.
43419         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
43420         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
43421         (mem_iconveha_notranslit): Renamed from mem_iconveha.
43422         (mem_iconveha): New function.
43423         (str_iconveha_notranslit): Renamed from str_iconveha.
43424         (str_iconveha): New function.
43425         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
43426         c-strcase.
43427
43428 2007-01-23  Bruno Haible  <bruno@clisp.org>
43429
43430         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
43431         encodings without forgiving before trying any encoding with handler.
43432         (str_iconveha): Try all encodings without forgiving before trying any
43433         encoding with handler.
43434
43435 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43436
43437         Import the following changes from libc.
43438
43439         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43440
43441         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
43442
43443         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
43444
43445         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
43446         normal_bracket label.
43447
43448         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
43449
43450         [BZ #361]
43451         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
43452         to normal_bracket after fetching the next character.
43453
43454 2007-01-22  Bruno Haible  <bruno@clisp.org>
43455
43456         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
43457         argument.
43458         * lib/striconveh.c (iconv_carefully_1): New function.
43459         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
43460         argument.
43461         (str_cd_iconveh): Update.
43462         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
43463         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
43464         * tests/test-striconveh.c (MAGIC): New macro.
43465         (new_offsets): New function.
43466         (main): Test call with and without offsets.
43467
43468 2007-01-22  Bruno Haible  <bruno@clisp.org>
43469
43470         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
43471         * modules/sys_select (Makefile.am): Likewise.
43472         * modules/sys_socket (Makefile.am): Likewise.
43473         * modules/sys_time (Makefile.am): Likewise.
43474
43475 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43476
43477         * modules/gettimeofday (License): Change from GPL to LGPL, since
43478         gettimeofday is a library function.
43479
43480 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43481
43482         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
43483
43484 2007-01-21  Bruno Haible  <bruno@clisp.org>
43485
43486         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
43487
43488 2007-01-21  Bruno Haible  <bruno@clisp.org>
43489
43490         * modules/striconveha: New file.
43491         * lib/striconveha.h: New file.
43492         * lib/striconveha.c: New file.
43493         * MODULES.html.sh (Internationalization functions): Add striconveha.
43494         * lib/striconv.c (str_iconv): Optimize the case of an empty input
43495         string.
43496         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
43497
43498 2007-01-21  Bruno Haible  <bruno@clisp.org>
43499
43500         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
43501         * lib/striconveh.c (str_iconveh): Likewise.
43502
43503 2007-01-21  Bruno Haible  <bruno@clisp.org>
43504
43505         * lib/striconveh.h (mem_iconveh): New declaration.
43506         * lib/striconveh.c (mem_iconveh): New function.
43507         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
43508
43509 2007-01-21  Bruno Haible  <bruno@clisp.org>
43510
43511         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
43512
43513         * lib/striconveh.h (mem_cd_iconveh): Change specification.
43514         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
43515         original result buffer.
43516         (str_cd_iconveh): Update.
43517         * tests/test-striconveh.c (main): Update.
43518
43519         * lib/striconv.h (mem_cd_iconv): Change specification.
43520         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
43521         result buffer.
43522         (str_cd_iconv): Update.
43523         * tests/test-striconv.c (main): Update.
43524
43525 2007-01-21  Bruno Haible  <bruno@clisp.org>
43526
43527         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
43528
43529 2007-01-20  Jim Meyering  <jim@meyering.net>
43530
43531         * lib/userspec.c (parse_with_separator): If a user or group string
43532         starts with "+", skip the corresponding name-to-ID look-up, since
43533         such a look-up must fail: user and group names may not include "+".
43534
43535 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43536
43537         * lib/poll.c: Include sys/time.h and time.h unconditionally,
43538         since we now assume the sys_time module.
43539         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
43540         check for sys/time.h; no longer needed.
43541         * modules/poll (Depends-on): Depend on sys_time.
43542
43543 2007-01-18  Bruno Haible  <bruno@clisp.org>
43544
43545         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
43546         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43547
43548         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
43549         gettimeofday.
43550
43551         * tests/test-gettimeofday.c: Include <time.h>.
43552         (dummy): Remove variable.
43553
43554         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
43555         gl_HEADER_SYS_TIME_H.
43556         (gl_HEADER_SYS_TIME_H): New macro.
43557
43558         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
43559         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43560         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
43561         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
43562         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43563         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
43564         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
43565         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43566         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
43567         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
43568         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43569
43570         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
43571         last change; it caused a compilation error when cross-compiling to
43572         Cygwin.
43573
43574 2007-01-18  Jim Meyering  <jim@meyering.net>
43575
43576         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
43577         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
43578         than the race-prone "test -d sys || mkdir sys".
43579         (configure.ac): Use AC_PROG_MKDIR_P.
43580         * modules/sys_select: Likewise.
43581         * modules/sys_socket: Likewise.
43582         * modules/sys_time: Likewise.
43583
43584 2007-01-18  Eric Blake  <ebb9@byu.net>
43585
43586         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
43587         replace gettimeofday.
43588         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
43589         name, to avoid infinite recursion.
43590
43591 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
43592
43593         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
43594         module sys_time.
43595         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
43596         assume timespec.h defines struct timeval.
43597         * lib/settime.c: Likewise.
43598         * lib/utimens.c: Likewise.
43599         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
43600         since we now assume the gettimeofday module.
43601         * lib/tempname.c (__gen_tempname): Likewise.
43602         * lib/gettimeofday.h: Remove.
43603         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
43604         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
43605         Include <time.h>, for 'time()'.
43606         (localtime_buffer_addr): Also use this workaround if
43607         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
43608         to simplify the uses.  All uses changed.
43609         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
43610         that #undef is inside {}, and 'const' follows type name consistently.
43611         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
43612         (gettimeofday): Do not use the maximum possible value for
43613         tv->tv_usec, since that might break usages other than ls.c.
43614         Instead, we'll leave ls.c alone.  This undoes today's patch
43615         by Bruno.  Add a compile-time warning for 1s-clock resolution;
43616         we've never observed the problem but might as well keep the
43617         canary.
43618         * lib/nanosleep.c: Include timespec.h first, for interface check.
43619         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
43620         now assume the sys_time module.
43621         * lib/tempname.c: Likewise.
43622         * lib/timespec.h: Likewise.
43623         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
43624         needed.
43625         * lib/strftime.c: Likewise.
43626         * lib/timespec.h: Likewise.
43627         * lib/posixtm.c: Include posixtm.h first, for interface check.
43628         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
43629         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
43630         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
43631         * lib/sys_time_.h: New file.
43632         * lib/timespec.h (struct timespec): Use long int, not long.
43633         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43634         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
43635         Remove obsolescent call to AC_HEADER_TIME.
43636         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43637         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43638         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43639         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
43640         Likewise.
43641         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
43642         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
43643         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
43644         into the sys_time module.  Check for gettimeofday just once.
43645         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
43646         for gettimeofday signature to just check the signature.  Merely
43647         compile it, since linking doesn't test signature.  Improve test for
43648         whether gettimeofday.o is actually needed.
43649         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
43650         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
43651         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
43652         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43653         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
43654         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
43655         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
43656         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
43657         than worrying about sys/time.h.
43658         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43659         Don't bother worrying about TIME_WITH_SYS_TIME.
43660         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43661         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
43662         * m4/sys_time_h.m4: New file.
43663         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
43664         Don't include sys/time.h.  Return from main rather than exiting.
43665         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
43666         all uses changed.
43667         * modules/gethrxtime (Depends-on): Add sys_time.
43668         * modules/gettime (Depends-on): Likewise.
43669         * modules/gettimeofday (Depends-on): Likewise.
43670         * modules/nanosleep (Depends-on): Likewise.
43671         * modules/settime (Depends-on): Likewise.
43672         * modules/tempname (Depends-on): Likewise.
43673         * modules/utimens (Depends-on): Likewise.
43674         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
43675         (Include:) Change back to <sys/time.h>.
43676         (Maintainer:) Add self.
43677         * modules/sys_time: New file.
43678         * modules/tempname (Depends-on): Add gettimeofday.
43679         * tests/test-gettimeofday.c: Include <sys/time.h>
43680         rather than gettimeofday.h.
43681
43682 2007-01-17  Bruno Haible  <bruno@clisp.org>
43683
43684         * gnulib-tool (func_get_license): Revert last patch. Instead, let
43685         the license default to GPL.
43686         (func_create_testdir): Don't complain if a module is LGPL and its
43687         tests module depends on GPLed modules.
43688
43689 2007-01-17  Bruno Haible  <bruno@clisp.org>
43690
43691         * lib/gettimeofday.c (gettimeofday): Add code for the case
43692         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
43693         maximum possible value for tv->tv_usec, rather than the minimum one.
43694
43695 2005-10-08  Martin Lambers  <marlam@marlam.de>
43696 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43697 2007-01-16  Bruno Haible  <bruno@clisp.org>
43698
43699         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
43700         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
43701         gl_FUNC_GETTIMEOFDAY.
43702         (Include): Add gettimeofday.h.
43703         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
43704         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
43705         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
43706         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
43707         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
43708         * lib/gettimeofday.h: New file.
43709         * lib/gettimeofday.c: Include <sys/timeb.h>.
43710         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
43711         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43712         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
43713         fall back on time().
43714
43715         * tests/test-gettimeofday.c: New file.
43716         * modules/gettimeofday-tests: New file.
43717
43718 2007-01-16  Eric Blake  <ebb9@byu.net>
43719
43720         * modules/fnmatch (Depends-on): Depend on wchar.
43721         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
43722         * m4/fnmatch.m4: Likewise.
43723         * modules/mbchar (Makefile.am): Assume <wchar.h>.
43724         * m4/mbchar.m4: Likewise.
43725         * modules/mbswidth (Depends-on): Depend on wchar.
43726         * lib/mbswidth.c: Assume <wchar.h>.
43727         * m4/mbswidth.m4: Likewise.
43728         * modules/quotearg (Depends-on): Depend on wchar.
43729         * lib/quotearg.c: Assume <wchar.h>.
43730         * m4/quotearg.m4: Likewise.
43731         * modules/regex (Depends-on): Depend on wchar.
43732         * lib/regex_internal.h: Assume <wchar.h>.
43733         * m4/regex.m4: Likewise.
43734         * modules/stdint (Depends-on): Depend on wchar.
43735         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
43736         * m4/stdint.m4: Likewise.
43737         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
43738         * modules/strftime (Depends-on): Depend on wchar.
43739         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
43740         * modules/strtol (Depends-on): Depend on wchar.
43741         * lib/strtol.c: Assume <wchar.h>.
43742         * modules/wcwidth (Depends-on): Depend on wchar.
43743         * lib/wcwidth.h: Assume <wchar.h>.
43744         * m4/wcwidth.m4: Likewise.
43745
43746 2007-01-16  Bruno Haible  <bruno@clisp.org>
43747
43748         * modules/csharpexec-script: New, created from...
43749         * modules/csharpexec: ... this.
43750
43751 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43752
43753         * modules/javaexec-script: New, created from...
43754         * modules/javaexec: ... this.
43755
43756 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43757
43758         * modules/poll (Dependencies): Add sys_select.
43759
43760 2007-01-15  Jim Meyering  <jim@meyering.net>
43761
43762         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
43763         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
43764         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
43765         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
43766
43767 2007-01-15  Bruno Haible  <bruno@clisp.org>
43768
43769         * modules/striconveh: New file.
43770         * lib/striconveh.h: New file.
43771         * lib/striconveh.c: New file.
43772         * MODULES.html.sh (Internationalization functions): Add striconveh.
43773
43774         * modules/striconveh-tests: New file.
43775         * tests/test-striconveh.c: New file.
43776
43777 2007-01-15  Bruno Haible  <bruno@clisp.org>
43778
43779         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
43780         not from GNU libiconv or GNU libc.
43781
43782 2007-01-15  Bruno Haible  <bruno@clisp.org>
43783
43784         * doc/gnulib-intro.texi (Copyright): Explain the different license
43785         terms for module descriptions, autoconf macros, tests, documentation.
43786
43787 2007-01-14  Bruno Haible  <bruno@clisp.org>
43788
43789         * modules/striconv-tests: New file.
43790         * tests/test-striconv.c: New file.
43791
43792 2007-01-14  Bruno Haible  <bruno@clisp.org>
43793
43794         * modules/iconv-tests: New file.
43795         * tests/test-iconv.c: New file.
43796
43797 2007-01-14  Bruno Haible  <bruno@clisp.org>
43798
43799         * gnulib-tool (func_get_license): For test modules, use the license of
43800         the main module.
43801
43802 2007-01-14  Bruno Haible  <bruno@clisp.org>
43803
43804         * modules/iconv (Include): Clarify that <iconv.h> can only be included
43805         if iconv is found to exist.
43806
43807 2007-01-14  Bruno Haible  <bruno@clisp.org>
43808
43809         * modules/c-ctype-tests: New file.
43810         * tests/test-c-ctype.c: New file.
43811
43812 2007-01-14  Bruno Haible  <bruno@clisp.org>
43813
43814         * modules/binary-io-tests: New file.
43815         * tests/test-binary-io.sh: New file.
43816         * tests/test-binary-io.c: New file.
43817
43818 2007-01-14  Bruno Haible  <bruno@clisp.org>
43819
43820         * modules/array-oset-tests: New file.
43821         * tests/test-array_oset.c: New file.
43822
43823 2007-01-14  Bruno Haible  <bruno@clisp.org>
43824
43825         * modules/array-list-tests: New file.
43826         * tests/test-array_list.c: New file.
43827
43828 2007-01-14  Bruno Haible  <bruno@clisp.org>
43829
43830         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
43831         and make.
43832         Reported by Simon Josefsson in
43833         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
43834
43835 2007-01-14  Bruno Haible  <bruno@clisp.org>
43836
43837         * modules/allocsa-tests: New file.
43838         * tests/test-allocsa.c: New file.
43839
43840 2007-01-14  Bruno Haible  <bruno@clisp.org>
43841
43842         * modules/fchdir (Depends-on): Add absolute-header.
43843         * modules/unistd (Depends-on): Likewise.
43844
43845 2006-12-30  Bruno Haible  <bruno@clisp.org>
43846
43847         * modules/fchdir: New file.
43848         * modules/unistd (Files): Add lib/unistd_.h.
43849         (Makefile.am): Generate unistd.h from unistd_.h.
43850         * lib/fchdir.c: New file.
43851         * lib/dirent_.h: New file.
43852         * lib/unistd_.h: New file.
43853         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
43854         * m4/fchdir.m4: New file.
43855         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
43856         (gl_HEADER_UNISTD): Invoke it.
43857         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
43858         function.
43859         * lib/backupfile.c (opendir, closedir): Undefine.
43860         * lib/chown.c (open, close): Undefine.
43861         * lib/clean-temp.c (open, close): Undefine.
43862         * lib/copy-file.c (open, close): Undefine.
43863         * lib/execute.c (open, close): Undefine.
43864         * lib/fsusage.c (open, close): Undefine.
43865         * lib/gc-gnulib.c (open, close): Undefine.
43866         * lib/getcwd.c (opendir, closedir): Undefine.
43867         * lib/glob.c (opendir, closedir): Undefine.
43868         * lib/javacomp.c (open, close): Undefine.
43869         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
43870         * lib/openat-proc.c (open, close): Undefine.
43871         * lib/pagealign_alloc.c (open, close): Undefine.
43872         * lib/pipe.c (open, close): Undefine.
43873         * lib/progreloc.c (open, close): Undefine.
43874         * lib/savedir.c (opendir, closedir): Undefine.
43875         * lib/utime.c (open, close): Undefine.
43876         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
43877
43878 2007-01-10  Bruno Haible  <bruno@clisp.org>
43879
43880         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
43881
43882 2007-01-12  Eric Blake  <ebb9@byu.net>
43883
43884         Provide a robust <wchar.h>.  Further simplifications are now
43885         possible in other modules, but not included here.
43886         * modules/wchar: New module.
43887         * m4/wchar.m4: New file.
43888         * lib/wchar_.h: Likewise.
43889         * modules/mbchar (Depends-on): Depend on wchar, as the first use
43890         of the new module.
43891         * MODULES.html.sh (Extended multibyte and wide character utilities):
43892         New section.
43893
43894 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
43895
43896         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
43897         to a reasonable default for memory allocation.
43898         (xreadlink): Don't allocate a huge buffer, to work around a buggy
43899         file system that reports garbage st_size values for symlinks.
43900         Problem reported by Liyang Hu.
43901
43902 2007-01-11  Simon Josefsson  <simon@josefsson.org>
43903
43904         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
43905         Emacs .#* auto-save files).
43906
43907 2007-01-11  Bruno Haible  <bruno@clisp.org>
43908
43909         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
43910         directory.
43911
43912 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43913
43914         Use @...@ consistently in lib/wctype_.h.
43915         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
43916         on it being set to 1 or 0.
43917         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
43918         go back to AC_SUBSTing it.
43919         * modules/wctype (Makefile.am): Undo previous change.
43920
43921 2007-01-10  Eric Blake  <ebb9@byu.net>
43922
43923         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
43924         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
43925         * modules/wctype (Makefile.am): Likewise.
43926         Reported by Chris McGuire.
43927
43928 2007-01-10  Jim Meyering  <jim@meyering.net>
43929
43930         fts.c: a small readability/maintainability improvement
43931         * lib/fts.c (fts_read): Make this code slightly more readable and
43932         maintainable by hoisting the "sp->fts_cur = p" assignments to
43933         immediately follow the statements that set P.  Derived from
43934         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
43935
43936 2007-01-10  Eric Blake  <ebb9@byu.net>
43937
43938         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
43939         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
43940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43941         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43942         Reported by Chris McGuire.
43943
43944 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43945
43946         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
43947         in sed script.
43948
43949 2007-01-09  Bruno Haible  <bruno@clisp.org>
43950
43951         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
43952         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
43953         variables.
43954         (func_module): Use them.
43955
43956 2007-01-09  Bruno Haible  <bruno@clisp.org>
43957
43958         * modules/unistr/base: New file.
43959         * lib/unistr.h: New file.
43960
43961         * modules/unistr/u8-to-u16: New file.
43962         * lib/unistr/u8-to-u16.c: New file.
43963
43964         * modules/unistr/u8-to-u32: New file.
43965         * lib/unistr/u8-to-u32.c: New file.
43966
43967         * modules/unistr/u16-to-u8: New file.
43968         * lib/unistr/u16-to-u8.c: New file.
43969
43970         * modules/unistr/u16-to-u32: New file.
43971         * lib/unistr/u16-to-u32.c: New file.
43972
43973         * modules/unistr/u32-to-u8: New file.
43974         * lib/unistr/u32-to-u8.c: New file.
43975
43976         * modules/unistr/u32-to-u16: New file.
43977         * lib/unistr/u32-to-u16.c: New file.
43978
43979         * modules/unistr/u8-check: New file.
43980         * modules/unistr/u16-check: New file.
43981         * modules/unistr/u32-check: New file.
43982         * lib/unistr/u8-check.c: New file.
43983         * lib/unistr/u16-check.c: New file.
43984         * lib/unistr/u32-check.c: New file.
43985
43986         * modules/unistr/u8-chr: New file.
43987         * modules/unistr/u16-chr: New file.
43988         * modules/unistr/u32-chr: New file.
43989         * lib/unistr/u8-chr.c: New file.
43990         * lib/unistr/u16-chr.c: New file.
43991         * lib/unistr/u32-chr.c: New file.
43992
43993         * modules/unistr/u8-cmp: New file.
43994         * modules/unistr/u16-cmp: New file.
43995         * modules/unistr/u32-cmp: New file.
43996         * lib/unistr/u8-cmp.c: New file.
43997         * lib/unistr/u16-cmp.c: New file.
43998         * lib/unistr/u32-cmp.c: New file.
43999
44000         * modules/unistr/u8-cpy: New file.
44001         * modules/unistr/u16-cpy: New file.
44002         * modules/unistr/u32-cpy: New file.
44003         * lib/unistr/u8-cpy.c: New file.
44004         * lib/unistr/u16-cpy.c: New file.
44005         * lib/unistr/u32-cpy.c: New file.
44006         * lib/unistr/u-cpy.h: New file.
44007
44008         * modules/unistr/u8-cpy-alloc: New file.
44009         * modules/unistr/u16-cpy-alloc: New file.
44010         * modules/unistr/u32-cpy-alloc: New file.
44011         * lib/unistr/u8-cpy-alloc.c: New file.
44012         * lib/unistr/u16-cpy-alloc.c: New file.
44013         * lib/unistr/u32-cpy-alloc.c: New file.
44014         * lib/unistr/u-cpy-alloc.h: New file.
44015
44016         * modules/unistr/u8-endswith: New file.
44017         * modules/unistr/u16-endswith: New file.
44018         * modules/unistr/u32-endswith: New file.
44019         * lib/unistr/u8-endswith.c: New file.
44020         * lib/unistr/u16-endswith.c: New file.
44021         * lib/unistr/u32-endswith.c: New file.
44022         * lib/unistr/u-endswith.h: New file.
44023
44024         * modules/unistr/u8-mblen: New file.
44025         * modules/unistr/u16-mblen: New file.
44026         * modules/unistr/u32-mblen: New file.
44027         * lib/unistr/u8-mblen.c: New file.
44028         * lib/unistr/u16-mblen.c: New file.
44029         * lib/unistr/u32-mblen.c: New file.
44030
44031         * modules/unistr/u8-mbtouc: New file.
44032         * modules/unistr/u16-mbtouc: New file.
44033         * modules/unistr/u32-mbtouc: New file.
44034         * lib/unistr/u8-mbtouc.c: New file.
44035         * lib/unistr/u16-mbtouc.c: New file.
44036         * lib/unistr/u32-mbtouc.c: New file.
44037
44038         * modules/unistr/u8-mbtouc-safe: New file.
44039         * modules/unistr/u16-mbtouc-safe: New file.
44040         * modules/unistr/u32-mbtouc-safe: New file.
44041         * lib/unistr/u8-mbtouc-safe.c: New file.
44042         * lib/unistr/u16-mbtouc-safe.c: New file.
44043         * lib/unistr/u32-mbtouc-safe.c: New file.
44044
44045         * modules/unistr/u8-move: New file.
44046         * modules/unistr/u16-move: New file.
44047         * modules/unistr/u32-move: New file.
44048         * lib/unistr/u8-move.c: New file.
44049         * lib/unistr/u16-move.c: New file.
44050         * lib/unistr/u32-move.c: New file.
44051         * lib/unistr/u-move.h: New file.
44052
44053         * modules/unistr/u8-next: New file.
44054         * modules/unistr/u16-next: New file.
44055         * modules/unistr/u32-next: New file.
44056         * lib/unistr/u8-next.c: New file.
44057         * lib/unistr/u16-next.c: New file.
44058         * lib/unistr/u32-next.c: New file.
44059
44060         * modules/unistr/u8-prev: New file.
44061         * modules/unistr/u16-prev: New file.
44062         * modules/unistr/u32-prev: New file.
44063         * lib/unistr/u8-prev.c: New file.
44064         * lib/unistr/u16-prev.c: New file.
44065         * lib/unistr/u32-prev.c: New file.
44066
44067         * modules/unistr/u8-set: New file.
44068         * modules/unistr/u16-set: New file.
44069         * modules/unistr/u32-set: New file.
44070         * lib/unistr/u8-set.c: New file.
44071         * lib/unistr/u16-set.c: New file.
44072         * lib/unistr/u32-set.c: New file.
44073         * lib/unistr/u-set.h: New file.
44074
44075         * modules/unistr/u8-startswith: New file.
44076         * modules/unistr/u16-startswith: New file.
44077         * modules/unistr/u32-startswith: New file.
44078         * lib/unistr/u8-startswith.c: New file.
44079         * lib/unistr/u16-startswith.c: New file.
44080         * lib/unistr/u32-startswith.c: New file.
44081         * lib/unistr/u-startswith.h: New file.
44082
44083         * modules/unistr/u8-stpcpy: New file.
44084         * modules/unistr/u16-stpcpy: New file.
44085         * modules/unistr/u32-stpcpy: New file.
44086         * lib/unistr/u8-stpcpy.c: New file.
44087         * lib/unistr/u16-stpcpy.c: New file.
44088         * lib/unistr/u32-stpcpy.c: New file.
44089         * lib/unistr/u-stpcpy.h: New file.
44090
44091         * modules/unistr/u8-stpncpy: New file.
44092         * modules/unistr/u16-stpncpy: New file.
44093         * modules/unistr/u32-stpncpy: New file.
44094         * lib/unistr/u8-stpncpy.c: New file.
44095         * lib/unistr/u16-stpncpy.c: New file.
44096         * lib/unistr/u32-stpncpy.c: New file.
44097         * lib/unistr/u-stpncpy.h: New file.
44098
44099         * modules/unistr/u8-strcat: New file.
44100         * modules/unistr/u16-strcat: New file.
44101         * modules/unistr/u32-strcat: New file.
44102         * lib/unistr/u8-strcat.c: New file.
44103         * lib/unistr/u16-strcat.c: New file.
44104         * lib/unistr/u32-strcat.c: New file.
44105         * lib/unistr/u-strcat.h: New file.
44106
44107         * modules/unistr/u8-strchr: New file.
44108         * modules/unistr/u16-strchr: New file.
44109         * modules/unistr/u32-strchr: New file.
44110         * lib/unistr/u8-strchr.c: New file.
44111         * lib/unistr/u16-strchr.c: New file.
44112         * lib/unistr/u32-strchr.c: New file.
44113
44114         * modules/unistr/u8-strcmp: New file.
44115         * modules/unistr/u16-strcmp: New file.
44116         * modules/unistr/u32-strcmp: New file.
44117         * lib/unistr/u8-strcmp.c: New file.
44118         * lib/unistr/u16-strcmp.c: New file.
44119         * lib/unistr/u32-strcmp.c: New file.
44120
44121         * modules/unistr/u8-strcpy: New file.
44122         * modules/unistr/u16-strcpy: New file.
44123         * modules/unistr/u32-strcpy: New file.
44124         * lib/unistr/u8-strcpy.c: New file.
44125         * lib/unistr/u16-strcpy.c: New file.
44126         * lib/unistr/u32-strcpy.c: New file.
44127         * lib/unistr/u-strcpy.h: New file.
44128
44129         * modules/unistr/u8-strcspn: New file.
44130         * modules/unistr/u16-strcspn: New file.
44131         * modules/unistr/u32-strcspn: New file.
44132         * lib/unistr/u8-strcspn.c: New file.
44133         * lib/unistr/u16-strcspn.c: New file.
44134         * lib/unistr/u32-strcspn.c: New file.
44135         * lib/unistr/u-strcspn.h: New file.
44136
44137         * modules/unistr/u8-strdup: New file.
44138         * modules/unistr/u16-strdup: New file.
44139         * modules/unistr/u32-strdup: New file.
44140         * lib/unistr/u8-strdup.c: New file.
44141         * lib/unistr/u16-strdup.c: New file.
44142         * lib/unistr/u32-strdup.c: New file.
44143         * lib/unistr/u-strdup.h: New file.
44144
44145         * modules/unistr/u8-strlen: New file.
44146         * modules/unistr/u16-strlen: New file.
44147         * modules/unistr/u32-strlen: New file.
44148         * lib/unistr/u8-strlen.c: New file.
44149         * lib/unistr/u16-strlen.c: New file.
44150         * lib/unistr/u32-strlen.c: New file.
44151         * lib/unistr/u-strlen.h: New file.
44152
44153         * modules/unistr/u8-strmblen: New file.
44154         * modules/unistr/u16-strmblen: New file.
44155         * modules/unistr/u32-strmblen: New file.
44156         * lib/unistr/u8-strmblen.c: New file.
44157         * lib/unistr/u16-strmblen.c: New file.
44158         * lib/unistr/u32-strmblen.c: New file.
44159
44160         * modules/unistr/u8-strmbtouc: New file.
44161         * modules/unistr/u16-strmbtouc: New file.
44162         * modules/unistr/u32-strmbtouc: New file.
44163         * lib/unistr/u8-strmbtouc.c: New file.
44164         * lib/unistr/u16-strmbtouc.c: New file.
44165         * lib/unistr/u32-strmbtouc.c: New file.
44166
44167         * modules/unistr/u8-strncat: New file.
44168         * modules/unistr/u16-strncat: New file.
44169         * modules/unistr/u32-strncat: New file.
44170         * lib/unistr/u8-strncat.c: New file.
44171         * lib/unistr/u16-strncat.c: New file.
44172         * lib/unistr/u32-strncat.c: New file.
44173         * lib/unistr/u-strncat.h: New file.
44174
44175         * modules/unistr/u8-strncmp: New file.
44176         * modules/unistr/u16-strncmp: New file.
44177         * modules/unistr/u32-strncmp: New file.
44178         * lib/unistr/u8-strncmp.c: New file.
44179         * lib/unistr/u16-strncmp.c: New file.
44180         * lib/unistr/u32-strncmp.c: New file.
44181
44182         * modules/unistr/u8-strncpy: New file.
44183         * modules/unistr/u16-strncpy: New file.
44184         * modules/unistr/u32-strncpy: New file.
44185         * lib/unistr/u8-strncpy.c: New file.
44186         * lib/unistr/u16-strncpy.c: New file.
44187         * lib/unistr/u32-strncpy.c: New file.
44188         * lib/unistr/u-strncpy.h: New file.
44189
44190         * modules/unistr/u8-strnlen: New file.
44191         * modules/unistr/u16-strnlen: New file.
44192         * modules/unistr/u32-strnlen: New file.
44193         * lib/unistr/u8-strnlen.c: New file.
44194         * lib/unistr/u16-strnlen.c: New file.
44195         * lib/unistr/u32-strnlen.c: New file.
44196         * lib/unistr/u-strnlen.h: New file.
44197
44198         * modules/unistr/u8-strpbrk: New file.
44199         * modules/unistr/u16-strpbrk: New file.
44200         * modules/unistr/u32-strpbrk: New file.
44201         * lib/unistr/u8-strpbrk.c: New file.
44202         * lib/unistr/u16-strpbrk.c: New file.
44203         * lib/unistr/u32-strpbrk.c: New file.
44204         * lib/unistr/u-strpbrk.h: New file.
44205
44206         * modules/unistr/u8-strrchr: New file.
44207         * modules/unistr/u16-strrchr: New file.
44208         * modules/unistr/u32-strrchr: New file.
44209         * lib/unistr/u8-strrchr.c: New file.
44210         * lib/unistr/u16-strrchr.c: New file.
44211         * lib/unistr/u32-strrchr.c: New file.
44212
44213         * modules/unistr/u8-strspn: New file.
44214         * modules/unistr/u16-strspn: New file.
44215         * modules/unistr/u32-strspn: New file.
44216         * lib/unistr/u8-strspn.c: New file.
44217         * lib/unistr/u16-strspn.c: New file.
44218         * lib/unistr/u32-strspn.c: New file.
44219         * lib/unistr/u-strspn.h: New file.
44220
44221         * modules/unistr/u8-strstr: New file.
44222         * modules/unistr/u16-strstr: New file.
44223         * modules/unistr/u32-strstr: New file.
44224         * lib/unistr/u8-strstr.c: New file.
44225         * lib/unistr/u16-strstr.c: New file.
44226         * lib/unistr/u32-strstr.c: New file.
44227         * lib/unistr/u-strstr.h: New file.
44228
44229         * modules/unistr/u8-strtok: New file.
44230         * modules/unistr/u16-strtok: New file.
44231         * modules/unistr/u32-strtok: New file.
44232         * lib/unistr/u8-strtok.c: New file.
44233         * lib/unistr/u16-strtok.c: New file.
44234         * lib/unistr/u32-strtok.c: New file.
44235         * lib/unistr/u-strtok.h: New file.
44236
44237         * modules/unistr/u8-uctomb: New file.
44238         * modules/unistr/u16-uctomb: New file.
44239         * modules/unistr/u32-uctomb: New file.
44240         * lib/unistr/u8-uctomb.c: New file.
44241         * lib/unistr/u16-uctomb.c: New file.
44242         * lib/unistr/u32-uctomb.c: New file.
44243
44244         * MODULES.html.sh (Unicode string functions): Add the new modules.
44245
44246 2007-01-08  Bruno Haible  <bruno@clisp.org>
44247
44248         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
44249         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
44250         subdirectories.
44251
44252 2007-01-08  Karl Berry  <karl@gnu.org>
44253
44254         * doc/error.texi: mention that main() fns must set program_name
44255         when progname is used.
44256
44257 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
44258
44259         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
44260         WCTYPE_H is empty, for the benefit of builds from non-distclean
44261         directories.  Problem reported by Eric Blake in
44262         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
44263
44264 2007-01-08  Bruno Haible  <bruno@clisp.org>
44265
44266         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
44267         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
44268         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
44269         PROVIDE_CANONICALIZE_FILENAME_MODE.
44270         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
44271
44272 2007-01-08  Bruno Haible  <bruno@clisp.org>
44273
44274         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
44275         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
44276         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
44277         * lib/fts.c: Likewise.
44278         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
44279
44280 2006-12-25  Bruno Haible  <bruno@clisp.org>
44281
44282         * modules/utf8-ucs4-safe: New file.
44283         * lib/utf8-ucs4-safe.h: New file.
44284         * lib/unistr/utf8-ucs4-safe.c: New file.
44285
44286         * modules/utf16-ucs4-safe: New file.
44287         * lib/utf16-ucs4-safe.h: New file.
44288         * lib/unistr/utf16-ucs4-safe.c: New file.
44289
44290         * MODULES.html.sh (Unicode string functions): Add the new modules.
44291
44292 2007-01-08  Bruno Haible  <bruno@clisp.org>
44293
44294         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
44295         (Depends-on): Add unitypes.
44296         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44297         (u8_mbtouc_aux): Move out to separate file.
44298         (u8_mbtouc): Use ucs4_t, uint8_t types.
44299         * lib/unistr/utf8-ucs4.c: New file.
44300
44301         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
44302         (Depends-on): Add unitypes.
44303         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44304         (u16_mbtouc_aux): Move out to separate file.
44305         (u16_mbtouc): Use ucs4_t, uint16_t types.
44306         * lib/unistr/utf16-ucs4.c: New file.
44307
44308         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
44309         (Depends-on): Add unitypes.
44310         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
44311         (u8_uctomb_aux): Move out to separate file.
44312         (u8_uctomb): Use ucs4_t, uint8_t types.
44313         * lib/unistr/ucs4-utf8.c: New file.
44314
44315         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
44316         (Depends-on): Add unitypes.
44317         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
44318         (u16_uctomb_aux): Move out to separate file.
44319         (u16_uctomb): Use ucs4_t, uint16_t types.
44320         * lib/unistr/ucs4-utf16.c: New file.
44321
44322 2006-12-25  Bruno Haible  <bruno@clisp.org>
44323
44324         * modules/unitypes: New file.
44325         * lib/unitypes.h: New file.
44326         * MODULES.html.sh (func_all_modules): New section "Unicode string
44327         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
44328         this section. Add unitypes.
44329
44330 2007-01-08  Bruno Haible  <bruno@clisp.org>
44331
44332         Avoid variable names that conflict with those from libtool.
44333         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
44334         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
44335         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
44336         library_names_spec to acl_library_names_spec, hardcode_* to
44337         acl_hardcode_*.
44338         Reported by Ralf Wildenhues.
44339
44340 2007-01-08  Bruno Haible  <bruno@clisp.org>
44341
44342         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
44343         definition.
44344         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
44345         definition.
44346         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
44347         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
44348         definition.
44349         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
44350         definition.
44351         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
44352         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
44353         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
44354         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
44355         definition.
44356         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
44357         definition.
44358         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
44359         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
44360         GC_USE_<algorithm>.
44361         * lib/gc-libgcrypt.c: Likewise.
44362         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
44363         * modules/gc-arctwo (configure.ac): Likewise.
44364         * modules/gc-des (configure.ac): Likewise.
44365         * modules/gc-hmac-md5 (configure.ac): Likewise.
44366         * modules/gc-hmac-sha1 (configure.ac): Likewise.
44367         * modules/gc-md2 (configure.ac): Likewise.
44368         * modules/gc-md4 (configure.ac): Likewise.
44369         * modules/gc-md5 (configure.ac): Likewise.
44370         * modules/gc-random (configure.ac): Likewise.
44371         * modules/gc-rijndael (configure.ac): Likewise.
44372         * modules/gc-sha1 (configure.ac): Likewise.
44373
44374 2007-01-08  Bruno Haible  <bruno@clisp.org>
44375
44376         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
44377         macro definition.
44378         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
44379         definition.
44380         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
44381         definition.
44382         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
44383         * modules/fcntl-safer (configure.ac): Likewise.
44384         * modules/fopen-safer (configure.ac): Likewise.
44385         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
44386         GNULIB_FWRITEERROR macro definition.
44387
44388 2007-01-08  Bruno Haible  <bruno@clisp.org>
44389
44390         * m4/gnulib-common.m4: New file.
44391         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
44392         (func_get_filelist): Add m4/gnulib-common.m4.
44393
44394 2007-01-08  Bruno Haible  <bruno@clisp.org>
44395
44396         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
44397         command.
44398
44399 2007-01-08  Jim Meyering  <jim@meyering.net>
44400
44401         Use a more robust test for a "can't happen" condition.
44402         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
44403         narrowed the st_size value.  Presuming the "can't happen" condition
44404         is true, that narrowing could conceivably convert an invalid st_size
44405         value into a valid one.  Instead, use a change based on Matthew
44406         Woehlke's original patch.
44407
44408         Slight readability improvement: use an assert-like macro
44409         in place of literal "abort ()" uses.
44410         * lib/fts.c (fts_assert): Define.
44411         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
44412         Use this macro instead of a bare 'abort'.
44413
44414 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44415
44416         Don't worry about using IRIX 5.3's wctype.h broken definitions;
44417         simply work around them.
44418         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
44419         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
44420         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
44421         declaring.
44422         Don't bother to define as macros, since the standard doesn't require it.
44423         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
44424         longer worry about IRIX 5.3.
44425         (HAVE_WCTYPE_CTMP_BUG): Remove.
44426
44427 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44428
44429         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
44430         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
44431         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44432         Problems reported by Georg Schwarz for IRIX 5.3.
44433
44434         * gnulib-tool (autoconf_minversion): Take the maximum version number
44435         found, not the minimum.  Problem reported by James Youngman.
44436
44437 2007-01-03  Karl Berry  <karl@gnu.org>
44438
44439         * doc/error.texi: new file, explaining interaction with progname.
44440         * doc/gnulib.texi: include it.  Update copyright.
44441
44442 2007-01-03  Simon Josefsson  <simon@josefsson.org>
44443
44444         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
44445         AC_CANONICAL_HOST, to improve autobuild outputs.
44446
44447 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
44448             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
44449
44450         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
44451         sockets, server sockets, and other file descriptors.  Count errors
44452         to compute the return value.  Reorder the code a bit to be easier
44453         to follow.  Don't set event bits that were not requested (except
44454         POLLERR and POLLHUP).
44455
44456 2007-01-01  Bruno Haible  <bruno@clisp.org>
44457
44458         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
44459
44460 2007-01-03  Jim Meyering  <jim@meyering.net>
44461
44462         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
44463
44464 2007-01-02  Bruno Haible  <bruno@clisp.org>
44465
44466         * modules/settime (Include): Require timespec.h.
44467         * modules/nanosleep (Include): Likewise.
44468
44469 2007-01-01  Bruno Haible  <bruno@clisp.org>
44470
44471         * gnulib-tool (func_emit_copyright_notice): Bump year.
44472         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
44473
44474 2007-01-01  Bruno Haible  <bruno@clisp.org>
44475
44476         Improve support for OpenBSD.
44477         * build-aux/config.rpath (libname_spec): Export.
44478         (library_names_spec): New variable. Export.
44479         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
44480         library_names_spec from the config.rpath output. Locate shared library
44481         through the name pattern in library_names_spec.
44482
44483 2007-01-01  Eric Blake  <ebb9@byu.net>
44484
44485         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
44486
44487 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
44488
44489         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
44490         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
44491         assume the C locale, and avoid an "eval" that could cause trouble.
44492         Problem with SORT reported by Bob Proulx.
44493
44494         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
44495         Define.  Trivial patch from Henning Nielsen Lund, originally
44496         sent to bug-grep@gnu.org today.
44497
44498 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44499
44500         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
44501         struct stat.  Problem reported by Henning Nielsen Lund.
44502         * lib/acl.c: Include acl.h first, to check interface.  Don't
44503         bother to include sys/types.h and sys/stat.h again.
44504
44505 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44506
44507         Import the following change from libc; problem reported by
44508         Sven Verdoolaege.
44509
44510         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
44511
44512         [BZ #1373]
44513         * lib/argp.h: Remove __NTH for __argp_usage inline function.
44514
44515 2006-12-28  Jim Meyering  <jim@meyering.net>
44516
44517         * build-aux/announce-gen: Do not assume that the package
44518         builds any of tar.gz, tar.bz2, and .xdelta files.
44519         Suggestion from Simon Josefsson.
44520
44521 2006-12-28  Simon Josefsson  <simon@josefsson.org>
44522
44523         * modules/announce-gen: New file.
44524
44525 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44526
44527         * lib/mbchar.h: Just include <wctype.h>; the wctype module
44528         handles its gotchas now.
44529         * lib/mbswidth.c: Likewise.
44530         * lib/wcwidth.h: Likewise.
44531         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
44532         and iswcntrl; the wctype module does this stuff now.
44533         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44535         * modules/mbchar (Depends-on): Add wctype.
44536         * modules/mbswidth (Depends-on): Likewise.
44537         * modules/wcwidth (Depends-on): Likewise.
44538
44539 2006-12-27  Eric Blake  <ebb9@byu.net>
44540
44541         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
44542         module uses more than what <wctype.h> is required to provide.
44543
44544 2006-12-26  Eric Blake  <ebb9@byu.net>
44545
44546         * gnulib-tool (sed_extract_prog): Avoid space-tab.
44547
44548 2006-12-26  Eric Blake  <ebb9@byu.net>
44549
44550         * modules/absolute-header: New module.
44551         * modules/fcntl (Depends-on): Depend on it.
44552         * modules/inttypes (Depends-on): Likewise.
44553         * modules/stdint (Depends-on): Likewise.
44554         * modules/sys_stat (Depends-on): Likewise.
44555         * modules/wctype (Depends-on): Likewise.
44556         * MODULES.html.sh (Support for building libraries and
44557         executables): Document it.
44558
44559 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44560
44561         * gnulib-tool (SED): Remove, undoing previous change.
44562         The problem was that it broke coreutils on Solaris, because
44563         "sed --posix" leaked into a makefile.
44564         (sed): New alias, if 'alias' and GNU sed.
44565
44566 2006-12-24  Jim Meyering  <jim@meyering.net>
44567
44568         Work around an fchownat bug in glibc-2.4:
44569         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
44570         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
44571         in spite of the -P option.
44572         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
44573         New macros.
44574         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
44575         * modules/openat (Files): Add lib/fchownat.c.
44576         * lib/openat.c (fchownat): Don't define here.  Move to...
44577         * lib/fchownat.c: ...this new file.
44578
44579 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44580
44581         Fix bug reported by Bruno Haible in
44582         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
44583         where quotearg.c didn't compile on Mac OS X 10.2 because it
44584         lacks <wchar.h> and wint_t.
44585         * lib/wctype_.h (__wctype_wint_t): New type.
44586         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
44587         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
44588         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
44589         Arg is now of type __wctype_wint_t, not wint_t.
44590         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
44591         substitute HAVE_WINT_T.
44592         * modules/wctype (Files): Add m4/wint_t.m4.
44593         (wctype.h): Substitute HAVE_WINT_T.
44594
44595 2006-12-23  Bruno Haible  <bruno@clisp.org>
44596
44597         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
44598
44599 2006-12-23  Bruno Haible  <bruno@clisp.org>
44600
44601         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
44602         S_ISLNK.
44603         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
44604         mingw.
44605
44606 2006-12-22  Bruno Haible  <bruno@clisp.org>
44607
44608         * lib/copy-file.c: Include acl.h.
44609         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
44610         Close the file descriptors only after being done with copy_acl.
44611         * modules/copy-file (Depends-on): Add acl.
44612
44613 2006-12-22  Bruno Haible  <bruno@clisp.org>
44614
44615         * gnulib-tool (SED): New variable.
44616         Use $SED instead of sed everywhere.
44617
44618 2006-12-22  Bruno Haible  <bruno@clisp.org>
44619
44620         * modules/no-c++: New file.
44621         * m4/no-c++.m4: New file.
44622         * MODULES.html.sh (Support for building libraries and executables):
44623         Add no-c++.
44624
44625 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44626
44627         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44628         Include <limits.h>, and use its INT_MAX to rewrite the
44629         j loop so that it does not overflow 'int'.  Problem reported by
44630         Ralf Wildenhues in
44631         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
44632         Play it safe by shifting left by 1 rather than multiplying by 2,
44633         as GCC is less likely to optimize this away when the value
44634         is signed (when it assumes overflow leads to undefined behavior).
44635         Also, don't assume time_t uses two's complement.
44636
44637 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44638
44639         * MODULES.html.sh: New module wctype.
44640         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
44641         * lib/fnmatch.c: Don't bother to include <wchar.h> before
44642         <wctype.h>, since the new wctype module should fix this.
44643         * lib/quotearg.c: Include <wctype.h> unconditionally, since
44644         the wctype module should arrange for it.
44645         * lib/regex_internal.h: Likewise.
44646         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
44647         since the wctype module should handle this now.
44648         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
44649         * modules/fnmatch (Depends-on): Add wctype.
44650         * modules/quotearg (Depends-on): Likewise.
44651         * modules/regex (Depends-on): Likewise.
44652
44653 2006-12-19  Bruno Haible  <bruno@clisp.org>
44654
44655         * lib/strdup.h [C++]: Wrap definitions in extern "C".
44656         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
44657
44658 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44659
44660         * modules/savewd (Depends-on): Fix dependency on fcntl.
44661
44662 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44663
44664         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
44665         conforms to C99, rather than relying on the user's environment
44666         setting of STDINT_H.
44667
44668 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44669         and Eric Blake  <ebb9@byu.net>
44670
44671         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
44672         This is more consistent with the other defines here.
44673         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
44674         Port to z/OS.  Problem reported by Paul Gilmartin.
44675         Change local vars to use gl_ prefix rather than ac_.
44676         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
44677         with other defines.
44678         * modules/double-slash-root: New module.
44679         * modules/dirname (Files): Remove m4/double-slash-root.m4.
44680         (Depends-on): Add double-slash-root.
44681         * MODULES.html.sh (File system functions): Mention new module.
44682
44683 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
44684
44685         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
44686         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
44687         This is for the benefit of gzip, which doesn't do i18n.
44688
44689 2006-12-12  Jim Meyering  <jim@meyering.net>
44690
44691         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
44692         Reported by Andreas Schwab <schwab@suse.de>.
44693
44694 2006-12-12  Bruno Haible  <bruno@clisp.org>
44695
44696         Merge these changes.
44697         2006-09-05  Bruno Haible  <bruno@clisp.org>
44698         * lib/iconvme.c (iconv_string): No need to save and restore errno when
44699         iconv_alloc succeeded.
44700         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
44701         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
44702         test for " && dest " at the end - dest is always != NULL there. Call
44703         iconv with 4xNULL arguments initially, to reset the state. Call iconv
44704         with 2xNULL arguments, also to flush the state storage. Handle the
44705         IRIX iconv behaviour. Realloc the final result, to throw away unused
44706         memory.
44707
44708 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
44711         and fchmodat unconditionally, since glibc 2.4 has them.
44712         Problem reported by Arkadiusz Miskiewicz.
44713
44714 2006-12-10  Bruno Haible  <bruno@clisp.org>
44715
44716         * gnulib-tool (func_import): Show the include files only for those
44717         modules that are copied and specified.
44718         Reported by Karl Berry.
44719
44720 2006-12-08  Jim Meyering  <jim@meyering.net>
44721
44722         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
44723         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
44724
44725         * build-aux/announce-gen: Add two new options, both optional:
44726         --bootstrap-tools=TOOL_LIST
44727               a comma-separated list of tools, e.g.,
44728               autoconf,automake,bison,gnulib
44729         --gnulib-snapshot-date=DATE
44730               if gnulib is in the bootstrap tool list,
44731               then report this as the snapshot date.
44732               If not specified, use the current date/time.
44733               If you specify a date here, be sure it's UTC.
44734
44735 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44736
44737         * tests/test-argp-2.sh: Fix test to match actual output.
44738         (func_compare): Fix sed script to be portable.
44739
44740 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
44741
44742         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
44743         workaround for this case.  It is not autoconfigured now; offhand
44744         it's hard to see how to autoconfigure it.
44745
44746 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44747
44748         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
44749         a directory that is about to be chowned.  Such a directory's
44750         initial file permissions should permit the owner only and this
44751         should not be changed until after the chown, since the group and
44752         other bits would be incorrect if they granted permission before
44753         the chown.
44754
44755         Fix porting problem for iswctype reported by Georg Schwarz in:
44756         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
44757         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
44758         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
44759         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
44760         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44761
44762 2006-12-03  Jim Meyering  <jim@meyering.net>
44763
44764         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
44765         p->fts_statp may not yet be defined.
44766         (fts_read): Instead, set it in the caller, once p->fts_statp is
44767         sure to be defined, and corresponds to a top-level directory.
44768         This bug made du -x fail.  Here's the coreutils test case:
44769         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
44770         Reported by Mike Frysinger.
44771
44772 2006-12-01  Jim Meyering  <jim@meyering.net>
44773
44774         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
44775         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
44776         Reported by Simon Josefsson.
44777
44778 2006-11-30  Jim Meyering  <jim@meyering.net>
44779
44780         * m4/warning.m4: Use the all-permissive copyright notice
44781         recommended by RMS (rather than LGPL).
44782         * m4/vararrays.m4: Likewise.
44783         * m4/flexmember.m4: Likewise.
44784
44785 2006-11-29  Bruno Haible  <bruno@clisp.org>
44786
44787         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44788         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
44789         using +=.
44790         Reported by Simon Josefsson <simon@josefsson.org>.
44791
44792 2006-11-28  James Youngman <jay@gnu.org>
44793
44794         * README: Advise users that they might find the bug-gnulib@gnu.org
44795         and autotools-announce@gnu.org mailing lists useful.
44796
44797 2006-11-28  Bruno Haible  <bruno@clisp.org>
44798
44799         * m4/ptrdiff_max.m4: Remove file.
44800
44801 2006-11-21  Bruno Haible  <bruno@clisp.org>
44802
44803         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
44804         _AC_COMPUTE_INT.
44805         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44806         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
44807         _AC_COMPUTE_INT.
44808         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44809         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
44810         _AC_COMPUTE_INT.
44811         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44812
44813 2006-11-28  Jim Meyering  <jim@meyering.net>
44814
44815         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
44816         warning from "gcc -Wshadow" about shadowing the builtin.
44817
44818 2006-11-27  Bruno Haible  <bruno@clisp.org>
44819
44820         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
44821         _AC_COMPUTE_INT.
44822         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44823
44824 2006-11-27  Bruno Haible  <bruno@clisp.org>
44825             Paul Eggert  <eggert@cs.ucla.edu>
44826
44827         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
44828
44829 2006-11-26  Bruno Haible  <bruno@clisp.org>
44830
44831         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44832         noinst_LTLIBRARIES.
44833
44834 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44835             Bruno Haible  <bruno@clisp.org>
44836
44837         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
44838         if compiling with "gcc -ansi".
44839
44840 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44841
44842         Fix some incompatibilities with gcc -ansi -pedantic.
44843         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
44844         if compiling pedantically with GCC, unless it's C99 or later.
44845         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
44846         it mishandles gcc -ansi -pedantic as well.
44847         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
44848         if gcc -pedantic.
44849         * lib/regexec.c (check_node_accept_bytes): Don't use auto
44850         initializers for struct if -pedantic, unless it's C99 or later.
44851
44852 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
44853
44854         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
44855         Don't close an fd more than once. Identical atimes indicate
44856         success, not failure.
44857
44858 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
44859
44860         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
44861
44862 2006-11-23  Jim Meyering  <jim@meyering.net>
44863
44864         * build-aux/announce-gen: New file.  From coreutils.
44865
44866 2006-11-22  Jim Meyering  <jim@meyering.net>
44867
44868         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
44869         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
44870         (fts_read): Use a temporary to narrow the overused st_size member
44871         before using it in a switch statement.  Reported by Matthew Woehlke.
44872
44873         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
44874         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44875
44876 2006-11-20  Bruno Haible  <bruno@clisp.org>
44877
44878         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
44879         changequote instead of pairs of brackets.
44880         Reported by Andreas Schwab <schwab@suse.de>.
44881
44882 2006-11-21  Jim Meyering  <jim@meyering.net>
44883
44884         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
44885         so as to remain compatible with older compilers.
44886         Patch from Michael Deutschmann.
44887
44888 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44889
44890         * MODULES.html.sh (File system functions): Add openat.
44891
44892         * lib/openat.h (rpl_fstatat): New macro, if
44893         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
44894         (fstatat): Define to rpl_fstatat under the same conditions,
44895         unless COMPILING_FSTATAT.
44896         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
44897         seems to have the bug.
44898         * lib/fstatat.c: New file.
44899         * modules/openat (Files): Add it.
44900
44901 2006-11-20  Bruno Haible  <bruno@clisp.org>
44902
44903         * Makefile: New file.
44904
44905 2006-11-20  Jim Meyering  <jim@meyering.net>
44906
44907         The beginnings of syntax-related checks for gnulib.
44908         * lib/Makefile: New file.
44909         * lib/t-idcache: New script.  Ensure that the two halves of
44910         idcache.c stay in sync.
44911
44912         * lib/idcache.c: Adjust comments in user- and group- portions to
44913         be more accurate, and to be consistent with one another.
44914
44915 2006-11-20  Jim Meyering  <jim@meyering.net>
44916
44917         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
44918         continue using the flexible array member (thus, this module performs
44919         half as many malloc calls), with the addition that...
44920         (getgroup, getuser): Consistently record a non-match via an empty
44921         "name" string, and map an empty string match to a NULL return value.
44922         * modules/idcache (Depends-on): Re-add flexmember.
44923
44924         * lib/idcache.c (getuser): Remove all uses of the register keyword.
44925         (getuidbyname, getgroup, getgidbyname): Likewise.
44926
44927         Use cleaner syntax: NULL rather than 0.
44928         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
44929
44930 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44931
44932         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
44933         It mishandled the case where the group was missing.
44934         Problem reported by Greg Schafer.
44935         * modules/idcache: Likewise.
44936
44937 2006-11-18  Jim Meyering  <jim@meyering.net>
44938
44939         * check-module (%exempt_header): Add exception for some
44940         conditionally-included headers.
44941
44942         * modules/i-ring (Depends-on): Add verify.
44943         (License): Change to LGPL.
44944
44945 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44946
44947         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
44948         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
44949         and inttostr.h.  Use snprintf rather than uinttostr, so that
44950         LGPLed code doesn't depend on GPLed.
44951
44952 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44953
44954         * modules/inline (License): Change from GPL to LGPL.
44955
44956 2006-11-17  Jim Meyering  <jim@meyering.net>
44957
44958         * modules/d-type (License): Switch to LGPL.
44959
44960 2006-11-15  Bruno Haible  <bruno@clisp.org>
44961
44962         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
44963
44964 2006-11-15  Eric Blake  <ebb9@byu.net>
44965
44966         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
44967         the module dependency.
44968
44969 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44970             Bruno Haible  <bruno@clisp.org>
44971
44972         * gnulib-tool (func_create_testdir): Add license consistency check.
44973
44974 2006-11-15  Eric Blake  <ebb9@byu.net>
44975
44976         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
44977         random "(cached)" in configure output.
44978
44979 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44980
44981         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
44982         test for conforming inttypes.h is both announced and cached.
44983
44984         * MODULES.html.sh (seen_modules, seen_files): New variables.
44985         (func_module): Rewrite to use a few less gnulib-tool and sed
44986         invocations.  Avoid a couple of quadratic algorithms for ...
44987         (missed_modules, missed_files): ... these, with ...
44988         (func_append, func_tmpdir): ... these new functions, from
44989         gnulib-tool.  Analogously, install traps for cleanup.
44990
44991         * tests/test-gc.c (main): Remove unused variables.
44992         * tests/test-read-file.c: Include stdlib.h, for 'free'.
44993
44994 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44995
44996         * modules/inttostr (License): Change to LGPL.
44997
44998 2006-11-14  Eric Blake  <ebb9@byu.net>
44999
45000         * modules/tempname (License): Change to LGPL.
45001
45002 2006-11-14  Eric Blake  <ebb9@byu.net>
45003
45004         * doc/functions.texi (Function Portability): *printf functions on
45005         Cygwin now understand all POSIX size specifiers.
45006
45007 2006-11-14  Bruno Haible  <bruno@clisp.org>
45008
45009         * modules/c-ctype (License): Change to LGPL.
45010
45011 2006-11-12  Bruno Haible  <bruno@clisp.org>
45012
45013         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45014         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
45015         for GNOME libraries, for which the include files are installed in
45016         subdirectories of $prefix/include.
45017
45018 2006-11-12  Bruno Haible  <bruno@clisp.org>
45019
45020         * m4/lib-link.m4: Require at least autoconf-2.54.
45021         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
45022         name to underscores for the --with option.
45023
45024 2006-11-13  Bruno Haible  <bruno@clisp.org>
45025
45026         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
45027         the tests directory.
45028         Reported by Ralf Wildenhues.
45029
45030 2006-11-13  Bruno Haible  <bruno@clisp.org>
45031
45032         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
45033         (func_emit_initmacro_end): Undo the override here.
45034         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
45035         Works around the famous automake error in coreutils.
45036
45037 2006-11-13  Eric Blake  <ebb9@byu.net>
45038
45039         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
45040         element, not its node.
45041
45042 2006-11-12  Bruno Haible  <bruno@clisp.org>
45043
45044         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
45045         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
45046
45047 2006-11-12  Bruno Haible  <bruno@clisp.org>
45048
45049         * gnulib-tool: New option --local-symlink.
45050         (func_usage): Document it.
45051         (lsymbolic): New variable.
45052         (func_import, func_create_testdir): If --symlink was not specified,
45053         test whether --local-symlink was specified and the file comes from
45054         the local_gnulib_dir.
45055
45056 2006-11-12  Bruno Haible  <bruno@clisp.org>
45057
45058         * gnulib-tool (func_ln): New function.
45059         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
45060
45061 2006-11-12  Bruno Haible  <bruno@clisp.org>
45062
45063         Finish support for source files in subdirectories.
45064         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
45065         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
45066         AUTOMAKE_OPTIONS.
45067         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
45068
45069 2006-11-12  Bruno Haible  <bruno@clisp.org>
45070
45071         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45072         EXTRA_lib_SOURCES augmentation.
45073         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
45074
45075 2006-11-12  Jim Meyering  <jim@meyering.net>
45076
45077         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
45078         file descriptors.  This also averts a failure on systems with
45079         native openat support when a traversed directory lacks "x" access.
45080         * lib/fts_.h: Include "i-ring.h"
45081         (struct FTS) [fts_fd_ring]: New member.
45082         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
45083         (FCHDIR): Add parentheses.
45084         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
45085         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
45086         When descending, rather than simply closing the previous
45087         fts_cwd_fd value, push that file descriptor onto the ring.
45088         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
45089         (fts_open): Initialize the new fd_ring member.
45090         (fts_close): Clear the ring.
45091         (fts_safe_changedir): When possible, use our new fd_ring to skip
45092         the diropen and fstat and dev/ino comparison that would normally
45093         accompany a virtual `chdir ("..")'.
45094
45095         * modules/fts (Depends-on): Add i-ring.
45096         * modules/i-ring: New module.
45097         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
45098         * m4/i-ring.m4: New file.
45099
45100 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45101
45102         * gnulib-tool (func_create_testdir): Fix replacement of
45103         `build-aux' in configure.ac.  Run autotools in gltests
45104         subdirectory.
45105         (func_create_testdir, func_create_megatestdir, test): There is
45106         no need for '--force' in most autotool invocations in a new
45107         tree.  Actually fail the whole test if any of the tools, or the
45108         configure or make stages fail.
45109
45110         Sync from Automake.
45111         * build-aux/gnupload: Revert last change.  Add pointer to upload
45112         instructions of the GNU Maintenance Instructions.
45113         Suggestion by Karl Berry.
45114
45115 2006-11-10  Jim Meyering  <jim@meyering.net>
45116
45117         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
45118
45119 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45120
45121         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
45122         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
45123         (bind_textdomain_codeset) [! ENABLE_NLS]:
45124         Evaluate all the arguments.  That way, callers get compatible behavior
45125         if the arguments have side effects.  Also, it avoids some GCC
45126         diagnostics in some cases; Joel E. Denny reported problems when Bison
45127         was configured with --enable-gcc-warnigs.
45128
45129 2006-11-10  Jim Meyering  <jim@meyering.net>
45130
45131         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
45132         relevant options in CFLAGS (like -O, -fno-inline) are taken into
45133         account.
45134
45135 2006-11-10  Jim Meyering  <jim@meyering.net>
45136
45137         * modules/inline: New file/module.
45138         * modules/xalloc (Files): Remove m4/inline.m4.
45139         (Depends-on): Add inline, instead.
45140         * modules/oset: Likewise.
45141         * modules/list: Likewise.
45142
45143 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45144
45145         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
45146         Problem reported by Matthew Woehlke.
45147
45148 2006-11-09  Bruno Haible  <bruno@clisp.org>
45149
45150         * lib/tempname.c (gen_tempname): Remove variant that invokes
45151         __gen_tempname.
45152         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
45153         __gen_tempname.
45154
45155 2006-11-08  Bruno Haible  <bruno@clisp.org>
45156
45157         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
45158         to 'yes' instead of 'cross-compiling'.
45159
45160 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
45161
45162         * lib/quotearg.h (quotearg_free): New decl.
45163         * lib/quotearg.c (quotearg_free): New function.
45164         (slot0, nslots, slotvec0, slotvec):
45165         Now file-scope so that quotearg_free can get at them.
45166
45167 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45168
45169         Sync from Automake.
45170         * build-aux/gnupload: Add missing 'gnu' to example URL.
45171         Report by Karl Berry.
45172
45173 2006-11-08  Bruno Haible  <bruno@clisp.org>
45174
45175         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
45176         Suggested by Paul Eggert.
45177
45178 2006-11-08  Jim Meyering  <jim@meyering.net>
45179
45180         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
45181         It's already included if !_LIBC.
45182         (fts_safe_changedir): Add a comment.
45183
45184 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45185
45186         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
45187         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
45188         Matthew Woehlke.
45189
45190         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
45191         definitions up, to avoid colliding with change below.
45192         (static_inline) [HAVE_INLINE]: New macro.
45193         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
45194         Provide extern decls when !HAVE_INLINE.  Do not define unless
45195         static_inline is defined, either by us or by xmalloc.c.  Use
45196         static_inline rather than static inline.
45197         (XCALLOC): Optimize sizeof(T) = 1 case.
45198         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
45199
45200 2006-11-07  Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
45203         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
45204         AC_C_INLINE.
45205         * modules/xalloc (Files): Add m4/inline.m4.
45206
45207 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45208
45209         * README: Fix typo.
45210         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
45211         (Miscellanous Notes): ...from this.
45212
45213 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45214
45215         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
45216         Mention that offsetof should be used instead of sizeof.
45217         From Bruno Haible.
45218
45219 2006-11-07  Bruno Haible  <bruno@clisp.org>
45220
45221         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
45222
45223 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45224
45225         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45226         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
45227         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45228         (gl_tree_add_before, gl_tree_add_after):
45229         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
45230         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
45231         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
45232         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
45233         (gl_linked_add_after, gl_linked_add_at): Likewise.
45234         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
45235         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45236         (gl_tree_add_before, gl_tree_add_after): Likewise.
45237         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
45238         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
45239         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
45240
45241 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45242
45243         * lib/gl_oset.h: Use C comment style, not C++ comment style.
45244
45245 2006-11-06  Bruno Haible  <bruno@clisp.org>
45246
45247         * m4/inline.m4: New file.
45248         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
45249         * modules/list (Files): Add m4/inline.m4.
45250         * modules/oset (Files): Likewise.
45251
45252 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45253
45254         * lib/idcache.c: Include <stddef.h>, for offsetof.
45255         (struct userid.name): Change from char * to a flexible array member.
45256         All uses changed.
45257         * modules/idcache (Depends-on): Add flexmember.
45258
45259         * MODULES.html.sh (Core language properties): New module flexmember.
45260         * modules/flexmember, m4/flexmember.m4: New files.
45261
45262         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
45263         inline functions that are identical with the old xnmalloc_inline,
45264         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
45265         that we can avoid some unnecessary integer multiplications and
45266         divisions in the common case where the element size is known at
45267         compile time.
45268         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
45269         needed.
45270         (xnboundedmalloc): Remove.
45271         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
45272         arguments, for consistency with rest of this header.
45273         (xcharalloc): Rewrite using XNMALLOC.
45274         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
45275         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
45276         versions have been moved to lib/xalloc.h and renamed to be the
45277         non-*_inline versions.
45278         (xmalloc, xrealloc): Implement without reference to the xnmalloc
45279         and xnrealloc functions, since those functions are now inline and
45280         now call us.
45281         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
45282         renaming described above.
45283         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
45284         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
45285         captures the dependency in AC_C_INLINE.
45286
45287         New module canonicalize-lgpl, proposed by Charles Wilson in
45288         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
45289         with a few small changes afterwards.
45290         * MODULES.html.sh (File system functions): New module
45291         canonicalize-lgpl.
45292         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
45293         and canonicalize_file_name.
45294         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
45295         * modules/canonicalize-lgpl: New files.
45296
45297 2006-11-05  Bruno Haible  <bruno@clisp.org>
45298
45299         * gnulib-tool (func_import, func_create_testdir): Create directories
45300         also for files in subdirectories of lib/.
45301
45302 2006-11-05  Bruno Haible  <bruno@clisp.org>
45303
45304         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
45305         ANSI C compliant.
45306
45307 2006-11-03  Bruno Haible  <bruno@clisp.org>
45308
45309         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45310         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
45311         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
45312         (xnboundedmalloc): New inline function.
45313         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
45314         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
45315         xmalloc.
45316         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
45317         xmalloc.
45318         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
45319         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
45320         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
45321         xmalloc.
45322         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45323         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
45324         xmalloc.
45325         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
45326         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45327         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
45328         xmalloc.
45329         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45330         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
45331         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45332         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
45333         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
45334         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
45335         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
45336
45337 2006-11-03  Bruno Haible  <bruno@clisp.org>
45338
45339         * lib/c-ctype.h [C++]: Define functions without name mangling.
45340         * lib/fwriteerror.h [C++]: Likewise.
45341         * lib/gcd.h [C++]: Likewise.
45342         * lib/linebreak.h [C++]: Likewise.
45343
45344 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
45345
45346         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
45347         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
45348         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
45349         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45350         Check for functions and headers just once.
45351         Check for declaration of canonicalize_file_name.
45352         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
45353
45354 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45355
45356         * gnulib-tool (func_import): Fix typo in actioncmd.
45357
45358 2006-11-02  Bruno Haible  <bruno@clisp.org>
45359
45360         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
45361         newline sequence in the Makefile.am snippet as a space, like "make"
45362         does.
45363         Reported by Roger Persson <perrog@gmail.com>.
45364
45365 2006-11-01  Bruno Haible  <bruno@clisp.org>
45366
45367         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
45368         already declared in <string.h>.
45369         * lib/strcase.h (strncasecmp): Don't declare it if yes.
45370
45371 2006-11-01  Bruno Haible  <bruno@clisp.org>
45372
45373         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
45374         * lib/strcase.h: Include <string.h>.
45375         (strcasecmp): Define to rpl_strcasecmp here.
45376
45377 2006-11-01  Bruno Haible  <bruno@clisp.org>
45378
45379         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
45380
45381 2006-11-01  Eric Blake  <ebb9@byu.net>
45382
45383         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
45384
45385         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
45386
45387 2006-10-29  Bruno Haible  <bruno@clisp.org>
45388
45389         Make it compile in C++ mode.
45390         * lib/full-write.c (full_rw): Add a cast.
45391
45392 2006-11-01  Bruno Haible  <bruno@clisp.org>
45393
45394         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
45395         be POSIX compliant.
45396         Reported by Roger Persson <perrog@gmail.com>.
45397
45398 2006-11-01  Eric Blake  <ebb9@byu.net>
45399
45400         * lib/getopt_.h: Fix comments.
45401
45402 2006-10-31  Eric Blake  <ebb9@byu.net>
45403
45404         * modules/tmpdir (Depends-on): Add sys_stat.
45405         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
45406         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
45407         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
45408         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
45409         tempname.
45410
45411 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45412
45413         Avoid some C++ diagnostics reported by Bruno Haible.
45414         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
45415         xmalloc.
45416         (quotearg_alloc): Use xcharalloc rather than xmalloc.
45417         (struct slotvec): Move to top level.
45418         (quotearg_n_options): Rewrite to avoid xmalloc.
45419         * lib/xalloc.h (xcharalloc): New function.
45420         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
45421         [defined __cplusplus]: Add function template that provides result
45422         type propagation.  This part of the change is from Bruno Haible.
45423
45424 2006-10-29  Bruno Haible  <bruno@clisp.org>
45425
45426         Make it compile in C++ mode.
45427         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
45428         * lib/strnlen1.c (strnlen1): Cast memchr result.
45429         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
45430         * lib/clean-temp.c (string_equals, string_hash): Add casts.
45431         (create_temp_dir): Rename local variable 'template'.
45432         (compile_csharp_using_sscli): Add cast.
45433         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
45434         * lib/findprog.c (find_in_path): Likewise.
45435         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
45436         * lib/wait-process.c (register_slave_subprocess): Likewise.
45437
45438 2006-10-22  Bruno Haible  <bruno@clisp.org>
45439
45440         * modules/tsearch: New file.
45441         * lib/tsearch.h: New file.
45442         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
45443         * m4/tsearch.m4: New file.
45444         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
45445
45446 2006-10-29  Eric Blake  <ebb9@byu.net>
45447
45448         * lib/arcfour.c: Assume config.h.
45449         * lib/arctwo.c: Likewise.
45450         * lib/base64.c: Likewise.
45451         * lib/check-version.c: Likewise.
45452         * lib/crc.c: Likewise.
45453         * lib/des.c: Likewise.
45454         * lib/gc-gnulib.c: Likewise.
45455         * lib/gc-libgcrypt.c: Likewise.
45456         * lib/gc-pbkdf2-sha1.c: Likewise.
45457         * lib/getaddrinfo.c: Likewise.
45458         * lib/getdelim.c: Likewise.
45459         * lib/getline.c: Likewise.
45460         * lib/hmac-md5.c: Likewise.
45461         * lib/hmac-sha1.c: Likewise.
45462         * lib/iconvme.c: Likewise.
45463         * lib/md2.c: Likewise.
45464         * lib/md4.c: Likewise.
45465         * lib/memxor.c: Likewise.
45466         * lib/read-file.c: Likewise.
45467         * lib/readline.c: Likewise.
45468         * lib/rijndael-alg-fst.c: Likewise.
45469         * lib/rijndael-api-fst.c: Likewise.
45470         * lib/xgetdomainname.c: Likewise.
45471
45472 2006-10-28  Eric Blake  <ebb9@byu.net>
45473
45474         * lib/xstrndup.c: Assume config.h.
45475
45476 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45477
45478         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
45479         stat-macros.h is now for our own macros, whereas stat_h is for
45480         macros in the <sys/stat.h> name space.
45481         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
45482         (STAT_MACROS_H): Remove.
45483         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
45484         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
45485         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
45486         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
45487         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
45488         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
45489         Move these macros to ...
45490         * lib/stat_.h: here.  Don't include stat-macros.h.
45491         * lib/canonicalize.c: Don't include stat-macros.h.
45492         * lib/chown.c: Likewise.
45493         * lib/euidaccess.c: Likewise.
45494         * lib/file-type.c: Likewise.
45495         * lib/filemode.c: Likewise.
45496         * lib/glob.c: Likewise.
45497         * lib/isapipe.c: Likewise.
45498         * lib/lchown.c: Likewise.
45499         * lib/lstat.c: Likewise.
45500         * lib/mkdir-p.c: Likewise.
45501         * lib/rmdir.c: Likewise.
45502         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
45503         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
45504         unless mkdir isn't declared, to speed up 'configure'.
45505         Always create sys/stat.h, since it's unlikely any real sys/stat.h
45506         would define all the S_* symbols.
45507         * modules/canonicalize (Depends-on):
45508         Depend on sys_stat, not stat-macros.
45509         * modules/chown: Likewise.
45510         * modules/euidaccess: Likewise.
45511         * modules/filemode: Likewise.
45512         * modules/file-type: Likewise.
45513         * modules/glob: Likewise.
45514         * modules/isapipe: Likewise.
45515         * modules/lchown: Likewise.
45516         * modules/lstat: Likewise.
45517         * modules/mkancesdirs: Likewise.
45518         * modules/rmdir: Likewise.
45519         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
45520         * modules/modechange: Likewise.
45521         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
45522         (configure.ac): Remove gl_STAT_MACROS.
45523         * modules/sys_stat (Depends-on): Remove stat-macros.
45524
45525 2006-10-27  Bruno Haible  <bruno@clisp.org>
45526
45527         * m4/signed.m4: Remove file.
45528         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
45529         invocation.
45530         * modules/vasnprintf (Files): Remove m4/signed.m4.
45531
45532 2006-10-27  Bruno Haible  <bruno@clisp.org>
45533
45534         Update to GNU gettext 0.16.
45535         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
45536         m4/inttypes-h.m4, m4/signed.m4.
45537         * m4/gettext.m4: Update to GNU gettext 0.16.
45538         * m4/intl.m4: New file, from GNU gettext.
45539         * m4/intldir.m4: New file, from GNU gettext.
45540         * config/srclist.txt: Update
45541
45542 2006-10-27  Eric Blake  <ebb9@byu.net>
45543
45544         * MODULES.html.sh: Document tempname.
45545         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
45546         dependencies.
45547         (Files): Move lib/tempname.c...
45548         * modules/tempname: ...to this new module.
45549         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
45550         (gl_PREREQ_TEMPNAME): Move...
45551         * m4/tempname.m4: ...to this new file.
45552         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
45553         * modules/sys_stat (Depends-on): Add stat-macros.
45554         * lib/stat_.h (includes): Pick up stat macros.
45555         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
45556         if stat macros are broken.
45557         * lib/tempname.c (includes): No need to include "stat-macros.h".
45558         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
45559         (direxists, __path_search) [!_LIBC]: Don't compile these in
45560         gnulib; the tmpdir module covers that.
45561         * lib/tempname.h: New file.
45562
45563 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
45564
45565         * COPYING: Explain how gnulib-tool converts licence headers.
45566         Almost all wording by Eric Blake.
45567
45568 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45569
45570         * lib/mbchar.h (is_basic_table): Make read-only.
45571         * lib/mbchar.c (is_basic_table): Likewise.
45572         Reported by John Darrington.
45573
45574 2006-10-25  Bruno Haible  <bruno@clisp.org>
45575
45576         * lib/progname.h (set_program_name): Undefine before defining.
45577
45578 2006-10-25  Bruno Haible  <bruno@clisp.org>
45579
45580         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
45581         false for non-gcc C++ compilers.
45582         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45583
45584 2006-10-24  Bruno Haible  <bruno@clisp.org>
45585
45586         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
45587         iconv implementations like Irix iconv.
45588
45589 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45590
45591         * modules/vararrays: New file.
45592         * m4/vararrays.m4: New file, taken from diffutils.
45593         * MODULES.html.sh: New module vararrays.
45594
45595 2006-10-24  Karl Berry  <karl@gnu.org>
45596
45597         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
45598         Don't call GNU Unix.
45599
45600 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45601
45602         * users.txt: Add Libtool.
45603
45604         Sync from Libtool:
45605
45606         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45607
45608         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
45609         to gnulib's policy of including config.h unconditionally.
45610
45611 2006-10-24  Bruno Haible  <bruno@clisp.org>
45612
45613         * modules/wcwidth (Files): Add m4/wint_t.m4.
45614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
45615         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
45616
45617 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45618
45619         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
45620         to pacify GCC with some -W flags enabled.  Problem reported by
45621         Bruno Haible.
45622
45623 2006-10-24  Jim Meyering  <jim@meyering.net>
45624
45625         * MODULES.html.sh: Remove uinttostr.  It's not a module.
45626         Reported by Karl Berry.
45627
45628 2006-10-23  Bruno Haible  <bruno@clisp.org>
45629
45630         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
45631
45632 2006-10-24  Bruno Haible  <bruno@clisp.org>
45633
45634         * lib/gl_list.h: Use C comment style, not C++ comment style.
45635
45636 2006-10-23  Eric Blake  <ebb9@byu.net>
45637
45638         * lib/getaddrinfo.c (includes): Add missing include.
45639
45640 2006-10-23  Bruno Haible  <bruno@clisp.org>
45641             Paul Eggert  <eggert@cs.ucla.edu>
45642
45643         Ability to rename obstack_free.
45644         * lib/obstack.h (__obstack_free): New macro. Declare instead of
45645         obstack_free.
45646         (obstack_free): Invoke the __obstack_free macro.
45647         * lib/obstack.c (obstack_free): Use __obstack_free macro.
45648
45649 2006-10-23  Bruno Haible  <bruno@clisp.org>
45650             Paul Eggert  <eggert@cs.ucla.edu>
45651
45652         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
45653         __argc, __argv from the declaration. (They are defined as macros on
45654         mingw.)
45655
45656 2006-10-22  Bruno Haible  <bruno@clisp.org>
45657
45658         * doc/gnulib-intro.texi: New file.
45659         * doc/gnulib.texi: Include it.
45660
45661 2006-10-21  Bruno Haible  <bruno@clisp.org>
45662
45663         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
45664         "Introduction", "Miscellanous Notes", "Particular Modules".
45665
45666 2006-10-21  Bruno Haible  <bruno@clisp.org>
45667
45668         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45669         Change mostlyclean-local rule to avoid sh syntax error from bash
45670         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
45671
45672 2006-10-23  Jim Meyering  <jim@meyering.net>
45673
45674         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
45675         in place of snprintf.
45676
45677         * modules/inttostr (Files): Add lib/uinttostr.c.
45678         * lib/uinttostr.c (inttostr): New file/function.
45679         * lib/inttostr.h (uinttostr): Declare.
45680         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
45681         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45682         Add uinttostr.
45683         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
45684
45685 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45686
45687         * lib/canonicalize.c (ELOOP): Define if not already defined.
45688         Problem reported by Bruno Haible in
45689         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
45690
45691 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45692
45693         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
45694         Problem reported by Perry Smith and Ville Laurikari.
45695
45696         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
45697         uses.
45698
45699 2006-10-19  Bruno Haible  <bruno@clisp.org>
45700
45701         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
45702         for mingw.
45703
45704 2006-10-19  Bruno Haible  <bruno@clisp.org>
45705
45706         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
45707         Needed for mingw.
45708
45709 2006-10-19  Bruno Haible  <bruno@clisp.org>
45710
45711         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
45712
45713 2006-10-19  Bruno Haible  <bruno@clisp.org>
45714
45715         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
45716         it.
45717
45718 2006-10-19  Bruno Haible  <bruno@clisp.org>
45719
45720         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
45721         invocation.
45722
45723 2006-10-19  Bruno Haible  <bruno@clisp.org>
45724
45725         * gnulib-tool (func_create_testdir): Don't include ftruncate and
45726         mountlist by default.
45727
45728 2006-10-16  Bruno Haible  <bruno@clisp.org>
45729
45730         * lib/c-strstr.c: Include c-strstr.h.
45731
45732 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45733
45734         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
45735         in a slash.
45736
45737 2006-10-18  Bruno Haible  <bruno@clisp.org>
45738
45739         * lib/lock.h [C++]: Wrap definitions in extern "C".
45740
45741 2006-10-18  Bruno Haible  <bruno@clisp.org>
45742
45743         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
45744         gl_LIBOBJS list.
45745
45746 2006-10-18  Bruno Haible  <bruno@clisp.org>
45747
45748         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
45749
45750 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
45751
45752         * lib/xstrtol.h: Include gettext.h.
45753         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
45754         Problem reported by Eric Blake.
45755         * modules/xstrtol (Depends-on): Add gettext-h.
45756
45757 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
45758
45759         * lib/strftime.c (advance): New macro.
45760         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
45761         incomplete type, so you can't add 0 to it.  Problem and patch
45762         reported by Eelco Dolstra for dietlibc.
45763
45764 2006-10-18  Jim Meyering  <jim@meyering.net>
45765
45766         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
45767         type for a local, and rename it: s/up/user_proc/.
45768
45769 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45770
45771         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
45772         READ_UTMP_USER_PROCESS.
45773         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
45774
45775 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45776
45777         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
45778         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
45779
45780 2006-10-17  Eric Blake  <ebb9@byu.net>
45781
45782         * lib/sigprocmask.c (sigprocmask): Fix typo.
45783
45784         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
45785
45786         * modules/clean-temp (Makefile.am): Don't add to make output...
45787         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
45788         config.h.
45789
45790 2006-10-17  Bruno Haible  <bruno@clisp.org>
45791
45792         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
45793         differently if DEFAULT_TEXT_DOMAIN is set.
45794
45795 2006-10-16  Bruno Haible  <bruno@clisp.org>
45796
45797         * lib/clean-temp.c: Include fwriteerror.h.
45798
45799 2006-10-16  Bruno Haible  <bruno@clisp.org>
45800
45801         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
45802
45803 2006-10-16  Bruno Haible  <bruno@clisp.org>
45804
45805         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
45806         * lib/sigprocmask.h: Include <sys/types.h>.
45807         (sigset_t): Use the system's definition if present.
45808
45809 2006-10-17  Eric Blake  <ebb9@byu.net>
45810
45811         * lib/xvasprintf.c (includes): Assume config.h.
45812         * lib/xasprintf.c (includes): Likewise.
45813
45814 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45815
45816         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
45817         at least as wide as intmax_t.
45818
45819 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
45820
45821         (Imported from Automake.)
45822         * build-aux/gnupload: Update to version 1.1 of directive file.
45823
45824 2006-10-16  Eric Blake  <ebb9@byu.net>
45825
45826         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
45827         match Automake 1.10a.
45828
45829 2006-10-14  Bruno Haible  <bruno@clisp.org>
45830
45831         * modules/sigprocmask: New file.
45832         * lib/sigprocmask.h: New file.
45833         * lib/sigprocmask.c: New file.
45834         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
45835         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
45836         request sigprocmask.o.
45837         (gl_PREREQ_SIGPROCMASK): New macro.
45838         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
45839         (Depends-on): Add sigprocmask.
45840         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
45841         gt_SIGNALBLOCKING. Test for 'raise' only once.
45842         * lib/fatal-signal.c: Include sigprocmask.h.
45843         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
45844         unblock_fatal_signals): Define always.
45845         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45846         sigprocmask.
45847
45848 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45849
45850         Sync from Automake.
45851         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
45852         which incorrectly sets the mode of an existing destination
45853         directory.  In some cases the unpatched install-sh could do the
45854         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
45855         system.  We hope this is rare in practice, but it's clearly worth
45856         fixing.  Problem reported by Alex Unleashed in
45857         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
45858         Also, don't bother to check for -m bugs unless we're using -m;
45859         suggested by Stepan Kasal.
45860
45861 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45862
45863         Sync from Automake.
45864         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
45865         `-c' flag, so they appear at the same position as in %FASTDEP%
45866         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
45867         which ignores unknown options only after the first non-option.
45868         Bug report against M4 by Nelson H. F. Beebe.
45869
45870 2006-10-13  Jim Meyering  <jim@meyering.net>
45871
45872         Fix a bug in yesterday's change.
45873         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
45874         p->fts_statp->st_dev would be used uninitialized.
45875         Ensures that we always call fts_stat on the very first entry.
45876         Miklos Szeredi reported that find -xdev stopped working.
45877
45878 2006-10-12  Bruno Haible  <bruno@clisp.org>
45879
45880         * gnulib-tool (func_get_automake_snippet): Append an automatically
45881         computed EXTRA_DIST augmentation.
45882         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
45883         * modules/alloca-opt (Makefile.am): Likewise.
45884         * modules/allocsa (Makefile.am): Likewise.
45885         * modules/arcfour (Makefile.am): Likewise.
45886         * modules/arctwo (Makefile.am): Likewise.
45887         * modules/argmatch (Makefile.am): Likewise.
45888         * modules/argz (Makefile.am): Likewise.
45889         * modules/atexit (Makefile.am): Likewise.
45890         * modules/backupfile (Makefile.am): Likewise.
45891         * modules/byteswap (Makefile.am): Likewise.
45892         * modules/c-strtod (Makefile.am): Likewise.
45893         * modules/c-strtold (Makefile.am): Likewise.
45894         * modules/calloc (Makefile.am): Likewise.
45895         * modules/canon-host (Makefile.am): Likewise.
45896         * modules/canonicalize (Makefile.am): Likewise.
45897         * modules/chdir-long (Makefile.am): Likewise.
45898         * modules/chdir-safer (Makefile.am): Likewise.
45899         * modules/check-version (Makefile.am): Likewise.
45900         * modules/chown (Makefile.am): Likewise.
45901         * modules/cloexec (Makefile.am): Likewise.
45902         * modules/close-stream (Makefile.am): Likewise.
45903         * modules/closeout (Makefile.am): Likewise.
45904         * modules/crc (Makefile.am): Likewise.
45905         * modules/csharpexec (Makefile.am): Likewise.
45906         * modules/cycle-check (Makefile.am): Likewise.
45907         * modules/des (Makefile.am): Likewise.
45908         * modules/dev-ino (Makefile.am): Likewise.
45909         * modules/dirfd (Makefile.am): Likewise.
45910         * modules/dirname (Makefile.am): Likewise.
45911         * modules/dup2 (Makefile.am): Likewise.
45912         * modules/eealloc (Makefile.am): Likewise.
45913         * modules/error (Makefile.am): Likewise.
45914         * modules/euidaccess (Makefile.am): Likewise.
45915         * modules/exclude (Makefile.am): Likewise.
45916         * modules/exitfail (Makefile.am): Likewise.
45917         * modules/fcntl-safer (Makefile.am): Likewise.
45918         * modules/fcntl (Makefile.am): Likewise.
45919         * modules/file-type (Makefile.am): Likewise.
45920         * modules/fileblocks (Makefile.am): Likewise.
45921         * modules/filemode (Makefile.am): Likewise.
45922         * modules/filenamecat (Makefile.am): Likewise.
45923         * modules/fnmatch (Makefile.am): Likewise.
45924         * modules/fopen-safer (Makefile.am): Likewise.
45925         * modules/fpending (Makefile.am): Likewise.
45926         * modules/fprintftime (Makefile.am): Likewise.
45927         * modules/free (Makefile.am): Likewise.
45928         * modules/fsusage (Makefile.am): Likewise.
45929         * modules/ftruncate (Makefile.am): Likewise.
45930         * modules/fts (Makefile.am): Likewise.
45931         * modules/gc-arcfour (Makefile.am): Likewise.
45932         * modules/gc-des (Makefile.am): Likewise.
45933         * modules/gc-hmac-md5 (Makefile.am): Likewise.
45934         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
45935         * modules/gc-md4 (Makefile.am): Likewise.
45936         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45937         * modules/gc-sha1 (Makefile.am): Likewise.
45938         * modules/gc (Makefile.am): Likewise.
45939         * modules/getaddrinfo (Makefile.am): Likewise.
45940         * modules/getcwd (Makefile.am): Likewise.
45941         * modules/getdelim (Makefile.am): Likewise.
45942         * modules/getdomainname (Makefile.am): Likewise.
45943         * modules/getgroups (Makefile.am): Likewise.
45944         * modules/gethostname (Makefile.am): Likewise.
45945         * modules/gethrxtime (Makefile.am): Likewise.
45946         * modules/getline (Makefile.am): Likewise.
45947         * modules/getloadavg (Makefile.am): Likewise.
45948         * modules/getlogin_r (Makefile.am): Likewise.
45949         * modules/getndelim2 (Makefile.am): Likewise.
45950         * modules/getopt (Makefile.am): Likewise.
45951         * modules/getpagesize (Makefile.am): Likewise.
45952         * modules/getpass-gnu (Makefile.am): Likewise.
45953         * modules/getpass (Makefile.am): Likewise.
45954         * modules/getsubopt (Makefile.am): Likewise.
45955         * modules/gettime (Makefile.am): Likewise.
45956         * modules/gettimeofday (Makefile.am): Likewise.
45957         * modules/getugroups (Makefile.am): Likewise.
45958         * modules/getusershell (Makefile.am): Likewise.
45959         * modules/glob (Makefile.am): Likewise.
45960         * modules/group-member (Makefile.am): Likewise.
45961         * modules/hard-locale (Makefile.am): Likewise.
45962         * modules/hash (Makefile.am): Likewise.
45963         * modules/hmac-md5 (Makefile.am): Likewise.
45964         * modules/hmac-sha1 (Makefile.am): Likewise.
45965         * modules/human (Makefile.am): Likewise.
45966         * modules/idcache (Makefile.am): Likewise.
45967         * modules/imaxabs (Makefile.am): Likewise.
45968         * modules/imaxdiv (Makefile.am): Likewise.
45969         * modules/inet_ntop (Makefile.am): Likewise.
45970         * modules/inet_pton (Makefile.am): Likewise.
45971         * modules/intprops (Makefile.am): Likewise.
45972         * modules/inttostr (Makefile.am): Likewise.
45973         * modules/inttypes (Makefile.am): Likewise.
45974         * modules/isapipe (Makefile.am): Likewise.
45975         * modules/javaversion (Makefile.am): Likewise.
45976         * modules/lchmod (Makefile.am): Likewise.
45977         * modules/lchown (Makefile.am): Likewise.
45978         * modules/localcharset (Makefile.am): Likewise.
45979         * modules/long-options (Makefile.am): Likewise.
45980         * modules/lstat (Makefile.am): Likewise.
45981         * modules/malloc (Makefile.am): Likewise.
45982         * modules/mathl (Makefile.am): Likewise.
45983         * modules/mbchar (Makefile.am): Likewise.
45984         * modules/md2 (Makefile.am): Likewise.
45985         * modules/md4 (Makefile.am): Likewise.
45986         * modules/md5 (Makefile.am): Likewise.
45987         * modules/memcasecmp (Makefile.am): Likewise.
45988         * modules/memchr (Makefile.am): Likewise.
45989         * modules/memcmp (Makefile.am): Likewise.
45990         * modules/memcoll (Makefile.am): Likewise.
45991         * modules/memcpy (Makefile.am): Likewise.
45992         * modules/memmem (Makefile.am): Likewise.
45993         * modules/memmove (Makefile.am): Likewise.
45994         * modules/mempcpy (Makefile.am): Likewise.
45995         * modules/memrchr (Makefile.am): Likewise.
45996         * modules/memset (Makefile.am): Likewise.
45997         * modules/memxor (Makefile.am): Likewise.
45998         * modules/mkancesdirs (Makefile.am): Likewise.
45999         * modules/mkdir-p (Makefile.am): Likewise.
46000         * modules/mkdir (Makefile.am): Likewise.
46001         * modules/mkdtemp (Makefile.am): Likewise.
46002         * modules/mkstemp (Makefile.am): Likewise.
46003         * modules/mktime (Makefile.am): Likewise.
46004         * modules/modechange (Makefile.am): Likewise.
46005         * modules/mountlist (Makefile.am): Likewise.
46006         * modules/nanosleep (Makefile.am): Likewise.
46007         * modules/obstack (Makefile.am): Likewise.
46008         * modules/openat (Makefile.am): Likewise.
46009         * modules/pagealign_alloc (Makefile.am): Likewise.
46010         * modules/pathmax (Makefile.am): Likewise.
46011         * modules/physmem (Makefile.am): Likewise.
46012         * modules/poll (Makefile.am): Likewise.
46013         * modules/posixtm (Makefile.am): Likewise.
46014         * modules/posixver (Makefile.am): Likewise.
46015         * modules/putenv (Makefile.am): Likewise.
46016         * modules/quote (Makefile.am): Likewise.
46017         * modules/quotearg (Makefile.am): Likewise.
46018         * modules/raise (Makefile.am): Likewise.
46019         * modules/read-file (Makefile.am): Likewise.
46020         * modules/readline (Makefile.am): Likewise.
46021         * modules/readlink (Makefile.am): Likewise.
46022         * modules/readtokens (Makefile.am): Likewise.
46023         * modules/readutmp (Makefile.am): Likewise.
46024         * modules/realloc (Makefile.am): Likewise.
46025         * modules/regex (Makefile.am): Likewise.
46026         * modules/rename-dest-slash (Makefile.am): Likewise.
46027         * modules/rename (Makefile.am): Likewise.
46028         * modules/rijndael (Makefile.am): Likewise.
46029         * modules/rmdir (Makefile.am): Likewise.
46030         * modules/rpmatch (Makefile.am): Likewise.
46031         * modules/safe-read (Makefile.am): Likewise.
46032         * modules/safe-write (Makefile.am): Likewise.
46033         * modules/same-inode (Makefile.am): Likewise.
46034         * modules/same (Makefile.am): Likewise.
46035         * modules/save-cwd (Makefile.am): Likewise.
46036         * modules/savedir (Makefile.am): Likewise.
46037         * modules/setenv (Makefile.am): Likewise.
46038         * modules/settime (Makefile.am): Likewise.
46039         * modules/sha1 (Makefile.am): Likewise.
46040         * modules/sig2str (Makefile.am): Likewise.
46041         * modules/snprintf (Makefile.am): Likewise.
46042         * modules/stat-macros (Makefile.am): Likewise.
46043         * modules/stat-time (Makefile.am): Likewise.
46044         * modules/stdbool (Makefile.am): Likewise.
46045         * modules/stdint (Makefile.am): Likewise.
46046         * modules/stdlib-safer (Makefile.am): Likewise.
46047         * modules/stpcpy (Makefile.am): Likewise.
46048         * modules/stpncpy (Makefile.am): Likewise.
46049         * modules/strcase (Makefile.am): Likewise.
46050         * modules/strcasestr (Makefile.am): Likewise.
46051         * modules/strchrnul (Makefile.am): Likewise.
46052         * modules/strcspn (Makefile.am): Likewise.
46053         * modules/strdup (Makefile.am): Likewise.
46054         * modules/strerror (Makefile.am): Likewise.
46055         * modules/strftime (Makefile.am): Likewise.
46056         * modules/strndup (Makefile.am): Likewise.
46057         * modules/strnlen (Makefile.am): Likewise.
46058         * modules/strpbrk (Makefile.am): Likewise.
46059         * modules/strsep (Makefile.am): Likewise.
46060         * modules/strstr (Makefile.am): Likewise.
46061         * modules/strtod (Makefile.am): Likewise.
46062         * modules/strtoimax (Makefile.am): Likewise.
46063         * modules/strtok_r (Makefile.am): Likewise.
46064         * modules/strtol (Makefile.am): Likewise.
46065         * modules/strtoll (Makefile.am): Likewise.
46066         * modules/strtoul (Makefile.am): Likewise.
46067         * modules/strtoull (Makefile.am): Likewise.
46068         * modules/strtoumax (Makefile.am): Likewise.
46069         * modules/strverscmp (Makefile.am): Likewise.
46070         * modules/sys_socket (Makefile.am): Likewise.
46071         * modules/sys_stat (Makefile.am): Likewise.
46072         * modules/sysexits (Makefile.am): Likewise.
46073         * modules/time_r (Makefile.am): Likewise.
46074         * modules/timegm (Makefile.am): Likewise.
46075         * modules/timespec (Makefile.am): Likewise.
46076         * modules/tmpfile-safer (Makefile.am): Likewise.
46077         * modules/trim (Makefile.am): Likewise.
46078         * modules/unistd-safer (Makefile.am): Likewise.
46079         * modules/unlinkdir (Makefile.am): Likewise.
46080         * modules/unlocked-io (Makefile.am): Likewise.
46081         * modules/userspec (Makefile.am): Likewise.
46082         * modules/utime (Makefile.am): Likewise.
46083         * modules/utimecmp (Makefile.am): Likewise.
46084         * modules/utimens (Makefile.am): Likewise.
46085         * modules/vasnprintf (Makefile.am): Likewise.
46086         * modules/vasprintf (Makefile.am): Likewise.
46087         * modules/vsnprintf (Makefile.am): Likewise.
46088         * modules/xalloc (Makefile.am): Likewise.
46089         * modules/xgetcwd (Makefile.am): Likewise.
46090         * modules/xnanosleep (Makefile.am): Likewise.
46091         * modules/xreadlink (Makefile.am): Likewise.
46092         * modules/xstrtod (Makefile.am): Likewise.
46093         * modules/xstrtol (Makefile.am): Likewise.
46094         * modules/xstrtold (Makefile.am): Likewise.
46095         * modules/yesno (Makefile.am): Likewise.
46096         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
46097
46098 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46099
46100         * modules/error (Makefile.am): Distribute files through
46101         EXTRA_DIST, not lib_SOURCES.
46102
46103 2006-10-12  Eric Blake  <ebb9@byu.net>
46104
46105         * modules/error (Makefile.am): Distribute files in /lib.
46106         * modules/obstack (Makefile.am): Likewise.
46107
46108 2006-10-12  Bruno Haible  <bruno@clisp.org>
46109
46110         * modules/acl (Makefile.am): Distribute all files in lib/ through
46111         EXTRA_DIST.
46112         * modules/arcfour (Makefile.am): Likewise.
46113         * modules/arctwo (Makefile.am): Likewise.
46114         * modules/argmatch (Makefile.am): Likewise.
46115         * modules/argz (Makefile.am): Likewise.
46116         * modules/atexit (Makefile.am): Likewise.
46117         * modules/backupfile (Makefile.am): Likewise.
46118         * modules/c-strtod (Makefile.am): Likewise.
46119         * modules/c-strtold (Makefile.am): Likewise.
46120         * modules/calloc (Makefile.am): Likewise.
46121         * modules/canon-host (Makefile.am): Likewise.
46122         * modules/canonicalize (Makefile.am): Likewise.
46123         * modules/chdir-long (Makefile.am): Likewise.
46124         * modules/chdir-safer (Makefile.am): Likewise.
46125         * modules/check-version (Makefile.am): Likewise.
46126         * modules/chown (Makefile.am): Likewise.
46127         * modules/cloexec (Makefile.am): Likewise.
46128         * modules/close-stream (Makefile.am): Likewise.
46129         * modules/closeout (Makefile.am): Likewise.
46130         * modules/crc (Makefile.am): Likewise.
46131         * modules/cycle-check (Makefile.am): Likewise.
46132         * modules/des (Makefile.am): Likewise.
46133         * modules/dirfd (Makefile.am): Likewise.
46134         * modules/dirname (Makefile.am): Likewise.
46135         * modules/dup2 (Makefile.am): Likewise.
46136         * modules/euidaccess (Makefile.am): Likewise.
46137         * modules/exclude (Makefile.am): Likewise.
46138         * modules/exitfail (Makefile.am): Likewise.
46139         * modules/fcntl-safer (Makefile.am): Likewise.
46140         * modules/file-type (Makefile.am): Likewise.
46141         * modules/fileblocks (Makefile.am): Likewise.
46142         * modules/filemode (Makefile.am): Likewise.
46143         * modules/filenamecat (Makefile.am): Likewise.
46144         * modules/fnmatch (Makefile.am): Likewise.
46145         * modules/fopen-safer (Makefile.am): Likewise.
46146         * modules/fpending (Makefile.am): Likewise.
46147         * modules/fprintftime (Makefile.am): Likewise.
46148         * modules/free (Makefile.am): Likewise.
46149         * modules/fsusage (Makefile.am): Likewise.
46150         * modules/ftruncate (Makefile.am): Likewise.
46151         * modules/fts (Makefile.am): Likewise.
46152         * modules/gc (Makefile.am): Likewise.
46153         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
46154         * modules/getaddrinfo (Makefile.am): Likewise.
46155         * modules/getcwd (Makefile.am): Likewise.
46156         * modules/getdelim (Makefile.am): Likewise.
46157         * modules/getdomainname (Makefile.am): Likewise.
46158         * modules/getgroups (Makefile.am): Likewise.
46159         * modules/gethostname (Makefile.am): Likewise.
46160         * modules/gethrxtime (Makefile.am): Likewise.
46161         * modules/getline (Makefile.am): Likewise.
46162         * modules/getloadavg (Makefile.am): Likewise.
46163         * modules/getlogin_r (Makefile.am): Likewise.
46164         * modules/getopt (Makefile.am): Likewise.
46165         * modules/getpass (Makefile.am): Likewise.
46166         * modules/getpass-gnu (Makefile.am): Likewise.
46167         * modules/getsubopt (Makefile.am): Likewise.
46168         * modules/gettime (Makefile.am): Likewise.
46169         * modules/gettimeofday (Makefile.am): Likewise.
46170         * modules/getugroups (Makefile.am): Likewise.
46171         * modules/getusershell (Makefile.am): Likewise.
46172         * modules/glob (Makefile.am): Likewise.
46173         * modules/group-member (Makefile.am): Likewise.
46174         * modules/hard-locale (Makefile.am): Likewise.
46175         * modules/hash (Makefile.am): Likewise.
46176         * modules/hmac-md5 (Makefile.am): Likewise.
46177         * modules/hmac-sha1 (Makefile.am): Likewise.
46178         * modules/human (Makefile.am): Likewise.
46179         * modules/idcache (Makefile.am): Likewise.
46180         * modules/imaxabs (Makefile.am): Likewise.
46181         * modules/imaxdiv (Makefile.am): Likewise.
46182         * modules/inet_ntop (Makefile.am): Likewise.
46183         * modules/inet_pton (Makefile.am): Likewise.
46184         * modules/inttostr (Makefile.am): Likewise.
46185         * modules/isapipe (Makefile.am): Likewise.
46186         * modules/lchown (Makefile.am): Likewise.
46187         * modules/long-options (Makefile.am): Likewise.
46188         * modules/lstat (Makefile.am): Likewise.
46189         * modules/malloc (Makefile.am): Likewise.
46190         * modules/mathl (Makefile.am): Likewise.
46191         * modules/mbchar (Makefile.am): Likewise.
46192         * modules/md2 (Makefile.am): Likewise.
46193         * modules/md4 (Makefile.am): Likewise.
46194         * modules/md5 (Makefile.am): Likewise.
46195         * modules/memcasecmp (Makefile.am): Likewise.
46196         * modules/memchr (Makefile.am): Likewise.
46197         * modules/memcmp (Makefile.am): Likewise.
46198         * modules/memcoll (Makefile.am): Likewise.
46199         * modules/memcpy (Makefile.am): Likewise.
46200         * modules/memmem (Makefile.am): Likewise.
46201         * modules/memmove (Makefile.am): Likewise.
46202         * modules/mempcpy (Makefile.am): Likewise.
46203         * modules/memrchr (Makefile.am): Likewise.
46204         * modules/memset (Makefile.am): Likewise.
46205         * modules/memxor (Makefile.am): Likewise.
46206         * modules/mkancesdirs (Makefile.am): Likewise.
46207         * modules/mkdir (Makefile.am): Likewise.
46208         * modules/mkdir-p (Makefile.am): Likewise.
46209         * modules/mkdtemp (Makefile.am): Likewise.
46210         * modules/mkstemp (Makefile.am): Likewise.
46211         * modules/mktime (Makefile.am): Likewise.
46212         * modules/modechange (Makefile.am): Likewise.
46213         * modules/mountlist (Makefile.am): Likewise.
46214         * modules/nanosleep (Makefile.am): Likewise.
46215         * modules/openat (Makefile.am): Likewise.
46216         * modules/pagealign_alloc (Makefile.am): Likewise.
46217         * modules/physmem (Makefile.am): Likewise.
46218         * modules/poll (Makefile.am): Likewise.
46219         * modules/posixtm (Makefile.am): Likewise.
46220         * modules/posixver (Makefile.am): Likewise.
46221         * modules/putenv (Makefile.am): Likewise.
46222         * modules/quote (Makefile.am): Likewise.
46223         * modules/quotearg (Makefile.am): Likewise.
46224         * modules/raise (Makefile.am): Likewise.
46225         * modules/read-file (Makefile.am): Likewise.
46226         * modules/readline (Makefile.am): Likewise.
46227         * modules/readlink (Makefile.am): Likewise.
46228         * modules/readtokens (Makefile.am): Likewise.
46229         * modules/readutmp (Makefile.am): Likewise.
46230         * modules/realloc (Makefile.am): Likewise.
46231         * modules/regex (Makefile.am): Likewise.
46232         * modules/rename (Makefile.am): Likewise.
46233         * modules/rename-dest-slash (Makefile.am): Likewise.
46234         * modules/rijndael (Makefile.am): Likewise.
46235         * modules/rmdir (Makefile.am): Likewise.
46236         * modules/rpmatch (Makefile.am): Likewise.
46237         * modules/safe-read (Makefile.am): Likewise.
46238         * modules/safe-write (Makefile.am): Likewise.
46239         * modules/same (Makefile.am): Likewise.
46240         * modules/save-cwd (Makefile.am): Likewise.
46241         * modules/savedir (Makefile.am): Likewise.
46242         * modules/setenv (Makefile.am): Likewise.
46243         * modules/settime (Makefile.am): Likewise.
46244         * modules/sha1 (Makefile.am): Likewise.
46245         * modules/sig2str (Makefile.am): Likewise.
46246         * modules/snprintf (Makefile.am): Likewise.
46247         * modules/stdlib-safer (Makefile.am): Likewise.
46248         * modules/stpcpy (Makefile.am): Likewise.
46249         * modules/stpncpy (Makefile.am): Likewise.
46250         * modules/strcase (Makefile.am): Likewise.
46251         * modules/strcasestr (Makefile.am): Likewise.
46252         * modules/strchrnul (Makefile.am): Likewise.
46253         * modules/strcspn (Makefile.am): Likewise.
46254         * modules/strdup (Makefile.am): Likewise.
46255         * modules/strerror (Makefile.am): Likewise.
46256         * modules/strftime (Makefile.am): Likewise.
46257         * modules/strndup (Makefile.am): Likewise.
46258         * modules/strnlen (Makefile.am): Likewise.
46259         * modules/strpbrk (Makefile.am): Likewise.
46260         * modules/strsep (Makefile.am): Likewise.
46261         * modules/strstr (Makefile.am): Likewise.
46262         * modules/strtod (Makefile.am): Likewise.
46263         * modules/strtoimax (Makefile.am): Likewise.
46264         * modules/strtok_r (Makefile.am): Likewise.
46265         * modules/strtol (Makefile.am): Likewise.
46266         * modules/strtoll (Makefile.am): Likewise.
46267         * modules/strtoul (Makefile.am): Likewise.
46268         * modules/strtoull (Makefile.am): Likewise.
46269         * modules/strtoumax (Makefile.am): Likewise.
46270         * modules/strverscmp (Makefile.am): Likewise.
46271         * modules/time_r (Makefile.am): Likewise.
46272         * modules/timegm (Makefile.am): Likewise.
46273         * modules/tmpfile-safer (Makefile.am): Likewise.
46274         * modules/unistd-safer (Makefile.am): Likewise.
46275         * modules/unlinkdir (Makefile.am): Likewise.
46276         * modules/userspec (Makefile.am): Likewise.
46277         * modules/utime (Makefile.am): Likewise.
46278         * modules/utimecmp (Makefile.am): Likewise.
46279         * modules/utimens (Makefile.am): Likewise.
46280         * modules/vasnprintf (Makefile.am): Likewise.
46281         * modules/vasprintf (Makefile.am): Likewise.
46282         * modules/vsnprintf (Makefile.am): Likewise.
46283         * modules/xalloc (Makefile.am): Likewise.
46284         * modules/xgetcwd (Makefile.am): Likewise.
46285         * modules/xnanosleep (Makefile.am): Likewise.
46286         * modules/xreadlink (Makefile.am): Likewise.
46287         * modules/xstrtod (Makefile.am): Likewise.
46288         * modules/xstrtol (Makefile.am): Likewise.
46289         * modules/xstrtold (Makefile.am): Likewise.
46290         * modules/yesno (Makefile.am): Likewise.
46291
46292 2006-10-12  Jim Meyering  <jim@meyering.net>
46293
46294         * m4/getloadavg.m4: Revert the change below.
46295
46296         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
46297         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
46298         fail with a symlink, which is what coreutils' ./bootstrap now
46299         creates by default.
46300
46301 2006-10-12  Bruno Haible  <bruno@clisp.org>
46302
46303         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
46304         mingw.
46305         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
46306         MSVC and mingw explicitly.
46307
46308 2006-10-11  Simon Josefsson  <jas@extundo.com>
46309             Bruno Haible  <bruno@clisp.org>
46310
46311         Add support for multiple gnulib-tool invocations in the scope of a
46312         single configure.ac file.
46313         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
46314         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
46315         with the same contents as the _LIBADD variable.
46316         (func_emit_initmacro_start, func_emit_initmacro_end,
46317         func_emit_initmacro_done): New functions.
46318         (func_import, func_create_testdir): Invoke them. Allow the identifiers
46319         gl_LIBOBJS and gl_LTLIBOBJS.
46320
46321 2006-10-11  Bruno Haible  <bruno@clisp.org>
46322
46323         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
46324         (func_create_testdir): Don't create po/Makefile.am, don't invoke
46325         autoreconf. Instead, invoke autopoint explicitly but move back the
46326         *.m4 files from gnulib.
46327
46328 2006-10-11  Bruno Haible  <bruno@clisp.org>
46329
46330         * gnulib-tool (func_usage): Make module names after --create-testdir
46331         optional.
46332         (func_create_testdir): If no module was specified, use nearly all
46333         modules.
46334
46335 2006-10-12  Jim Meyering  <jim@meyering.net>
46336
46337         Big performance improvement for fts-based tools that use FTS_NOSTAT.
46338         Avoid spurious inode-mismatch problems on non-POSIX file systems.
46339         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
46340         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
46341         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
46342         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
46343         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
46344         (fts_set_stat_required): New function.
46345         (fts_open): Defer the calls to fts_stat, if possible or requested.
46346         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
46347         into fts_stat itself.
46348         (fts_read): Perform any required (deferred) fts_stat call.
46349         (fts_build): Likewise, for the directory we're about to open and read.
46350         In the readdir loop, carefully decide whether each entry will require
46351         an eventual call to fts_stat, using dirent.d_type info if available.
46352         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
46353         a command line argument into this function.  Update all callers.
46354         Map a return value of FTS_DOT to FTS_D for a command line argument.
46355         * modules/fts (Depends-on): Add d-type.  Alphabetize.
46356         Thanks to Miklos Szeredi for his tenacity and for the initial
46357         bug report about "find" failing on a FUSE-based file system.
46358
46359         * lib/fts.c (fts_open): Use consistent indentation.
46360
46361 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46362
46363         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
46364         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
46365         reported by Jim Meyering.  All uses of cache variables renamed
46366         to match Autoconf's.
46367         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
46368         the other one.
46369
46370         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46371         Fix misspelling in diagnostic.
46372
46373 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
46376         defined.  Problem reported by Matthew Woehlke.
46377
46378         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
46379         Add support for Tandem NonStop R series.
46380         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
46381         Use new macro.
46382
46383         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
46384         (has_trailing_slash): Omit size arg; all callers changed.
46385         Omit 'inline', since it doesn't help performance and we'd
46386         need to configure it.
46387         Don't count //, ///, etc. as having a trailing slash.
46388         As a side effect, this removes a C99ism reported by Matthew Woehlke.
46389         (rpl_rename_dest_slash): On failure, use rename's errno rather
46390         than (in some cases) an incorrect or junk errno.
46391         Simplify code by removing need to compute length; this does
46392         cause it to make two passes instead of one over the file name,
46393         but it's worth it.
46394
46395         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
46396         change, since Autoconf's version may no longer be appropriate now
46397         that we are using CVS Autoconf's version.  Add support for Tandem.
46398
46399 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46400             Bruno Haible  <bruno@clisp.org>
46401
46402         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
46403         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
46404         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
46405         gl_AC_TYPE_LONG_LONG.
46406
46407         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
46408         instead of HAVE_LONG_LONG.
46409         * lib/printf-args.c (printf_fetchargs): Likewise.
46410         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46411         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46412         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
46413         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
46414         gl_AC_TYPE_LONG_LONG.
46415
46416 2006-10-11  Bruno Haible  <bruno@clisp.org>
46417
46418         * m4/longlong.m4: Add comments.
46419         * m4/ulonglong.m4: Likewise.
46420
46421 2006-10-10  Bruno Haible  <bruno@clisp.org>
46422
46423         Make it possible to #define stpcpy, strdup to aliases.
46424         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
46425         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
46426
46427 2006-10-10  Bruno Haible  <bruno@clisp.org>
46428
46429         Make it possible to #define gcd to an alias.
46430         * lib/gcd.c: Include config.h.
46431
46432 2006-10-10  Bruno Haible  <bruno@clisp.org>
46433
46434         Make it possible to #define c_isascii to an alias.
46435         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
46436         defined. Undefine the macros before defining them, to avoid gcc
46437         warnings.
46438         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
46439         define NO_C_CTYPE_MACROS early.
46440
46441 2006-10-10  Bruno Haible  <bruno@clisp.org>
46442
46443         Make it possible to #define set_program_name to an alias.
46444         * lib/progname.c: Don't undefine set_program_name; instead, undefine
46445         ENABLE_RELOCATABLE early.
46446
46447 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46448
46449         Port to Tandem NSK OSS, which has 64-bit signed int but at most
46450         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
46451         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
46452         More generally, don't assume that 64-bit signed int is available
46453         if unsigned int is, and vice versa.
46454         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
46455         unsigned symbols, not on their signed counterparts.
46456         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
46457         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
46458         (UINT64_C, UINTMAX_C):
46459         Likewise.
46460         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
46461         unsigned counterparts.
46462         (Have_long_long, Unsigned): New macros.
46463         (Int): Renamed from INT.
46464         (strtoimax): Use the new macros.
46465         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46466         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
46467         * modules/inttypes (inttypes.h): Substitute
46468         HAVE_UNSIGNED_LONG_LONG_INT.
46469         * modules/stdint (stdint.h): Likewise.
46470         (Files): Add m4/ulonglong.m4.
46471
46472 2006-10-10  Bruno Haible  <bruno@clisp.org>
46473
46474         Fix a gcc -Wshadow warning.
46475         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
46476         to 'bucket'.
46477         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
46478         gl_linked_indexof_from_to): Likewise.
46479         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
46480         Likewise.
46481         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
46482         Likewise.
46483         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
46484         Reported by Eric Blake.
46485
46486 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
46487
46488         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
46489         for NetBSD.  Problem reported by Bruno Haible.
46490
46491 2006-10-09  Jim Meyering  <jim@meyering.net>
46492
46493         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
46494         Patch from Bruno Haible.
46495
46496 2006-10-09  Jim Meyering  <jim@meyering.net>
46497
46498         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
46499         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
46500         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
46501
46502 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46503
46504         Don't include <config.h> twice; this doesn't work in some cases,
46505         e.g., when config.h has "#define intmax_t long long int" and
46506         we include <config.h>, <inttypes.h>, <config.h> in that order.
46507         Problem reported by Matthew Woehlke in:
46508         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
46509         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
46510         * lib/fts-cycle.c: Don't include config.h.
46511         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
46512         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
46513         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
46514         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
46515         inttypes.h.
46516         * lib/xstrtoumax.c: Likewise.
46517         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
46518         __strtol and the like, so that this module is more like its siblings.
46519         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
46520         Remove; no longer needed now that we assume gnulib inttypes.h.
46521
46522 2006-10-08  Bruno Haible  <bruno@clisp.org>
46523
46524         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
46525         option.
46526
46527 2006-10-07  Jim Meyering  <jim@meyering.net>
46528
46529         * modules/inttypes (inttypes.h): Revert what seems to have been
46530         an inadvertent part of today's change: use "|", not "/" in the
46531         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
46532
46533 2006-10-07  Bruno Haible  <bruno@clisp.org>
46534
46535         * modules/sublist: New file.
46536
46537 2006-10-07  Bruno Haible  <bruno@clisp.org>
46538
46539         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
46540         * modules/argz (argz.h): Likewise.
46541         * modules/arpa_inet (arpa/inet.h): Likewise.
46542         * modules/byteswap (byteswap.h): Likewise.
46543         * modules/configmake (configmake.h): Likewise.
46544         * modules/fcntl (fcntl.h): Likewise.
46545         * modules/fnmatch (fnmatch.h): Likewise.
46546         * modules/getopt (getopt.h): Likewise.
46547         * modules/glob (glob.h): Likewise.
46548         * modules/inttypes (inttypes.h): Likewise.
46549         * modules/netinet_in (netinet/in.h): Likewise.
46550         * modules/poll (poll.h): Likewise.
46551         * modules/stdbool (stdbool.h): Likewise.
46552         * modules/stdint (stdint.h): Likewise.
46553         * modules/sys_select (sys/select.h): Likewise.
46554         * modules/sys_socket (sys/socket.h): Likewise.
46555         * modules/sys_stat (sys/stat.h): Likewise.
46556         * modules/sysexits (sysexits.h): Likewise.
46557         * modules/unistd (unistd.h): Likewise.
46558         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46559         Add a "DO NOT EDIT" comment to the generated file.
46560         (func_import): Likewise for gnulib-comp.m4.
46561
46562 2006-10-07  Bruno Haible  <bruno@clisp.org>
46563
46564         * lib/gl_sublist.h: New file.
46565         * lib/gl_sublist.c: New file.
46566
46567 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46568
46569         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
46570         name (relative to the original working directory) and the file
46571         name component (relative to the temporary working directory).  All
46572         callers changed.
46573         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
46574         * lib/mkdir-p.c (make_dir_parents): Likewise.
46575         * lib/mkdir-p.h (make_dir_parents): Likewise.
46576
46577 2006-10-06  Eric Blake  <ebb9@byu.net>
46578
46579         Define several macros for use by the clean-temp module.
46580         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
46581         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
46582         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
46583
46584         * lib/clean-temp.h (close_stream_temp): New declaration.
46585         * lib/clean-temp.c (includes): Pull in headers according to what
46586         other modules are in use.
46587         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
46588
46589 2006-10-06  Bruno Haible  <bruno@clisp.org>
46590
46591         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
46592         instead of fopen, fwriteerror.
46593
46594 2006-10-06  Bruno Haible  <bruno@clisp.org>
46595
46596         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
46597         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
46598         int.
46599         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
46600         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
46601         Return an error indicator.
46602         Suggested by Eric Blake.
46603
46604 2006-10-06  Bruno Haible  <bruno@clisp.org>
46605
46606         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
46607         Reported by Eric Blake.
46608
46609 2006-10-06  Bruno Haible  <bruno@clisp.org>
46610
46611         * modules/closeout (Description): Mention stderr too.
46612
46613 2006-10-06  Bruno Haible  <bruno@clisp.org>
46614         and Paul Eggert  <eggert@cs.ucla.edu>
46615
46616         * lib/closeout.c (close_stdout): Also close stderr.
46617         * lib/closeout.h: Update comment.
46618
46619 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46620
46621         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
46622         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
46623         * lib/dirchownmod.c: Include lchown.h.
46624         * lib/lchown.c: Don't include files that lchown.h now includes.
46625         Don't declare chown, since lchown.h now does that.
46626         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
46627         (lchown): Define to rpl_chown if lchown is declared but
46628         does not exist.  Declare using a prototype if lchown is not
46629         declared.  Add a copyright notice.
46630         * lib/mkstemp.h: Include <unistd.h>.
46631         * lib/openat.c: Include lchown.h.
46632
46633         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
46634         we now test for that separately.
46635         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
46636         rather than O_NOFOLLOW, when testing whether it's possible to
46637         avoid a race condition reliably.
46638         * lib/savewd.c (savewd_chdir): Likewise.
46639
46640         Remove macros that are no longer needed now that stdint.h is
46641         reliable.
46642         * lib/fsusage.c (UINTMAX_MAX): Remove.
46643         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
46644         * lib/utimecmp.c (SIZE_MAX): Remove.
46645
46646         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
46647
46648         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
46649         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
46650         O_NOATIME works.
46651
46652 2006-10-05  Bruno Haible  <bruno@clisp.org>
46653
46654         * lib/gl_list.h (gl_sortedlist_search_from_to,
46655         gl_sortedlist_indexof_from_to): New declarations.
46656         (gl_list_implementation): New fields sortedlist_search_from_to,
46657         sortedlist_indexof_from_to.
46658         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
46659         inline functions.
46660         * lib/gl_list.c (gl_sortedlist_search_from_to,
46661         gl_sortedlist_indexof_from_to): New functions.
46662         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
46663         function.
46664         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
46665         (gl_array_sortedlist_search_from_to): New function.
46666         (gl_array_list_implementation): Update.
46667         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
46668         function.
46669         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
46670         (gl_carray_sortedlist_search_from_to): New function.
46671         (gl_carray_list_implementation): Update.
46672         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
46673         gl_linked_sortedlist_indexof_from_to): New functions.
46674         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46675         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46676         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
46677         gl_tree_sortedlist_indexof_from_to): New functions.
46678         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46679         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46680         Update.
46681         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46682         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
46683         Update.
46684
46685 2006-10-05  Bruno Haible  <bruno@clisp.org>
46686
46687         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
46688         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
46689         (struct gl_list_implementation): Add fields search_from_to,
46690         indexof_from_to. Remove fields search, indexof.
46691         (gl_list_search): Use the search_from_to method.
46692         (gl_list_search_from, gl_list_search_from_to): New functions.
46693         (gl_list_indexof): Use the indexof_from_to method.
46694         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46695         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
46696         (gl_list_search_from, gl_list_search_from_to): New functions.
46697         (gl_list_indexof): Use the indexof_from_to method.
46698         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46699         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
46700         gl_array_indexof. Add start_index, end_index arguments.
46701         (gl_array_search_from_to): Renamed from gl_array_search. Add
46702         start_index, end_index arguments.
46703         (gl_array_remove, gl_array_list_implementation): Update.
46704         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
46705         gl_carray_indexof. Add start_index, end_index arguments.
46706         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
46707         start_index, end_index arguments.
46708         (gl_carray_remove, gl_carray_list_implementation): Update.
46709         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
46710         gl_linked_search. Add start_index, end_index arguments.
46711         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
46712         start_index, end_index arguments.
46713         (gl_linked_remove): Update.
46714         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46715         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46716         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
46717         field to 'size_t'.
46718         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
46719         gl_tree_search. Add start_index, end_index arguments.
46720         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46721         start_index, end_index arguments.
46722         (gl_tree_remove): Update.
46723         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46724         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46725         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
46726         function.
46727         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
46728         gl_tree_search. Add start_index, end_index arguments.
46729         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46730         start_index, end_index arguments.
46731         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46732         Update.
46733         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46734
46735 2006-10-05  Bruno Haible  <bruno@clisp.org>
46736
46737         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
46738
46739         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
46740         fwriteerror_temp): New declarations.
46741         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
46742         (descriptors): New variable.
46743         (cleanup): First, close the descriptors.
46744         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
46745         fclose_temp, fwriteerror_temp): New functions.
46746
46747 2006-10-04  Jim Meyering  <jim@meyering.net>
46748
46749         * lib/fts.c (fts_open): Tiny comment change.
46750
46751 2006-10-04  Bruno Haible  <bruno@clisp.org>
46752
46753         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
46754         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
46755         gl_LOCK_BODY.
46756         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
46757         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
46758         gl_LOCK_EARLY_BODY.
46759         (gl_LOCK): Require gl_LOCK_BODY.
46760
46761 2006-10-04  Bruno Haible  <bruno@clisp.org>
46762
46763         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
46764         (gl_oset_search_atleast): New declaration.
46765         (struct gl_oset_implementation): Add field 'search_atleast'.
46766         (gl_oset_search_atleast): New inline function.
46767         * lib/gl_oset.c (gl_oset_search_atleast): New function.
46768         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
46769         (gl_array_oset_implementation): Update.
46770         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
46771         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
46772         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
46773
46774 2006-10-04  Bruno Haible  <bruno@clisp.org>
46775
46776         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
46777
46778 2006-10-03  Bruno Haible  <bruno@clisp.org>
46779
46780         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
46781         from gl_avltreehash_list_implementation.
46782
46783 2006-10-03  Bruno Haible  <bruno@clisp.org>
46784
46785         * lib/gl_oset.c (gl_oset_add): Fix return type.
46786
46787 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
46788
46789         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
46790
46791 2006-10-02  Eric Blake  <ebb9@byu.net>
46792
46793         * modules/strnlen (Depends-on): Add extensions.
46794
46795 2006-10-02  Eric Blake  <ebb9@byu.net>
46796
46797         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
46798         definition in 2.60+.
46799
46800 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
46801
46802         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
46803         checks.
46804
46805 2006-10-02  Bruno Haible  <bruno@clisp.org>
46806
46807         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
46808         to the AUTOMAKE_OPTIONS.
46809         Reported by Jim Meyering.
46810
46811 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46812
46813         Work around bug in Solaris 10 /proc file system:
46814         /proc/self/fd/NNN/.. isn't the parent directory of
46815         the directory whose file descriptor is NNN.  This needs to
46816         be worked around at run time, not compile time, since a
46817         program might be built on Solaris 8, where things work, and
46818         run on Solaris 10.
46819         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
46820         to use the following interface instead:
46821         (OPENAT_BUFFER_SIZE): New macro.
46822         (openat_proc_name): New function.
46823         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
46824         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
46825         Likewise.
46826         * lib/openat-proc.c: New file.
46827         * modules/openat (Files): Add lib/openat-proc.c.
46828         (Depends-on): Add same-inode, stdbool.
46829         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
46830
46831 2006-09-29  Bruno Haible  <bruno@clisp.org>
46832
46833         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
46834         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
46835         argument. Set stdout_closed before testing for ferror, not after.
46836         (fwriteerror, fwriteerror_no_ebadf): New functions.
46837
46838 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46839
46840         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
46841
46842 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
46843
46844         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
46845         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
46846
46847 2006-09-28  Jim Meyering  <jim@meyering.net>
46848
46849         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
46850         Include <unistd.h>.
46851
46852 2006-09-28  Bruno Haible  <bruno@clisp.org>
46853
46854         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
46855         * modules/linkedhash-list (Depends-on): Likewise.
46856         * modules/rbtreehash-list (Depends-on): Likewise.
46857
46858 2006-09-28  Bruno Haible  <bruno@clisp.org>
46859
46860         * lib/strndup.h: Simplify the redefinition of strndup.
46861         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
46862         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
46863
46864 2006-09-28  Bruno Haible  <bruno@clisp.org>
46865
46866         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
46867         * lib/gl_linkedhash_list.c: Likewise.
46868         * lib/gl_rbtreehash_list.c: Likewise.
46869
46870 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
46871
46872         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
46873         getaddrinfo.
46874
46875         * lib/__fpending.h: Don't include <stdio_ext.h> unless
46876         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
46877         it causes <stdio_ext.h> to cause a compile-time error.
46878         Problem reported by Nelson H. F. Beebe.
46879         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
46880         of HAVE_DECL___PENDING.
46881
46882         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
46883         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
46884         declaration.
46885
46886 2006-09-27  Jim Meyering  <jim@meyering.net>
46887
46888         This file could end up with a definition for a function
46889         named __strndup, rather than rpl_strndup on a system with
46890         incomplete weak_alias support.
46891         * lib/strndup.c (strndup): Rename from __strndup.
46892         Remove #defines that used to map __strndup to strndup.
46893         Don't use K&R prototypes.
46894         Remove LIBC-related code, since this file is not sync'd with glibc.
46895         * lib/strndup.h: Revamp, accordingly.
46896         * m4/strndup.m4: Modernize.
46897
46898 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46899
46900         * modules/savewd (Depends-on): Add 'raise'.
46901         * lib/savewd.c: Include <signal.h>, for 'raise'.
46902
46903 2006-09-26  Jim Meyering  <jim@meyering.net>
46904
46905         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
46906         when we detect Darwin 8.7.0's acl_get_file bug.
46907         Rearrange to perform the new (below) run-test while $LIBS
46908         contains any acl-related library.  Set USE_ACL at the end.
46909         (gl_ACL_GET_FILE): New function.
46910
46911 2006-09-26  Eric Blake  <ebb9@byu.net>
46912
46913         * lib/verror.c: Include <config.h> unconditionally.
46914
46915 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
46916
46917         * modules/clock-time (Maintainer): Add self.
46918         * modules/getlogin_r (Depends-on): Add extensions.
46919
46920 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46921
46922         * modules/clock-time: New module.
46923         * modules/nanosleep (Depends-on): Add clock-time.
46924         * modules/gethrxtime (Depends-on): Likewise.
46925         * modules/gettime (Depends-on): Likewise.
46926         * modules/settime (Depends-on): Likewise.
46927
46928         * modules/fts-lgpl: Depend on openat.
46929         * modules/mkancesdirs: Depend on savewd.
46930         * modules/mkdir-p: Likewise.
46931
46932 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46933
46934         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
46935
46936         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
46937         `gl_have_arbitrary_file_name_length_limit' to
46938         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
46939         actually works between configure runs.
46940
46941 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46942             Bruno Haible  <bruno@clisp.org>
46943
46944         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
46945
46946 2006-09-25  Jim Meyering  <jim@meyering.net>
46947
46948         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
46949         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
46950
46951 2006-09-25  Eric Blake  <ebb9@byu.net>
46952
46953         * gnulib-tool (func_import, func_create_testdir): Fix typos in
46954         exec's in 2006-09-18 patch when shuffling fds.
46955
46956 2006-09-25  Bruno Haible  <bruno@clisp.org>
46957
46958         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
46959         Reported by Jim Meyering.
46960
46961 2006-09-24  Jim Meyering  <jim@meyering.net>
46962
46963         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
46964         compare a pointer against a literal "0".  That caused failures with
46965         at least HP-UX's hpcc.
46966
46967 2006-09-22  Simon Josefsson  <jas@extundo.com>
46968
46969         * modules/gc-sha1:
46970         * modules/gc-md4:
46971         * modules/gc-hmac-sha1:
46972         * modules/gc-hmac-md5:
46973         * modules/gc-des:
46974         * modules/gc-arcfour: Distribute more files.
46975
46976 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46977
46978         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
46979         (gl_linked_iterator_from_to): Initialize struct completely.
46980         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
46981         (gl_tree_iterator_from_to): Likewise
46982         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
46983         * lib/gl_array_list.c [lint] (gl_array_iterator)
46984         (gl_array_iterator_from_to): Likewise.
46985         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
46986         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
46987         (gl_carray_iterator_from_to): Likewise.
46988
46989         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
46990         * lib/md4.c (md4_process_block): Remove unused variable.
46991         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
46992         parentheses for clarity.
46993
46994 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46995
46996         * modules/bison-i18n (Depends-on): Add gettext.
46997
46998 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46999
47000         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
47001         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
47002         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
47003         also add missing comma that caused broken test.
47004         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
47005         stdlib.h, for `abort'.
47006         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
47007         variables.
47008         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
47009         include unistd.h if present, for `rmdir'.
47010         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
47011         variables.
47012         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
47013         in the process include standard headers for prototypes.
47014         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
47015         gets declared on GNU/Linux.
47016         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
47017         unistd.h, for `rmdir'.
47018         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
47019
47020         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
47021         always true.
47022         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
47023
47024         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
47025
47026 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47027
47028         * gnulib-tool (func_version): Create output all at once.  This
47029         may help avoid triggering unnecessary SIGPIPEs, and at any
47030         rate it doesn't hurt.
47031
47032 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47033             Bruno Haible  <bruno@clisp.org>
47034
47035         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
47036         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47037         * m4/signed.m4 (bh_C_SIGNED): Likewise.
47038
47039         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
47040         (gl_FUNC_VASPRINTF): Invoke it.
47041
47042 2006-09-22  Bruno Haible  <bruno@clisp.org>
47043
47044         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
47045         getloadavg.c as first argument.
47046
47047 2006-09-22  Bruno Haible  <bruno@clisp.org>
47048
47049         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
47050         at the beginning of the gl_INIT macro.
47051         * modules/getloadavg (configure.ac): Pass $gl_source_base to
47052         gl_GETLOADAVG.
47053
47054 2006-09-22  Bruno Haible  <bruno@clisp.org>
47055
47056         * gnulib-tool (func_create_megatestdir): Don't include the config-h
47057         module.
47058         Suggested by Ralf Wildenhues.
47059
47060 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47061
47062         Import this patch from libc:
47063
47064         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
47065
47066         * lib/regex_internal.c (re_string_reconstruct): Handle
47067         offset < pstr->valid_raw_len && pstr->offsets_needed case.
47068         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
47069         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
47070         re_string_context_at.
47071
47072         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
47073         now requires it.
47074         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
47075         gl_REGEX now does it for us.
47076         (gl_REGEX): Add test taken from
47077         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
47078
47079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
47080         Check that large offsets work.  Modernize Autoconf usages.
47081         Prefer "yes" to mean a good thing rather than a bad.
47082         Don't put "#define mkstemp" in config.h, as this might interfere
47083         with standard system headers that "#define mkstemp mkstemp64".
47084
47085         * modules/mkstemp (Depends-on): Add extensions, so that
47086         mkstemp is visible on some platforms.
47087         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
47088         (Include): Change to "mkstemp.h" from <stdlib.h>.
47089         (Files): Add mkstemp.h.
47090
47091         * lib/mkstemp.h: New file, since some standard headers
47092         #define mkstemp.
47093         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
47094         Include "mkstemp.h".
47095         Make the _LIBC code resemble glibc original more,
47096         e.g., use K&R style.
47097         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
47098         (mkstemp): Remove, since mkstemp.h does this for us.
47099         * lib/stdlib--.h: Include mkstemp.h.
47100
47101         Import this patch from libc:
47102
47103         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47104
47105         * lib/tempname.c (__gen_tempname): Change attempts_min
47106         into a macro.  Use preprocessor to decide how to initialize
47107         attempts [Coverity CID 67].
47108
47109 2006-09-20  Bruno Haible  <bruno@clisp.org>
47110
47111         * lib/mkdtemp.c: Import from libc.
47112         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47113                 * sysdeps/posix/tempname.c (__gen_tempname): Change
47114                 attempts_min into a macro.  Use preprocessor to decide how to
47115                 initialize attempts [Coverity CID 67].
47116         2001-11-27  Paul Eggert  <eggert@twinsun.com>
47117                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
47118                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
47119
47120 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47121
47122         * gnulib-tool (func_exit): New function, to allow to pass the
47123         exit status portably through the trap.  Use everywhere.
47124         (--help, --version): Signal a write error.
47125         (trap): catch SIGPIPE, for write errors.
47126         Exit at the end of the trap, with the correct exit status.
47127
47128 2006-09-19  Karl Berry  <karl@gnu.org>
47129
47130         * doc/gnulib.texi: note about the license texinfo files.
47131
47132 2006-09-19  Eric Blake  <ebb9@byu.net>
47133
47134         * gnulib-tool: Avoid space-tab.
47135
47136 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47137
47138         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
47139         that prevented coreutils 6.1 from building.  Problem reported
47140         by Petter Reinholdtsen.
47141
47142 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47143
47144         * gnulib-tool (avoidlist): Fix typo that broke options like
47145         --avoid=lock that are used by coreutils bootstrap.
47146
47147 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
47148
47149         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
47150         more systematically.
47151
47152 2006-09-18  Jim Meyering  <jim@meyering.net>
47153
47154         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
47155
47156 2006-09-18  Bruno Haible  <bruno@clisp.org>
47157
47158         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
47159
47160 2006-09-18  Bruno Haible  <bruno@clisp.org>
47161
47162         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
47163         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
47164         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
47165         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
47166         * m4/gettext.m4: Require autoconf >= 2.52.
47167         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
47168         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
47169         of gl_cv_header_inttypes_h.
47170
47171 2006-09-18  Bruno Haible  <bruno@clisp.org>
47172
47173         * lib/javaversion.c: Include configmake.h.
47174
47175 2006-09-18  Bruno Haible  <bruno@clisp.org>
47176
47177         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
47178         avoid that the while loops be executed in a subshell.
47179
47180 2006-09-18  Bruno Haible  <bruno@clisp.org>
47181
47182         * MODULES.html.sh (func_module): Break long lines.
47183         Suggested by Bruce Korb <bkorb@gnu.org>.
47184
47185 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47186
47187         Speed up by a factor of 1.12.
47188         * gnulib-tool (nl): New variable.
47189         (func_import): Rewrite include directive extraction to only read each
47190         directive once.
47191
47192 2006-09-17  Bruno Haible  <bruno@clisp.org>
47193
47194         * modules/javaversion (Makefile.am): Remove DEFS setting.
47195         (Depends-on): Add configmake, for PKGDATADIR definition.
47196
47197 2006-09-17  Bruno Haible  <bruno@clisp.org>
47198
47199         * gnulib-tool (func_create_testdir): Rewrite all files at once.
47200
47201 2006-09-17  Bruno Haible  <bruno@clisp.org>
47202
47203         * gnulib-tool (func_append): New function, stolen from libtool.m4.
47204         (func_modules_transitive_closure, func_modules_add_dummy,
47205         func_modules_to_filelist, func_import, func_create_testdir,
47206         func_create_megatestdir, ...): Use it wherever possible.
47207         Suggested by Ralf Wildenhues.
47208
47209 2006-09-16  Karl Berry  <karl@gnu.org>
47210
47211         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
47212         to avoid sectioning errors.
47213         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
47214         [ifinfo]: blank line after @center-ed titles.
47215         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
47216         Spell FSF address consistently with others.
47217         (These changes approved by rms.)
47218
47219 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47220
47221         Speed up by a factor of 1.61.
47222         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
47223         already checked module names again.
47224
47225 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47226
47227         Speed up by a factor of 1.13.
47228         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
47229         for new_files, and the input to func_add_or_update.
47230
47231 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47232
47233         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
47234         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
47235
47236 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47237
47238         * modules/mkancesdirs (Depends-on): Add fcntl.
47239         * modules/savewd: New file.
47240         * MODULES.html.sh (File system functions): Add savewd.
47241
47242         * modules/configmake (Makefile.am): Add support for the
47243         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
47244
47245 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47246
47247         * m4/savewd.m4: New file.
47248
47249 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47250
47251         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
47252         (dirchownmod): New arg FD.  All callers changed.
47253         Use FD rather than opening the directory ourself, as opening is
47254         now the caller's responsibility.
47255         * lib/dirchownmod.h: Likewise.
47256         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
47257         hosts that require <sys/types.h> before <sys/stat.h>.  Include
47258         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
47259         (test_dir): Remove.
47260         (mkancesdirs): Return length of prefix of FILE that has already
47261         been made, or -2 if there is a child doing the work.  Redo
47262         algorithm so that it is O(N) rather than O(N**2).  Optimize away
47263         ".", and treat ".." specially since it might stray back into
47264         already-created areas.  Use a subprocess if necessary.  New arg
47265         WD; all users changed.  MAKE_DIR function should now return 1
47266         if it creates a directory that is not readable.  Return -2 if
47267         a child process is spun off.
47268         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
47269         Adjust signature to match code.
47270         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
47271         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
47272         all users changed.
47273         * lib/savewd.c, lib/savewd.h: New files.
47274
47275 2006-09-15  Jim Meyering  <jim@meyering.net>
47276
47277         * modules/rename-dest-slash: New module.
47278         * MODULES.html.sh (posix_compat): Add it here.
47279
47280         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
47281
47282 2006-09-15  Jim Meyering  <jim@meyering.net>
47283
47284         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
47285         file.
47286
47287         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
47288
47289 2006-09-15  Jim Meyering  <jim@meyering.net>
47290
47291         * lib/rename-dest-slash.c (has_trailing_slash): Use
47292         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
47293         (rpl_rename_dest_slash): Perform the cheaper trailing slash
47294         test before testing whether SRC is a directory.
47295         Suggestions from Bruno Haible.
47296
47297         Avoid a warning about an unused variable.
47298         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
47299         into the #ifdef block where it's used.
47300
47301         * lib/rename-dest-slash.c: New file.
47302
47303 2006-09-14  Bruno Haible  <bruno@clisp.org>
47304
47305         * lib/allocsa.c: Include <config.h> unconditionally.
47306         * lib/asnprintf.c: Likewise.
47307         * lib/asprintf.c: Likewise.
47308         * lib/c-strcasecmp.c: Likewise.
47309         * lib/c-strcasestr.c: Likewise.
47310         * lib/c-strncasecmp.c: Likewise.
47311         * lib/c-strstr.c: Likewise.
47312         * lib/classpath.c: Likewise.
47313         * lib/clean-temp.c: Likewise.
47314         * lib/concatpath.c: Likewise.
47315         * lib/copy-file.c: Likewise.
47316         * lib/csharpcomp.c: Likewise.
47317         * lib/csharpexec.c: Likewise.
47318         * lib/execute.c: Likewise.
47319         * lib/fatal-signal.c: Likewise.
47320         * lib/findprog.c: Likewise.
47321         * lib/fwriteerror.c: Likewise.
47322         * lib/gl_array_list.c: Likewise.
47323         * lib/gl_array_oset.c: Likewise.
47324         * lib/gl_avltree_list.c: Likewise.
47325         * lib/gl_avltree_oset.c: Likewise.
47326         * lib/gl_avltreehash_list.c: Likewise.
47327         * lib/gl_carray_list.c: Likewise.
47328         * lib/gl_linked_list.c: Likewise.
47329         * lib/gl_linkedhash_list.c: Likewise.
47330         * lib/gl_list.c: Likewise.
47331         * lib/gl_oset.c: Likewise.
47332         * lib/gl_rbtree_list.c: Likewise.
47333         * lib/gl_rbtree_oset.c: Likewise.
47334         * lib/gl_rbtreehash_list.c: Likewise.
47335         * lib/imaxabs.c: Likewise.
47336         * lib/imaxdiv.c: Likewise.
47337         * lib/javacomp.c: Likewise.
47338         * lib/javaexec.c: Likewise.
47339         * lib/javaversion.c: Likewise.
47340         * lib/linebreak.c: Likewise.
47341         * lib/localcharset.c: Likewise.
47342         * lib/lock.c: Likewise.
47343         * lib/mbchar.c: Likewise.
47344         * lib/mbswidth.c: Likewise.
47345         * lib/mkdtemp.c: Likewise.
47346         * lib/pipe.c: Likewise.
47347         * lib/printf-args.c: Likewise.
47348         * lib/printf-parse.c: Likewise.
47349         * lib/progname.c: Likewise.
47350         * lib/progreloc.c: Likewise.
47351         * lib/readlink.c: Likewise.
47352         * lib/sh-quote.c: Likewise.
47353         * lib/stpcpy.c: Likewise.
47354         * lib/stpncpy.c: Likewise.
47355         * lib/strcasecmp.c: Likewise.
47356         * lib/strcasestr.c: Likewise.
47357         * lib/strcspn.c: Likewise.
47358         * lib/striconv.c: Likewise.
47359         * lib/strncasecmp.c: Likewise.
47360         * lib/strnlen1.c: Likewise.
47361         * lib/strstr.c: Likewise.
47362         * lib/strtok_r.c: Likewise.
47363         * lib/tls.c: Likewise.
47364         * lib/tmpdir.c: Likewise.
47365         * lib/unicodeio.c: Likewise.
47366         * lib/unsetenv.c: Likewise.
47367         * lib/vasnprintf.c: Likewise.
47368         * lib/vasprintf.c: Likewise.
47369         * lib/wait-process.c: Likewise.
47370         * lib/xallocsa.c: Likewise.
47371         * lib/xsetenv.c: Likewise.
47372         * lib/xstriconv.c: Likewise.
47373
47374 2006-09-13  Simon Josefsson  <jas@extundo.com>
47375
47376         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
47377         that internally, suggested by Ralf Wildenhues
47378         <Ralf.Wildenhues@gmx.de>.
47379
47380 2006-09-13  Simon Josefsson  <jas@extundo.com>
47381
47382         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
47383         @LIBOBJS@.
47384         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47385
47386 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47387
47388         * lib/_fpending.c: Include <config.h> unconditionally, since we no
47389         longer worry about uses that don't define HAVE_CONFIG_H.
47390         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
47391         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
47392         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
47393         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
47394         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
47395         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
47396         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
47397         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
47398         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
47399         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
47400         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
47401         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
47402         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
47403         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
47404         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
47405         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
47406         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
47407         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
47408         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
47409         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
47410         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
47411         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
47412         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
47413         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
47414         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
47415         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
47416         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
47417         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
47418         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
47419         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
47420         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
47421         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
47422         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
47423         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
47424         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
47425         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
47426         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
47427         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
47428         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
47429         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
47430         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
47431         Likewise.
47432
47433 2006-09-13  Eric Blake  <ebb9@byu.net>
47434
47435         * lib/getopt.c: Fix typo in last commit.
47436
47437 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47438
47439         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
47440         dgettext.
47441
47442 2006-09-12  Jim Meyering  <jim@meyering.net>
47443
47444         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
47445         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
47446         Reported by Nelson H. F. Beebe.
47447
47448 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47449
47450         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
47451         program_invocation_name and program_invocation_short_name are
47452         initialized.
47453         * lib/argp-namefrob.h: Move declarations of program_invocation_name
47454         and program_invocation_short_name to argp.h, so they are visible
47455         to user programs.
47456         * lib/argp.h: Likewise
47457
47458 2006-09-10  Bruno Haible  <bruno@clisp.org>
47459
47460         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47461         m4/inttypes_h.m4, m4/uintmax_t.m4.
47462
47463 2006-09-10  Bruno Haible  <bruno@clisp.org>
47464
47465         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
47466         gl_AC_TYPE_UINTMAX_T.
47467
47468 2006-09-10  Bruno Haible  <bruno@clisp.org>
47469
47470         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
47471
47472 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
47473
47474         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
47475         convention.  Text proposed by Bruno Haible.
47476         (struct argp_option): Document the use of N_() wrappers.
47477
47478         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
47479         '\v', and translate the two parts separately, instead of feeding
47480         the whole string to gettext.  This allows to exclude
47481         '\v' from the strings visible to the translator by writing doc
47482         strings as N_("..") "\v" N_("..").
47483
47484 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
47485
47486         * config/srclist.txt: Undo latest change; the bug was fixed.
47487
47488 2006-09-09  Bruno Haible  <bruno@clisp.org>
47489
47490         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
47491         assignments if building a library without libtool.
47492         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
47493         in func_emit_lib_Makefile_am.
47494         (func_import): When building a static library libfoo.a, arrange to
47495         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
47496         (func_create_testdir): Likewise.
47497         * modules/gc (configure.ac, Makefile.am): If building statically,
47498         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
47499         * modules/iconvme (configure.ac, Makefile.am): Likewise.
47500         * modules/striconv (configure.ac, Makefile.am): Likewise.
47501         Based on a suggestion by Ralf Wildenhues.
47502
47503 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47504
47505         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47506         Check for unistd.h too, since Autoconf doesn't assume POSIX.
47507         Also:
47508
47509         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47510         Add year_2050_test to catch glibc bug 2821
47511         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47512
47513         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47514         Prefer #ifdef to #if.
47515
47516         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
47517         Return from 'main' instead of calling 'exit'.
47518
47519 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47520
47521         * lib/mktime.c (guess_time_tm): Fix bug where mktime
47522         returned the maximum time_t value rather than (time_t) -1.
47523         Problem originally reported by William Bardwell
47524         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47525
47526         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47527         Moved to here ...
47528         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47529         ... from here.
47530
47531 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47532
47533         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
47534         2821 is fixed.
47535
47536 2006-09-08  Jim Meyering  <jim@meyering.net>
47537
47538         Don't make generated files read-only.  That would bother too many
47539         people.  However, do retain the ability to work when targets are
47540         read-only: remove the destination and temporary files before writing
47541         them (when generated via sed or echo), or by using the -f option for
47542         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
47543         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47544         * modules/byteswap, modules/configmake, modules/fcntl:
47545         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47546         * modules/localcharset, modules/netinet_in, modules/poll:
47547         * modules/stdbool, modules/stdint, modules/sys_select:
47548         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47549
47550 2006-09-08  Jim Meyering  <jim@meyering.net>
47551
47552         Avoid new build failure on FreeBSD 6.0.
47553         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
47554         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
47555         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
47556
47557 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47558
47559         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
47560
47561 2006-09-07  Jim Meyering  <jim@meyering.net>
47562
47563         Fix global typo in last change: use chmod u-w, not chmod u-x.
47564         Spotted by Paul Eggert and Bruce Korb.
47565         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47566         * modules/byteswap, modules/configmake, modules/fcntl:
47567         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47568         * modules/localcharset, modules/netinet_in, modules/poll:
47569         * modules/stdbool, modules/stdint, modules/sys_select:
47570         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47571
47572 2006-09-06  Jim Meyering  <jim@meyering.net>
47573
47574         Make generated files be read-only.
47575         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
47576         Ensure that each generated file is now read-only.
47577         * modules/argz: Likewise.
47578         * modules/arpa_inet: Likewise.
47579         * modules/byteswap: Likewise.
47580         * modules/configmake: Likewise.
47581         * modules/fcntl: Likewise.
47582         * modules/fnmatch: Likewise.
47583         * modules/getopt: Likewise.
47584         * modules/glob: Likewise.
47585         * modules/inttypes: Likewise.
47586         * modules/netinet_in: Likewise.
47587         * modules/poll: Likewise.
47588         * modules/stdbool: Likewise.
47589         * modules/stdint: Likewise.
47590         * modules/sys_select: Likewise.
47591         * modules/sys_socket: Likewise.
47592         * modules/sys_stat: Likewise.
47593         * modules/sysexits: Likewise.
47594         * modules/localcharset: Same as above, but continue using temporary
47595         file named "t-$@" (why different?) rather than the "$@-t" used
47596         everywhere else.
47597
47598         * modules/sysexits (Makefile.am): Replace literal occurrences
47599         of "sysexit.h" more readable, and more consistent, "$@".
47600
47601 2006-09-06  Bruno Haible  <bruno@clisp.org>
47602
47603         * modules/striconv: New file.
47604         * modules/xstriconv: New file.
47605         * MODULES.html.sh (Internationalization functions): Add striconv,
47606         xstriconv.
47607
47608 2006-09-06  Bruno Haible  <bruno@clisp.org>
47609
47610         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
47611         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
47612         not using libtool correctly.
47613
47614 2006-09-06  Bruno Haible  <bruno@clisp.org>
47615
47616         * lib/striconv.h: New file.
47617         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
47618         iconvstring.c.
47619         * lib/xstriconv.h: New file.
47620         * lib/xstriconv.c: New file.
47621
47622 2006-09-06  Bruno Haible  <bruno@clisp.org>
47623
47624         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47625         lib_..._LDFLAGS.
47626
47627 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47628
47629         * lib/argz_.h: Sync from Libtool.
47630
47631         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
47632                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47633
47634         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
47635
47636 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47637
47638         * modules/trim: New file.
47639
47640 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47641
47642         * lib/trim.h: New file.
47643         * lib/trim.c: New file.
47644
47645 2006-09-05  Bruno Haible  <bruno@clisp.org>
47646
47647         * MODULES.html.sh (String handling): Add trim.
47648
47649 2006-09-04  Karl Berry  <karl@gnu.org>
47650
47651         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
47652         until next release.
47653
47654 2006-09-03  Bruno Haible  <bruno@clisp.org>
47655
47656         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
47657         correctly.
47658
47659 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47660
47661         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
47662         not gl_GETLOADAVG.  Omit unneeded semicolons.
47663         Problems reported by Ralf Wildenhues in
47664         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47665         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
47666         at the end, which is the usual gnulib style.
47667
47668         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
47669         of doing all the work ourselves.
47670         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
47671         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
47672
47673 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47674
47675         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
47676         Problem reported by Ralf Wildenhues in
47677         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47678
47679         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
47680         HAVE_STRUCT_STATFS_F_FSTYPENAME.
47681
47682 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47683
47684         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
47685         yesterday's patch by changing test -n to test -z.
47686
47687 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47688
47689         * modules/getloadavg (Files): Add m4/getloadavg.m4.
47690         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
47691         the former is now obsolescent.
47692
47693         * modules/chdir-long (Depends-on): Add fcntl.
47694
47695 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47696
47697         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
47698         obsolescent, and programs should use gnulib instead.
47699         * m4/getloadavg.m4: New file, with contents taken from Autoconf
47700         but with prefixes changed.
47701
47702 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47703
47704         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
47705         or stdbool.h, because they might not exist while configuring.
47706
47707         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
47708         Don't include unistd.h or limits.h; not needed, since chdir-long.h
47709         does that for us.
47710         (O_DIRECTORY): Remove.
47711
47712 2006-08-31  Eric Blake  <ebb9@byu.net>
47713
47714         * gnulib-tool: Don't let emacs change spaces to TAB.
47715
47716 2006-08-31  Bruno Haible  <bruno@clisp.org>
47717
47718         * gnulib-tool: When calling func_import more than once, do it in a
47719         subshell.
47720         Reported by Eric Blake <ebb9@byu.net>.
47721
47722 2006-08-31  Bruno Haible  <bruno@clisp.org>
47723
47724         * gnulib-tool (nl): Remove variable.
47725         (sed_transform_lib_file): Use more robust test for config-h module.
47726         (func_import): Fix typo in 2006-08-25 patch.
47727
47728 2006-08-31  Bruno Haible  <bruno@clisp.org>
47729
47730         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
47731         specified, augment Makefile.am variables instead of assigning them.
47732
47733 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47734
47735         Work around a bug in both the Linux and SunOS 64-bit kernels:
47736         nanosleep mishandles sleeps for longer than 2**31 seconds.
47737         Problem reported by Frank v Waveren in
47738         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47739         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
47740         Check for nanosleep bug.
47741         (LIB_NANOSLEEP): Append clock_gettime library if needed.
47742
47743 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47744
47745         Work around a bug in both the Linux and SunOS 64-bit kernels:
47746         nanosleep mishandles sleeps for longer than 2**31 seconds.
47747         Problem reported by Frank v Waveren in
47748         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47749         * lib/nanosleep.c (BILLION): New constant.
47750         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
47751         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
47752         implementation.
47753
47754 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47755
47756         * modules/nanosleep (Depends-on): Add gettime.
47757
47758 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47759         and Simon Josefsson  <jas@extundo.com>
47760         and Oskar Liljeblad  <oskar@osk.mine.nu>
47761
47762         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
47763         * gnulib-tool (func_import): New license type 'unmodifiable license
47764         text'.
47765         * modules/fdl: Use it.  Longer description.
47766         * module/gpl, module/lgpl: New files.
47767
47768 2006-08-30  Jim Meyering  <jim@meyering.net>
47769
47770         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
47771         shadowing the parameter.
47772
47773 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47774
47775         Sync from Libtool:
47776
47777         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47778
47779         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
47780         sharing with gnulib.  Report by Eric Blake.
47781
47782 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47783
47784         * modules/isapipe: New file.
47785         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
47786
47787 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47788
47789         * modules/configmake (Makefile.am): Add a comment, and omit
47790         the CONFIGMAKE_ prefix from generated macro names.  Suggested
47791         by Bruno Haible.
47792
47793 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47794
47795         * m4/isapipe.m4: New file.
47796
47797 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47798
47799         * lib/isapipe.c, lib/isapipe.h: New files.
47800
47801 2006-08-29  Jim Meyering  <jim@meyering.net>
47802
47803         * modules/configmake (Makefile.am): Make configmake.h depend on
47804         Makefile.  Otherwise, a stale configmake.h could hang around.
47805
47806 2006-08-29  Eric Blake  <ebb9@byu.net>
47807
47808         * lib/error.c (error_at_line, print_errno_message): Match libc, after
47809         resolution of upstream bug 3044.
47810
47811 2006-08-29  Bruno Haible  <bruno@clisp.org>
47812
47813         * modules/localcharset (Depends-on): Add configmake.
47814         (Makefile.am): Remove setting of LIBDIR through DEFS.
47815
47816 2006-08-29  Bruno Haible  <bruno@clisp.org>
47817
47818         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
47819         defined.
47820
47821 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47822
47823         * modules/fcntl: New file.
47824         * modules/chdir-safer (Depends-on): Add fcntl.
47825         * modules/fts: Likewise.
47826         * modules/mkdir-p: Likewise.
47827
47828         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
47829         This undoes the most recent change, since we're now addressing the
47830         problem in a different way.
47831
47832         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
47833         into output, since the output might be called Makefile.am even
47834         if $makefile_name is something different.
47835         (func_import): Use $makefile_am rather than
47836         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
47837         empty.
47838
47839         * modules/inttypes (Files): Add m4/inttypes-h.m4.
47840
47841 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47842
47843         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
47844         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
47845         recent change to stdint.m4, since we're now addressing the problem in a
47846         different way.
47847
47848 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47849
47850         * m4/fcntl_h.m4: New file.
47851
47852 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47853
47854         * lib/fcntl_.h: New file.
47855         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
47856         the fcntl module.
47857         * lib/dirchownmod.c: Likewise.
47858         * lib/fts.c: Likewise.
47859
47860         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
47861         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
47862         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
47863         just before including <inttypes.h>, to avoid circular inclusion.
47864
47865 2006-08-28  Jim Meyering  <jim@meyering.net>
47866
47867         * doc/visibility.texi: Actually read and correct the grammar of the
47868         sentence affected by yesterday's change.
47869
47870 2006-08-28  Eric Blake  <ebb9@byu.net>
47871
47872         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
47873         needs wrapper.
47874
47875 2006-08-28  Eric Blake  <ebb9@byu.net>
47876
47877         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
47878
47879 2006-08-28  Eric Blake  <ebb9@byu.net>
47880
47881         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
47882
47883 2006-08-28  Bruno Haible  <bruno@clisp.org>
47884
47885         * modules/c-strstr: New file, from GNU gettext.
47886         * MODULES.html.sh (String handling): Add c-strstr.
47887
47888 2006-08-28  Bruno Haible  <bruno@clisp.org>
47889
47890         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
47891         macros.
47892         Reported by Eric Blake.
47893
47894 2006-08-28  Bruno Haible  <bruno@clisp.org>
47895
47896         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
47897         (VASNPRINTF): Return a string of length > INT_MAX without failing.
47898         * lib/vasprintf.c: Include errno.h, limits.h.
47899         (EOVERFLOW): New fallback definition.
47900         (vasprintf): Test here whether the string length is > INT_MAX.
47901         * lib/vsnprintf.c: Include errno.h, limits.h.
47902         (EOVERFLOW): New fallback definition.
47903         (vsnprintf): Fix bug when generated string was too long for the buffer.
47904         Test here whether the string length is > INT_MAX.
47905
47906 2006-08-28  Bruno Haible  <bruno@clisp.org>
47907
47908         * lib/inttypes_.h (SCNX*): Remove definitions.
47909         Reported by Eric Blake.
47910
47911 2006-08-28  Bruno Haible  <bruno@clisp.org>
47912
47913         * lib/c-strstr.h: New file, from GNU gettext.
47914         * lib/c-strstr.c: New file, from GNU gettext.
47915
47916 2006-08-28  Bruno Haible  <bruno@clisp.org>
47917
47918         * gnulib-tool: Reorder some statements.
47919
47920 2006-08-28  Bruno Haible  <bruno@clisp.org>
47921
47922         * gnulib-tool: New option --makefile-name.
47923         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
47924         $makefile_name.
47925         (func_import): Write $makefile_name to the cache file, and read it from
47926         there unless explicitly specified. Use $makefile_name as file name
47927         instead of Makefile.am. Adjust the recommendations accordingly.
47928
47929 2006-08-28  Bruno Haible  <bruno@clisp.org>
47930
47931         * gnulib-tool (func_verify_module): Check against misapplying patch.
47932
47933 2006-08-28  Bruno Haible  <bruno@clisp.org>
47934
47935         * gnulib-tool (func_relativize, func_relconcat): New functions.
47936         Give an error if --local-dir is given with --update.
47937         Remove trailing slashes from $local_gnulib_dir.
47938         (func_import): Store the relativized $local_gnulib_dir in
47939         gnulib-cache.m4, and read it from there if not specified explicitly.
47940
47941 2006-08-28  Bruno Haible  <bruno@clisp.org>
47942
47943         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
47944         is the current directory. Respect also $local_gnulib_dir.
47945
47946 2006-08-28  Bruno Haible  <bruno@clisp.org>
47947             Simon Josefsson  <jas@extundo.com>
47948
47949         BeOS portability.
47950         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
47951
47952 2006-08-27  Jim Meyering  <jim@meyering.net>
47953
47954         * doc/visibility.texi: Remove duplicate word: "pointer".
47955
47956 2006-08-26  Bruno Haible  <bruno@clisp.org>
47957
47958         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
47959         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
47960         (Makefile.am): Create inttypes.h from inttypes_.h.
47961         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
47962
47963         * modules/imaxabs: New file.
47964
47965         * modules/imaxdiv: New file.
47966
47967 2006-08-26  Bruno Haible  <bruno@clisp.org>
47968
47969         * m4/inttypes.m4: New file.
47970         * m4/_inttypes_h.m4: Remove file.
47971         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
47972         PRI_MACROS_BROKEN.
47973         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
47974
47975         * m4/imaxabs.m4: New file.
47976
47977         * m4/imaxdiv.m4: New file.
47978
47979 2006-08-26  Bruno Haible  <bruno@clisp.org>
47980
47981         * lib/inttypes_.h: New file.
47982         * lib/inttypes.h: Remove file.
47983         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
47984
47985         * lib/imaxabs.c: New file.
47986
47987         * lib/imaxdiv.c: New file.
47988
47989 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47990
47991         New config-h module, so that "make" output needn't be cluttered
47992         by -DHAVE_CONFIG_H.
47993         * MODULES.html.sh (Support for building libraries and executables):
47994         Add config-h.
47995         * modules/config-h: New file.
47996         * gnulib-tool (nl, sed_transform_lib_file): New vars.
47997         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
47998         the config-h module is used.
47999
48000         New configmake module, so that "make" output needn't be cluttered
48001         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
48002         * MODULES.html.sh (Support for building libraries and executables):
48003         Add configmake.
48004         * modules/configmake: New file.
48005
48006 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48007
48008         * m4/config-h.m4: New file.
48009
48010 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48011
48012         * config/srclist.txt: Add elisp-comp.
48013
48014 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48015
48016         * MODULES.html.sh (Support for building libraries and executables):
48017         Add elisp-comp.
48018         * build-aux/elisp-comp: New file.
48019         * modules/elisp-comp: New file.
48020
48021 2006-08-24  Bruno Haible  <bruno@clisp.org>
48022
48023         * gnulib-tool (func_create_testdir): Use non-default values of
48024         sourcebase and m4base.
48025
48026 2006-08-24  Bruno Haible  <bruno@clisp.org>
48027
48028         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
48029         HTML structure.
48030
48031 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48032
48033         * modules/openat (Depends-on): Add lchown.
48034
48035 2006-08-23  Bruno Haible  <bruno@clisp.org>
48036
48037         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
48038         of gl_LOCK_EARLY instead of gl_LOCK.
48039
48040 2006-08-23  Bruno Haible  <bruno@clisp.org>
48041
48042         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
48043         on OSF/1 to no.
48044         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
48045
48046 2006-08-23  Bruno Haible  <bruno@clisp.org>
48047
48048         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
48049         as unusable.
48050
48051         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
48052         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
48053         (gl_LOCK): New macro.
48054
48055 2006-08-22  Simon Josefsson  <jas@extundo.com>
48056
48057         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
48058         to md5 module.
48059
48060 2006-08-22  Simon Josefsson  <jas@extundo.com>
48061
48062         * MODULES.html.sh: Add "Support for maintaining and release
48063         projects".
48064
48065         * build-aux/gnupload: New file, from coreutils.
48066
48067 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48068
48069         Avoid the need for AC_LIBSOURCES in m4 macros.
48070         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
48071         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
48072         * modules/check-version (EXTRA_DIST): Add check-version.h.
48073         * modules/crc (EXTRA_DIST): Add crc.h.
48074         * modules/des (EXTRA_DIST): Add des.h.
48075         * modules/gc (EXTRA_DIST): Add gc.h.
48076         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
48077         * modules/getline (EXTRA_DIST): Add getline.h.
48078         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
48079         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
48080         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
48081         * modules/md2 (EXTRA_DIST): Add md2.h.
48082         * modules/md4 (EXTRA_DIST): Add md4.h.
48083         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
48084         * modules/read-file (EXTRA_DIST): Add read-file.h.
48085         * modules/readline (EXTRA_DIST): Add readline.h.
48086         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
48087         rijndael-api-fst.h.
48088
48089 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48090
48091         * m4/rijndael.m4 (gl_ARCFOUR):
48092         * m4/arctwo.m4 (gl_ARCTWO):
48093         * m4/check-version.m4 (gl_CHECK_VERSION):
48094         * m4/crc.m4 (gl_CRC):
48095         * m4/des.m4 (gl_DES):
48096         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
48097         * m4/gc.m4 (gl_GC):
48098         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
48099         * m4/getline.m4 (gl_FUNC_GETLINE):
48100         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
48101         * m4/hmac-md5.m4 (gl_HMAC_MD5):
48102         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
48103         * m4/md2.m4 (gl_MD2):
48104         * m4/md4.m4 (gl_MD4):
48105         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
48106         * m4/read-file.m4 (gl_FUNC_READ_FILE):
48107         * m4/readline.m4 (gl_FUNC_READLINE):
48108         * m4/rijndael.m4 (gl_RIJNDAEL):
48109         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48110         to get the necessary .h files and whatnot.
48111
48112 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48113
48114         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
48115         gnulib rather than the other way around.
48116         * config/srclistvars.sh (COREUTILS): Remove.
48117
48118 2006-08-22  Jim Meyering  <jim@meyering.net>
48119
48120         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
48121
48122         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
48123
48124 2006-08-22  Eric Blake  <ebb9@byu.net>
48125
48126         * modules/regexprops-generic: New file.
48127         * MODULES.html.sh (Support for building documentation): List it.
48128
48129 2006-08-22  Eric Blake  <ebb9@byu.net>
48130
48131         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
48132         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48133         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
48134         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48135
48136 2006-08-22  Bruno Haible  <bruno@clisp.org>
48137
48138         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
48139         and lib_LTLIBRARIES like the other lib_* variables.
48140
48141 2006-08-22  Bruno Haible  <bruno@clisp.org>
48142
48143         * build-aux/x-to-1.in: New file, from GNU gettext.
48144
48145 2006-08-22  Bruno Haible  <bruno@clisp.org>
48146
48147         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
48148         <utmpx.h> exists.
48149
48150 2006-08-22  Bruno Haible  <bruno@clisp.org>
48151
48152         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
48153         <utmpx.h> exists.
48154
48155 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48156
48157         BeOS portability.
48158         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
48159         exist.
48160         Problem reported by Bruno Haible.
48161
48162 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48163
48164         Avoid the need for AC_LIBSOURCES in m4 macros.
48165         * modules/acl (EXTRA_DIST): Add acl.h.
48166         * modules/argmatch (Files): Add m4/argmatch.m4.
48167         (configure.ac): Add gl_ARGMATCH.
48168         (EXTRA_DIST): Renamed from lib_SOURCES, for
48169         consistency with the other modules.  Remove argmatch.c.
48170         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
48171         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
48172         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
48173         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
48174         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
48175         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
48176         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
48177         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
48178         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
48179         * modules/closeout (EXTRA_DIST): Add closeout.h.
48180         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
48181         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
48182         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
48183         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
48184         dirname.h; remove basename.c and stripslash.c.
48185         * modules/exclude (EXTRA_DIST): Add exclude.h.
48186         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
48187         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
48188         * modules/file-type (EXTRA_DIST): Add file-type.h.
48189         * modules/filemode (EXTRA_DIST): Add filemode.h.
48190         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
48191         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48192         * modules/fpending (EXTRA_DIST): Add __fpending.h.
48193         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
48194         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
48195         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
48196         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
48197         * modules/getdate (EXTRA_DIST): Add getdate.c.
48198         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
48199         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
48200         * modules/getpass (EXTRA_DIST): Add getpass.h.
48201         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
48202         * modules/group-member (EXTRA_DIST): Add group-member.h.
48203         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
48204         * modules/hash (EXTRA_DIST): Add hash.h.
48205         * modules/human (EXTRA_DIST): Add human.h.
48206         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
48207         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
48208         * modules/lchown (EXTRA_DIST): Add lchown.h.
48209         * modules/long-options (EXTRA_DIST): Add long-options.h.
48210         * modules/lstat (EXTRA_DIST): Add lstat.h.
48211         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
48212         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
48213         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
48214         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
48215         * modules/memxor (EXTRA_DIST): Add memxor.h.
48216         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
48217         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
48218         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
48219         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
48220         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
48221         * modules/physmem (EXTRA_DIST): Add physmem.h.
48222         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
48223         * modules/posixver (EXTRA_DIST): Add posixver.h.
48224         * modules/quote (EXTRA_DIST): Add quote.h.
48225         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
48226         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
48227         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
48228         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
48229         regex_internal.h regexec.c.
48230         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
48231         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
48232         * modules/same (EXTRA_DIST): Add same.h.
48233         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
48234         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
48235         * modules/savedir (EXTRA_DIST): Add savedir.h.
48236         * modules/sha1 (EXTRA_DIST): Add sha1.h.
48237         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
48238         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
48239         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
48240         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
48241         * modules/strdup (EXTRA_DIST): Add strdup.h.
48242         * modules/strftime (EXTRA_DIST): Add strftime.h.
48243         * modules/strndup (EXTRA_DIST): Add strndup.h.
48244         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
48245         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
48246         * modules/time_r (EXTRA_DIST): Add time_r.h.
48247         * modules/timespec (EXTRA_DIST): Add timespec.h.
48248         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48249         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
48250         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
48251         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
48252         * modules/userspec (EXTRA_DIST): Add userspec.h.
48253         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
48254         * modules/utimens (EXTRA_DIST): Add utimens.h.
48255         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
48256         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
48257         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
48258         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
48259         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
48260         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
48261         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
48262         * modules/yesno (EXTRA_DIST): Add yesno.h.
48263
48264 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48265
48266         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
48267
48268         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
48269         * m4/dev-ino.m4, same-inode.m4: Remove.
48270
48271         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
48272         * m4/acl.m4 (AC_FUNC_ACL):
48273         * m4/backupfile.m4 (gl_BACKUPFILE):
48274         * m4/c-strtod.m4 (gl_C99_STRTOLD):
48275         * m4/canon-host.m4 (gl_CANON_HOST):
48276         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
48277         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
48278         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
48279         * m4/cloexec.m4 (gl_CLOEXEC):
48280         * m4/close-stream.m4 (gl_CLOSE_STREAM):
48281         * m4/closeout.m4 (gl_CLOSEOUT):
48282         * m4/dirfd.m4 (gl_FUNC_DIRFD):
48283         * m4/dirname.m4 (gl_DIRNAME):
48284         * m4/exclude.m4 (gl_EXCLUDE):
48285         * m4/exitfail.m4 (gl_EXITFAIL):
48286         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
48287         * m4/file-type.m4 (gl_FILE_TYPE):
48288         * m4/filemode.m4 (gl_FILEMODE):
48289         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
48290         * m4/fpending.m4 (gl_FUNC_FPENDING):
48291         * m4/fprintftime.m4 (gl_FPRINTFTIME):
48292         * m4/fts.m4 (gl_FUNC_FTS):
48293         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
48294         * m4/getdate.m4 (gl_GETDATE):
48295         * m4/gethrxtime.m4 (gl_GETHRXTIME):
48296         * m4/getpagesize.m4 (gl_GETPAGESIZE):
48297         * m4/getpass.m4 (gl_FUNC_GETPASS):
48298         * m4/gettime.m4 (gl_GETTIME):
48299         * m4/getugroups.m4 (gl_GETUGROUPS):
48300         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
48301         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
48302         * m4/hard-locale.m4 (gl_HARD_LOCALE):
48303         * m4/hash.m4 (gl_HASH):
48304         * m4/idcache.m4 (gl_IDCACHE):
48305         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
48306         * m4/lchown.m4 (gl_FUNC_LCHOWN):
48307         * m4/long-options.m4 (gl_LONG_OPTIONS):
48308         * m4/lstat.m4 (gl_FUNC_LSTAT):
48309         * m4/md5.m4 (gl_MD5):
48310         * m4/memcasecmp.m4 (gl_MEMCASECMP):
48311         * m4/memcoll.m4 (gl_MEMCOLL):
48312         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
48313         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
48314         * m4/memxor.m4 (gl_MEMXOR):
48315         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
48316         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
48317         * m4/modechange.m4 (gl_MODECHANGE):
48318         * m4/mountlist.m4 (gl_MOUNTLIST):
48319         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48320         * m4/openat.m4 (gl_FUNC_OPENAT):
48321         * m4/pathmax.m4 (gl_PATHMAX):
48322         * m4/physmem.m4 (gl_PHYSMEM):
48323         * m4/posixtm.m4 (gl_POSIXTM):
48324         * m4/posixver.m4 (gl_POSIXVER):
48325         * m4/quote.m4 (gl_QUOTE):
48326         * m4/quotearg.m4 (gl_QUOTEARG):
48327         * m4/readtokens.m4 (gl_READTOKENS):
48328         * m4/readutmp.m4 (gl_READUTMP):
48329         * m4/regex.m4 (gl_REGEX):
48330         * m4/safe-read.m4 (gl_SAFE_READ):
48331         * m4/safe-write.m4 (gl_SAFE_WRITE):
48332         * m4/same.m4 (gl_SAME):
48333         * m4/save-cwd.m4 (gl_SAVE_CWD):
48334         * m4/savedir.m4 (gl_SAVEDIR):
48335         * m4/settime.m4 (gl_SETTIME):
48336         * m4/sha1.m4 (gl_SHA1):
48337         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
48338         * m4/stat-macros.m4 (gl_STAT_MACROS):
48339         * m4/stat-time.m4 (gl_STAT_TIME):
48340         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
48341         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
48342         * m4/strdup.m4 (gl_FUNC_STRDUP):
48343         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
48344         * m4/strndup.m4 (gl_FUNC_STRNDUP):
48345         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
48346         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
48347         * m4/time_r.m4 (gl_TIME_R):
48348         * m4/timespec.m4 (gl_TIMESPEC):
48349         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
48350         * m4/unlinkdir.m4 (gl_UNLINKDIR):
48351         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
48352         * m4/userspec.m4 (gl_USERSPEC):
48353         * m4/utimecmp.m4 (gl_UTIMECMP):
48354         * m4/utimens.m4 (gl_UTIMENS):
48355         * m4/xalloc.m4 (gl_XALLOC):
48356         * m4/xgetcwd.m4 (gl_XGETCWD):
48357         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
48358         * m4/xreadlink.m4 (gl_XREADLINK):
48359         * m4/xstrtod.m4 (gl_XSTRTOD):
48360         * m4/yesno.m4 (gl_YESNO):
48361         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48362         to get the necessary .h files and whatnot.
48363
48364 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
48365             Bruno Haible  <bruno@clisp.org>
48366
48367         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
48368         /bin/sh understanding of '!' conditional negation.
48369
48370 2006-08-21  Jim Meyering  <jim@meyering.net>
48371
48372         * modules/openat (Depends-on): Really alphabetize.
48373
48374         * modules/acl (Depends-on): Add error and quote.
48375
48376         * check-module (find_included_lib_files): Add at-func.c to the
48377         ok-to-include-more-than-once white list.
48378
48379         * modules/openat (Depends-on): Add lstat.  Alphabetize.
48380
48381 2006-08-21  Bruno Haible  <bruno@clisp.org>
48382
48383         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48384         Emit a pkgdata_DATA variable only if some snippets add contents to it.
48385         Reported by Martin Lambers <marlam@marlam.de>.
48386
48387 2006-08-21  Bruno Haible  <bruno@clisp.org>
48388
48389         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
48390         specify an installation location, don't emit a noinst_LIBRARIES or
48391         noinst_LTLIBRARIES assignment.
48392
48393 2006-08-21  Bruno Haible  <bruno@clisp.org>
48394
48395         BeOS portability.
48396         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
48397         BeOS has mbrtowc() but no <wctype.h>.
48398
48399 2006-08-21  Bruno Haible  <bruno@clisp.org>
48400
48401         BeOS portability.
48402         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
48403         exist.
48404
48405 2006-08-21  Bruno Haible  <bruno@clisp.org>
48406
48407         BeOS portability.
48408         * lib/mbchar.h: Include <wctype.h> only if it exists.
48409
48410 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48411
48412         Remove files that are no longer needed by their respective modules.
48413         * m4/obstack.m4: Remove.
48414         * m4/strerror_r.m4: Remove.
48415         * m4/uint32_t.m4: Remove.
48416         * m4/uintptr_t.m4: Remove.
48417         * m4/ullong_max.m4: Remove.
48418         * m4/xstrtoimax.m4: Remove.
48419         * m4/xstrtoumax.m4: Remove.
48420
48421         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
48422         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
48423         dependencies now capture this.
48424
48425         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
48426         Do not use AC_LIBSOURCES, since gnulib modules now do this.
48427         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
48428         * m4/human.m4 (gl_HUMAN): Likewise.
48429         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
48430         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
48431
48432         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
48433
48434         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
48435         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
48436         stdint.
48437         * m4/human.m4 (gl_HUMAN): Likewise.
48438         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
48439         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
48440         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48441         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48442         * m4/xstrtol (gl_XSTRTOL): Likewise.
48443
48444         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
48445         AC_TYPE_LONG_LONG_INT.
48446         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48447         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
48448         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
48449         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48450
48451         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
48452         on stdbool.
48453
48454         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
48455         (gl_PREREQ_XSTRTOUL): Remove.
48456
48457         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
48458
48459         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
48460         mode.
48461
48462 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48463
48464         Add and change modules to make it easier for coreutils to use
48465         gnulib-tool.
48466         * modules/backupfile (Files): Remove m4/d-ino.m4.
48467         (Depends-on): Add d-ino.
48468         * modules/cycle-check (Depends-on): Add stdint.
48469         (lib_SOURCES): Add cycle-check.h.
48470         * modules/d-ino: New module.
48471         * modules/d-type: New module.
48472         * modules/error (Files): Remove m4/strerror_r.m4.
48473         * modules/filemode (Files): Add m4/st_dm_mode.m4.
48474         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
48475         m4/inttypes_h.m4, m4/uintmax_t.m4.
48476         (Depends-on): Add stdint.
48477         (lib_SOURCES): Add fsusage.h.
48478         * modules/getcwd (Files): Remove d-ino.m4.
48479         (Depends-on): Add d-ino.
48480         * modules/getndelim2 (Depends-on): Add stdint.
48481         * modules/glob (Files): Remove m4/d-type.m4.
48482         (Depends-on): Add d-type.
48483         * modules/host-os: New module.
48484         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
48485         m4/inttypes_h.m4, m4/uintmax_t.m4.
48486         * Depends-on: Add stdint.
48487         (lib_SOURCES): Add human.h.
48488         * modules/inttostr (Files): Remove m4/intmax_t.m4,
48489         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
48490         m4/uintmax_t.m4, m4/ulonglong.m4.
48491         (Depends-on): Add stdint.
48492         (EXTRA_DIST): Add inttostr.h.
48493         * modules/lchmod: New module.
48494         * modules/link-follow: New module.
48495         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
48496         (Depends-on): Add lchmod.
48497         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
48498         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
48499         (Depends-on): Add stdint.
48500         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
48501         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
48502         (Depends-on): Add stdint.
48503         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
48504         * modules/perl: New module.
48505         * modules/regex (Depends-on): Add stdint.
48506         * modules/rmdir-errno: New module.
48507         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48508         m4/intmax_t.m4.
48509         (Depends-on): Add stdint.
48510         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48511         m4/uintmax_t.m4.
48512         (Depends-on): Add stdint.
48513         * modules/unlink-busy: New module.
48514         * modules/utimecmp (Depends-on): Add stdint.
48515         * modules/uptime: New module.
48516         * modules/winsz-ioctl: New module.
48517         * modules/winsz-termios: New module.
48518         * modules/xnanosleep (Depends-on): Add nanosleep.
48519         * modules/ullong_max: Remove.
48520         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
48521         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
48522         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
48523         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
48524         (Depends-on): Add inttypes.
48525         (lib_SOURCES): Add xstrtol.h.
48526         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
48527         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
48528         * MODULES.html.sh: Move 'assert' into the assert section.
48529         Move 'dummy' into the linking section.
48530         Remove ullong_max.
48531         Add section for compatibility checks for POSIX:2001 functions,
48532         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
48533         winsz-ioctl, and winsz-termios into it.
48534         Add lchmod.
48535         Add top-level Misc section and put host-os, perl, and uptime
48536         into it.
48537
48538 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48539
48540         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
48541         now assume the stdint module.  Do not include inttypes.h.
48542         * lib/fsusage.h: Likewise.
48543         * lib/getndelim2.c: Likewise.
48544         * lib/human.h: Likewise.
48545         * lib/inttostr.h: Likewise.
48546         * lib/obstack.c: Likewise.
48547         * lib/regex_internal.h: Likewise.
48548         * lib/tempname.c: Likewise.
48549         * lib/utimecmp.c: Likewise.
48550         * lib/xstrtol.h: Likewise.
48551
48552         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
48553
48554         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
48555         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
48556         * lib/xtime.h: Likewise.
48557
48558 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48559
48560         * modules/openat (Files): Add lib/fchmodat.c.
48561         Fixes problem reported by Jay Youngman.
48562
48563 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48564
48565         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
48566         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
48567
48568 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
48569             Bruno Haible  <bruno@clisp.org>
48570
48571         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
48572         and is a script that invokes bison. Tighten the code. Add comments.
48573
48574 2006-08-18  Jim Meyering  <jim@meyering.net>
48575
48576         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
48577         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
48578         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
48579         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
48580
48581 2006-08-18  Bruno Haible  <bruno@clisp.org>
48582
48583         * modules/bison-i18n: New file.
48584         * MODULES.html.sh (Internationalization functions): Add it.
48585
48586 2006-08-18  Bruno Haible  <bruno@clisp.org>
48587
48588         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
48589         sys/statvfs.h. When getmntinfo was found, check its declaration and
48590         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
48591
48592 2006-08-18  Bruno Haible  <bruno@clisp.org>
48593
48594         * m4/bison-i18n.m4: New file, from bison.
48595
48596 2006-08-18  Bruno Haible  <bruno@clisp.org>
48597
48598         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
48599         (ME_DUMMY): Treat "kernfs" as a dummy.
48600         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
48601
48602 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48603
48604         Update from coreutils.
48605
48606         2006-08-15  Jim Meyering  <jim@meyering.net>
48607
48608         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
48609
48610         2006-01-17  Jim Meyering  <jim@meyering.net>
48611
48612         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
48613
48614         2006-01-11  Jim Meyering  <jim@meyering.net>
48615
48616         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
48617         Check for the lchmod function.
48618
48619 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48620
48621         Update from coreutils.
48622
48623         * lib/__fpending.h: Add copyright notice.
48624         * lib/fprintftime.h: Likewise.
48625         * lib/savedir.c: Use (C) in copyright notice.
48626         * lib/savedir.h: Likewise.
48627
48628         2006-08-15  Jim Meyering  <jim@meyering.net>
48629
48630         * lib/at-func.c: New file, with the logic of all emulated at-functions.
48631         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
48632         in support of the EXPECTED_ERRNO macro.
48633         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
48634         definitions.  Instead, define the appropriate symbols and include
48635         "at-func.c".
48636         * lib/mkdirat.c (mkdirat): Likewise.
48637         * lib/fchmodat.c (fchmodat): Likewise.
48638         (ENOSYS): Remove definition.
48639         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
48640         it.  Don't include "unistd--.h" -- it wasn't ever used.
48641
48642         2006-01-17  Jim Meyering  <jim@meyering.net>
48643
48644         Rewrite fts.c not to change the current working directory,
48645         by using openat, fstatat, fdopendir, etc..
48646
48647         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
48648         (HAVE_OPENAT_SUPPORT): Define.
48649         [_LIBC] (fchdir): Don't undef or define; no longer used.
48650         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
48651         Now, this `function' always succeeds, and consumes its file descriptor
48652         parameter -- so callers must not close such FDs.  Update callers.
48653         (diropen_fd, opendirat, cwd_advance_fd): New functions.
48654         (diropen): Add parameter, SP.  Adjust all callers.
48655         Implement using diropen_fd, rather than open.
48656         (fts_open): Initialize new member, fts_cwd_fd.
48657         Remove fts_rft-setting code.
48658         (fts_close): Close fts_cwd_fd, if necessary.
48659         (__opendir2): Define in terms of opendir or opendirat,
48660         depending on whether the FST_NOCHDIR flag is set.
48661         (fts_build): Since fts_safe_changedir consumes its FD, and since
48662         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
48663         and close the dup'd file descriptor upon failure.
48664         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
48665         (fts_safe_changedir): Tweak semantics to reflect that this function
48666         now calls cwd_advance_fd and hence consumes its FD argument.
48667         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
48668         [struct FTS] (fts_rft): Remove now-unused member.
48669         [struct FTS] (fts_cycle.state): Improve comment.
48670
48671         * lib/openat.c (openat_needs_fchdir): New function.
48672         * lib/openat.h (openat_needs_fchdir): Declare it.
48673
48674 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48675
48676         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
48677         Problem and fix reported by Pádraig Brady in
48678         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
48679
48680 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48681
48682         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
48683
48684 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48685
48686         * lib/memcoll.c (memcoll): Optimize for the common case where the
48687         arguments are bytewise equal.
48688
48689 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48690
48691         * doc/regexprops-generic.texi: Add a copyright notice.
48692
48693 2006-08-15  Bruno Haible  <bruno@clisp.org>
48694
48695         * modules/tmpdir (License): Change to LGPL.
48696
48697 2006-08-15  Bruno Haible  <bruno@clisp.org>
48698
48699         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
48700         module.
48701
48702 2006-08-14  Simon Josefsson  <jas@extundo.com>
48703
48704         * config/srclist.txt: Add gnupload.
48705
48706 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48707
48708         Change copyright notice from LGPL 2 to GPL 2, since that's the
48709         standard form used in the gnulib repository.
48710         * tests/test-lock.c: Likewise.
48711         * tests/test-stdint.c: Likewise.
48712         * tests/test-tls.c: Likewise.
48713
48714         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
48715         prelude-manager.  User shorter URLs for GNU projects, without '?'.
48716         Add copyright notice.
48717
48718         * check-module: Add copyright notice.  Output a copyright
48719         notice if "--version" is specified.
48720         * modules/COPYING: New file.
48721         * tests/test-getaddrinfo.c: Add copyright notice.
48722         * tests/test-verify.c: Likewise.
48723
48724 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48725
48726         Change copyright notice from LGPL 2 to GPL 2, since that's the
48727         standard form used in the gnulib repository.
48728         * lib/lock.c: LGPL -> GPL.
48729         * lib/lock.h: Likewise.
48730         * lib/strnlen1.c: Likewise.
48731         * lib/strnlen1.h: Likewise.
48732         * lib/tls.c: Likewise.
48733         * lib/tls.h: Likewise.
48734         * lib/tmpdir.c: Likewise.
48735
48736         * lib/TODO: Remove; this belongs only in coreutils.
48737
48738 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48739
48740         Add copyright notices to long-enough files that lack them, since
48741         otherwise the files aren't clearly free.  Use the same notice that
48742         getdate.texi already uses.
48743         * doc/alloca-opt.texi: Add copyright notice.
48744         * doc/alloca.texi: Likewise.
48745         * doc/ctime.texi: Likewise.
48746         * doc/functions.texi: Likewise.
48747         * doc/gcd.texi: Likewise.
48748         * doc/gnulib-tool.texi: Likewise.
48749         * doc/inet_ntoa.texi: Likewise.
48750         * doc/visibility.texi: Likewise.
48751
48752         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
48753         * doc/quote.texi: Add copyright notice.
48754
48755         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
48756         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
48757         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
48758         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
48759         is now obsolete, and give a pointer to the Sun list.
48760         Add copyright notice.
48761
48762 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48763
48764         * config/srclistvars.sh: Add copyright notice.
48765
48766 2006-08-14  Eric Blake  <ebb9@byu.net>
48767
48768         Import the following change from libc:
48769
48770         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
48771
48772         Upstream bug 2997.
48773         * lib/misc/error.c: Add space between program name and message if file
48774         name is missing.
48775
48776 2006-08-12  Karl Berry  <karl@gnu.org>
48777
48778         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
48779         remove, these originate in gnulib now.
48780
48781 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48782
48783         * doc/Makefile (standards.info standards.html standards.dvi):
48784         Also depend on make-stds.texi.
48785
48786 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48787
48788         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
48789         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
48790
48791         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
48792         in wchar_t.  Problem reported by Eric Blake.
48793
48794         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
48795         LEN is smaller than SIZE.  Suggested by Bruno Haible.
48796         Also, help the compiler to keep LEN in a register.
48797
48798 2006-08-11  Eric Blake  <ebb9@byu.net>
48799
48800         * users.txt: Sort.  Add tar.
48801
48802 2006-08-11  Bruno Haible  <bruno@clisp.org>
48803
48804         * users.txt: New file.
48805
48806 2006-08-11  Bruno Haible  <bruno@clisp.org>
48807
48808         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
48809         before <wchar.h>. Needed for OSF/1 and BSD/OS.
48810
48811 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48812
48813         * modules/snprintf (Depends-on): Remove minmax.
48814         (Maintainer): Add self and Bruno.
48815
48816 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48817
48818         * lib/.cppi-disable: Add snprintf.h, socket_.h.
48819         * lib/snprintf.c: Include <errno.h> and <limits.h>.
48820         (EOVERFLOW): Define if the system does not.
48821         Do not include "minmax.h"; it wasn't used.
48822         (snprintf): Don't assume size_t promotes to an unsigned type.
48823         Fix bug when generated string was too long for the buffer: the
48824         buffer's contents are supposed to be the initial prefix of the
48825         output.  Don't assume vasnprintf returns EOVERFLOW if the size
48826         exceeds INT_MAX; do the check ourselves.
48827
48828         Import the following changes from libc:
48829
48830         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
48831
48832         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
48833         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
48834         set wc to the byte which couldn't be converted.
48835         (re_string_reconstruct): Don't clear valid_raw_len before calling
48836         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
48837         tip_context using re_string_context_at.
48838
48839         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
48840
48841         * lib/posix/regex.h: g++ still cannot handled [restrict].
48842
48843         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
48844
48845         * lib/posix/regex.h: Remove special handling for VMS.
48846
48847 2006-08-10  Jim Meyering  <jim@meyering.net>
48848
48849         * modules/same-inode: New module.
48850         * modules/dev-ino: New module.
48851         * modules/cycle-check: Depend on these modules, rather than simply
48852         including their .h files.
48853         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
48854         required via m4/cycle-check.m4.
48855         * modules/same: Depend on new same-inode module, rather than
48856         including same-inode.h.
48857         * modules/chdir-safer: New file.
48858
48859         * modules/chown (Depends-on): Add stat-macros.
48860
48861 2006-08-10  Jim Meyering  <jim@meyering.net>
48862
48863         * m4/cycle-check.m4: New file.
48864         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
48865         * m4/dev-ino.m4, m4/same-inode.m4: New files.
48866
48867 2006-08-10  Eric Blake  <ebb9@byu.net>
48868
48869         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
48870         in from original proposal.
48871
48872 2006-08-10  Eric Blake  <ebb9@byu.net>
48873         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48874
48875         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
48876         namespace.
48877
48878 2006-08-10  Bruno Haible  <bruno@clisp.org>
48879
48880         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
48881         as well.
48882
48883 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48884
48885         Sync from coreutils.
48886
48887         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
48888
48889         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
48890         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
48891
48892 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48893
48894         * modules/restrict: Remove; no longer needed now that we assume
48895         Autoconf 2.59 or later.
48896         * MODULES.html.sh: Remove 'restrict'.
48897         * modules/argp (Depends-on): Remove 'restrict'.
48898         * modules/base64 (Depends-on): Likewise.
48899         * modules/gc (Depends-on): Likewise.
48900         * modules/getaddrinfo (Depends-on): Likewise.
48901         * modules/glob (Depends-on): Likewise.
48902         * modules/inet_ntop (Depends-on): Likewise.
48903         * modules/inet_pton (Depends-on): Likewise.
48904         * modules/memxor (Depends-on): Likewise.
48905         * modules/regex (Depends-on): Likewise.
48906         * modules/strtok_r (Depends-on): Likewise.
48907         * modules/time_r (Depends-on): Likewise.
48908
48909 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48910
48911         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
48912         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
48913         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48914         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
48915         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
48916         * m4/memxor.m4 (gl_MEMXOR): Likewise.
48917         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
48918         gl_C_RESTRICT replaced by AC_C_RESTRICT.
48919
48920         Merge from coreutils.
48921         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
48922         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
48923         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48924         * m4/time_r.m4 (gl_TIME_R): Likewise.
48925
48926 2006-08-09  Karl Berry  <karl@gnu.org>
48927
48928         * config/srclist.txt: no more gettext-tools, per Bruno.
48929
48930 2006-08-08  Eric Blake  <ebb9@byu.net>
48931
48932         * modules/verror: New module.
48933         * MODULES.html.sh: Document it.
48934
48935 2006-08-08  Eric Blake  <ebb9@byu.net>
48936
48937         * lib/verror.h, lib/verror.c: New files.
48938
48939 2006-08-08  Eric Blake  <ebb9@byu.net>
48940
48941         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
48942         verror_at_line output complies with GNU Coding Standards even when
48943         file is NULL.
48944
48945 2006-08-07  Bruno Haible  <bruno@clisp.org>
48946
48947         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
48948         versions of AIX.
48949         Reported by Ralf Wildenhues.
48950
48951 2006-08-07  Bruno Haible  <bruno@clisp.org>
48952
48953         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
48954         in an AC_DEFUN. Needed so that the autoconf snippets can use
48955         AC_REQUIRE.
48956
48957 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48958
48959         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48960         Initialize pkgdata_DATA.
48961         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
48962         overriding it.
48963
48964 2006-08-06  Eric Blake  <ebb9@byu.net>
48965
48966         * lib/error.h: Fold in some upstream changes from glibc.
48967         * lib/error.c: Likewise.
48968
48969 2006-08-04  Bruno Haible  <bruno@clisp.org>
48970
48971         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48972         Make the mostlyclean-local rule depend on mostlyclean-generic.
48973         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
48974
48975 2006-07-31  Bruno Haible  <bruno@clisp.org>
48976
48977         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
48978         <stdlib.h>, <string.h>.
48979
48980 2006-07-30  Bruno Haible  <bruno@clisp.org>
48981
48982         * modules/readlink (License): Change to LGPL.
48983
48984 2006-07-30  Bruno Haible  <bruno@clisp.org>
48985
48986         * modules/javaversion (Makefile.am): Distribute javaversion.java and
48987         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
48988         set PKGDATADIR to point to it.
48989
48990 2006-07-30  Bruno Haible  <bruno@clisp.org>
48991
48992         * modules/csharpexec (configure.ac): Comment out macro invocation.
48993         * modules/javaexec (configure.ac): Likewise.
48994         * modules/javacomp-script (configure.ac): Likewise.
48995
48996         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
48997
48998 2006-07-30  Bruno Haible  <bruno@clisp.org>
48999
49000         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
49001         linked-list.
49002
49003 2006-07-30  Bruno Haible  <bruno@clisp.org>
49004
49005         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
49006
49007 2006-07-30  Bruno Haible  <bruno@clisp.org>
49008
49009         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49010         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
49011         get removed.
49012
49013 2006-07-29  Bruno Haible  <bruno@clisp.org>
49014
49015         Make it possible for gnulib-tool to work with locally modified or
49016         augmented gnulib repositories.
49017         * gnulib-tool (func_usage): Document --local-dir option.
49018         (local_gnulib_dir): New variable.
49019         Handle --local-dir option.
49020         (func_lookup_file): New function.
49021         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
49022         (func_get_description, func_get_filelist, func_get_description,
49023         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
49024         func_get_automake_snippet, func_get_include_directive,
49025         func_get_license, func_get_maintainer): Use func_lookup_file.
49026         (func_import, func_create_testdir): Use func_lookup_file.
49027
49028 2006-07-29  Bruno Haible  <bruno@clisp.org>
49029
49030         * modules/setenv (Depends-on): Add unistd.
49031
49032 2006-07-29  Bruno Haible  <bruno@clisp.org>
49033
49034         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
49035
49036 2006-07-29  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
49039
49040 2006-07-29  Bruno Haible  <bruno@clisp.org>
49041
49042         * gnulib-tool (import, update): If there is no Makefile.am, look at
49043         aclocal.m4, instead of bailing out.
49044
49045 2006-07-29  Bruno Haible  <bruno@clisp.org>
49046
49047         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
49048         Categorize the options by when they are useful.
49049
49050 2006-07-29  Bruno Haible  <bruno@clisp.org>
49051
49052         * gnulib-tool (func_usage): Document option --no-libtool.
49053         Handle option --no-libtool.
49054         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
49055         for changed semantics of $libtool variable.
49056         (func_import): Likewise. If libtool is not used, show this through
49057         an option --no-libtool.
49058         (func_create_testdir): Update.
49059
49060 2006-07-29  Bruno Haible  <bruno@clisp.org>
49061
49062         * gnulib-tool (func_import): Extend error message about missing
49063         --doc-base.
49064
49065 2006-07-29  Bruno Haible  <bruno@clisp.org>
49066
49067         * gnulib-tool (func_import): Don't create the $docbase directory if
49068         there is no file to store there.
49069
49070 2006-07-29  Bruno Haible  <bruno@clisp.org>
49071
49072         * gnulib-tool (autoconf_minversion): If a --dir option is given and
49073         relevant, look for configure.ac there, not in the current directory.
49074         Also use a simple search for AC_PREREQ, not "autoconf --trace".
49075
49076 2006-07-29  Bruno Haible  <bruno@clisp.org>
49077
49078         * gnulib-tool (SORT): New variable.
49079         (func_usage): Undocument --assume-autoconf option.
49080         Remove --assume-autoconf option handling.
49081         (autoconf_minversion): Determine from the contents of configure.ac.
49082         (func_import): Remove autoconf_minversion handling.
49083         Suggested by Eric Blake.
49084
49085 2006-07-29  Bruno Haible  <bruno@clisp.org>
49086
49087         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
49088
49089 2006-07-29  Bruno Haible  <bruno@clisp.org>
49090
49091         * config/srclist.txt (*setenv.[ch]): Remove rules.
49092
49093 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49094
49095         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
49096
49097 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49098
49099         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
49100         arpa/inet.h.
49101
49102 2006-07-28  Simon Josefsson  <jas@extundo.com>
49103
49104         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
49105         * modules/inet_pton (Depends-on): Likewise.
49106
49107 2006-07-28  Simon Josefsson  <jas@extundo.com>
49108
49109         * m4/netinet_in_h.m4: New file.
49110
49111 2006-07-28  Simon Josefsson  <jas@extundo.com>
49112
49113         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
49114         #include's.
49115
49116 2006-07-28  Simon Josefsson  <jas@extundo.com>
49117
49118         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
49119         #include's.
49120
49121 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
49122
49123         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
49124         setgid on directories only if they set these bits.
49125         * lib/modechange.h: Remove obsolete comment about masks.
49126
49127 2006-07-28  Eric Blake  <ebb9@byu.net>
49128
49129         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
49130         macro expansion.
49131
49132 2006-07-28  Bruno Haible  <bruno@clisp.org>
49133
49134         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
49135
49136 2006-07-28  Bruno Haible  <bruno@clisp.org>
49137
49138         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
49139
49140 2006-07-28  Bruno Haible  <bruno@clisp.org>
49141
49142         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49143         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49144         Define fallbacks.
49145         Avoids link error on FreeBSD 4.x.
49146         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49147
49148         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
49149         encoding.
49150         * lib/mbswidth.c (iswcntrl): Likewise.
49151
49152 2006-07-27  Bruno Haible  <bruno@clisp.org>
49153
49154         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
49155         test.
49156
49157 2006-07-27  Bruno Haible  <bruno@clisp.org>
49158
49159         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
49160         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
49161         defined.
49162
49163 2006-07-26  Eric Blake  <ebb9@byu.net>
49164
49165         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
49166
49167 2006-07-26  Eric Blake  <ebb9@byu.net>
49168
49169         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
49170         like mingw that lack mkstemp.
49171         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
49172         avoid compilation warning on mingw.
49173
49174 2006-07-26  Bruno Haible  <bruno@clisp.org>
49175
49176         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
49177         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
49178         INT_FAST*_MIN, INTPTR_MIN.
49179
49180 2006-07-25  Bruno Haible  <bruno@clisp.org>
49181
49182         * modules/version-etc (Depends-on): Add stdarg.
49183
49184 2006-07-25  Bruno Haible  <bruno@clisp.org>
49185
49186         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
49187         complex commands.
49188
49189 2006-07-25  Bruno Haible  <bruno@clisp.org>
49190
49191         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
49192         defined in <stdarg.h> or config.h.
49193
49194 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49195
49196         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
49197         (gl_STDIO_SAFER): Remove.
49198
49199 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49200
49201         * MODULES.html.sh (File stream based Input/Output):
49202         Add fopen-safer, tmpfile-safer; remove stdio-safer.
49203         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
49204         * modules/fopen-safer, modules/tmpfile-safer: New files.
49205         * modules/stdio-safer: Remove.
49206
49207 2006-07-24  Bruno Haible  <bruno@clisp.org>
49208
49209         * modules/tmpdir: New file.
49210         * MODULES.html.sh (File system functions): Add it.
49211
49212 2006-07-24  Bruno Haible  <bruno@clisp.org>
49213
49214         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
49215         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
49216
49217 2006-07-24  Bruno Haible  <bruno@clisp.org>
49218
49219         * modules/clean-temp: New file.
49220
49221 2006-07-24  Bruno Haible  <bruno@clisp.org>
49222
49223         * m4/tmpdir.m4: New file, from GNU gettext.
49224
49225 2006-07-24  Bruno Haible  <bruno@clisp.org>
49226
49227         * lib/tmpdir.h: New file, from GNU gettext.
49228         * lib/tmpdir.c: New file, from GNU gettext.
49229
49230 2006-07-24  Bruno Haible  <bruno@clisp.org>
49231
49232         * lib/clean-temp.h: New file, from GNU gettext.
49233         * lib/clean-temp.c: New file, from GNU gettext.
49234
49235 2006-07-23  Eric Blake  <ebb9@byu.net>
49236
49237         * modules/stdio-safer (Files): Add tmpfile-safer.c.
49238         (Depends-on): Add binary-io.
49239
49240 2006-07-23  Eric Blake  <ebb9@byu.net>
49241
49242         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
49243
49244 2006-07-23  Eric Blake  <ebb9@byu.net>
49245
49246         * lib/tmpfile-safer.c: New file.
49247         * lib/stdio-safer.h (fopen_safer): Add prototype.
49248         * lib/stdio--.h (tmpfile): Make safer.
49249
49250 2006-07-23  Bruno Haible  <bruno@clisp.org>
49251
49252         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
49253         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
49254         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
49255         gl_linked_remove_at): Use it.
49256
49257 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49258         and Simon Josefsson <jas@extundo.com>
49259
49260         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
49261
49262         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
49263
49264 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49265
49266         * modules/close-stream: New file.
49267         * modules/closeout (Description): Make it clear that it exits
49268         with a diagnostic on error.
49269         (Depends-on): Add close-stream.  Remove fpending, stdbool.
49270         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
49271
49272 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49273
49274         * m4/close-stream.m4: New file.
49275
49276 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49277
49278         * lib/close-stream.c, lib/close-stream.h: New files.
49279
49280 2006-07-22  Bruno Haible  <bruno@clisp.org>
49281
49282         Merge from GNU gettext 0.15.
49283
49284         2006-05-01  Bruno Haible  <bruno@clisp.org>
49285
49286                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
49287
49288         2006-07-22  Bruno Haible  <bruno@clisp.org>
49289
49290                 * modules/javaversion: New file.
49291                 * MODULES.html.sh (Java): Add javaversion.
49292
49293         2006-03-12  Bruno Haible  <bruno@clisp.org>
49294
49295                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
49296
49297         2005-12-04  Bruno Haible  <bruno@clisp.org>
49298
49299                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
49300                 (untested).
49301
49302         2006-06-21  Bruno Haible  <bruno@clisp.org>
49303
49304                 Avoid warnings from recent versions of mcs.
49305                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
49306                 -o, -L, -r any more. Use options documented since mcs-1.0
49307                 instead. Similarly for -g.
49308
49309         2005-12-04  Bruno Haible  <bruno@clisp.org>
49310
49311                 * build-aux/csharpcomp.sh.in: Suffix for resources is
49312                 .resources, not .resource.
49313
49314         2005-07-09  Bruno Haible  <bruno@clisp.org>
49315
49316                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
49317                 add a .dll suffix.
49318                 Reported by Mark Junker <mjscod@gmx.de>.
49319
49320         2006-07-22  Bruno Haible  <bruno@clisp.org>
49321
49322                 * modules/gettext: Upgrade to gettext-0.15.
49323                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
49324                 m4/visibility.m4.
49325                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
49326
49327 2006-07-22  Bruno Haible  <bruno@clisp.org>
49328
49329         Merge from GNU gettext 0.15.
49330
49331         2006-03-25  Bruno Haible  <bruno@clisp.org>
49332
49333                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
49334
49335         2006-07-21  Bruno Haible  <bruno@clisp.org>
49336
49337                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
49338                 "1.1".
49339
49340         2006-05-09  Bruno Haible  <bruno@clisp.org>
49341
49342                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
49343                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
49344                 for the conftestver execution.
49345
49346         2006-05-01  Bruno Haible  <bruno@clisp.org>
49347
49348                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
49349                 optional target-version argument. Verify that the compiler
49350                 groks source of the specified source-version, or add -source
49351                 option as necessary. Verify that the compiler produces
49352                 bytecode in the specified target-version, or add -target and
49353                 -source options as necessary. Make the result of the test
49354                 available as variable CONF_JAVAC. Also log error output in
49355                 config.log.
49356
49357         2006-03-11  Bruno Haible  <bruno@clisp.org>
49358
49359                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
49360
49361         2006-05-09  Bruno Haible  <bruno@clisp.org>
49362
49363                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
49364                 CLASSPATH_SEPARATOR to a semicolon.
49365
49366         2006-03-12  Bruno Haible  <bruno@clisp.org>
49367
49368                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
49369                 available as variable CONF_JAVA, for subsequent autoconf
49370                 tests. Also log error output in config.log.
49371
49372         2006-07-19  Bruno Haible  <bruno@clisp.org>
49373
49374                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
49375                 that getline works on glibc2 systems. Needed to avoid trouble
49376                 in relocatable.c.
49377                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
49378
49379         2005-12-04  Bruno Haible  <bruno@clisp.org>
49380
49381                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
49382                 launcher (untested).
49383
49384         2005-12-04  Bruno Haible  <bruno@clisp.org>
49385
49386                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
49387
49388         2006-07-22  Bruno Haible  <bruno@clisp.org>
49389
49390                 * gettext.m4: Update from GNU gettext-0.15.
49391                 * nls.m4: Likewise.
49392                 * po.m4: Likewise.
49393                 * inttypes-pri.m4: Likewise.
49394                 * inttypes-h.m4: Renamed from inttypes.m4.
49395                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
49396
49397 2006-07-22  Bruno Haible  <bruno@clisp.org>
49398
49399         Merge from GNU gettext 0.15.
49400
49401         2005-07-05  Bruno Haible  <bruno@clisp.org>
49402
49403                 * printf-args.c (printf_fetchargs): Work around broken
49404                 definition of wint_t on mingw.
49405
49406         2005-02-12  Bruno Haible  <bruno@clisp.org>
49407
49408                 * xallocsa.h: Add extern "C" for C++.
49409
49410         2006-05-17  Bruno Haible  <bruno@clisp.org>
49411
49412                 Cygwin portability.
49413                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
49414
49415         2006-04-30  Bruno Haible  <bruno@clisp.org>
49416
49417                 * progreloc.c: Include <mach-o/dyld.h> if available.
49418                 (find_executable): Use _NSGetExecutablePath when possible.
49419
49420         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49421
49422                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
49423                 function.
49424
49425         2005-12-29  Bruno Haible  <bruno@clisp.org>
49426
49427                 * progreloc.c (set_program_name_and_installdir): Fix
49428                 compilation error.
49429
49430         2005-12-04  Bruno Haible  <bruno@clisp.org>
49431
49432                 Cygwin portability.
49433                 * progreloc.c: Include <windows.h> also on Cygwin.
49434                 (find_executable): Add support for Cygwin.
49435                 (set_program_name_and_installdir): Handle also platforms with
49436                 nonempty EXEEXT.
49437
49438         2006-07-11  Bruno Haible  <bruno@clisp.org>
49439
49440                 * javacomp.c: Fix a comment.
49441                 Reported by Jim Meyering.
49442
49443         2006-04-30  Bruno Haible  <bruno@clisp.org>
49444
49445                 * javacomp.h (compile_java_class): Add source_version,
49446                 target_version arguments.
49447                 * javacomp.c: Rewritten to choose only a compiler that
49448                 respects the specified source_version and target_version.
49449
49450         2006-06-27  Bruno Haible  <bruno@clisp.org>
49451
49452                 Assume correct S_ISDIR macro.
49453                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
49454
49455         2006-07-22  Bruno Haible  <bruno@clisp.org>
49456
49457                 * javaversion.h: New file, from GNU gettext.
49458                 * javaversion.c: New file, from GNU gettext.
49459                 * javaversion.java: New file, from GNU gettext.
49460                 * javaversion.class: New file, from GNU gettext.
49461
49462         2006-05-17  Bruno Haible  <bruno@clisp.org>
49463
49464                 Cygwin portability.
49465                 * javaexec.c (execute_java_class): Test for jview program
49466                 also on Cygwin.
49467
49468         2006-04-09  Bruno Haible  <bruno@clisp.org>
49469
49470                 * fatal-signal.c: Don't include string.h.
49471                 (at_fatal_signal): Use a copying loop instead of memcpy.
49472
49473         2005-12-04  Bruno Haible  <bruno@clisp.org>
49474
49475                 * csharpexec.c: Add support for 'clix' launcher (untested).
49476                 (execute_csharp_using_sscli): New function.
49477                 (execute_csharp_program): Call it.
49478
49479         2006-06-21  Bruno Haible  <bruno@clisp.org>
49480
49481                 Avoid warnings from recent versions of mcs.
49482                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
49483                 -o, -L, -r any more. Use options documented since mcs-1.0
49484                 instead. Similarly for -g.
49485
49486         2005-07-09  Bruno Haible  <bruno@clisp.org>
49487
49488                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
49489                 add a .dll suffix.
49490                 Reported by Mark Junker <mjscod@gmx.de>.
49491
49492         2006-06-17  Bruno Haible  <bruno@clisp.org>
49493
49494                 * config.charset: Update for NetBSD 3.0.
49495
49496         2006-05-17  Bruno Haible  <bruno@clisp.org>
49497
49498                 Cygwin portability.
49499                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
49500
49501         2006-05-16  Bruno Haible  <bruno@clisp.org>
49502
49503                 * localcharset.c [CYGWIN]: Include <windows.h>.
49504                 (get_charset_aliases): For Cygwin, return the same CPxxx
49505                 aliases list as under WIN32.
49506                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
49507                 the environment variables. Fall back to GetACP().
49508
49509         2006-04-05  Bruno Haible  <bruno@clisp.org>
49510
49511                 * config.charset: Update Juan Manuel Guerrero's address.
49512
49513         2005-02-12  Bruno Haible  <bruno@clisp.org>
49514
49515                 * allocsa.h: Add extern "C" for C++.
49516
49517         2005-02-10  Bruno Haible  <bruno@clisp.org>
49518
49519                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
49520                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
49521
49522         2006-07-22  Bruno Haible  <bruno@clisp.org>
49523
49524                 * gettext.h: Update to GNU gettext-0.15.
49525
49526 2006-07-22  Bruno Haible  <bruno@clisp.org>
49527
49528         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
49529         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
49530         lib-prefix.m4, longdouble.m4, ssize_t.m4.
49531
49532 2006-07-21  Eric Blake  <ebb9@byu.net>
49533
49534         * modules/stdlib-safer: New file.
49535         * MODULES.html.sh (File stream based Input/Output): Add
49536         stdlib-safer.
49537
49538 2006-07-21  Eric Blake  <ebb9@byu.net>
49539
49540         * lib/stdlib-safer.h: New file from coreutils, required by
49541         stdlib--.h.
49542
49543 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49544
49545         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
49546
49547 2006-07-20  Bruno Haible  <bruno@clisp.org>
49548
49549         * gnulib-tool: Recognize new option --assume-autoconf.
49550         (autoconf_minversion): New variable.
49551         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
49552
49553 2006-07-20  Bruno Haible  <bruno@clisp.org>
49554
49555         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
49556
49557 2006-07-19  Derek R. Price  <derek@ximbiot.com>
49558
49559         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
49560         Reindent and repaginate.
49561
49562 2006-07-19  Derek Price  <derek@ximbiot.com>
49563
49564         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
49565         Correct grammar.
49566
49567 2006-07-17  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/list: New file.
49570         * modules/array-list: New file.
49571         * modules/carray-list, modules/carray-list-tests: New files.
49572         * modules/linked-list, modules/linked-list-tests: New files.
49573         * modules/avltree-list, modules/avltree-list-tests: New files.
49574         * modules/rbtree-list, modules/rbtree-list-tests: New files.
49575         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
49576         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
49577         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
49578         * modules/oset: New file.
49579         * modules/array-oset: New file.
49580         * modules/avltree-oset, modules/avltree-oset-tests: New files.
49581         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
49582         * tests/test-carray_list.c: New file.
49583         * tests/test-linked_list.c: New file.
49584         * tests/test-avltree_list.c: New file.
49585         * tests/test-rbtree_list.c: New file.
49586         * tests/test-linkedhash_list.c: New file.
49587         * tests/test-avltreehash_list.c: New file.
49588         * tests/test-rbtreehash_list.c: New file.
49589         * tests/test-avltree_oset.c: New file.
49590         * tests/test-rbtree_oset.c: New file.
49591         * MODULES.html.sh (Container data structures): New section.
49592
49593 2006-07-17  Bruno Haible  <bruno@clisp.org>
49594
49595         * m4/gl_list.m4: New file.
49596
49597 2006-07-17  Bruno Haible  <bruno@clisp.org>
49598
49599         * lib/gl_list.h: New file.
49600         * lib/gl_list.c: New file.
49601         * lib/gl_array_list.h: New file.
49602         * lib/gl_array_list.c: New file.
49603         * lib/gl_carray_list.h: New file.
49604         * lib/gl_carray_list.c: New file.
49605         * lib/gl_linked_list.h: New file.
49606         * lib/gl_linked_list.c: New file.
49607         * lib/gl_anylinked_list1.h: New file.
49608         * lib/gl_anylinked_list2.h: New file.
49609         * lib/gl_avltree_list.h: New file.
49610         * lib/gl_avltree_list.c: New file.
49611         * lib/gl_anyavltree_list1.h: New file.
49612         * lib/gl_anyavltree_list2.h: New file.
49613         * lib/gl_rbtree_list.h: New file.
49614         * lib/gl_rbtree_list.c: New file.
49615         * lib/gl_anyrbtree_list1.h: New file.
49616         * lib/gl_anyrbtree_list2.h: New file.
49617         * lib/gl_anytree_list1.h: New file.
49618         * lib/gl_anytree_list2.h: New file.
49619         * lib/gl_linkedhash_list.h: New file.
49620         * lib/gl_linkedhash_list.c: New file.
49621         * lib/gl_anyhash_list1.h: New file.
49622         * lib/gl_anyhash_list2.h: New file.
49623         * lib/gl_avltreehash_list.h: New file.
49624         * lib/gl_avltreehash_list.c: New file.
49625         * lib/gl_rbtreehash_list.h: New file.
49626         * lib/gl_rbtreehash_list.c: New file.
49627         * lib/gl_anytreehash_list1.h: New file.
49628         * lib/gl_anytreehash_list2.h: New file.
49629
49630         * lib/gl_oset.h: New file.
49631         * lib/gl_oset.c: New file.
49632         * lib/gl_array_oset.h: New file.
49633         * lib/gl_array_oset.c: New file.
49634         * lib/gl_avltree_oset.h: New file.
49635         * lib/gl_avltree_oset.c: New file.
49636         * lib/gl_rbtree_oset.h: New file.
49637         * lib/gl_rbtree_oset.c: New file.
49638         * lib/gl_anytree_oset.h: New file.
49639
49640 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49641
49642         * m4/mkancesdirs.m4: New file.
49643         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
49644         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
49645         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
49646         it.
49647
49648 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49649
49650         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
49651         * lib/mkancesdirs.h: New files.
49652         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
49653         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
49654         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
49655         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
49656         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
49657         callers changed.  Revamp internals significantly, by not
49658         attempting to create directories that are temporarily more
49659         permissive than the final results.  Do not attempt to use
49660         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
49661         This removes some race conditions, fixes some bugs, and simplifies
49662         things.  Use new dirchownmod function to do owner and mode changes.
49663         * lib/mkdir-p.h: Likewise.
49664         * lib/modechange.c (octal_to_mode): New function.
49665         (struct mode_change): New member mentioned.
49666         (make_node_op_equals): New arg mentioned.  All callers changed.
49667         (mode_compile): Keep track of which mode bits the user has explicitly
49668         mentioned.
49669         (mode_adjust): New arg DIR, so that we implement the X op correctly.
49670         New arg PMODE_BITS, to keep track of which mode bits the user
49671         mentioned; it treats S_ISUID and S_ISGID speciall.
49672         All callers changed.
49673         * lib/modechange.h: Likewise.
49674
49675 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49676
49677         * MODULES.html.sh: Add mkancestors.
49678         * modules/mkancesdirs: New module.
49679         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
49680         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
49681         The chdir-safer and afs files are now orphans; I'll remove them
49682         unless someone speaks up.
49683         Add lib/dirchownmod.c, lib/dirchownmod.h.
49684         (Depends-on): Remove alloca, chown, save-cwd, dirname.
49685         Add lchown, mkancesdirs.
49686         (Maintainer): Add self.
49687
49688 2006-07-15  Karl Berry  <karl@gnu.org>
49689
49690         * gnulib-tool: help message wording/arrangement.
49691
49692 2006-07-14  Simon Josefsson  <jas@extundo.com>
49693
49694         * doc/gnulib.texi (Libtool and Windows): New section.
49695
49696 2006-07-12  Simon Josefsson  <jas@extundo.com>
49697
49698         * modules/gendocs (License): Fix license, approved by Karl.
49699
49700 2006-07-12  Eric Blake  <ebb9@byu.net>
49701
49702         * MODULES.html.sh: Add gendocs.
49703
49704 2006-07-11  Eric Blake  <ebb9@byu.net>
49705
49706         * modules/fdl: New module, to install doc/fdl.texi.
49707         * MODULES.html.sh: Add new section for documentation modules.
49708         * gnulib-tool: Avoid space-tab.
49709         (--doc-base): New option, to manage files from doc.
49710
49711 2006-07-11  Eric Blake  <ebb9@byu.net>
49712
49713         * m4/absolute-header.m4: Fix comments to match recent change.
49714
49715 2006-07-11  Eric Blake  <ebb9@byu.net>
49716
49717         * gnulib-tool: List --doc-base before --tests-base.
49718
49719 2006-07-11  Derek R. Price  <derek@ximbiot.com>
49720
49721         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
49722
49723 2006-07-11  Bruno Haible  <bruno@clisp.org>
49724
49725         * README: Mention where to put documentation.
49726
49727 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49728
49729         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
49730
49731 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49732
49733         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
49734         to stdint.m4.
49735
49736 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49737
49738         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
49739         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
49740         "no/such/file/stdint.h" when there is no such file, so that
49741         the resulting C code can be parsed by dodgy compilers.
49742         Problems reported by Bob Proulx.
49743
49744 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49745
49746         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
49747         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49748         macros into the GNU _D_EXACT_NAMLEN.
49749         * lib/savedir.c:  Likewise.
49750         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
49751
49752 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49753         and Paul Eggert  <eggert@cs.ucla.edu>
49754
49755         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
49756         * m4/savedir.m4:
49757         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49758         macros into the GNU _D_EXACT_NAMLEN.
49759
49760 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49761
49762         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
49763         around the absolute name, to work around a problem with the HP-UX
49764         11.23 native C compiler, reported by Bob Proulx.
49765
49766 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49767
49768         * doc/maintain.texi, make-stds.texi: Sync from
49769         <http://savannah.gnu.org/projects/gnustandards>.
49770
49771 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49772
49773         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
49774
49775 2006-07-09  Jim Meyering  <jim@meyering.net>
49776
49777         * m4/glob.m4: Remove a doubled word in a comment.
49778
49779 2006-07-09  Jim Meyering  <jim@meyering.net>
49780
49781         * lib/argp-pv.c: Remove a doubled word in a comment.
49782         * lib/check-version.c (check_version): Likewise.
49783         * lib/javacomp.c (compile_java_class): Likewise.
49784
49785 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49786
49787         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
49788         for the benefit of people using Autoconf 2.60.  If you want to
49789         support older Autoconf versions you can copy m4/onceonly_2_57.m4
49790         (or m4/onceonly.m4, if pre-2.57) manually.
49791
49792 2006-07-08  Jim Meyering  <jim@meyering.net>
49793
49794         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
49795         comment.
49796         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
49797         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
49798         comment.
49799
49800 2006-07-08  Jim Meyering  <jim@meyering.net>
49801
49802         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
49803
49804 2006-07-07  Simon Josefsson  <jas@extundo.com>
49805
49806         * tests/test-crc.c: Change expected crc value, the test vector
49807         were probably computed using the old broken crc.c?
49808
49809 2006-07-06  Simon Josefsson  <jas@extundo.com>
49810
49811         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
49812         now the canonical place for the M4 file).
49813
49814         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
49815         from the sys_socket dependency now.
49816
49817         * modules/inet_pton (Files): Ditto.
49818
49819         * modules/inet_ntop (Files): Ditto.
49820
49821 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49822
49823         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
49824         not gl_PREREQ_GETUSERSHELL.
49825
49826 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49827
49828         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
49829         with only one argument, for Autoconf 2.60.
49830         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
49831         expand to nothing, so add a shell command to avoid syntax error.
49832         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49833
49834 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49835
49836         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
49837
49838 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49839
49840         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
49841         no longer needed.  Check for isblank decl.
49842         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
49843         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
49844         of existence.
49845
49846 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49847
49848         * lib/getloadavg.c: Use __VMS, not VMS.
49849         * lib/getopt.c: Likewise.
49850         * lib/getpagesize.h: Likewise.
49851         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
49852         and probably does not work.
49853
49854 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49855
49856         * lib/.cppi-disable: Add wcwidth.
49857         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
49858         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
49859         (ISGRAPH): Remove.  All uses changed to isgraph.
49860         (FOLD) [!defined _LIBC]: Remove special case.
49861         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
49862         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
49863         HAVE_ISBLANK.
49864         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
49865         case.
49866
49867 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49868
49869         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
49870         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
49871         brackets.  Other minor changes to suppress some compiler
49872         warnings.
49873
49874 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49875         and Paul Eggert  <eggert@cs.ucla.edu>
49876
49877         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
49878         of invoking obsolescent AC_HEADER_DIRENT macro.
49879         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
49880         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
49881         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49882         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
49883         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
49884         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49885         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
49886         * m4/readdir.m4: Remove; no longer needed.
49887
49888 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49889         and Paul Eggert  <eggert@cs.ucla.edu>
49890
49891         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
49892         Don't worry about this obsolete case any more.
49893         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
49894         directories.
49895         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
49896         worry about this obsolete case any more.
49897         * lib/fts.c: Likewise.
49898         * lib/getcwd.c: Likewise.
49899         * lib/glob.h: Likewise.
49900         * lib/savedir.c: Likewise.
49901
49902 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49903
49904         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
49905         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
49906         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
49907         needed.
49908         All uses removed.
49909         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49910         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49911         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
49912         needed.
49913         * m4/getdate.m4 (gl_GETDATE): Likewise.
49914         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49915         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49916         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49917         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49918         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49919         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49920         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
49921         needed.
49922
49923 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49924
49925         * lib/memcasecmp.c: Include <limits.h>.
49926         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
49927         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
49928         Don't assume isdigit succeeds only on '0' through '9'.
49929
49930 2006-07-05  Eric Blake  <ebb9@byu.net>
49931
49932         * modules/getaddrinfo (Depends-on): Add snprintf.
49933
49934 2006-07-05  Eric Blake  <ebb9@byu.net>
49935
49936         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
49937         to avoid 'header present but could not be compiled' on cygwin.
49938
49939 2006-07-05  Eric Blake  <ebb9@byu.net>
49940
49941         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
49942         missing from netdb.h.
49943         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
49944
49945 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49946
49947         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
49948         no longer needed.
49949         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
49950         * m4/getdate.m4 (gl_GETDATE): Likewise.
49951         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49952         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49953         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49954         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49955         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49956
49957 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49958
49959         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
49960         All uses of is_space replaced by isspace.
49961         * lib/exit.h: Don't talk about STDC_HEADERS.
49962         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
49963         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
49964         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
49965         replaced by isprint etc.
49966         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
49967         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49968         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
49969         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
49970         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
49971         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49972
49973 2006-07-05  Bruno Haible  <bruno@clisp.org>
49974
49975         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
49976         the function exists, before testing against AIX.
49977         Reported by Martin Lambers <marlam@marlam.de>.
49978
49979 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49980
49981         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
49982         From Mark D. Baushke.
49983
49984 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49985
49986         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
49987         to the absolute name, not just one, to bypass Sun C 5.8's
49988         "warning: #include of /usr/include/... may be non-portable".
49989
49990 2006-07-04  Eric Blake  <ebb9@byu.net>
49991
49992         * modules/dirname-tests: New test module.
49993         * tests/test-dirname.c: New file, replacing dirname.c
49994         TEST_DIRNAME section that was recently deleted.
49995
49996 2006-07-04  Bruno Haible  <bruno@clisp.org>
49997
49998         Assume ANSI C header files and <ctype.h> functions.
49999         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
50000         (mbsnwidth): Use isprint, iscntrl instead.
50001
50002 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50003
50004         Merge from coreutils.
50005         * MODULES.html.sh: Add xstrtold.
50006         * modules/xstrtold: New file.
50007         * modules/cycle-check (Files): Add lib/same-inode.h.
50008         * modules/dirname (Files): Add m4/double-slash-root.m4.
50009         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
50010         * modules/mkdir-p (Files): Add lib/same-inode.h.
50011         * modules/same (Files): Add lib/same-inode.h.
50012
50013 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50014
50015         * m4/absolute-header.m4: Renamed from full-header-path.m4.
50016         This is to keep the terminology clean; POSIX talks about
50017         "absolute pathnames", not "full pathnames", but the GNU
50018         Coding Standards say to use "path" for something else;
50019         so use "absolute" to keep both sides happy.
50020         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
50021         Set gl_absolute_header, not gl_full_header_path.
50022         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
50023         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
50024         All uses changed.
50025
50026         Merge from coreutils.
50027
50028         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50029
50030         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
50031         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
50032         want to require the building of c-strtod.o.
50033         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
50034         needs -lm directly.
50035         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
50036
50037         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50038
50039         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
50040         --as-needed option if available.  Problem reported by Albert Chin in
50041         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
50042         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
50043         cc merely issues a bunch of annoying warnings for --as-needed
50044         (this problem was reported by Bob Proulx).  Also, try linking with
50045         -lm to detect a bug in binutils 2.16 (this problem was reported
50046         by Ralf Wildenhues).
50047
50048         2006-06-18  Jim Meyering  <jim@meyering.net>
50049
50050         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
50051         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
50052         macro.
50053         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
50054         also check for glibc-2.4's abort-inducing bug.
50055
50056         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
50057         Low-probability clean-up should be to use rmdir to get rid of
50058         the just-created directory, not unlink.
50059
50060         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
50061         configure fail, and request a bug report to inform us about it.
50062         Add a comment that, barring reports to the contrary, in 2007 we'll
50063         assume ftruncate is universally available.
50064
50065         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50066
50067         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
50068
50069         2006-03-12  Jim Meyering  <jim@meyering.net>
50070
50071         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
50072         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
50073         * m4/same.m4 (gl_SAME): Likewise.
50074         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
50075
50076         2006-03-11  Eric Blake  <ebb9@byu.net>
50077
50078         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
50079         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
50080         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
50081         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
50082
50083 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50084
50085         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
50086         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
50087         reported by Mark D. Baushke, one in
50088         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
50089
50090         Merge from coreutils.
50091
50092         * lib/.cppi-disable: Add stdint_.h.
50093         * lib/.cvsignore: Add stdint.h.
50094
50095         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50096
50097         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
50098         both double and long double versions.
50099         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
50100         * lib/xstrtold.c: New file.
50101         * lib/xstrtod.h (xstrtold): New decl.
50102
50103         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50104
50105         * lib/filemode.c (setst): Remove.
50106         (strmode): Rewrite to avoid setst.  This makes the code shorter,
50107         (arguably) clearer, and the generated code is a bit smaller on my
50108         Debian GNU/Linux stable x86 host.
50109
50110         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50111
50112         * lib/filemode.c: Include "filemode.h" first, to test the interface.
50113         Assume that filemode.h includes sys/types.h and sys/stat.h.
50114         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
50115         (ftypelet): Reorder to put common cases first, for efficiency.
50116         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
50117         to do 'M'.
50118         (strmode): Renamed from mode_string, and now stores 12 bytes instead
50119         of 10, for compatibility with FreeBSD.  All callers changed.
50120         (filemodestring): Now stores 12 bytes instead of 10, and sets file
50121         types that can't be deduced solely from st_mode.  First arg is now a
50122         const pointer.
50123         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
50124         (strmode): Renamed from mode_string.
50125         (filemodestring): New decl.
50126         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
50127         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
50128         needed.
50129         (S_ISPORT, S_ISWHT): New macros, if not already defined.
50130
50131         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50132
50133         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
50134         fsusage.h now does that.  Include fsusage.h first, to test interface.
50135         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
50136         at most one method (the old code could have generated decls that
50137         didn't conform to C89, not that this was ever exercised).
50138         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
50139
50140         2006-03-19  Jim Meyering  <jim@meyering.net>
50141
50142         Work even in a chroot where d_ino values for entries in "/"
50143         don't match the stat.st_ino values for the same names.
50144         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
50145         number, iterate through all entries again, using lstat instead.
50146         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
50147         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
50148
50149         * lib/getcwd.c (__getcwd): Clarify a comment.
50150         Use memcpy in place of a call to strcpy.
50151
50152         2006-03-12  Jim Meyering  <jim@meyering.net>
50153
50154         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
50155         matches that of the current directory (which we're about to chdir ".."
50156         out of), then save the dev-ino of the parent, instead.
50157
50158         * lib/same-inode.h (SAME_INODE): New file/macro.
50159         * lib/chdir-safer.c (SAME_INODE): Remove definition.
50160         Include "same-inode.h", instead.
50161         * lib/same.c: Likewise.
50162         * lib/cycle-check.h: Include "same-inode.h".
50163         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
50164         * lib/cycle-check.c (SAME_INODE): Remove definition.
50165         * lib/root-dev-ino.h: Include "same-inode.h".
50166
50167         2006-03-11  Eric Blake  <ebb9@byu.net>
50168
50169         * lib/same.c (same_name): s/base_name/last_component/
50170         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
50171         * lib/filenamecat.c (file_name_concat): Likewise.
50172
50173         2006-03-11  Eric Blake  <ebb9@byu.net>,
50174                     Paul Eggert  <eggert@cs.ucla.edu>
50175
50176         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
50177         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
50178         drive prefix.
50179         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
50180         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
50181         (last_component): New method.
50182         * lib/dirname.c (dir_len): Determine when drive letters need a
50183         subsequent slash.  Preserve // when it is special.
50184         (dir_name): Don't append dot when drive letter is absolute.
50185         [TEST_DIRNAME]: Move into a full-blown gnulib test.
50186         * lib/basename.c (base_name): New semantics - malloc the result.
50187         Preserve // when it is special.  Preserve relative files that look
50188         like drive letters.
50189         (base_len): Preserve // when it is special.
50190         (last_component): New method, similar to old base_name semantics.
50191         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
50192         base_name.  Strip redundant slashes from ///.
50193
50194 2006-07-03  Jim Meyering  <jim@meyering.net>
50195
50196         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
50197         macro is used before the first cycle_check call.
50198
50199 2006-07-03  Eric Blake  <ebb9@byu.net>
50200
50201         * modules/dirname (Depends-on): Add xstrndup.
50202
50203 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50204
50205         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
50206         test cases, so that config.log is a bit easier to follow.
50207
50208 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50209
50210         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
50211         both are 64 bits, since this seems to be the tradition, and this
50212         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
50213         we ever run into a host that prefers long long to long in this
50214         case, we'll need another configure-time test.  Problem reported by
50215         Jim Meyering.
50216
50217 2006-07-02  Eric Blake  <ebb9@byu.net>
50218
50219         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
50220
50221 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50222
50223         * modules/inttypes (Depends-on): No longer depends on stdint.
50224         * modules/stdint (Description): Say more about assumptions.
50225         Say that the fast types might differ.  Say macros are used.
50226         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
50227         (Makefile.am): Revise list of substituted symbols to match
50228         new stdint.m4.
50229         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
50230         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
50231         * tests/test-stdint.c (verify_same_types)
50232         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
50233         the code conforms to C99/C89.
50234         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
50235         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
50236
50237 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50238
50239         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
50240         but fix a bug, by requiring at least 64 bits.
50241         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50242         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
50243         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
50244         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
50245
50246         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
50247         changes.  Make 2.59 a prerequisite.  Check and substitute for
50248         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
50249         inttypes.h.  Do not use special include files; just use the
50250         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
50251         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
50252         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
50253         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
50254         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
50255         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
50256         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
50257         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
50258         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
50259         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
50260         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
50261         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
50262         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
50263         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
50264         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
50265         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
50266         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
50267         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
50268         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
50269         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
50270         WINT_MAX.  Check for C99 conformance more strictly, by detecting
50271         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
50272         not check for things that C99 does not require, e.g., int8_t.  If
50273         a test isn't needed unless <stdint.h> isn't working, and is
50274         unlikely to be needed for any other reason, then don't do it
50275         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
50276         size_t, since we assume C89 freestanding at least.  Do not check
50277         for sig_atomic_t, wchar_t, or wint_t, since the code now does
50278         the right thing even if the types are not defined.  Instead use:
50279         (gl_STDINT_TYPE_PROPERTIES): New macro.
50280         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
50281         testing whether <sys/types.h> clashes, as Autoconf does this for
50282         us now.  All uses removed.
50283         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
50284         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
50285         (gl_CHECK_TYPE_SAME):
50286         Remove; no longer needed.
50287         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
50288         exists, since we'll return 0 anyway in that case.
50289         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
50290
50291 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50292
50293         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
50294         possible collision with system files.
50295         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
50296         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
50297         WCHAR_MIN and WCHAR_MAX in this case.
50298         (<stddef.h>): Do not include; no longer needed.
50299         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
50300         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
50301         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
50302         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
50303         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
50304         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
50305         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
50306         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
50307         !defined(__c99))]: Include in this case too, since it's harmless
50308         now.
50309         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
50310         dangerous to do so.
50311         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
50312         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
50313         (_STDINT_MIN, _STDINT_MAX): New macros.
50314         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
50315         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
50316         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
50317         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
50318         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
50319         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
50320         macros, not typedefs; this simplifies things quite a bit.
50321         Use long int for all types narrower than int64_t.
50322         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
50323         Define in terms of long long int or int64_t or long int,
50324         not int64_t or int32_t.  This saves some compile-time testing.
50325         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
50326         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
50327         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
50328         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
50329         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
50330         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
50331         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
50332         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
50333         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
50334         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
50335         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50336         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50337         undef any previous version and define our own version, for
50338         simplicity and consistency with the new macros for types.
50339         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50340         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50341         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
50342         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
50343         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
50344         @WINT_T_SUFFIX@ to keep things simple here.
50345         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
50346         Simplify by assuming typical 8/16/32/64 host, since we're
50347         already doing that elsewhere anyway.
50348         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
50349         and assume long long int is 64 bits if available.  This
50350         speeds up 'configure'.
50351
50352 2006-07-01  Eric Blake  <ebb9@byu.net>
50353
50354         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
50355         Reported by Andreas Buening.
50356
50357 2006-07-01  Eric Blake  <ebb9@byu.net>
50358
50359         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
50360
50361 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50362
50363         * lib/getaddrinfo.c: fixed typo
50364
50365 2006-06-29  Jim Meyering  <jim@meyering.net>
50366
50367         * modules/strftime (Maintainer): Add my name, since with the
50368         FPRINTFTIME changes strftime.c has forked from glibc.
50369
50370 2006-06-29  Eric Blake  <ebb9@byu.net>
50371
50372         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
50373
50374 2006-06-29  Eric Blake  <ebb9@byu.net>
50375
50376         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
50377
50378 2006-06-29  Eric Blake  <ebb9@byu.net>
50379
50380         * lib/stat_.h: New file.
50381
50382 2006-06-29  Eric Blake  <ebb9@byu.net>
50383
50384         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
50385         unused static function.
50386
50387 2006-06-29  Eric Blake  <ebb9@byu.net>
50388
50389         * doc/functions.texi (Function Portability): Document missing lstat
50390         on mingw.
50391
50392 2006-06-29  Eric Blake  <ebb9@byu.net>
50393
50394         * MODULES.html.sh: Add sys_stat.
50395         * modules/sys_stat: New module.
50396         * modules/mkstemp (Depends-on): Add sys_stat.
50397
50398 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50399
50400         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
50401
50402 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50403
50404         * m4/c-bs-a.m4: Removed.
50405
50406 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50407
50408         * lib/strftime.c: Assume strftime() exists.
50409
50410 2006-06-29  Derek Price  <derek@ximbiot.com>
50411
50412         * modules/c-bs-a: Removed - \a is C89.
50413         * MODULES.html.sh: Remove c-bs-a.
50414
50415 2006-06-29  Bruno Haible  <bruno@clisp.org>
50416
50417         * modules/wcwidth (License): Change to LGPL.
50418
50419 2006-06-28  Simon Josefsson  <jas@extundo.com>
50420
50421         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
50422         on _WIN32.
50423
50424         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
50425         getnameinfo.
50426
50427 2006-06-28  Simon Josefsson  <jas@extundo.com>
50428
50429         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
50430
50431 2006-06-28  Simon Josefsson  <jas@extundo.com>
50432
50433         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
50434         functions there.  It will succeed on Windows XP, but on Windows
50435         2000 and (presumably) earlier, it will fail, and use the internal
50436         re-implementation.
50437         (use_win32_p): New function.
50438         (getaddrinfo): Use strtoul on servname, to support numeric ports.
50439         Support AI_NUMERICSERV to disable getservbyname.
50440         (getnameinfo): New function, only supports
50441         NI_NUMERICHOST|NI_NUMERICSERV for now.
50442
50443         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
50444         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
50445         getnameinfo.
50446
50447 2006-06-28  Eric Blake  <ebb9@byu.net>
50448
50449         * modules/wcwidth: New file.
50450         * modules/mbchar (Depends-on): Add wcwidth.
50451         * modules/mbswidth (Depends-on): Add wcwidth.
50452         * MODULES.html.sh: Add wcwidth.
50453
50454 2006-06-28  Eric Blake  <ebb9@byu.net>
50455
50456         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
50457         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
50458
50459 2006-06-28  Eric Blake  <ebb9@byu.net>
50460
50461         * lib/xvasprintf.h: Fix comments.
50462
50463 2006-06-28  Eric Blake  <ebb9@byu.net>
50464
50465         * lib/mbchar.h (wcwidth): Include wcwidth.h.
50466         * lib/mbswidth.c (wcwidth): Move from here...
50467         * lib/wcwidth.h: ...to this new file.
50468
50469 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50470
50471         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
50472
50473         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
50474         it's obsolete.
50475         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
50476
50477 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50478
50479         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
50480         Autoconf 2.60 says this stuff was obsolete.
50481
50482 2006-06-28  Bruno Haible  <bruno@clisp.org>
50483
50484         * modules/wcwidth (Files): Add m4/wchar_t.m4.
50485
50486 2006-06-28  Bruno Haible  <bruno@clisp.org>
50487
50488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
50489         gt_TYPE_WCHAR_T.
50490
50491 2006-06-28  Bruno Haible  <bruno@clisp.org>
50492
50493         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
50494         declaration for wcwidth.
50495         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
50496
50497 2006-06-28  Bruno Haible  <bruno@clisp.org>
50498
50499         * lib/mkdtemp.c [MINGW]: Include <io.h>.
50500         (mkdir): Define using _mkdir.
50501
50502 2006-06-28  Bruno Haible  <bruno@clisp.org>
50503
50504         * lib/getaddrinfo.h: Fix POSIX URL.
50505         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
50506         _WIN32.
50507         (use_win32_p): Make static.
50508         (getaddrinfo): Reject service name if it is empty or does not consist
50509         solely of decimal digits, or if its value is > 65535.
50510         (getnameinfo): Remove useless casts.
50511
50512 2006-06-27  Simon Josefsson  <jas@extundo.com>
50513
50514         * modules/sys_select: New file, suggested by Bruno Haible, Paul
50515         Eggert and Martin Lambers.
50516
50517 2006-06-27  Simon Josefsson  <jas@extundo.com>
50518
50519         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
50520         Eggert and Martin Lambers.
50521
50522 2006-06-27  Bruno Haible  <bruno@clisp.org>
50523
50524         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
50525         result to 0, not to empty.
50526         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
50527
50528 2006-06-27  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
50531
50532 2006-06-26  Simon Josefsson  <jas@extundo.com>
50533
50534         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
50535         present.
50536
50537 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50538
50539         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
50540         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
50541         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
50542
50543 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
50544
50545         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
50546
50547 2006-06-26  Bruno Haible  <bruno@clisp.org>
50548
50549         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
50550
50551 2006-06-26  Bruno Haible  <bruno@clisp.org>
50552
50553         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
50554
50555 2006-06-26  Bruno Haible  <bruno@clisp.org>
50556
50557         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
50558         SGI C compiler in pre-C99 mode.
50559         Suggested by Mark D. Baushke and Larry Jones.
50560
50561 2006-06-26  Bruno Haible  <bruno@clisp.org>
50562
50563         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
50564         WCHAR_MAX.
50565         Reported by Mark D. Baushke and Larry Jones.
50566
50567 2006-06-26  Bruno Haible  <bruno@clisp.org>
50568
50569         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
50570         in pre-C99 mode.
50571         Suggested by Mark D. Baushke and Larry Jones.
50572
50573 2006-06-23  Simon Josefsson  <jas@extundo.com>
50574             Bruno Haible  <bruno@clisp.org>
50575
50576         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
50577         Emit mostlyclean-local rule.
50578         (func_emit_tests_Makefile_am): Likewise.
50579         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
50580
50581 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
50582
50583         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
50584
50585 2006-06-23  Bruno Haible  <bruno@clisp.org>
50586
50587         * tests/test-stdint.c: Update to match ISO C 99 Technical
50588         Corrigendum 1.
50589
50590 2006-06-23  Bruno Haible  <bruno@clisp.org>
50591
50592         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
50593
50594 2006-06-23  Bruno Haible  <bruno@clisp.org>
50595
50596         * lib/stdint_.h: Treat IRIX like OpenBSD.
50597
50598 2006-06-23  Bruno Haible  <bruno@clisp.org>
50599
50600         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
50601         ISO C 99 Technical Corrigendum 1.
50602
50603 2006-06-22  Simon Josefsson  <jas@extundo.com>
50604
50605         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
50606         MinGW.
50607
50608 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50609
50610         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
50611         needed.  Some compiler complained about some of them.  Problem reported
50612         by Larry Jones in
50613         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
50614
50615 2006-06-21  Simon Josefsson  <jas@extundo.com>
50616
50617         * tests/test-getaddrinfo.c: New file.
50618
50619         * modules/getaddrinfo-tests: New file.
50620
50621         * MODULES.html.sh: Add inet_pton.
50622
50623         * modules/inet_pton: New file.
50624
50625 2006-06-21  Simon Josefsson  <jas@extundo.com>
50626
50627         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
50628         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
50629         of using the (limited) gnulib implementation on Windows XP.
50630
50631         * m4/inet_pton.m4: New file.
50632
50633 2006-06-21  Simon Josefsson  <jas@extundo.com>
50634
50635         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
50636         variable.
50637
50638         * lib/socket_.h: Don't define WINVER.
50639
50640         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
50641         slightly modified to work in gnulib.
50642
50643 2006-06-21  Simon Josefsson  <jas@extundo.com>
50644
50645         * doc/gnulib.texi (Windows sockets): Add.
50646
50647 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50648
50649         * lib/read-file.c (fread_file): Start with buffer allocation of
50650         0 bytes rather than 1 byte; this simplifies the code.
50651         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
50652         code to free buffer and save/restore errno.
50653         (internal_read_file): Remove unused local.
50654
50655 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50656
50657         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
50658         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
50659         Problem reported by Denis Excoffier in
50660         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
50661
50662 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50663
50664         * modules/sys_socket, modules/socklen: Include sys/types since
50665         FreeBSD 4.x's sys/socket.h needs it.
50666
50667 2006-06-19  Simon Josefsson  <jas@extundo.com>
50668
50669         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
50670
50671 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50672
50673         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
50674
50675 2006-06-19  Bruno Haible  <bruno@clisp.org>
50676
50677         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
50678         and FULL_PATH_INTTYPES_H in angle brackets.
50679         Reported by Mark D. Baushke <mdb@gnu.org>.
50680
50681 2006-06-17  Eric Blake  <ebb9@byu.net>
50682
50683         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
50684         errno.
50685
50686 2006-06-17  Bruno Haible  <bruno@clisp.org>
50687
50688         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
50689         <sys/inttypes.h>.
50690
50691 2006-06-17  Bruno Haible  <bruno@clisp.org>
50692
50693         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
50694         whether errno is declared. Assume <errno.h> declares errno.
50695
50696 2006-06-17  Bruno Haible  <bruno@clisp.org>
50697
50698         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
50699
50700 2006-06-17  Bruno Haible  <bruno@clisp.org>
50701
50702         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
50703         problem on Solaris 2.5.1.
50704
50705 2006-06-16  Eric Blake  <ebb9@byu.net>
50706
50707         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
50708         * lib/unicodeio.c [!defined errno]: Likewise.
50709         * lib/strtol.c [!defined errno]: Likewise.
50710         * lib/strtod.c [!defined errno]: Likewise.
50711
50712 2006-06-15  Eric Blake  <ebb9@byu.net>
50713
50714         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
50715
50716 2006-06-15  Eric Blake  <ebb9@byu.net>
50717
50718         * config/srclist.txt (ssize_t.m4): Lose sync.
50719
50720 2006-06-15  Bruno Haible  <bruno@clisp.org>
50721
50722         * modules/stdint (Files): Include m4/full-header-path.m4,
50723         m4/size_max.m4, m4/wchar_t.m4.
50724         (Makefile.am): Many more substitutions.
50725         * modules/stdint-tests: New file.
50726         * tests/test-stdint.c: New file.
50727
50728 2006-06-15  Bruno Haible  <bruno@clisp.org>
50729
50730         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
50731         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
50732         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
50733         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
50734         gl_CHECK_TYPE_SAME): New macros.
50735
50736 2006-06-15  Bruno Haible  <bruno@clisp.org>
50737
50738         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
50739
50740 2006-06-15  Bruno Haible  <bruno@clisp.org>
50741
50742         * lib/stdint_.h: Rewritten to be fully auto-configured.
50743         Fixes bug on HP-UX/IA64.
50744
50745 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
50746
50747         * lib/getdate.y (__attribute__): Don't define if already defined.
50748         Problem reported by Larry Jones.
50749         * lib/utimens.c (__attribute__): Likewise.
50750
50751 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
50752
50753         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
50754         reported by Andreas Schwab.
50755
50756 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50757             Bruno Haible  <bruno@clisp.org>
50758
50759         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
50760         check for the declaration of strnlen and a run test that exposes the
50761         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
50762         rpl_strndup.
50763
50764 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50765             Bruno Haible  <bruno@clisp.org>
50766
50767         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
50768
50769 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50770
50771         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
50772         compile test, for Tru64 4.0D.
50773
50774 2006-05-28  Karl Berry  <karl@gnu.org>
50775
50776         * config/srclist.txt (printf-args.c): lose sync.
50777
50778 2006-05-26  Martin Lambers  <marlam@marlam.de>
50779
50780         * lib/getpass.c: Updates the test for the native W32 API, and adds
50781         missing includes, thus fixing compilation warnings.
50782
50783 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50784
50785         * lib/exclude.c (exclude_fnmatch): New function.
50786         (excluded_file_name): Call exclude_fnmatch.
50787         * lib/exclude.h (excluded_file_name): New prototype
50788
50789 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
50790
50791         * lib/tempname.c (small_open, large_open): New macros.
50792         (__open, __open64) [!_LIBC]: Remove.
50793         (__gen_tempname): Use small_open and large_open instead of __open
50794         and __open64.  This fixes a portability bug on HP-UX 11.11i
50795         reported by Simon Wing-Tang in
50796         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
50797
50798 2006-05-24  Bruno Haible  <bruno@clisp.org>
50799
50800         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
50801         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
50802         Reported by Thorsten Maerz <torte@netztorte.de> via
50803         Aaron Stone <aaron@serendipity.cx>.
50804
50805 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50806
50807         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
50808         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
50809         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
50810         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
50811         not really conditional on the cache.
50812         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
50813
50814 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50815
50816         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
50817         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
50818         (my_usleep): Don't mishandle maximum value.
50819
50820 2006-05-19  Jim Meyering  <jim@meyering.net>
50821
50822         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
50823
50824 2006-05-17  Bruno Haible  <bruno@clisp.org>
50825
50826         Cygwin portability.
50827         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
50828
50829 2006-05-17  Bruno Haible  <bruno@clisp.org>
50830
50831         * lib/stdint_.h: Fix recognition of Cygwin.
50832
50833 2006-05-15  Bruno Haible  <bruno@clisp.org>
50834
50835         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
50836         on libtool patch by Ralf Wildenhues.
50837
50838 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50839
50840         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
50841         test for C99 conformance; (bool) 0.5 is an integer constant
50842         expression, but (bool) -0.5 is not.  Problem reported by Fedor
50843         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
50844
50845 2006-05-11  Simon Josefsson  <jas@extundo.com>
50846
50847         * m4/xvasprintf.m4: Fix obvious typo.
50848
50849 2006-05-11  Jim Meyering  <jim@meyering.net>
50850
50851         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
50852         James Lemley.
50853
50854 2006-05-10  Simon Josefsson  <jas@extundo.com>
50855
50856         * lib/md4.c: Typo fix, update copyright years.
50857         (K1, K2): Don't use L because it turn computations into 64-bit on
50858         64-bit platforms.
50859
50860 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50861
50862         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
50863         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
50864         unwanted sign propagation, e.g., on hosts with 64-bit int.
50865         There still are some problems with reeelly weird theoretical hosts
50866         (e.g., 33-bit int) but it's not worth worrying about now.
50867         * lib/sha1.c (rol): Likewise.
50868         (K1, K2, K3, K4): Remove unnecessary L suffix.
50869
50870 2006-05-10  Bruno Haible  <bruno@clisp.org>
50871
50872         * lib/des.c: Cast to avoid warnings.
50873
50874 2006-05-09  Bruno Haible  <bruno@clisp.org>
50875
50876         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
50877         (Depends-on): Depend also on xsize, stdarg.
50878         (configure.ac): Add gl_XVASPRINTF.
50879
50880 2006-05-09  Bruno Haible  <bruno@clisp.org>
50881
50882         * m4/xvasprintf.m4: New file.
50883
50884 2006-05-09  Bruno Haible  <bruno@clisp.org>
50885
50886         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
50887         (EOVERFLOW): Define fallback value.
50888         (xstrcat): New function.
50889         (xvasprintf): Recognize the special case of a string concatenation.
50890
50891 2006-05-08  Eric Blake  <ebb9@byu.net>
50892
50893         * gnulib-tool (func_version): Base copyright year on CVS date.
50894         (func_emit_copyright_notice): New function.
50895         (func_emit_lib_Makefile_am): Use it.
50896         (func_emit_tests_Makefile_am): Likewise.
50897         (func_import): Likewise.
50898
50899 2006-05-08  Bruno Haible  <bruno@clisp.org>
50900
50901         * modules/stdarg: New file.
50902         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
50903
50904 2006-05-08  Bruno Haible  <bruno@clisp.org>
50905
50906         * m4/stdarg.m4: New file, from GNU gettext.
50907
50908 2006-05-08  Bruno Haible  <bruno@clisp.org>
50909
50910         * config/srclist.txt (build-aux/config.rpath): different from latest
50911         release.
50912
50913 2006-05-08  Bruno Haible  <bruno@clisp.org>
50914
50915         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
50916
50917 2006-05-05  Jim Meyering  <jim@meyering.net>
50918
50919         * m4/warning.m4: New file, derived from bison's file by the same name.
50920
50921 2006-05-03  Bruno Haible  <bruno@clisp.org>
50922
50923         * lib/stdint_.h: Shorter URL.
50924         * lib/inttypes.h: Likewise.
50925
50926 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50927
50928         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
50929
50930 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50931
50932         * lib/verify.h: Document the internals better.  Most of this change
50933         was written by Bruno Haible.
50934
50935 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50936
50937         * doc/verify.texi: New file, partly based on a proposal by
50938         Bruno Haible.
50939
50940 2006-05-02  Bruno Haible  <bruno@clisp.org>
50941
50942         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
50943         test from here...
50944         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
50945
50946 2006-04-29  Bruno Haible  <bruno@clisp.org>
50947
50948         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
50949         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
50950
50951 2006-04-29  Bruno Haible  <bruno@clisp.org>
50952
50953         * gnulib-tool: Make --update option actually work.
50954
50955 2006-04-29  Bruno Haible  <bruno@clisp.org>
50956
50957         * doc/gcd.texi: New file.
50958         * doc/gnulib.texi: Include it.
50959
50960 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50961
50962         * lib/getdate.y (get_date): When adding relative date, start with the
50963         initial time, not with the result of the first mktime call.
50964
50965 2006-04-25  Bruno Haible  <bruno@clisp.org>
50966
50967         * gnulib-tool (func_import): Output the include directives in three
50968         blocks, sorted separately.
50969         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50970
50971 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50972
50973         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
50974         to define main with arguments, for C++.  Reported by Eric Blake.
50975         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50976         Prefer 'int main ()' to 'int main (void)', for C++.
50977         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50978         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
50979         for 'main', for C99 and C++.
50980
50981 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50982
50983         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
50984         Don't assume that exit status -1 is valid.
50985         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50986         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50987         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
50988         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
50989         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
50990         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
50991         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
50992         functions can be used without declaring them, or that you can
50993         exit with status -1.
50994         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
50995
50996 2006-04-24  Karl Berry  <karl@gnu.org>
50997
50998         * config/srclist.txt (longdouble.m4): sync lost.
50999
51000 2006-04-24  Eric Blake  <ebb9@byu.net>
51001
51002         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
51003
51004 2006-04-24  Bruno Haible  <bruno@clisp.org>
51005
51006         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
51007         poll() implementation in AIX.
51008         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51009
51010 2006-04-24  Bruno Haible  <bruno@clisp.org>
51011
51012         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
51013         assigned exactly once.
51014
51015 2006-04-23  Claudio Fontana  <claudio@gnu.org>
51016             Bruno Haible  <bruno@clisp.org>
51017
51018         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
51019         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
51020         for AM_CPPFLAGS.
51021
51022 2006-04-23  Bruno Haible  <bruno@clisp.org>
51023
51024         * modules/copy-file: Depend on unistd.
51025         * modules/execute: Likewise.
51026         * modules/fatal-signal: Likewise.
51027         * modules/findprog: Likewise.
51028         * modules/mkdtemp : Likewise.
51029         * modules/pipe: Likewise.
51030         * modules/wait-process: Likewise.
51031
51032 2006-04-23  Bruno Haible  <bruno@clisp.org>
51033
51034         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
51035         condition was already detected.
51036         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51037
51038 2006-04-23  Bruno Haible  <bruno@clisp.org>
51039
51040         * lib/copy-file.c: Include <unistd.h> unconditionally.
51041         * lib/execute.c: Likewise.
51042         * lib/fatal-signal.c: Likewise.
51043         * lib/findprog.c: Likewise.
51044         * lib/mkdtemp.c: Likewise.
51045         * lib/pipe.h: Likewise.
51046         * lib/pipe.c: Likewise.
51047         * lib/wait-process.h: Likewise.
51048
51049 2006-04-23  Bruno Haible  <bruno@clisp.org>
51050
51051         * gnulib-tool (func_usage): Fix --import description. Document
51052         --update.
51053         (func_import): Create temporary file in a temporary directory, if
51054         --dry-run is specified. Silence errors from 'grep' when there are no
51055         m4 files in $m4dir.
51056         (func_create_testdir): Silence errors from 'grep' when there are no
51057         m4 files in $m4dir.
51058         Reported by Karl Berry <karl@freefriends.org>.
51059
51060 2006-04-20  Bruno Haible  <bruno@clisp.org>
51061
51062         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
51063         one argument, so that the code will be portable to Autoconf 2.60.
51064         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
51065         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51066         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
51067
51068 2006-04-19  Derek Price  <derek@ximbiot.com>
51069             Eric Blake  <ebb9@byu.net>
51070
51071         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
51072         rather than "/full/path.h".  Update comment to match.  Shorten &
51073         generalize m4_translit call via AS_TR_CPP.
51074
51075 2006-04-19  Derek Price  <derek@ximbiot.com>
51076             Eric Blake  <ebb9@byu.net>
51077
51078         * lib/inttypes.h: Correct grammar in comment.
51079
51080 2006-04-18  Derek Price  <derek@ximbiot.com>
51081             Paul Eggert  <eggert@cs.ucla.edu>
51082
51083         * modules/inttypes: New file.
51084         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
51085
51086 2006-04-18  Derek Price  <derek@ximbiot.com>
51087             Paul Eggert  <eggert@cs.ucla.edu>
51088
51089         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
51090         New files.
51091
51092 2006-04-18  Derek Price  <derek@ximbiot.com>
51093             Paul Eggert  <eggert@cs.ucla.edu>
51094
51095         * lib/inttypes.h: New file.
51096         * lib/strtoimax.c: Assume <inttypes.h>.
51097
51098 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
51099
51100         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
51101         isn't mounted.  Problem reported by Kir Kolyshkin.
51102
51103 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51104
51105         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
51106         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
51107         Derek R. Price.
51108         * lib/regex.h (RE_DUP_MAX): Update comment to match current
51109         implementation.
51110
51111 2006-04-12  Eric Blake  <ebb9@byu.net>
51112
51113         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
51114         is now done automatically by the corresponding Autoconf macro.
51115
51116 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51117
51118         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
51119         time_r.h.
51120
51121 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51122
51123         Merge regex changes from libc, removing some of our
51124         POSIX-conformance changes that were rejected and redoing them in a
51125         less-intrusive way.
51126
51127         * lib/regcomp.c (re_compile_internal, init_dfa):
51128         Length arg is now size_t, not Idx.  All uses changed.
51129         (peek_token): Forward decl now says internal_function.
51130         (__re_error_msgid, __re_error_msgid_idx):
51131         Now static rather than extern with attribute_hidden.
51132         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
51133         For some reason libc prefers K&R style defns for external functions.
51134         (regerror) [!defined _LIBC]: Likewise.
51135         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
51136         (seek_collating_symbol_entry, lookup_collation_sequence_value):
51137         (build_range_exp, build_collating_symbol):
51138         Use K&R-style defn.
51139         (re_compile_fastmap): Use '\0' to memset, not 0.
51140         (utf8_sb_map): Make the calculations more obvious.
51141         (init_dfa, parse_bracket_exp, build_charclass_op):
51142         Call calloc and cast result, as glibc does.
51143         (init_word_char, fetch_token, peek_token, peek_token_bracket):
51144         (build_range_exp, build_collating_symbol):
51145         Now internal functions.
51146
51147         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
51148
51149         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
51150         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
51151         Don't depend on VMS; depend on __VMS instead, for POSIX
51152         namespace cleanness.
51153         (regoff_t): Define to ssize_t, not long int.
51154
51155         Remove the REG_ macros named below.  Instead, make the old names
51156         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
51157         __USE_GNU_REGEX.
51158         (REG_BACKSLASH_ESCAPE_IN_LISTS):
51159         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
51160         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
51161         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
51162         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
51163         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
51164         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
51165         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
51166         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
51167         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
51168         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
51169         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
51170         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
51171         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
51172         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
51173         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
51174         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
51175         (REG_NREGS):
51176         Remove.  All uses replaced by the old RE_* names.
51177         (RE_BACKSLASH_ESCAPE_IN_LISTS):
51178         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
51179         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
51180         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
51181         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
51182         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
51183         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
51184         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
51185         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
51186         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
51187         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
51188         Don't bother having these macros be independent of each others'
51189         values, since they no longer exist in the POSIX name space.
51190
51191         Rename the following member names back to their old names,
51192         unless !__USE_GNU_REGEX.  All uses changed back.
51193         (buffer): Renamed from re_buffer.
51194         (allocated): Renamed from re_allocated.
51195         (used): Renamed from re_used.
51196         (syntax): Renamed from re_syntax.
51197         (fastmap): Renamed from re_fastmap.
51198         (translate): Renamed from re_translate.
51199         (can_be_null): Renamed from re_can_be_null.
51200         (regs_allocated): Renamed from re_regs_allocated.
51201         (fastmap_accurate): Renamed from re_fastmap_accurate.
51202         (no_sub): Renamed from re_no_sub.
51203         (not_bol): Renamed from re_not_bol.
51204         (not_eol): Renamed from re_not_eol.
51205         (newline_anchor): Renamed from re_newline_anchor.
51206         (num_regs): Renamed from rm_num_regs.
51207         (start): Renamed from rm_start.
51208         (end): Renamed from rm_end.
51209
51210         (free_state): Move up a bit.
51211
51212         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
51213         #define to be empty.
51214         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
51215         when that is what is intended.
51216         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
51217         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
51218         (MAX): New macro.
51219         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
51220         All uses changed back to re_malloc, etc.  It's now the caller's
51221         responsibility to check for overflow; all callers changed.
51222         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
51223         (re_x2nrealloc): Remove.
51224         (free_state): Remove decl.
51225
51226         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
51227         (re_set_registers, re_exec):
51228         Use K&R-style defn.
51229
51230         2006-01-31  Roland McGrath  <roland@redhat.com>
51231
51232         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
51233         Reported by Mike Frysinger <vapier@gentoo.org>.
51234
51235         2006-01-15  Andreas Jaeger  <aj@suse.de>
51236
51237         [BZ #1950]
51238         * lib/regex_internal.c (re_string_reconstruct): Adjust for
51239         build_wcs_upper_buffer change.
51240         (build_wcs_upper_buffer): Change return type.
51241
51242         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
51243
51244         * lib/regex_internal.h: Include <stdint.h> if available.
51245
51246         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
51247
51248         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
51249
51250         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
51251
51252         * lib/regcomp.c: Adjust for changed secondary hash function.
51253
51254         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
51255
51256         * lib/regex.h: Pretty printing.
51257         Clean up namespace a bit.
51258
51259         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
51260
51261         * lib/regexec.c (update_cur_sifted_state, check_arrival,
51262         check_arrival_add_next_nodes): Avoid using uninitialized variable.
51263
51264         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51265                     Ulrich Drepper  <drepper@redhat.com>
51266
51267         [BZ #1302]
51268         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
51269         changed.
51270         (bitset_word_t): Renamed from bitset_word.  All uses changed.
51271
51272         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
51273
51274         [BZ #281]
51275         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
51276         * lib/regcomp.c: Remove unnecessary uses of
51277         unsigned RE_TRANSLATE_TYPE.
51278         * lib/regex_internal.h: Likewise.
51279         * lib/regex_internal.c: Likewise.
51280         * lib/regexec.c: Likewise.
51281         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
51282
51283         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
51284
51285         * lib/regexec.c (find_recover_state): Remove unnecessary
51286         initialization.
51287         (transit_state_bkref): Make DFA a const pointer.
51288         (get_subexp): Likewise.
51289         (check_arrival): Likewise.
51290         (update_cur_sifted_state): Likewise.
51291         (re_search_internal): Likewise.
51292         (prune_impossible_nodes): Likewise.
51293         (acquire_init_state_context): Likewise.
51294         (proceed_next_node): Likewise.
51295         (set_regs): Likewise.
51296         (free_fail_stack_return): Likewise.
51297         (check_arrival_expand_ecl): Mark DFA parameter as const.
51298         (check_arrival_expand_ecl_sub): Likewise.
51299         (check_subexp_limits): Likewise.
51300         (sub_epsilon_src_nodes):  Likewise.
51301         (add_epsilon_src_nodes):  Likewise.
51302         (merge_state_array): Likewise.
51303         (update_regs): Likewise.
51304         (build_trtable): Likewise.
51305         (sift_states_backward): Mark MCTX parameter as const.
51306         (build_sifted_states): Likewise.
51307         (update_cur_sifted_state): Likewise.
51308         (sift_states_mkref): Likewise.
51309         (check_arrival_expand_ecl): Mark eclosure as const.
51310         (check_dst_limits_calc_pos_1): Likewise.
51311         * lib/regex_internal.h (re_match_context_t): Make dfa a const
51312         pointer.
51313
51314         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
51315
51316         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
51317         (transit_state_sb): Likewise.
51318         (transit_state_mb): Likewise.
51319         (sift_states_iter_mb): Likewise.
51320         (check_arrival_add_next_nodes): Likewise.
51321         (check_node_accept_bytes): Change first parameter to pointer-to-const.
51322         [_LIBC] (re_search_2_stub): Use mempcpy.
51323
51324         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
51325         mbrtowc for very simple UTF-8 case.
51326
51327         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
51328         a pointer-to-const.
51329         (re_acquire_state_context): Likewise.
51330         * lib/regex_internal.h: Adjust prototypes.
51331
51332         * lib/regex.c: Prevent using C++ compilers.
51333
51334         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
51335         (re_acquire_state_context): Likewise.
51336
51337 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51338
51339         * modules/regex (Depends-on): Add ssize_t.
51340
51341 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51342
51343         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
51344         translation table.
51345
51346 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51347
51348         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
51349
51350 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
51351             Bruno Haible  <bruno@clisp.org>
51352
51353         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
51354         <sys/types.h> and <inttypes.h>.
51355
51356 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51357
51358         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
51359         `__error_t_defined', so argp.h will not typedef the former.
51360
51361 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
51362
51363         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
51364         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
51365         glibc names.  Even if glibc is changed to conform to POSIX, the
51366         traditional names will be available anyway, since regex depends on
51367         the extensions module.  Also, fix a longstanding typo in the
51368         implementation of Spencer ERE test #75 from grep 2.3.  Problems
51369         reported by Emanuele Giaquinta.  Also, change sense of cached
51370         variable, so that the message makes sense.
51371
51372 2006-03-24  Simon Josefsson  <jas@extundo.com>
51373
51374         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
51375         including some doc fixes.
51376         (base64_encode_alloc): Fix +1 bug on allocation failures.
51377
51378 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51379
51380         * lib/base64.c (base64_encode): Do not read past end of array with
51381         unsanitized input on systems with CHAR_BIT > 8.
51382
51383 2006-03-24  Eric Blake  <ebb9@byu.net>
51384
51385         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
51386
51387 2006-03-22  Karl Berry  <karl@gnu.org>
51388
51389         * config/srclist.txt (*setenv.[ch]): get from coreutils.
51390         * config/srclistvars.sh (COREUTILS): new var.
51391
51392 2006-03-17  Jim Meyering  <jim@meyering.net>
51393
51394         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
51395         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
51396
51397 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51398
51399         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
51400         no longer needs it.  Instead, check that regoff_t is as least
51401         as wide as ptrdiff_t.
51402
51403         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
51404         so that our regex.h stays compatible with the installed regex.
51405         This is helpful for installers who configure --without-included-regex.
51406         Problem reported by Emanuele Giaquinta.
51407
51408 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51409
51410         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
51411         Typedef to long int, not to off_, as POSIX will likely change
51412         in that direction.
51413
51414 2006-03-15  Eric Blake  <ebb9@byu.net>
51415
51416         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
51417
51418 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51419
51420         * lib/argp-help.c (validate_uparams): Fix typo
51421         * lib/argp-parse.c (argp_default_options): Consistently begin help
51422         messages with a lowercase letter.
51423
51424 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
51425
51426         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
51427         overrun buffers and shouldn't be used (much as gets shouldn't be
51428         used).
51429         * lib/time_r.c (asctime_r, ctime_r): Likewise.
51430
51431 2006-03-08  Simon Josefsson  <jas@extundo.com>
51432
51433         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
51434         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51435
51436 2006-03-08  Simon Josefsson  <jas@extundo.com>
51437
51438         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
51439         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51440
51441 2006-03-08  Simon Josefsson  <jas@extundo.com>
51442
51443         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
51444         signal that configure disabled the device.
51445
51446 2006-03-08  Simon Josefsson  <jas@extundo.com>
51447
51448         * build-aux/maint.mk: Fix refresh-po, to handle no translated
51449         languages.
51450
51451 2006-03-07  Simon Josefsson  <jas@extundo.com>
51452
51453         * modules/getopt (Depends-on): Add unistd.
51454
51455         * modules/unistd: New file.
51456
51457 2006-03-07  Simon Josefsson  <jas@extundo.com>
51458
51459         * modules/gc-random: New file.
51460
51461 2006-03-07  Simon Josefsson  <jas@extundo.com>
51462
51463         * m4/unistd_h.m4: New file.
51464
51465 2006-03-07  Simon Josefsson  <jas@extundo.com>
51466
51467         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
51468         test to be side-effect free by storing the result in the cache
51469         variable gl_cv_lib_readline, and moving the assignment of
51470         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
51471         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51472
51473 2006-03-07  Simon Josefsson  <jas@extundo.com>
51474
51475         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
51476         error on missing devices (the functions will return an error).
51477
51478         * m4/gc.m4: Move random stuff to gc-random.m4
51479
51480 2006-03-07  Simon Josefsson  <jas@extundo.com>
51481
51482         * lib/unistd_.h: New file.
51483
51484 2006-03-07  Simon Josefsson  <jas@extundo.com>
51485
51486         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
51487
51488 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51489
51490         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
51491         Problem reported by Juan Manuel Guerrero.
51492
51493 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51494
51495         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
51496         the unistd module.
51497         * lib/getlogin_r.c: Likewise.
51498         * lib/getlogin_r.h: Likewise.
51499         * lib/glob.c: Likewise.
51500         * lib/pagealign_alloc.c: Likewise.
51501         * lib/unistd_.h: Remove; no longer needed.
51502
51503 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51504
51505         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51506         Add unistd.
51507         * modules/c-stack (Depends-on): Add unistd.
51508         * modules/getlogin_r: Likewise.
51509         * modules/glob: Likewise.
51510         * modules/pagealign_alloc: Likewise.
51511         * modules/unistd (Files): Remove lib/unistd_.h.
51512         (EXTRA_DIST): Remove.
51513         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
51514         need unistd_.h.
51515         (MOSTLYCLEANFILES): Remove unistd.h-t.
51516
51517 2006-03-03  Simon Josefsson  <jas@extundo.com>
51518
51519         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
51520
51521 2006-03-03  Simon Josefsson  <jas@extundo.com>
51522
51523         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
51524         libidn and bison.
51525
51526 2006-03-03  Simon Josefsson  <jas@extundo.com>
51527
51528         * build-aux/maint.mk: Add indent target.
51529
51530 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
51531
51532         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
51533         our replacement poll.h in any case, to avoid a differing
51534         declaration from a system header.  Seen on AIX.
51535
51536 2006-03-01  Simon Josefsson  <jas@extundo.com>
51537
51538         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
51539         <kasal@ucw.cz>.
51540
51541 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51542
51543         * modules/gettime (Depends-on): Add extensions module.
51544         * modules/nanosleep (Depends-on): Likewise.
51545         * modules/settime (Depends-on): Likewise.
51546
51547 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51548
51549         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
51550         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
51551         pedantically.
51552         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51553         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
51554
51555         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
51556         not "==".  Reported by Ralf Wildenhues.
51557
51558 2006-03-01  Karl Berry  <karl@gnu.org>
51559
51560         * doc/Copyright/request-*: new files, synced from gnuorg.
51561
51562 2006-03-01  Karl Berry  <karl@gnu.org>
51563
51564         * config/srclist.txt (Copyright/*): new entries.
51565
51566 2006-02-28  Simon Josefsson  <jas@extundo.com>
51567
51568         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
51569
51570 2006-02-27  Simon Josefsson  <jas@extundo.com>
51571
51572         * lib/base64.h: Indent #define's.  From Jim Meyering
51573         <jim@meyering.net>.
51574
51575 2006-02-27  Jim Meyering  <jim@meyering.net>
51576
51577         Revert the change of 2006-02-24, so these files can continue
51578         to be sync'd from gettext.
51579         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
51580         of `config.h'.
51581
51582 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51583
51584         * modules/intprops: New file.
51585         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
51586         Add intprops.
51587         * modules/getloadavg (Files): Remove lib/intprops.h.
51588         (Depends-on): Add intprops.
51589         * modules/human: Likewise.
51590         * modules/inttostr: Likewise.
51591         * modules/openat: Likewise.
51592         * modules/sig2str: Likewise.
51593         * modules/userspec: Likewise.
51594         * modules/utimecmp: Likewise.
51595         * modules/xnanosleep: Likewise.
51596         * modules/xstrtol: Likewise.
51597
51598 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
51599
51600         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
51601         * modules/lock-tests (TESTS): Use $(EXEEXT).
51602         * modules/tls-tests: Likewise.
51603         * modules/argp-tests: Likewise.
51604         (check_PROGRAMS): New var, replacing...
51605         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
51606
51607 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51608
51609         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
51610         `config.h'.
51611
51612 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51613
51614         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
51615
51616 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51617
51618         Sync from coreutils.
51619         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
51620         gl_CHDIR_SAFER.
51621
51622 2006-02-22  Jim Meyering  <jim@meyering.net>
51623
51624         Sync from coreutils.
51625         * m4/chdir-safer.m4: New file.
51626
51627 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51628
51629         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
51630         AT_FDCWD exceeds INT_MAX.
51631         * lib/openat.h (AT_FDCWD): Likewise.
51632
51633 2006-02-17  Eric Blake  <address@hidden>
51634
51635         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
51636
51637 2006-02-16  Simon Josefsson  <jas@extundo.com>
51638
51639         * modules/getaddrinfo (Depends-on): Add sys_socket.
51640
51641 2006-02-15  Simon Josefsson  <jas@extundo.com>
51642
51643         * build-aux/maint.mk: Add dsyntax-check rule.
51644
51645 2006-02-15  Eric Blake  <ebb9@byu.net>
51646
51647         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
51648         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
51649         'present but cannot compile' warnings on cygwin.
51650         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
51651         use ws2tcpip.h if sys/socket.h works.
51652         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
51653         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
51654
51655 2006-02-14  Simon Josefsson  <jas@extundo.com>
51656
51657         * modules/maintainer-makefile (Files): Rename.
51658
51659         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
51660         and (the local) Makefile.cfg to maint-cfg.mk.
51661
51662         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
51663         to the latter.
51664
51665         * modules/maintainer-makefile: New module.
51666
51667         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
51668         severaly stripped to make it possible to build it up from scratch
51669         with reliable tests.
51670
51671         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
51672         fixes to permit overriding the default actions when configure and
51673         makefile are not available.
51674
51675 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51676
51677         Sync from coreutils.
51678         * modules/lstat (Depends-on): Don't depend on xalloc.
51679         (License): Change from GPL to LGPL, since this is now simply a
51680         replacement for a libc function.
51681
51682 2006-02-14  Jim Meyering  <jim@meyering.net>
51683
51684         Sync from coreutils.
51685
51686         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
51687         failure on deficient systems, and simplify gnulib lgpl dependencies.
51688         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
51689         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
51690
51691         * lib/xalloc-die.c: Remove unused definition of N_.
51692
51693 2006-02-14  Jim Meyering  <jim@meyering.net>
51694
51695         Sync from coreutils.
51696         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
51697         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
51698         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
51699         double-quote uses of that variable, to accommodate the rare case in
51700         which getmntent is available in none of the libraries checked.  This
51701         happens at least on FreeBSD 5.0.
51702
51703 2006-02-13  Simon Josefsson  <jas@extundo.com>
51704
51705         * gnulib-tool (Usage): Fix --import, from
51706         karl@freefriends.org (Karl Berry).
51707
51708 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51709
51710         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
51711
51712 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
51713
51714         * lib/argp-namefrob.h: Restore changes accidentally lost during the
51715         "autoupdate" on 2005-12-12.
51716
51717 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51718
51719         * modules/closeout (Depends-on): Remove atexit.
51720
51721 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51722
51723         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
51724         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
51725
51726 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51727
51728         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
51729         __EXTENSIONS__ if this causes compilation to fail.  Problem
51730         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
51731         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
51732
51733 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
51734
51735         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
51736         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
51737         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
51738         All uses changed.
51739
51740 2006-01-26  Simon Josefsson  <jas@extundo.com>
51741
51742         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
51743         prototype is visible on mingw32.
51744
51745         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
51746         for mingw32.
51747
51748         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
51749         mingw32).
51750
51751 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51752
51753         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
51754         attempt to open for write; this always fails, at least on POSIX
51755         hosts.  This reinstates the 2006-01-09 change, which was
51756         inadvertently removed.
51757
51758 2006-01-26  Bruno Haible  <bruno@clisp.org>
51759
51760         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
51761         Reported by Paul Eggert.
51762
51763 2006-01-26  Bruno Haible  <bruno@clisp.org>
51764             Paul Eggert  <eggert@cs.ucla.edu>
51765
51766         * lib/stdbool_.h (_Bool)
51767         [(! (defined __cplusplus || defined __BEOS__)
51768           && !defined __GNUC__
51769           && !(defined __HP_cc || defined __xlc__
51770                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
51771                || defined __sgi))]:
51772         #define to signed char in these cases too; this simplifies
51773         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
51774         etc., separately) and makes it more conservative.
51775
51776 2006-01-25  Simon Josefsson  <jas@extundo.com>
51777
51778         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
51779         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
51780         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
51781
51782 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51783
51784         * lib/argp-namefrob.h: Bugfix. Remove stray #
51785
51786 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51787
51788         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
51789         so that we test the test.
51790         Check for yet another HP-UX cc bug involving *bool |= bool.
51791
51792 2006-01-25  Karl Berry  <karl@gnu.org>
51793
51794         * config/srclist.txt (vasnprintf.c): sync lost.
51795
51796 2006-01-25  Jim Meyering  <jim@meyering.net>
51797
51798         Sync from the stable (b5) branch of coreutils:
51799
51800         * lib/fts.c (fts_children): Don't let close() clobber errno from
51801         failed fchdir().
51802
51803         * lib/fts.c (fts_stat): When following a symlink-to-directory,
51804         don't necessarily interpret stat-fails+lstat-succeeds as indicating
51805         a dangling symlink.  That can also happen at least for ELOOP.
51806         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
51807         FYI, this bug predates the inclusion of fts.c in coreutils.
51808
51809         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
51810         in their own block, so pre-c99 compilers don't object.
51811
51812         Avoid the double-free (first in fts_read, second in fts_close) that
51813         would occur when an `active' directory is made inaccessible (e.g.,
51814         via chmod a-x) during a traversal.
51815         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51816         before returning.  Reproduce this failure by
51817         mkdir -p a/b; cd a; chmod a-x . b
51818         Reported by Stavros Passas.
51819
51820 2006-01-25  Jim Meyering  <jim@meyering.net>
51821
51822         * lib/fileblocks.c: Remove more useless parentheses.
51823         * lib/readutmp.h: Likewise.
51824
51825 2006-01-25  Bruno Haible  <bruno@clisp.org>
51826
51827         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
51828         warnings.
51829         Reported by Paul Eggert.
51830
51831 2006-01-25  Bruno Haible  <bruno@clisp.org>
51832
51833         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
51834         rid of a trap command. For Solaris sh.
51835         Reported by Mark D. Baushke <mdb@gnu.org>.
51836
51837 2006-01-24  Simon Josefsson  <jas@extundo.com>
51838
51839         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
51840         Bruno.
51841
51842 2006-01-24  Karl Berry  <karl@gnu.org>
51843
51844         * config/srclist.txt (argp-namefrob.h): sync lost.
51845
51846 2006-01-24  Jim Meyering  <jim@meyering.net>
51847
51848         * modules/openat (Files): Add lib/intprops.h.
51849         From Mark D. Baushke.
51850
51851 2006-01-24  Jim Meyering  <jim@meyering.net>
51852
51853         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
51854         Reported by Mark D. Baushke.
51855
51856 2006-01-24  Jim Meyering  <jim@meyering.net>
51857
51858         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
51859
51860 2006-01-24  Bruno Haible  <bruno@clisp.org>
51861
51862         * modules/strnlen (Maintainer): Change from glibc to all.
51863
51864 2006-01-24  Bruno Haible  <bruno@clisp.org>
51865
51866         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
51867         Patch by Paul Eggert.
51868
51869 2006-01-24  Bruno Haible  <bruno@clisp.org>
51870
51871         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
51872         already has it.
51873         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
51874         2005-11-26.
51875
51876         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
51877         'signed char' to avoid problems with the built-in _Bool type.
51878         Reported by Paul Eggert on 2005-11-26.
51879
51880 2006-01-24  Bruno Haible  <bruno@clisp.org>
51881
51882         * gnulib-tool (func_import): Avoid constructing complicated sed
51883         expressions inside backquote.
51884         Report and solution by Mark D. Baushke <mdb@gnu.org>.
51885
51886 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
51887
51888         These changes imported from libc.
51889         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
51890         test and two separate function calls.
51891         * lib/strndup.c (__strndup): Add libc_hidden_def.
51892
51893 2006-01-23  Simon Josefsson  <jas@extundo.com>
51894
51895         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
51896         Remove the test_*_SOURCES variable: automake infers it by default.
51897         * modules/tls-tests: Likewise.
51898
51899 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51900
51901         Work around porting bugs reported by Dieter in
51902         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
51903         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
51904         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
51905         Include "getopt.h" first, to check interface.
51906         (getenv): Declare only if defined HAVE_DECL_GETENV &&
51907         !HAVE_DECL_GETENV.
51908         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
51909         (__strndup): Revert to K&R-style function dfns, the glibc style.
51910         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
51911         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
51912         Include strnlen.h first, to get prototype properly.
51913         (strnlen): Renamed from __strnlen.
51914         Remove weak alias.
51915
51916 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51917
51918         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
51919
51920 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51921
51922         * config/srclist.txt: Adjust to reflect glibc reorganization.
51923         This affects only comments.
51924
51925 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51926
51927          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
51928          Reported by Bruce Korb <bkorb@gnu.org>.
51929
51930 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
51931
51932         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
51933         to pacify gcc -Wswitch-default.
51934
51935 2006-01-22  Bruno Haible  <bruno@clisp.org>
51936
51937         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
51938         temporary buffer for sprintf, take into account the precision also
51939         for 'd', 'i', 'u', 'o', 'x', 'X'.
51940
51941 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51942
51943         * modules/argp-tests: New module
51944         * tests/test-argp.c: New file
51945         * tests/test-argp-2.sh: New file
51946
51947 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51948
51949         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
51950         (__argp_base_name): Removed
51951         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
51952         typo.
51953         (__argp_base_name): Provide macro definition or extern declaration
51954         depending on the configuration
51955
51956 2006-01-20  Simon Josefsson  <jas@extundo.com>
51957
51958         * modules/inet_ntop (Depends-on): Depend on sys_socket.
51959
51960 2006-01-20  Simon Josefsson  <jas@extundo.com>
51961
51962         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
51963
51964 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51965
51966         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
51967         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
51968         Suggested by Bruno Haible.
51969
51970 2006-01-20  Karl Berry  <karl@gnu.org>
51971
51972         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
51973         until changes propagate, I guess.
51974
51975 2006-01-19  Simon Josefsson  <jas@extundo.com>
51976
51977         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
51978
51979 2006-01-19  Simon Josefsson  <jas@extundo.com>
51980
51981         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
51982
51983 2006-01-19  Simon Josefsson  <jas@extundo.com>
51984
51985         * gnulib-tool: Set check_PROGRAMS.
51986
51987         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51988         modules/des-tests, modules/gc-arcfour-tests,
51989         modules/gc-arctwo-tests, modules/gc-des-tests,
51990         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51991         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51992         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51993         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51994         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51995         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
51996         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
51997         test_*_SOURCES.
51998
51999 2006-01-18  Simon Josefsson  <jas@extundo.com>
52000
52001         * modules/socklen (Depends-on): Depend on sys_socket.
52002
52003 2006-01-18  Simon Josefsson  <jas@extundo.com>
52004
52005         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
52006         modules/des-tests, modules/gc-arcfour-tests,
52007         modules/gc-arctwo-tests, modules/gc-des-tests,
52008         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
52009         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
52010         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
52011         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
52012         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
52013         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
52014         $(EXEEXT) to automake TESTS variable, for mingw32.
52015
52016 2006-01-17  Simon Josefsson  <jas@extundo.com>
52017
52018         * modules/socklen (Include): Need sys/socket.h.
52019
52020 2006-01-17  Bruno Haible  <bruno@clisp.org>
52021
52022         * modules/ssize_t (Include): Add <sys/types.h>.
52023
52024 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
52025
52026         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
52027         it's not portable and it doesn't work with cross-compiles.
52028         Problem reported by Bruno Haible.  Fix missing-$ typo in
52029         'test "gl_cv_ignore_unused_libraries" ...' that prevented
52030         -zignore from being used with Sun's C compiler.
52031
52032 2006-01-12  Simon Josefsson  <jas@extundo.com>
52033
52034         * lib/base64.c: Fix warning, reported by Bruno Haible
52035         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
52036
52037 2006-01-12  Bruno Haible  <bruno@clisp.org>
52038
52039         * modules/ldd: New file.
52040         * build-aux/ldd.sh.in: New file.
52041         * MODULES.html.sh (Support for building libraries and executables): Add
52042         ldd.
52043
52044 2006-01-12  Bruno Haible  <bruno@clisp.org>
52045
52046         * m4/ldd.m4: New file.
52047
52048 2006-01-12  Bruno Haible  <bruno@clisp.org>
52049
52050         * gnulib-tool (func_import, func_create_testdir): Don't go into an
52051         endless loop while replacing $auxdir with build-aux.
52052
52053 2006-01-11  Simon Josefsson  <jas@extundo.com>
52054
52055         * lib/stdint_.h (SIZE_MAX): Add missing (.
52056
52057 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
52058
52059         Sync from coreutils.
52060         * lib/md5.c: Fix commentary typos.
52061         (alignof, UNALIGNED_P): No need for a GCC-specific version.
52062         * lib/md5.h (__attribute__): Remove; unused.
52063         * lib/sha1.c: Fix commentary to match md5 better.
52064         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
52065         so that we don't need to worry about alignment.  All uses changed.
52066         This merges the 2005-10-28 md5 change into sha1.
52067
52068 2006-01-11  Jim Meyering  <jim@meyering.net>
52069
52070         Sync from coreutils.
52071         * lib/md5.c (OP): Fix spacing.
52072
52073 2006-01-11  Bruno Haible  <bruno@clisp.org>
52074
52075         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52076         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
52077         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
52078
52079 2006-01-11  Bruno Haible  <bruno@clisp.org>
52080
52081         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52082         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
52083         the "early" section as well.
52084
52085 2006-01-11  Bruno Haible  <bruno@clisp.org>
52086
52087         Avoid "ar: no archive members specified" error on MacOS X.
52088         * gnulib-tool (func_modules_add_dummy): New function.
52089         (func_import, func_create_testdir): Invoke it.
52090
52091 2006-01-11  Bruno Haible  <bruno@clisp.org>
52092
52093         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
52094         with $auxdir in AC_CONFIG_FILES statements.
52095
52096 2006-01-11  Bruno Haible  <bruno@clisp.org>
52097
52098         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52099         Initialize also noinst_HEADERS to empty.
52100
52101 2006-01-11  Bruno Haible  <bruno@clisp.org>
52102
52103         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
52104         variables.
52105         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
52106         autoreconf.
52107
52108 2006-01-11  Bruno Haible  <bruno@clisp.org>
52109
52110         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
52111         overridable by the user.
52112         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52113
52114 2006-01-10  Simon Josefsson  <jas@extundo.com>
52115
52116         * modules/sys_socket: New file.
52117
52118 2006-01-10  Simon Josefsson  <jas@extundo.com>
52119
52120         * m4/sys_socket_h.m4: New file.
52121
52122 2006-01-10  Simon Josefsson  <jas@extundo.com>
52123
52124         * lib/socket_.h: New file.
52125
52126 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52127
52128         * modules/readutmp (Maintainer): Add myself.
52129
52130 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52131
52132         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
52133         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
52134         People who are still concerned with buggy memcmp implementations
52135         can invoke gl_FUNC_MEMCMP themselves.
52136
52137 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52138
52139         * lib/regex_internal.h (BITSET_WORD_BITS):
52140         Work around a bug in 64-bit PGC (before version 6.1-2), where the
52141         preprocessor mishandles large unsigned values as if they were signed.
52142         Problem reported by Claudio Fontana in
52143         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
52144
52145 2006-01-10  Jim Meyering  <jim@meyering.net>
52146
52147         Avoid the double-free (first in fts_read, second in fts_close) that
52148         would occur when an `active' directory is made inaccessible (e.g.,
52149         via chmod a-x) during a traversal.
52150         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
52151         before returning.  Reproduce this failure by
52152         mkdir -p a/b; cd a; chmod a-x . b
52153         Reported by Stavros Passas.
52154
52155         Sync from coreutils.
52156         * lib/sha1.c: Tweak grammar in a comment.
52157
52158 2006-01-10  Jim Meyering  <jim@meyering.net>
52159
52160         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
52161         Patch by Joerg Sonnenberger.
52162
52163 2006-01-10  Bruno Haible  <bruno@clisp.org>
52164
52165         * modules/readutmp: Depend on module free.
52166         * modules/strtok_r: Depend on module restrict.
52167
52168 2006-01-10  Bruno Haible  <bruno@clisp.org>
52169
52170         * modules/gettext (configure.ac): Add an invocation of
52171         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
52172
52173 2006-01-10  Bruno Haible  <bruno@clisp.org>
52174
52175         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
52176         Reported by Werner Lemberg <wl@gnu.org>.
52177
52178 2006-01-10  Bruno Haible  <bruno@clisp.org>
52179
52180         * lib/localcharset.c: Update from GNU gettext.
52181
52182 2006-01-10  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/argp.h (__const): Remove macro. Use const instead.
52185         * lib/argp-fmtstream.h (__const): Likewise.
52186         * lib/glob_.h (__const): Remove macro.
52187         * lib/glob-libc.h: Use const instead of __const.
52188
52189 2006-01-10  Bruno Haible  <bruno@clisp.org>
52190
52191         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
52192         variable.
52193         Needed to avoid an automake error regarding the 'gettext' module.
52194
52195 2006-01-09  Simon Josefsson  <jas@extundo.com>
52196
52197         * modules/inet_ntop (Depends-on): Add restrict.
52198
52199 2006-01-09  Simon Josefsson  <jas@extundo.com>
52200
52201         * modules/gc-rijndael-tests (License): Put under LGPL.
52202
52203         * modules/gc-des-tests (License): Likewise.
52204
52205         * modules/gc-arcfour-tests (License): Likewise.
52206
52207         * modules/gc-arctwo-tests (License): Likewise.
52208
52209         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
52210
52211         * modules/gc-hmac-sha1-tests (Files): Likewise.
52212
52213         * modules/gc-hmac-md5-tests (License): Likewise.
52214
52215         * modules/gc-sha1-tests (License): Likewise.
52216
52217         * modules/gc-md5-tests (License): Likewise.
52218
52219         * modules/gc-md4-tests (License): Likewise.
52220
52221         * modules/gc-md2-tests (License): Likewise.
52222
52223         * modules/gc-tests (License): Likewise.
52224
52225         * modules/des-tests (License): Likewise.
52226
52227         * modules/md4-tests (License): Likewise.
52228
52229         * modules/md2-tests (License): Likewise.
52230
52231 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52232
52233         Sync from coreutils:
52234
52235         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
52236         * modules/lib-ignore: New file.
52237         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
52238         chdir-safer.m4, lchmod.m4.
52239         * modules/openat: Add mkdirat.c, openat-priv.h.
52240
52241 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52242
52243         Sync from coreutils.
52244         * m4/lib-ignore.m4: New file.
52245         * m4/lchmod.m4: New file.
52246
52247 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52248
52249         Sync from coreutils.
52250         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
52251         for write access: POSIX says that must fail.
52252         * lib/fts.c (diropen): Likewise.
52253         * lib/save-cwd.c (save_cwd): Likewise.
52254         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
52255         well, for minor improvements on hosts that lack O_DIRECTORY.
52256         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
52257         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
52258         Fall back on chown if open failed with EACCES.
52259
52260         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
52261         Report an error at compile-time if only a 1-second nominal clock
52262         resolution is found.
52263
52264         * lib/lchmod.h: New file.
52265         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
52266         (make_dir_parents): Use lchown rather than chown, and
52267         lchmod rather than chmod.
52268
52269         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
52270         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
52271         "proc" reported by n0dalus.
52272
52273         * lib/mountlist.c: Include <limits.h>.
52274         (dev_from_mount_options)
52275         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
52276         New function.  It no longer assumes "dev=" has the System V meaning
52277         on Linux (since it doesn't).  It also parses "dev=" more carefully.
52278         (read_file_system_list)
52279         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
52280         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
52281         dev= in that case.
52282
52283         * lib/posixtm.h (PDS_PRE_2000): New macro.
52284         * lib/posixtm.c (year): Arg is now syntax_bits rather than
52285         allow_century.  All usages changed.  Reject dates outside the range
52286         1969-1999 if PDS_PRE_2000 is used.
52287
52288 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52289
52290         Sync from coreutils.
52291         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
52292         (Time of day items): Mention the possibility of leap seconds.
52293         Problem reported by Dr. David Alan Gilbert.
52294
52295 2006-01-09  Jim Meyering  <jim@meyering.net>
52296
52297         Sync from coreutils.
52298
52299         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
52300
52301         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
52302
52303         * lib/modechange.c (mode_compile): Reject an invalid mode string
52304         that starts with an octal digit.  From Andreas Gruenbacher.
52305
52306         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
52307         and dup to open_safer and dup_safer, respectively.
52308         (openat_permissive): Fix typo in comment.
52309
52310         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
52311         "gettext.h"; either no longer needed or are guaranteed by openat.h.
52312         (_): Remove; no longer needed.
52313         (openat): Renamed from rpl_openat; no need for rpl_openat
52314         since openat.h renames openat for us.
52315         Replace most of the body with a call to openat_permissive,
52316         to avoid duplicate code.
52317         Port to (probably hypothetical) environments were mode_t is
52318         wider than int.
52319         (openat_permissive): Require mode arg, so that we can check
52320         types better.  Put it just after flags.  Change cwd failure
52321         indicator from pointer-to-bool to pointer-to-errno-value.
52322         All callers changed.
52323         Invoke openat_save_fail and/or openat_restore_fail if
52324         cwd_errno is null, so that openat can call us.
52325         (openat_permissive, fdopendir, fstatat, unlinkat):
52326         Simplify errno handling to avoid some duplicate code,
52327         as it's OK to set errno on success.
52328         * lib/openat.h: Revamp code so that function macros depend on
52329         __OPENAT_PREFIX only, not also on AT_FDCWD.
52330         (openat_ro): Remove.  Caller changed to use openat_permissive.
52331         (openat_permissive): Now a macro, if not a function.
52332         (openat_restore_fail, openat_save_fail): Now always functions,
52333         since mkdirat needs them even if __OPENAT_PREFIX is defined.
52334
52335         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
52336         and openat.c.
52337         * lib/mkdirat.c: Include openat-priv.h.
52338         Remove definitions of macros defined therein.
52339         * lib/openat.c: Likewise.
52340
52341         * lib/mkdirat.c (mkdirat): New file and function.
52342         * lib/openat.h (mkdirat): Declare.
52343
52344         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
52345
52346         * lib/openat.h (openat_permissive): Declare.
52347         (openat_ro): Define.
52348
52349         * lib/openat.c (EXPECTED_ERRNO): New macro.
52350         (openat_permissive): New function -- used in remove.c rewrite.
52351         (all functions): Set errno just before returning, only if there
52352         was an actual failure.
52353         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
52354
52355         Emulate openat-family functions using Linux's procfs, if possible.
52356         Idea and some code based on Ulrich Drepper's glibc changes.
52357
52358         * lib/openat.c: (BUILD_PROC_NAME): New macro.
52359         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
52360         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
52361         before falling back on save_cwd and restore_cwd.
52362         (fdopendir, fstatat, unlinkat): Likewise.
52363
52364         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
52365         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
52366
52367         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
52368         as second argument to va_arg.  Otherwise, some versions of gcc
52369         warn that `if this code is reached, the program will abort'.
52370
52371 2006-01-09  Jim Meyering  <jim@meyering.net>
52372
52373         Sync from coreutils.
52374         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
52375         Require openat-priv.h.
52376
52377 2006-01-09  Bruno Haible  <bruno@clisp.org>
52378
52379         * modules/strnlen (Include): Use strnlen.h.
52380
52381 2006-01-09  Bruno Haible  <bruno@clisp.org>
52382
52383         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
52384
52385 2006-01-09  Bruno Haible  <bruno@clisp.org>
52386
52387         * lib/sysexit_.h (EX_OK): New macro.
52388         Suggested by Martin Lambers <marlam@marlam.de>.
52389
52390 2006-01-09  Bruno Haible  <bruno@clisp.org>
52391
52392         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
52393         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
52394
52395 2006-01-09  Bruno Haible  <bruno@clisp.org>
52396
52397         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
52398         numbers.
52399
52400 2006-01-09  Bruno Haible  <bruno@clisp.org>
52401
52402         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
52403         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
52404         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
52405         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
52406
52407 2006-01-09  Bruno Haible  <bruno@clisp.org>
52408
52409         * build-aux/javacomp.sh.in: New file, moved from lib/.
52410         * modules/javacomp-script (Files): Update.
52411         (configure.ac): Add AC_CONFIG_FILES invocation.
52412         (EXTRA_DIST): Remove variable.
52413
52414         * build-aux/javaexec.sh.in: New file, moved from lib/.
52415         * modules/javaexec (Files): Update.
52416         (configure.ac): Add AC_CONFIG_FILES invocation.
52417         (EXTRA_DIST): Remove javaexec.sh.in.
52418
52419         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
52420         * modules/csharpcomp-script (Files): Update.
52421         (configure.ac): Add AC_CONFIG_FILES invocation.
52422         (EXTRA_DIST): Remove variable.
52423
52424         * build-aux/csharpexec.sh.in: New file, moved from lib/.
52425         * modules/csharpexec (Files): Update.
52426         (configure.ac): Add AC_CONFIG_FILES invocation.
52427         (EXTRA_DIST): Remove csharpexec.sh.in.
52428
52429 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52430
52431         Sync from coreutils.
52432
52433         Add POSIX ACL support
52434         * lib/acl.h (copy_acl, set_acl): Add declarations.
52435         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
52436         systems other than Linux.
52437         (chmod_or_fchmod): New function: use fchmod when possible,
52438         and chmod otherwise.
52439         (file_has_acl): Add a POSIX ACL implementation, with a
52440         Linux-specific subcase.
52441         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
52442         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
52443         acls are unsupported.
52444         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
52445         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
52446         are unsupported.
52447
52448 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52449
52450         Sync from coreutils.
52451         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
52452
52453 2006-01-07  Bruno Haible  <bruno@clisp.org>
52454
52455         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
52456         gl_EARLY.
52457
52458 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52459
52460         * lib/strftime.c (tzname): Don't declare if it is already #defined.
52461         Problem reported for Mingw by Mark Junker.
52462
52463 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52464
52465         * README: Gnulib normally doesn't generate a tarball.
52466
52467 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
52468
52469         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
52470         long int, not int, for nanosecond counts, so that people who are
52471         used to POSIX struct timespec won't be surprised.  Reported by Jim
52472         Meyering.
52473
52474 2005-12-28  Bruno Haible  <bruno@clisp.org>
52475
52476         * build-aux/config.rpath: Update from GNU gettext.
52477
52478 2005-12-16  Jim Meyering  <jim@meyering.net>
52479
52480         * modules/fprintftime: New module.
52481         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
52482
52483 2005-12-16  Jim Meyering  <jim@meyering.net>
52484
52485         * m4/fprintftime.m4: New file.
52486
52487 2005-12-16  Jim Meyering  <jim@meyering.net>
52488
52489         * lib/fprintftime.c, lib/fprintftime.h: New files.
52490
52491 2005-12-15  Simon Josefsson  <jas@extundo.com>
52492
52493         * modules/socklen (configure.ac): Fix M4 macro name, to align with
52494         new m4/socklen.m4.
52495
52496 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52497
52498         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
52499         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
52500
52501 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52502
52503         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
52504         * lib/argp-help.c (fill_in_uparams): Check if the constructed
52505         struct uparams is valid. Fall back to the default values if it is
52506         not.
52507
52508 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52509
52510         * modules/argp (Files): Add argp-pin.c
52511         (Depends-on): dirname
52512         (lib_SOURCES): Add argp-pin.c
52513
52514 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52515
52516         * m4/argp.m4:  Check if program_invocation_name and
52517         program_invocation_short_name are declared and define appropriate
52518         macros if they are not.
52519
52520 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52521
52522         * lib/argp-help.c (__argp_base_name): New function
52523         (__argp_short_program_name): Rewrite using __argp_base_name
52524         * lib/argp-namefrob.h: Define program_invocation_name and
52525         program_invocation_short_name if requested
52526         (__argp_base_name): Add prototype
52527         * lib/argp-parse.c (argp_def): Use gettext wrappers
52528         (argp_default_parser): Use __argp_base_name
52529         * lib/argp-pin.c: New file. Defines program_invocation_name and
52530         program_invocation_short_name on systems that lack them.
52531
52532 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52533
52534         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
52535         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52536         porting problem reported by Georg Schwarz in
52537         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52538
52539 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52540
52541         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
52542         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52543         porting problem reported by Georg Schwarz in
52544         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52545
52546 2005-12-05  Bruno Haible  <bruno@clisp.org>
52547
52548         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
52549         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
52550         Reported by Mark Junker <mjscod@gmx.de>.
52551
52552 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
52553
52554         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
52555         Use implementation from Albert Chin, with some
52556         comments/corrections by Stepan Kasal and myself.
52557
52558 2005-12-02  Bruno Haible  <bruno@clisp.org>
52559
52560         * gnulib-tool (func_import): Accept GPLed build tool modules when
52561         --lgpl is given.
52562         * modules/csharpcomp-script: New file.
52563         * modules/csharpcomp: Depend on it.
52564         * modules/javacomp-script: New file.
52565         * modules/javacomp: Depend on it.
52566         Suggested by Simon Josefsson.
52567
52568 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
52569
52570         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
52571         statement, to work around an HP-UX 10.20 compiler bug reported by
52572         Peter O'Gorman.
52573
52574 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52575
52576         * modules/savedir (Depends-on): Add openat.
52577
52578 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52579
52580         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
52581         (uintmax_t) [defined uintmax_t]: Do not declare.
52582         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
52583         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
52584         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
52585         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
52586         sake of portability to weird hosts that C allows (though we don't
52587         know of any practical examples).
52588
52589         * lib/savedir.h (fdsavedir): New decl.
52590         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
52591         contains most of the former guts of savedir.
52592         (savedir): Use savedirstream.
52593         Include "openat.h".
52594
52595 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52596
52597         * modules/obstack (Files): Add m4/ulonglong.m4.
52598         Problem reported by Davide Angelocola.
52599
52600 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52601
52602         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
52603         coreutils no longer futzes with rounding modes.
52604
52605 2005-11-14  Jim Meyering  <jim@meyering.net>
52606
52607         * lib/mkstemp-safer.c: Include <config.h>, required for possible
52608         replacement of mkstemp.
52609
52610 2005-11-10  Simon Josefsson  <jas@extundo.com>
52611
52612         * lib/readline.c: Remove EOL.
52613
52614 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52615
52616         * modules/gethrxtime (Depends-on): Add gettime.
52617
52618 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52619
52620         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
52621         or gettimeofday; no longer needed.
52622
52623 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52624
52625         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
52626         time business.
52627         (gethrxtime) [! (HAVE_NANOUPTIME
52628         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
52629         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
52630         our own approximation.
52631
52632 2005-11-08  Eric Blake  <ebb9@byu.net>
52633
52634         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52635
52636 2005-11-08  Eric Blake  <ebb9@byu.net>
52637
52638         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52639
52640 2005-11-04  Bruno Haible  <bruno@clisp.org>
52641
52642         * gnulib-tool: Implement --update mode.
52643
52644 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52645
52646         Fix porting problem reported by Theodoros V. Kalamatianos.
52647         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
52648         Don't assume that futimes failing means we must fail.
52649
52650 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52651
52652         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
52653         variables to suggest the intended function of the PATH_MAX check.
52654
52655 2005-10-30  Kean Johnston  <jkj@sco.com>
52656
52657         Trivial changes to support SCO systems.
52658         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
52659         as PATH_MAX.
52660         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
52661         where __ptr is null when no I/O is pending.
52662
52663 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52664
52665         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
52666         leave errno alone.  Problem reported by Dmitry V. Levin.
52667
52668 2005-10-28  Simon Josefsson  <jas@extundo.com>
52669
52670         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
52671         Test more.
52672
52673         * tests/test-gc-md2.c, tests/test-md2.c: New files.
52674
52675         * modules/md2, modules/md2-tests: New files.
52676
52677 2005-10-28  Simon Josefsson  <jas@extundo.com>
52678
52679         * m4/inet_ntop.m4: More tests.
52680
52681         * m4/gc-md2.m4, md2.m4: New file.
52682
52683 2005-10-28  Simon Josefsson  <jas@extundo.com>
52684
52685         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
52686         "restrict" keywords, as per POSIX.  Protect the function
52687         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
52688         Don't use K&R prototypes.  Check the sprintf return values.
52689         Re-define EAFNOSUPPORT if not present.  Indent.
52690
52691         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
52692         suggested by Bruno Haible <bruno@clisp.org>.
52693
52694         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
52695
52696         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
52697
52698         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
52699         libgcrypt).
52700
52701         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
52702
52703         * lib/md2.h, lib/md2.c: New files.
52704
52705 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
52706
52707         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
52708         errno alone.  Problem reported by Frederic Jolliton.
52709
52710 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52711
52712         * modules/verify (License): Change from GPL to LGPL.  This is a
52713         tiny module and there are apparently near-equivalents that are
52714         under the BSD license.
52715
52716 2005-10-24  Simon Josefsson  <jas@extundo.com>
52717
52718         * modules/sha1: Relicense to LGPL.
52719
52720 2005-10-24  Simon Josefsson  <jas@extundo.com>
52721
52722         * lib/md4.h: Shrink buffer size, now that we changed the type.
52723
52724 2005-10-23  Simon Josefsson  <jas@extundo.com>
52725
52726         * gnulib-tool (func_import): Fix --tests-base.
52727
52728 2005-10-22  Simon Josefsson  <jas@extundo.com>
52729
52730         * modules/arcfour (Depends-on): Need stdint.
52731
52732 2005-10-22  Simon Josefsson  <jas@extundo.com>
52733
52734         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
52735         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
52736
52737 2005-10-22  Simon Josefsson  <jas@extundo.com>
52738
52739         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
52740         suggested by Bruno Haible <bruno@clisp.org>.
52741
52742 2005-10-22  Simon Josefsson  <jas@extundo.com>
52743
52744         * lib/crc.h: Include stddef.h, for size_t.
52745
52746 2005-10-22  Simon Josefsson  <jas@extundo.com>
52747
52748         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
52749         arcfour_context struct (simplify test vector testing in GNU
52750         Shishi).
52751
52752 2005-10-21  Simon Josefsson  <jas@extundo.com>
52753
52754         * modules/des, modules/des-tests: New files.
52755
52756         * modules/gc-des, modules/gc-des-tests: New files.
52757
52758         * tests/test-des.c, tests/test-gc-des.c: New file.
52759
52760 2005-10-21  Simon Josefsson  <jas@extundo.com>
52761
52762         * modules/arctwo, modules/arctwo-tests: New files.
52763
52764         * tests/test-arctwo.c: New file.
52765
52766         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
52767
52768         * tests/test-gc-arctwo.c: New file.
52769
52770 2005-10-21  Simon Josefsson  <jas@extundo.com>
52771
52772         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
52773         Bruno Haible <bruno@clisp.org>.
52774
52775         * m4/gc-des.m4: New file.
52776
52777 2005-10-21  Simon Josefsson  <jas@extundo.com>
52778
52779         * m4/arctwo.m4: New file.
52780
52781         * m4/gc-arctwo.m4: New file.
52782
52783 2005-10-21  Simon Josefsson  <jas@extundo.com>
52784
52785         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
52786         block.
52787
52788 2005-10-21  Simon Josefsson  <jas@extundo.com>
52789
52790         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
52791         <bruno@clisp.org>.
52792
52793         * lib/hmac-sha1.c (hmac_sha1): Likewise.
52794
52795         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
52796         Bruno Haible <bruno@clisp.org>.
52797
52798         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
52799         <bruno@clisp.org>.
52800
52801 2005-10-21  Simon Josefsson  <jas@extundo.com>
52802
52803         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
52804
52805 2005-10-21  Simon Josefsson  <jas@extundo.com>
52806
52807         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
52808
52809 2005-10-21  Simon Josefsson  <jas@extundo.com>
52810
52811         * lib/des.h, lib/des.c: New files.
52812
52813         * lib/gc-gnulib.c: Support DES.c
52814
52815 2005-10-21  Simon Josefsson  <jas@extundo.com>
52816
52817         * lib/arctwo.h, lib/arctwo.c: New files.
52818
52819         * lib/gc-gnulib.c: Support ARCTWO.
52820
52821 2005-10-21  Simon Josefsson  <jas@extundo.com>
52822
52823         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
52824         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52825
52826 2005-10-21  Simon Josefsson  <jas@extundo.com>
52827
52828         * gnulib-tool (func_import, func_create_testdir): Define automake
52829         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
52830         Makefile.am snippet),
52831         suggested by Bruno Haible <bruno@clisp.org>.
52832
52833         * modules/gc (Makefile.am): Use it.
52834
52835 2005-10-21  Bruno Haible  <bruno@clisp.org>
52836
52837         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
52838         patch.
52839
52840 2005-10-19  Simon Josefsson  <jas@extundo.com>
52841
52842         * tests/test-gc-rijndael.c: New file.
52843
52844         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
52845
52846 2005-10-19  Simon Josefsson  <jas@extundo.com>
52847
52848         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
52849         interface too.
52850
52851 2005-10-19  Simon Josefsson  <jas@extundo.com>
52852
52853         * tests/test-gc-arcfour.c: New file.
52854
52855         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
52856
52857 2005-10-19  Simon Josefsson  <jas@extundo.com>
52858
52859         * modules/gc-md4, modules/gc-md4-tests: New file.
52860
52861         * tests/test-gc-md4.c: New file.
52862
52863 2005-10-19  Simon Josefsson  <jas@extundo.com>
52864
52865         * m4/gc-md4.m4: New file.
52866
52867 2005-10-19  Simon Josefsson  <jas@extundo.com>
52868
52869         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
52870         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
52871         <kasal@ucw.cz>.
52872
52873 2005-10-19  Simon Josefsson  <jas@extundo.com>
52874
52875         * m4/gc-arcfour.m4: New file.
52876
52877         * m4/gc-rijndael.m4: New file.
52878
52879 2005-10-19  Simon Josefsson  <jas@extundo.com>
52880
52881         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
52882
52883 2005-10-19  Simon Josefsson  <jas@extundo.com>
52884
52885         * lib/gc-gnulib.c: Support ARCFOUR.
52886
52887 2005-10-19  Simon Josefsson  <jas@extundo.com>
52888
52889         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
52890         support.
52891
52892         * lib/gc.h: Add ECB enum type.
52893
52894         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
52895
52896 2005-10-18  Simon Josefsson  <jas@extundo.com>
52897
52898         * tests/test-md5.c: New file.
52899
52900         * modules/md5-tests: New file.
52901
52902 2005-10-18  Simon Josefsson  <jas@extundo.com>
52903
52904         * tests/test-md4.c: New file.
52905
52906         * modules/md4, modules/md4-tests: New files.
52907
52908 2005-10-18  Simon Josefsson  <jas@extundo.com>
52909
52910         * m4/md4.m4: New file.
52911
52912 2005-10-18  Simon Josefsson  <jas@extundo.com>
52913
52914         * lib/md4.h, lib/md4.c: New files, based on md5.?.
52915
52916 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
52917
52918         * gnulib-tool (func_create_testdir): Omit the second check whether
52919         BUILT_SOURCES in nonempty.
52920
52921 2005-10-17  Simon Josefsson  <jas@extundo.com>
52922
52923         * tests/test-rijndael.c: New file.
52924
52925 2005-10-17  Simon Josefsson  <jas@extundo.com>
52926
52927         * modules/sha1: Depend on stdint instead of md5.
52928
52929         * modules/md5: Depend on stdint, remove uint32_t.
52930
52931 2005-10-17  Simon Josefsson  <jas@extundo.com>
52932
52933         * modules/gc-sha1-tests: New file.
52934
52935         * tests/test-gc-sha1.c: New file.
52936
52937 2005-10-17  Simon Josefsson  <jas@extundo.com>
52938
52939         * m4/md5.m4: Remove call to uint32_t.m4.
52940
52941 2005-10-17  Simon Josefsson  <jas@extundo.com>
52942
52943         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
52944
52945         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
52946         md5.h.
52947
52948         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
52949
52950         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
52951
52952 2005-10-17  Simon Josefsson  <jas@extundo.com>
52953
52954         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
52955
52956 2005-10-17  Simon Josefsson  <jas@extundo.com>
52957
52958         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
52959
52960 2005-10-17  Simon Josefsson  <jas@extundo.com>
52961
52962         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
52963
52964         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
52965
52966 2005-10-17  Bruno Haible  <bruno@clisp.org>
52967
52968         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
52969         that it can also be used in a test.
52970
52971 2005-10-16  Bruno Haible  <bruno@clisp.org>
52972
52973         * gnulib-tool (func_emit_tests_Makefile_am): Also define
52974         TESTS_ENVIRONMENT, so that individual tests can augment it.
52975
52976         * gnulib-tool (func_create_testdir): Use an intermediate target for
52977         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
52978         macros, like $(ALLOCA_H), which cannot be passed through the command
52979         line.
52980
52981 2005-10-15  Simon Josefsson  <jas@extundo.com>
52982
52983         * modules/rijndael-tests: New file.
52984
52985         * modules/rijndael: New file.
52986
52987 2005-10-15  Simon Josefsson  <jas@extundo.com>
52988
52989         * m4/rijndael.m4: New file.
52990
52991 2005-10-15  Simon Josefsson  <jas@extundo.com>
52992
52993         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
52994
52995         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
52996
52997 2005-10-14  Simon Josefsson  <jas@extundo.com>
52998
52999         * tests/test-arcfour.c: New file.
53000
53001         * modules/arcfour, modules/arcfour-tests: New files.
53002
53003 2005-10-14  Simon Josefsson  <jas@extundo.com>
53004
53005         * m4/arcfour.m4: New file.
53006
53007 2005-10-14  Simon Josefsson  <jas@extundo.com>
53008
53009         * lib/arcfour.h, lib/arcfour.c: New files.
53010
53011 2005-10-14  Roland McGrath  <roland@redhat.com>
53012
53013         Import from libc.  [BZ #1331]
53014         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
53015         macro argument.
53016         Reported by Matej Vela <vela@debian.org>.
53017
53018 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53019
53020         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
53021         include <wchar.h>; no longer needed.
53022
53023 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53024
53025         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
53026
53027 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
53028         and  Ulrich Drepper  <drepper@redhat.com>
53029
53030         Import from libc.
53031         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
53032         instead of inline stream orientation test and two separate
53033         function calls.  Pay no attention to USE_IN_LIBIO.
53034
53035 2005-10-13  Simon Josefsson  <jas@extundo.com>
53036
53037         * modules/gc-hmac-md5-tests: New file.
53038
53039         * tests/test-gc-hmac-sha1.c: New file.
53040
53041         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
53042
53043         * modules/gc-hmac-md5-tests: New file.
53044
53045         * tests/test-gc-md5.c: New file.
53046
53047         * modules/gc-md5-tests: New file.
53048
53049 2005-10-13  Simon Josefsson  <jas@extundo.com>
53050
53051         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
53052         Move memory allocation outside of loop.
53053
53054 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
53055
53056         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
53057         intermediate directory is in a read-only file system.  Problem
53058         reported by Eric Blake.
53059
53060 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
53061
53062         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
53063
53064 2005-10-12  Simon Josefsson  <jas@extundo.com>
53065
53066         * tests/test-hmac-sha1.c: New file.
53067
53068         * modules/hmac-sha1-tests: New file.
53069
53070         * modules/hmac-sha1: New file.
53071
53072 2005-10-12  Simon Josefsson  <jas@extundo.com>
53073
53074         * modules/gc-sha1: New file.
53075
53076 2005-10-12  Simon Josefsson  <jas@extundo.com>
53077
53078         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
53079
53080         * tests/test-gc-pbkdf2-sha1.c: New file.
53081
53082 2005-10-12  Simon Josefsson  <jas@extundo.com>
53083
53084         * modules/gc-md5, modules/gc-hmac-md5: New files.
53085
53086         * modules/gc (Files): Remove md5, memxor and hmac files.
53087
53088 2005-10-12  Simon Josefsson  <jas@extundo.com>
53089
53090         * m4/gc-pbkdf2-sha1.m4: New file.
53091
53092         * m4/gc-hmac-sha1.m4: New file.
53093
53094         * m4/gc-sha1: New file.
53095
53096         * m4/hmac-sha1.m4: New file.
53097
53098 2005-10-12  Simon Josefsson  <jas@extundo.com>
53099
53100         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
53101
53102         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
53103
53104 2005-10-12  Simon Josefsson  <jas@extundo.com>
53105
53106         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
53107         suggested by Bruno Haible <bruno@clisp.org>.
53108
53109 2005-10-12  Simon Josefsson  <jas@extundo.com>
53110
53111         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
53112
53113 2005-10-12  Simon Josefsson  <jas@extundo.com>
53114
53115         * lib/gc-pbkdf2-sha1.c: New file.
53116
53117         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
53118
53119 2005-10-12  Simon Josefsson  <jas@extundo.com>
53120
53121         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
53122
53123         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
53124
53125 2005-10-12  Simon Josefsson  <jas@extundo.com>
53126
53127         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
53128         GC_USE_HMAC_MD5, respectively.
53129
53130         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
53131         (gc_md5): Fix typo.
53132
53133         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
53134
53135         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
53136
53137         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
53138
53139 2005-10-12  Bruno Haible  <bruno@clisp.org>
53140
53141         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
53142         Reported by Stepan Kasal <kasal@ucw.cz>.
53143
53144 2005-10-11  Simon Josefsson  <jas@extundo.com>
53145
53146         * tests/test-crc.c: New file.
53147
53148         * modules/crc, modules/crc-tests: New files.
53149
53150 2005-10-11  Simon Josefsson  <jas@extundo.com>
53151
53152         * m4/crc.m4: New file.
53153
53154 2005-10-11  Simon Josefsson  <jas@extundo.com>
53155
53156         * lib/gc.h: Add gc_hash and gc_hash_buffer.
53157
53158         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
53159
53160         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
53161
53162 2005-10-11  Simon Josefsson  <jas@extundo.com>
53163
53164         * lib/crc.h, lib/crc.c: New files.
53165
53166         * lib/gc.h (gc_hash_buffer): Add doc.
53167
53168 2005-10-11  Bruno Haible  <bruno@clisp.org>
53169
53170         * modules/c-strcasestr: New file.
53171         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
53172
53173 2005-10-11  Bruno Haible  <bruno@clisp.org>
53174
53175         * modules/c-strcase: New file.
53176         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
53177
53178 2005-10-11  Bruno Haible  <bruno@clisp.org>
53179
53180         * lib/strcasecmp.c: Include limits.h.
53181         (strcasecmp): Avoid integer overflow on exotic platforms.
53182         * lib/strncasecmp.c: Include limits.h.
53183         (strncasecmp): Avoid integer overflow on exotic platforms.
53184         Reported by Paul Eggert.
53185
53186 2005-10-11  Bruno Haible  <bruno@clisp.org>
53187
53188         * lib/c-strcasestr.h: New file, from GNU gettext.
53189         * lib/c-strcasestr.c: New file, from GNU gettext.
53190
53191 2005-10-11  Bruno Haible  <bruno@clisp.org>
53192
53193         * lib/c-strcase.h: New file, from GNU gettext.
53194         * lib/c-strcasecmp.c: New file, from GNU gettext.
53195         * lib/c-strncasecmp.c: New file, from GNU gettext.
53196
53197 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53198
53199         * modules/mempcpy (License): GPL -> LGPL.
53200         * modules/strchrnul (License): Likewise.
53201         * modules/sysexits (License): Likewise.
53202
53203 2005-10-08  Simon Josefsson  <jas@extundo.com>
53204
53205         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
53206
53207 2005-10-07  Simon Josefsson  <jas@extundo.com>
53208
53209         * m4/memxor.m4: Remove gl_C_RESTRICT call.
53210
53211 2005-10-06  Simon Josefsson  <jas@extundo.com>
53212
53213         * tests/test-hmac-md5.c: New file.
53214
53215         * modules/hmac-md5-tests: New file.
53216
53217         * modules/hmac-md5: New file.
53218
53219 2005-10-06  Simon Josefsson  <jas@extundo.com>
53220
53221         * m4/hmac-md5.m4: New file.
53222
53223         * m4/memxor.m4: Require gl_C_RESTRICT.
53224
53225 2005-10-06  Simon Josefsson  <jas@extundo.com>
53226
53227         * lib/memxor.c (memxor): Avoid casts and warnings.
53228
53229 2005-10-06  Simon Josefsson  <jas@extundo.com>
53230
53231         * lib/hmac-md5.c: New file.
53232
53233         * lib/hmac.h: New file.
53234
53235 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53236
53237         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
53238         promotes to int, not unsigned int, to catch the AIX 5.3
53239         compiler bug.
53240
53241 2005-10-05  Simon Josefsson  <jas@extundo.com>
53242
53243         * modules/memxor: New file.
53244
53245         * modules/iconv (Files): Move config.rpath to havelib, it is used
53246         there.
53247
53248         * modules/havelib (Files): Add config.rpath.
53249
53250 2005-10-05  Simon Josefsson  <jas@extundo.com>
53251
53252         * m4/memxor.m4: New file.
53253
53254 2005-10-05  Simon Josefsson  <jas@extundo.com>
53255
53256         * lib/memxor.c (memxor): Fix compiler error.
53257
53258         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
53259         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
53260
53261         * lib/memxor.h, lib/memxor.c: New files.
53262
53263         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
53264         we assume all systems have it, suggested by Jim Meyering
53265         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
53266         any systems lack sys/socket.h; mingw32 is known to lack it, but we
53267         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
53268         same reasons.
53269
53270 2005-10-05  Simon Josefsson  <jas@extundo.com>
53271
53272         * config/srclist.txt: Add glibc bug 1423 for md5.h.
53273
53274 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
53275
53276         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
53277         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
53278         needed, since the source code now assumes these .h files.
53279
53280 2005-10-05  Derek Price  <derek@ximbiot.com>
53281
53282         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
53283
53284 2005-10-05  Bruno Haible  <bruno@clisp.org>
53285
53286         * modules/stdint (License): Change to LGPL.
53287
53288 2005-10-04  Simon Josefsson  <jas@extundo.com>
53289
53290         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
53291         D. Baushke" <mdb@gnu.org>.
53292
53293 2005-10-04  Bruno Haible  <bruno@clisp.org>
53294
53295         * lib/verify.h (verify_true): Provide alternative definition for C++.
53296
53297 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
53298
53299         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
53300         (SSIZE_MAX): New macro, if not already defined.
53301         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
53302         than 2 GiB.
53303
53304 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53305
53306         Sync from coreutils.
53307         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
53308         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
53309         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
53310         ULLONG_MAX doesn't work with 2.7.2.1.
53311
53312 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53313
53314         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
53315         From Ben Pfaff.
53316
53317         * modules/exclude (Depends-on): Depend on verify.
53318         * modules/strtoimax (Depends-on): Likewise.
53319         * modules/utimecmp (Depends-on): Likewise.
53320
53321 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53322
53323         * lib/exclude.c: Include verify.h.
53324         (verify): Remove.  All callers changed to use verify.h's version.
53325         * lib/strtoimax.c: Likewise.
53326         * lib/utimecmp.c: Likewis.e
53327
53328         Sync from coreutils.
53329         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
53330         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
53331         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
53332         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
53333         bother returning ENOSYS if settimeofday or stime fails; just let
53334         them return whatever errno they want to return.
53335         * lib/utimens.c: Include unistd.h, for dup2.
53336         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
53337         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
53338
53339 2005-10-02  Jim Meyering  <jim@meyering.net>
53340
53341         Sync from coreutils.
53342         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
53343         from glibc-2.2.5 that fails for read-only files.
53344
53345 2005-10-02  Jim Meyering  <jim@meyering.net>
53346
53347         Sync from coreutils.
53348         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
53349         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
53350         `#if HAVE_CONFIG_H'.
53351         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
53352         Remove AT_FDCWD test.
53353         Do not consume the fd unless successful.
53354         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
53355         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
53356         block, so that we don't even try to compile it if settimeofday is
53357         available.  This works around a compilation failure on OSF1 V5.1,
53358         due to stime requiring a `long int*' while tv_sec is `int'.
53359
53360 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
53361
53362         Sync from coreutils.
53363         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
53364         against `yes', rather than just testing for nonempty.
53365
53366 2005-10-01  Simon Josefsson  <jas@extundo.com>
53367
53368         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
53369         and Darwin.
53370
53371         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
53372         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
53373         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
53374         freeaddrinfo and gai_strerror are declared by the POSIX headers.
53375         Check if struct addrinfo is declared.
53376
53377 2005-10-01  Simon Josefsson  <jas@extundo.com>
53378
53379         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
53380         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
53381         AI_* and EAI_* definitions.  Protect function declarations.
53382
53383 2005-10-01  Jim Meyering  <jim@meyering.net>
53384
53385         Sync from coreutils.
53386
53387         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
53388         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
53389         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
53390         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53391         in the inet and nsl libraries.  Required on Solaris 5.7.
53392
53393 2005-10-01  Jim Meyering  <jim@meyering.net>
53394
53395         Sync from coreutils.
53396         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53397         in the inet and nsl libraries.  Required on Solaris 5.7.
53398
53399 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
53400
53401         * lib/getdelim.c (getdelim): Remove unused variables.
53402
53403 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53404
53405         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
53406         so that the code works even with ancient cpp.  Portability problem
53407         with GCC 2.7.2.1 reported by Thomas M.Ott.
53408
53409 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53410
53411         * modules/regex (Depends-on): Add strcase.
53412
53413         * modules/gethostname (Licence): Change from GPL to LGPL, since
53414         gethostname.c is a trivial implementation of a standard library
53415         function.
53416         * modules/poll (License): Change from GPL to LGPL, since it's
53417         derived from LGPL code.
53418
53419 2005-09-27  Jim Meyering  <jim@meyering.net>
53420
53421         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
53422         HAVE_CONFIG_H.
53423
53424         * lib/intprops.h (signed_type_or_expr__): Define.
53425         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
53426         for unsigned types.
53427
53428 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53429
53430         * lib/verify.h (verify_expr): Remove, replacing with:
53431         (verify_true): New macro that returns true instead of void.
53432         (verify_type__): Remove.
53433         (verify): Use verify_true rather than verify_type__.
53434
53435 2005-09-26  Bruno Haible  <bruno@clisp.org>
53436
53437         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
53438         is necessary.
53439         (lib_SOURCES): Remove mbchar.c.
53440         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
53441         (Files): Add m4/mbrtowc.m4.
53442         * modules/mbiter: Likewise.
53443         * modules/mbuiter: Likewise.
53444
53445 2005-09-26  Bruno Haible  <bruno@clisp.org>
53446
53447         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
53448         compile mbchar.c if they are not both present.
53449         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
53450         * m4/mbiter.m4 (gl_MBITER): Likewise.
53451         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
53452         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
53453         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
53454
53455 2005-09-25  Jim Meyering  <jim@meyering.net>
53456
53457         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
53458         also uses socklen_t.
53459
53460 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
53461
53462         * lib/utimens.c (ENOSYS): Define if not already defined.
53463         (futimens): Support having a null PATH if the file descriptor
53464         is nonnegative.
53465
53466         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
53467         Remove.
53468         (__attribute): Define to empty unless GCC 3.1 or later.
53469         This works around a core dump on OpenBSD 3.4, which has GCC
53470         2.95.3, which dumps core when given __attribute__(()).  It also
53471         simplifies other tests, since we really don't want to bother with
53472         worrying about which ancient version of GCC supported what.
53473         Original problem reported by Yoann Vandoorselaere, with part of
53474         the fix suggested by Derek Price.
53475
53476 2005-09-24  Jim Meyering  <jim@meyering.net>
53477
53478         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
53479         so we can once again use a positive bitfield width of 1 -- now we
53480         don't have to explain why we were using a bitfield width of 2.
53481
53482 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53483
53484         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
53485         and similarly for the other external symbols.  Problem reported
53486         by James Gallager.
53487
53488         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
53489         bug reported by Jim Meyering.
53490
53491         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
53492         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
53493         not needed, since socklen is a prerequisite module.
53494
53495 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53496
53497         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
53498         Problem reported by Eric Blake.
53499         (getaddrinfo): Initialize se so that it's not garbage.
53500         Redo internal storage allocation so that it doesn't make unportable
53501         assumptions about alignment.
53502         Fix a memory leak.
53503
53504         * lib/utimens.c (futimens): Use futimesat if available.
53505         Prefer it to futimes since it doesn't have the futimes bug.
53506
53507         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
53508         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
53509         Instead, declare a function that returns a pointer to an array,
53510         and use verify_type__ to declare the size of the array.
53511         Problem and germ of a solution reported by Bruno Haible.
53512         (verify_type__): Use 2, not 1, for bitfield size, to avoid
53513         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
53514
53515 2005-09-23  Jim Meyering  <jim@meyering.net>
53516
53517         Sync from coreutils.
53518         Correct build failure (socklen_t not defined) on at least
53519         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
53520         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
53521
53522 2005-09-23  Jim Meyering  <jim@meyering.net>
53523
53524         * modules/getaddrinfo (Depends-on): Add socklen.
53525
53526 2005-09-23  Bruno Haible  <bruno@clisp.org>
53527
53528         * tests/test-verify.c: New file.
53529
53530 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53531
53532         Sync from coreutils.
53533
53534         * modules/argmatch (Depends-on): Add verify.
53535         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
53536         unistd-safer.
53537         * modules/save-cwd (Depends-on): Likewise.
53538
53539         * modules/openat (Files): Add lib/openat-die.c.
53540         (Depends-on): Remove error, exitfail.
53541         Add dirname.
53542
53543         * modules/verify: New file.
53544         * MODULES.html.sh (Diagnostics <assert.h>): New section,
53545         with "verify" module.
53546
53547 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53548
53549         Sync from coreutils.
53550
53551         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
53552         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
53553         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
53554         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
53555         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
53556         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
53557         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
53558         Don't bother checking for string.h, stdlib.h, unistd.h.
53559         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
53560         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
53561         module's job.
53562         * m4/jm-macros.m4 (gl_MACROS): Likewise.
53563         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
53564
53565         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
53566         (gl_GETDATE): Use it.
53567
53568         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
53569
53570 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53571
53572         Sync from coreutils.
53573
53574         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
53575         stat-time.h.
53576         * lib/argmatch.h: Include verify.h
53577         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
53578         (ARGMATCH_ASSERT): Remove; unused.
53579         * lib/canonicalize.c: Assume STDC_HEADERS.
53580         * lib/exclude.c: Include "strcase.h".
53581         * lib/regex_internal.h [!defined _LIBC]: Likewise.
53582         * lib/getusershell.c: Include stdio--.h rather than stdio.h
53583         and stdio-safer.h.
53584         (getusershell): Call fopen, not fopen_safer.
53585         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
53586         Do not include unistd-safer.h.
53587         (save_cwd): Don't call fd_safer; no longer needed
53588         now that we include fcntl--.h.
53589
53590         * lib/getdate.y (relative_time): New type.
53591         (RELATIVE_TIME_0): New constant.
53592         (parser_control): Use relative_time instead of doing it ourselves.
53593         (%union): Add new relative_time rel member.
53594         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
53595         Now typeless.
53596         (relunit, relunit_snumber): Now of type rel.
53597         (zone, rel, relunit, get_date): Adjust to above changes.
53598
53599         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
53600         Do not include unistd-safer.h.
53601         (getloadavg): Don't call fd_safer; no longer needed
53602         now that we include fcntl--.h.
53603
53604         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
53605         (make_dir_parents): Treat ENOSYS like EEXIST.
53606
53607         Improve quality of diagnostics on restore_cwd failure.
53608         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
53609         (make_dir_parents): Last arg is now int * (for errno), not bool *.
53610         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
53611         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
53612         each time through the loop.  Do not diagnose restore_cwd failure;
53613         that is the caller's job (and perhaps the caller does not care).
53614
53615         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
53616         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
53617         If the file already exists but is not a directory, don't bother
53618         to try to make its parents.
53619         Close potential file descriptor leak if we can't chdir("/") (!).
53620         Don't always return true if chdir($PWD) fails; return true only
53621         if the requested action was done successfully (except for the
53622         chdir($PWD)).
53623         Don't log final directory unless we actually made it.
53624         Refactor to avoid duplicate code to fix up permissions.
53625         Don't attempt to fix up parent permissions if chdir($PWD) fails.
53626
53627         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
53628         to make it a bit faster and (I hope) clearer.
53629         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
53630         Fix bug in formats like %2N.
53631
53632         * lib/verify.h: New file.
53633
53634 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53635
53636         Sync from coreutils.
53637         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
53638
53639 2005-09-22  Jim Meyering  <jim@meyering.net>
53640
53641         Sync from coreutils.
53642
53643         * m4/lstat.m4 (gl_FUNC_LSTAT):
53644         Use AC_LIBSOURCES to require lstat.c and lstat.h.
53645         Remove obsolete comment.
53646         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
53647         * m4/xstrtod.m4: Likewise.
53648
53649         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
53650
53651 2005-09-22  Jim Meyering  <jim@meyering.net>
53652
53653         Sync from coreutils.
53654
53655         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
53656
53657         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
53658         the .tm_year member, since otherwise gcc-4.0 would now warn about
53659         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
53660
53661         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
53662         order to avoid an unsuppressible warning from gcc on 64-bit systems.
53663
53664         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
53665         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
53666         when run in a time zone for which daylight savings time is in effect
53667         for the starting date.
53668
53669         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
53670         stop us from restricting permissions of just-created absolute-named
53671         directories.
53672         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
53673         to restore initial working directory.
53674         * lib/mkdir-p.c (make_dir_parents): New parameter:
53675         different_working_dir, to tell caller if/when we change the working
53676         directory and are unable to return to the initial one.
53677         * lib/mkdir-p.h (make_dir_parents): Update prototype.
53678         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
53679         `return false'.  This fixes a bug introduced on 2004-07-30.
53680
53681         * lib/openat.c (fdopendir): Be sure to close the supplied
53682         file descriptor before returning.  This makes our replacement
53683         implementation a little closer to Solaris's, where fdopendir
53684         ties the file descriptor to the returned DIR* pointer.
53685         * lib/openat.c (unlinkat): New function.
53686         * lib/openat.h (unlinkat): Add prototype.
53687         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
53688         (openat_restore_fail): Rename from openat_restore_die.
53689         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
53690
53691         Provide an alternative to exiting immediately upon save_cwd or
53692         restore_cwd failure.  Now, an application can arrange e.g.,
53693         to perform a longjump in that case.
53694         * lib/openat.c: Include dirname.h.
53695         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
53696         (rpl_openat, fdopendir, fstatat): Call openat_save_die
53697         and openat_restore_die rather than calling error directly.
53698         Don't include "error.h" or "exitfail.h"; they're no longer needed.
53699
53700         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
53701         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
53702         define.
53703
53704         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
53705         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
53706                             int utc, int nanoseconds);
53707         Background:
53708         date should not have to allocate a megabyte of virtual memory to
53709         handle a format argument like +%1048575T.  When implemented with
53710         strftime, it must allocate such a buffer, use strftime to fill it
53711         in, print it, then free it.
53712         With fprintftime, it simply prints everything and exits.
53713         With no need for memory allocation, that's one fewer way to fail.
53714         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
53715         optional field width, not before, so we accept %9:z, not %:9z.
53716         (my_strftime): Be sure to use L_('x') for literals.
53717
53718         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
53719         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
53720         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
53721         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
53722         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
53723         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
53724         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
53725         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
53726         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
53727         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
53728         * lib/xgethostname.c, lib/xreadlink.c:
53729         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
53730
53731         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
53732         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
53733         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
53734         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53735         and don't include <sys/file.h>).
53736
53737 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
53738
53739         Sync from coreutils.
53740
53741         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
53742         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
53743         [!LDAV_DONE]: Avoid unused variable warning.
53744
53745 2005-09-21  Bruno Haible  <bruno@clisp.org>
53746
53747         * lib/unicodeio.h (unicode_to_mb): New declaration.
53748
53749 2005-09-20  Derek Price  <derek@ximbiot.com>
53750
53751         * lib/getaddrinfo.c: Don't include <netdb.h> included from
53752         getaddrinfo.h.
53753
53754 2005-09-20  Bruno Haible  <bruno@clisp.org>
53755
53756         * gnulib-tool: Remove trailing slashes from the values specified for
53757         --source-base, --m4-base, --tests-base, --aux-dir.
53758         Suggested by Simon Josefsson <jas@extundo.com>.
53759
53760 2005-09-20  Bruno Haible  <bruno@clisp.org>
53761
53762         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
53763         func_modules_to_filelist, func_import, func_create_testdir): Make all
53764         sorting results locale-independent, so that gnulib-cache.m4 doesn't
53765         change when gnulib-tool is invoked in a different locale.
53766
53767 2005-09-19  Simon Josefsson  <jas@extundo.com>
53768
53769         * m4/socklen.m4: Fix typo.
53770
53771 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53772
53773         Use a consistent style for including <config.h>.
53774         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
53775         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
53776         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
53777         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
53778         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
53779         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
53780         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
53781         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
53782         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
53783         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
53784         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
53785         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
53786         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
53787         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
53788         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
53789         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
53790         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
53791         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
53792         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
53793         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
53794         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
53795         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
53796         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
53797         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
53798         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
53799         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
53800         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
53801         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
53802         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
53803         lib/xstrtoumax.c, lib/yesno.c:
53804         Standardize inclusion of config.h.
53805         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
53806         lib/inttostr.h:  Removed inclusion of config.h from header files.
53807         * lib/inttostr.c:  Adjusted in-tree users.
53808         * lib/timespec.h: Remove superfluous warning to include config.h.
53809         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
53810         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
53811         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
53812         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
53813         config.h with HAVE_CONFIG_H.
53814
53815 2005-09-19  Jim Meyering  <jim@meyering.net>
53816
53817         * modules/pathmax (License): Change to LGPL.
53818
53819 2005-09-19  Derek Price  <derek@ximbiot.com>
53820
53821         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
53822
53823 2005-09-19  Bruno Haible  <bruno@clisp.org>
53824
53825         * gnulib-tool (import): Provide default for --tests-base.
53826
53827 2005-09-19  Bruno Haible  <bruno@clisp.org>
53828
53829         * doc/quote.texi: New file, extracted from gnulib.texi.
53830         * doc/ctime.texi: New file, extracted from gnulib.texi.
53831         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
53832         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
53833         * doc/gnulib.texi: Include them.
53834
53835 2005-09-18  Bruno Haible  <bruno@clisp.org>
53836
53837         Portability fix.
53838         * gnulib-tool (func_readlink): New function.
53839         (func_ln_if_changed): Use it.
53840
53841 2005-09-18  Bruno Haible  <bruno@clisp.org>
53842
53843         * gnulib-tool: Support --with-tests also with --import.
53844         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
53845         (func_import): Use variables $testsbase and $inctests. Emit a
53846         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
53847         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
53848         SUBDIRS += $testsdir.
53849         (func_create_testdir): Update.
53850
53851 2005-09-18  Bruno Haible  <bruno@clisp.org>
53852
53853         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
53854         instead of $dry_run.
53855         (func_cp_if_changed, func_mv_if_changed): Remove functions.
53856         (func_ln_if_changed): Don't handle dry-run here.
53857         (func_import): In dry-run mode, detect more precisely which actions
53858         would be performed, and don't use "...ing" verbs.
53859
53860 2005-09-18  Bruno Haible  <bruno@clisp.org>
53861
53862         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
53863         (func_import): Use join on two temporary files instead of three nested
53864         loops, in order to determine which files are new or old.
53865
53866 2005-09-18  Bruno Haible  <bruno@clisp.org>
53867
53868         * gnulib-tool (func_import): Comment out code that spits out the
53869         new files with --dry-run.
53870
53871 2005-09-18  Bruno Haible  <bruno@clisp.org>
53872
53873         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
53874
53875 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53876
53877         * lib/stat-time.h: New file.
53878         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
53879         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
53880         in a different way.
53881         (timespec_cmp): New function.
53882         * lib/utimecmp.c: Include stat-time.h.
53883         (SYSCALL_RESOLUTION): Depend on whether various struct stat
53884         members exist, not on the obsolescent ST_MTIM_NSEC.
53885         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
53886
53887 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53888
53889         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
53890
53891 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53892
53893         * MODULES.html.sh (File system functions): Add stat-time.
53894         * modules/stat-time: New file.
53895         * modules/timespec (Files): Remove m4/st_mtim.m4; this
53896         is now done in a different way, by the stat-time module.
53897         * modules/utimecmp (Depends-on): Add stat-time.
53898
53899 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53900
53901         * m4/st_mtim.m4: Remove.  Superseded by...
53902         * m4/stat-time.m4: New file.
53903         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
53904         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
53905
53906 2005-09-15  Derek Price  <derek@ximbiot.com>
53907
53908         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
53909
53910 2005-09-15  Derek Price  <derek@ximbiot.com>
53911
53912         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
53913         * lib/regex_internal.c: Ditto, using this...
53914         (__GNUC_PREREQ): ...new macro.
53915         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
53916         using...
53917         (__GNUC_PREREQ): ...this new macro.
53918
53919         * lib/strstr.h: Include string.h. Define strstr as a macro here.
53920
53921 2005-09-15  Derek Price  <derek@ximbiot.com>
53922             Paul Eggert  <eggert@cs.ucla.edu>
53923
53924         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
53925         changes, consolidating in...
53926         * lib/regex_internal.h: ...this file.
53927
53928 2005-09-13  Jim Meyering  <jim@meyering.net>
53929
53930         * lib/canon-host.c: Filter through gnu indent and reword comments
53931         slightly.
53932         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
53933
53934 2005-09-13  Derek Price  <derek@ximbiot.com>
53935
53936         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
53937         failure.
53938         Reported by Jim Meyering  <jim@meyering.net>.
53939
53940 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53941
53942         * lib/base64.c: Typo.
53943         (base64_encode): Put b64str in initialized data section.
53944
53945 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
53946
53947         Merge glibc and coreutils changes into gnulib, plus a few
53948         extra fixes.
53949         * lib/md5.c: Use #error rather than a string.
53950         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
53951         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
53952         (__attribute__): Define to empty for non recent-GCC.
53953         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
53954         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
53955         Renamed from their non-__ counterparts, with new macros replacing
53956         them if not _LIBC.  Add __THROW attribute.
53957         (rol): Remove.
53958         (struct md5_ctx): Align buffer if using GCC.
53959         * lib/sha1.h (struct sha1_ctx): Likewise.
53960         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
53961         The old name was backwards.
53962         (NOTSWAP): Remove; not used.
53963         (rol): New macro, moved here from md5.h.
53964         (sha1_process_block): Remove a FIXME that doesn't make sense.
53965
53966 2005-09-12  Derek Price  <derek@ximbiot.com>
53967
53968         Return usable errors from canon-host.
53969         * lib/canon-host.h: New file.
53970         * lib/canon-host.c (canon_host): Wrap...
53971         (canon_host_r): ...this new function, which now relies exclusively on
53972         getaddrinfo.
53973         (ch_strerror): New function.
53974         (last_cherror): New global.
53975         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
53976         interface.
53977         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
53978         void *.
53979         (freeaddrinfo): Free ai->ai_canonname when set.
53980
53981 2005-09-12  Derek Price  <derek@ximbiot.com>
53982
53983         Make canon-host require getaddrinfo.
53984         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
53985         AC_LIBSOURCE canon-host.h.  Call...
53986         (gl_PREREQ_CANON_HOST): ...this new function, which requires
53987         gl_GETADDRINFO.
53988         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
53989
53990 2005-09-12  Derek Price  <derek@ximbiot.com>
53991
53992         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
53993         LGPL.
53994         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
53995
53996 2005-09-12  Derek Price  <derek@ximbiot.com>
53997
53998         * lib/gai_strerror.c: Include config.h when available.  Include
53999         getaddrinfo.h before other headers to test interface.
54000         Reported by Larry Jones <lawrence.jones@ugs.com>.
54001
54002 2005-09-12  Derek Price  <derek@ximbiot.com>
54003             Paul Eggert  <eggert@cs.ucla.edu>
54004
54005         * modules/glob (Files): Add glob-libc.h.
54006
54007 2005-09-12  Derek Price  <derek@ximbiot.com>
54008             Paul Eggert  <eggert@cs.ucla.edu>
54009
54010         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
54011         glob_.h, glob-libc.h.
54012         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
54013
54014 2005-09-12  Derek Price  <derek@ximbiot.com>
54015             Paul Eggert  <eggert@cs.ucla.edu>
54016
54017         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
54018         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
54019         protecting things that should be done only in gnulib contexts.
54020         * lib/glob_.h: New file, containing only the glob things needed for
54021         gnulib.
54022         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
54023         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
54024         (glob, globfree, glob_pattern_p): Now defined simply in terms of
54025         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
54026         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
54027         and to respect the namespace rules better.
54028
54029 2005-09-08  Simon Josefsson  <jas@extundo.com>
54030
54031         * modules/socklen: New file.
54032
54033 2005-09-08  Simon Josefsson  <jas@extundo.com>
54034
54035         * m4/socklen.m4: New file.
54036
54037 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54038
54039         * modules/utimens (Files): Add m4/utimbuf.m4, since
54040         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
54041         Reported by Sergey Poznyakoff.
54042
54043 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54044
54045         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
54046         definitions, since that's the preferred style in glibc.
54047         Fix a minor spacing issue, and update copyright notice to match
54048         glibc's.
54049
54050 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54051
54052         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
54053
54054 2005-09-06  Simon Josefsson  <jas@extundo.com>
54055
54056         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
54057         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
54058
54059 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54060
54061         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
54062         warning.
54063
54064 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54065
54066         * config/srclist.txt: Add glibc bug 1302.
54067
54068 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
54069
54070         Change bitset word type from unsigned int to unsigned long int,
54071         as this has better performance on typical 64-bit hosts.
54072         Port bitset code to hosts with unusual word sizes.
54073         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
54074         (build_collating_symbol):
54075         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
54076         argument is a bitset.  This is merely a style issue, but it makes
54077         it clearer that an entire array is expected.
54078         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
54079         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
54080         Port to the case where bitset_word is not the same as unsigned int.
54081         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54082         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
54083         Likewise.
54084         * lib/regexec.c (check_dst_limits_calc_pos_1,
54085         check_subexp_matching_top):
54086         (build_trtable, group_nodes_into_DFAstates):
54087         Likewise.
54088         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
54089         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
54090         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
54091         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
54092         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
54093         * lib/regcomp.c (optimize_subexps, lower_subexp):
54094         Work even if bitset_word has holes in its bitwise representation.
54095         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
54096         * lib/regexec.c (check_dst_limits_calc_pos_1,
54097         check_subexp_matching_top):
54098         Likewise.
54099         * lib/regex_internal.c (re_string_reconstruct):
54100         Don't assume UCHAR_MAX == 255.
54101         * lib/regex_internal.h (bitset_set_all): Likewise.
54102         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
54103         All uses changed.
54104         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
54105         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
54106         All uses changed.
54107         (BITSET_WORD_MAX): New macro.
54108         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
54109         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
54110         (bitset_empty, bitset_copy):
54111         Prefer sizeof (bitset) to multiplying it out ourselves.
54112         (bitset_not_merge): Remove; unused.
54113         (bitset_contain): Return bool, not unsigned int with one bit on.
54114         All callers changed.
54115         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
54116         alignment than re_node_set; do this by defining a new internal
54117         type struct dests_alloc and using it to allocate memory.
54118
54119 2005-09-05  Bruno Haible  <bruno@clisp.org>
54120
54121         * gnulib-tool (func_import): Fix comparison in handling of symbolic
54122         links.
54123
54124 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
54125
54126         * modules/size_max (Makefile.am): Add size_max.h
54127
54128 2005-09-04  Derek Price  <derek@ximbiot.com>
54129
54130         * gnulib-tool (func_import): Fix reversed $symbolic logic.
54131
54132 2005-09-03  Simon Josefsson  <jas@extundo.com>
54133
54134         * gnulib-tool: Fix typo.
54135
54136 2005-09-03  Simon Josefsson  <jas@extundo.com>
54137
54138         * config/srclist.txt: Add glibc bug 1293.
54139
54140 2005-09-03  Derek Price  <derek@ximbiot.com>
54141
54142         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
54143         From Larry Jones <lawrence.jones@ugs.com>.
54144
54145 2005-09-02  Simon Josefsson  <jas@extundo.com>
54146
54147         * modules/socklen: New file.
54148
54149 2005-09-02  Simon Josefsson  <jas@extundo.com>
54150
54151         * modules/havelib: New module.
54152
54153         * modules/gettext, modules/iconv, modules/lock, modules/readline:
54154         Use havelib.
54155
54156 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54157
54158         Check for arithmetic overflow when calculating sizes, to prevent
54159         some buffer-overflow issues.  These patches are conservative, in the
54160         sense that when I couldn't determine whether an overflow was possible,
54161         I inserted a run-time check.
54162         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
54163         macros.
54164         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
54165         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
54166         (re_xnrealloc, re_x2nrealloc): New inline functions.
54167         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
54168         parse_bracket_exp):
54169         (build_equiv_class, build_charclass): Check for arithmetic overflow
54170         in size expression calculations.
54171         * lib/regex_internal.c (re_string_realloc_buffers):
54172         (build_wcs_upper_buffer, re_node_set_add_intersect):
54173         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
54174         (re_dfa_add_node, register_state): Likewise.
54175         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
54176         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
54177         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
54178         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
54179
54180 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54181
54182         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
54183         m4/ulonglong.m4.  Problem reported by Martin Lambers.
54184
54185 2005-09-02  Bruno Haible  <bruno@clisp.org>
54186
54187         Support for lib vs. lib64 distinction on biarch platforms.
54188         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
54189         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
54190         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
54191
54192 2005-09-02  Bruno Haible  <bruno@clisp.org>
54193
54194         * gnulib-tool (import): In the other first-use case, provide defaults
54195         as well.
54196
54197 2005-09-02  Bruno Haible  <bruno@clisp.org>
54198
54199         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
54200         patches not yet found in the latest gettext release.
54201
54202 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54203
54204         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
54205         to avoid a collision with bits/local_lim.h in glibc.
54206         All uses changed.  Problem reported by Dmitry V. Levin in
54207         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
54208
54209         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
54210         bugs in int versus size_t comparisons.
54211         (re_string_context_at): Fix bug where the code assumed that
54212         Idx is signed.
54213
54214         Use bool where appropriate.
54215         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
54216         All callers changed.
54217         (calc_eclosure_iter): Likewise, for ROOT arg.
54218         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
54219         (build_charclass_op): Likewise, for NON_MATCH arg.
54220         * lib/regex_internal.c (re_string_allocate, re_string_construct):
54221         (re_string_construct_common): Likewise, for ICASE arg.
54222         * lib/regexec.c (re_search_2_stub, re_search_stub):
54223         Likewise, for RET_LEN arg.
54224         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
54225         (set_regs): Likewise, for FL_BACKTRACK arg.
54226         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
54227         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
54228         (calc_eclosure_iter, parse_bracket_exp):
54229         Use bool for internal variables that are booleans.
54230         * lib/regexec.c (re_search_internal, check_matching,
54231         proceed_next_node):
54232         (set_regs, build_sifted_states, sift_states_bkref):
54233         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
54234         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54235         (find_collation_sequence_value):
54236         Likewise.
54237         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
54238         (re_node_set_compare):
54239         Return bool, not int. All callers changed.
54240         * lib/regexec.c (check_halt_node_context, check_dst_limits):
54241         (build_trtable, check_node_accept): Likewise.
54242         * lib/regex_internal.h: Include stdbool.h.
54243
54244         Fix bugs uncovered when converting to bool.
54245         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
54246         failure instead of charging ahead blindly.
54247         * lib/regex_internal.c (register_state): Likewise.
54248         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
54249         for freeing internal storage.
54250         (group_nodes_into_DFA_states): Use unsigned int, not int, for
54251         bitset pieces used as boolean, to avoid undefined behavior
54252         on hosts that do int overflow checking.
54253
54254 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54255
54256         * config/srclist.txt: Add glibc bugs 1285-1287.
54257
54258 2005-09-01  Jim Meyering  <jim@meyering.net>
54259
54260         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
54261         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
54262         Require gl_STAT_MACROS, too.
54263
54264 2005-09-01  Bruno Haible  <bruno@clisp.org>
54265
54266         * gnulib-tool (import): In the first-use case, provide defaults.
54267
54268 2005-09-01  Bruno Haible  <bruno@clisp.org>
54269
54270         * gnulib-tool (func_import): Remove the .tmp files.
54271
54272 2005-09-01  Bruno Haible  <bruno@clisp.org>
54273
54274         * gnulib-tool (func_import): Fix handling of symbolic links.
54275
54276 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54277
54278         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
54279         old glibc regex code mishandles strings longer than 2**31 bytes.
54280         This patch fixes this when the regex code is used in gnulib
54281         (i.e., outside glibc).
54282
54283         This patch should not affect the use of the regex code inside
54284         glibc.  No doubt this problem also needs to be handled for glibc
54285         as well, but the result will be an incompatible change to the
54286         glibc ABI, and the old ABI will have to be supported too.  That
54287         can be the the subject for another patch.
54288
54289         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
54290         governing whether the rest of this patch is active.  By default,
54291         the macro is disabled and the patch has no effect.
54292         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
54293         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
54294         (struct re_pattern_buffer, re_search, re_search_2, re_match):
54295         (re_match_2, re_set_registers): Use the new types.
54296         * lib/regex_internal.h (Idx, re_hashval_t): New types.
54297         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
54298         New macros.
54299         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
54300         (re_string_context_at, bin_tree_t, re_dfastate_t):
54301         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
54302         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
54303         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
54304         (re_string_char_size_at, re_string_wchar_at):
54305         (re_string_elem_size_at):
54306         Use the new types and macros to port to 64-bit hosts.
54307         Use unsigned types for internal values, so that the code
54308         mostly works even for arrays larger than SSIZE_MAX.
54309         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
54310         (search_duplicated_node, calc_eclosure_iter, fetch_number):
54311         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
54312         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
54313         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
54314         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
54315         (calc_inveclosure, parse_dup_op, build_range_exp):
54316         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
54317         (fetch_number, create_token_tree, mark_opt_subexp):
54318         Likewise.
54319         * lib/regex_internal.c (re_string_construct_common,
54320         create_ci_newstate):
54321         (create_cd_newstate, re_string_allocate, re_string_construct):
54322         (re_string_realloc_buffers, build_wcs_upper_buffer):
54323         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54324         (re_string_reconstruct, re_string_peek_byte_case):
54325         (re_string_fetch_byte_case, re_string_context_at):
54326         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54327         (re_node_set_init_copy, re_node_set_add_intersect):
54328         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54329         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54330         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54331         (re_acquire_state, re_acquire_state_context, register_state):
54332         Likewise.
54333         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
54334         search_cur_bkref_entry):
54335         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
54336         (re_search_internal, re_search_2_stub, re_search_stub)
54337         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
54338         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
54339         (update_cur_sifted_state, check_dst_limits):
54340         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54341         (check_subexp_limits, sift_states_bkref, merge_state_array):
54342         (check_subexp_matching_top, get_subexp, get_subexp_sub):
54343         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
54344         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54345         (expand_bkref_cache, check_node_accept_bytes):
54346         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
54347         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
54348         (acquire_init_state_context, check_halt_node_context):
54349         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
54350         (sift_states_backward, clean_state_log_if_needed):
54351         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
54352         (find_recover_state, transit_state_sb, transit_state_mb):
54353         (transit_state_bkref, build_trtable, match_ctx_clean):
54354         Likewise.
54355         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
54356         to work around an assumption that REG_MISSING is negative.
54357
54358         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
54359         (seek_collating_symbol_entry) [defined _LIBC]:
54360         (lookup_collation_sequence_value) [defined _LIBC]:
54361         (build_range_exp, build_collating_symbol) [defined _LIBC]:
54362         Use prototypes rather than old-style function definitions.
54363         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
54364         (transit_state_sb) [0]:
54365         (find_collation_sequence_value) [defined _LIBC]: Likewise.
54366
54367         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
54368         rm_eo.
54369
54370         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
54371         (optimize_subexps, lower_subexp):
54372         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
54373         since the signed shift might overflow.  Use 1u<<31 instead.
54374         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54375         Likewise.
54376         * lib/regexec.c (check_dst_limits_calc_pos_1,
54377         check_subexp_matching_top): Likewise.
54378
54379         * lib/regcomp.c (optimize_subexps, lower_subexp):
54380         Use CHAR_BIT rather than 8, for clarity.
54381         * lib/regexec.c (check_dst_limits_calc_pos_1):
54382         (check_subexp_matching_top): Likewise.
54383         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
54384         have to worry about portability issues when shifting it left.
54385         Remove no-longer-needed test for table_size > 0.
54386         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
54387         in a word, as the resulting behavior is undefined.
54388         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
54389         in one case, a <= should have been an <, and in another case the
54390         whole test was missing.
54391         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
54392         the standard name CHAR_BIT.
54393         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
54394         this is not true on one's complement and signed-magnitude hosts.
54395
54396         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
54397         next_last_offset.
54398         (struct re_dfa_t): Remove unused member states_alloc.
54399         * lib/regcomp.c (init_dfa): Don't initialize unused members.
54400
54401 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54402
54403         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
54404         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
54405         and large-file glibc and in 32-bit large-file Solaris.
54406
54407 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54408
54409         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
54410         lengths fit in regoff_t; this isn't true if regoff_t is the same
54411         width as size_t.
54412         * lib/regex.c (re_search_internal): 5th arg is LAST_START
54413         (= START + RANGE) instead of RANGE.  This avoids overflow
54414         problems when regoff_t is the same width as size_t.
54415         All callers changed.
54416         (re_search_2_stub): Check for overflow when adding the
54417         sizes of the two strings.
54418         (re_search_stub): Check for overflow when adding START
54419         to RANGE; if it occurs, substitute the extreme value.
54420
54421 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54422
54423         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
54424
54425 2005-08-31  Jim Meyering  <jim@meyering.net>
54426
54427         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
54428         a pointer-to-const.
54429         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
54430         (register_state): Likewise.
54431         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
54432         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54433         (group_nodes_into_DFAstates): Likewise.
54434
54435 2005-08-31  Jim Meyering  <jim@meyering.net>
54436
54437         * check-module: Add a FIXME comment.
54438
54439 2005-08-31  Eric Blake  <ebb9@byu.net>
54440
54441         * modules/unistd-safer (Files): Add unistd--.h.
54442         * modules/stdio-safer (Files): Add stdio--.h.
54443
54444 2005-08-31  Derek Price  <derek@ximbiot.com>
54445
54446         * lib/getdelim.c (getdelim): Return EOF on EOF.
54447         Reported by Larry Jones <lawrence.jones@ugs.com>.
54448
54449 2005-08-31  Bruno Haible  <bruno@clisp.org>
54450
54451         Avoid unnecessary diffs in the generated lib/Makefile.am.
54452         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
54453         the generated files.
54454         (func_import): Don't set cmd.
54455
54456 2005-08-31  Bruno Haible  <bruno@clisp.org>
54457
54458         * lib/strstr.c: Include <stddef.h>, for NULL.
54459         * lib/strcasestr.c: Likewise.
54460         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54461
54462 2005-08-31  Bruno Haible  <bruno@clisp.org>
54463
54464         * gnulib-tool: New option --macro-prefix.
54465         (func_import): Use macro_prefix.
54466         (import): Handle option --macro-prefix.
54467
54468 2005-08-31  Bruno Haible  <bruno@clisp.org>
54469
54470         * gnulib-tool (import): Rename most ac_* variables to cached_*.
54471         Also use new variables cached_lgpl, cached_libtool.
54472
54473 2005-08-31  Bruno Haible  <bruno@clisp.org>
54474
54475         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
54476         always instantiating them.
54477
54478 2005-08-31  Bruno Haible  <bruno@clisp.org>
54479
54480         * gnulib-tool (func_import): Read the previous cached settings
54481         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
54482         earlier added by gnulib but are now dropped. Warn when a gnulib file
54483         overwrites a non-gnulib file.
54484
54485 2005-08-31  Bruno Haible  <bruno@clisp.org>
54486
54487         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
54488         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
54489         projects that don't keep autogenerated files in CVS. Put into
54490         actioncmd only the specified modules, not the transitive closure.
54491
54492 2005-08-31  Bruno Haible  <bruno@clisp.org>
54493
54494         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
54495         Create directories that shall be filled.
54496         (import): Don't look for gl_* macros in configure.ac. Recurse across
54497         all directories containing a gnulib-cache.m4 files, if meaningful.
54498
54499 2005-08-31  Bruno Haible  <bruno@clisp.org>
54500
54501         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
54502         (import): Set seen_libtool when we see gl_LIBTOOL.
54503
54504 2005-08-31  Bruno Haible  <bruno@clisp.org>
54505
54506         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
54507         declaration macro definitions from generated gnulib.m4.
54508
54509 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
54510
54511         * lib/iconvme.h: Add prototype for iconv_alloc.
54512
54513 2005-08-29  Simon Josefsson  <jas@extundo.com>
54514
54515         * lib/iconvme.c: Fix errno.
54516
54517 2005-08-29  Bruno Haible  <bruno@clisp.org>
54518
54519         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
54520         that it works when the directory contains spaces.
54521
54522 2005-08-29  Bruno Haible  <bruno@clisp.org>
54523
54524         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
54525
54526 2005-08-29  Bruno Haible  <bruno@clisp.org>
54527
54528         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
54529         Emit more advice.
54530
54531 2005-08-29  Bruno Haible  <bruno@clisp.org>
54532         and Stepan Kasal  <kasal@ucw.cz>
54533
54534         * check-module: If more parameters are given, check each of them
54535         separately; add more exceptions, as noted by Jim Meyering.
54536         (check_module): New procedure.
54537         (%exempt_header): Now contains all exceptions.
54538
54539 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
54540
54541         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
54542
54543 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
54544
54545         * lib/iconvme.c: Split iconv_string into iconv_alloc.
54546
54547 2005-08-28  Bruno Haible  <bruno@clisp.org>
54548
54549         * m4/gnulib-tool.m4: New file.
54550
54551 2005-08-27  Jim Meyering  <jim@meyering.net>
54552
54553         * modules/unistd-safer (Files): Add pipe-safer.c.
54554         * modules/fcntl-safer (Files): Add creat-safer.c.
54555
54556 2005-08-27  Jim Meyering  <jim@meyering.net>
54557
54558         * m4/stdlib-safer.m4: New file.  From coreutils.
54559         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
54560         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
54561         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
54562         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
54563         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
54564
54565 2005-08-27  Jim Meyering  <jim@meyering.net>
54566
54567         * lib/fopen-safer.c: Merge minor changes from coreutils.
54568         * lib/dup-safer.c: Likewise.
54569         * lib/fd-safer.c: Likewise.
54570
54571         Merge from coreutils.
54572         * lib/stdio--.h: New file.
54573         * lib/stdlib--.h: New file.
54574         * lib/mkstemp-safer.c: New file.
54575
54576         GNU tar needs these.
54577         * lib/pipe-safer.c: New file.
54578         * lib/creat-safer.c: New file.
54579         * lib/fcntl--.h (creat): Define to creat_safer.
54580         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
54581         * lib/unistd--.h (pipe): Define to pipe_safer.
54582         * lib/unistd-safer.h: Declare pipe_safer.
54583
54584 2005-08-26  Simon Josefsson  <jas@extundo.com>
54585
54586         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
54587         Haible <bruno@clisp.org>.
54588
54589 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
54590
54591         * lib/regex_internal.h: Remove all references to
54592         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
54593         or better.
54594         (bitset_not, bitset_merge, bitset_not_merge):
54595         (bitset_mask, re_string_allocate, re_string_construct):
54596         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
54597         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
54598         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
54599         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
54600         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54601         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54602         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
54603         (re_acquire_state_context):
54604         Remove unnecessary forward decls.
54605         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
54606         Put __attribute at function definition,
54607         now that the function decl has been removed.
54608         * lib/regex_internal.c (re_string_peek_byte_case):
54609         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
54610         Likewise.
54611
54612 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
54613
54614         * m4/regex.m4: Add AC_PREREQ(2.50).
54615         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
54616
54617 2005-08-25  Simon Josefsson  <jas@extundo.com>
54618
54619         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
54620         __fsetlocking.
54621
54622 2005-08-25  Simon Josefsson  <jas@extundo.com>
54623
54624         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
54625         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
54626         GLIBC specific code.
54627
54628 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54629
54630         Make regex safe for g++.  This fixes one real bug (an "err"
54631         that should have been "*err").  g++ problem reported by
54632         Sam Steingold.
54633         * lib/regex_internal.h (re_calloc): New macro, consistent with
54634         re_malloc etc.  All callers of calloc changed to use re_calloc.
54635         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
54636         not int.  All callers changed.
54637         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
54638         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
54639         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
54640         (find_recover_state): Change "err" to "*err"; this fixes what
54641         appears to be a real bug.
54642         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
54643         versus int.
54644
54645 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         * modules/regex (Depends-on): Add malloc, since the code
54648         assumes that !malloc(0) means failure.
54649
54650 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54651
54652         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
54653
54654         alloca modernization/simplification for regex.
54655         * lib/regex.c: Remove portability cruft for alloca.  This no longer
54656         needs to be at the start of the file, and can be moved into
54657         regex_internal.h and simplified.
54658         * lib/regex_internal.h: Include <alloca.h>.
54659         (__libc_use_alloca) [!defined _LIBC]: New macro.
54660         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
54661         now works outside glibc.
54662
54663 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54664
54665         * config/srclist.txt: Add glibc bugs 1241, 1245.
54666
54667 2005-08-25  Jim Meyering  <jim@meyering.net>
54668
54669         * lib/open-safer.c: Include <config.h>.
54670         Otherwise, we'd lose LARGEFILE support in any file using
54671         e.g. "fcntl--.h"
54672
54673 2005-08-25  Bruno Haible  <bruno@clisp.org>
54674
54675         * m4/minmax.m4: Require autoconf 2.52.
54676         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
54677         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
54678         alternatives of translit over the alphabet.
54679         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
54680
54681 2005-08-24  Simon Josefsson  <jas@extundo.com>
54682
54683         * tests/test-getpass.c: New file.
54684
54685 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54686
54687         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
54688         for GNU regex features.
54689
54690 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54691
54692         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
54693         * lib/regex.h (regerror): Likewise.
54694
54695         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
54696         requires this.  (The code never needed it.)
54697
54698         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
54699         All uses of recently-renamed identifiers changed to use the new,
54700         POSIX-compliant names.  The code will build and run just fine
54701         without these changes, but it's better to eat our own dog food
54702         and use the standard-conforming names.
54703
54704         * lib/regex.h: Fix a multitude of POSIX name space violations.
54705         These changes have an effect only for programs that define
54706         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
54707         do not change anything for programs compiled in the normal way.
54708         Also, there is no effect on the ABI.
54709
54710         (_REGEX_SOURCE): New macro.
54711         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
54712         defined and _GNU_SOURCE is not; this fixes a name space violation.
54713
54714         Rename the following macros to obey POSIX requirements.
54715         The old names are still visible as macros if _REGEX_SOURCE is defined.
54716         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
54717         RE_BACKSLASH_ESCAPE_IN_LISTS.
54718         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
54719         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
54720         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
54721         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
54722         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
54723         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
54724         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
54725         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
54726         (REG_INTERVALS): renamed from RE_INTERVALS.
54727         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
54728         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
54729         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
54730         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
54731         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
54732         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
54733         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
54734         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
54735         RE_UNMATCHED_RIGHT_PAREN_ORD.
54736         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
54737         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
54738         (REG_DEBUG): renamed from RE_DEBUG.
54739         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
54740         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
54741         unusual, since we can't clash with the POSIX REG_ICASE.
54742         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
54743         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
54744         (REG_NO_SUB): renamed from RE_NO_SUB.
54745         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
54746         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
54747         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
54748         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
54749         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
54750         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
54751         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
54752         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
54753         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
54754         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
54755         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
54756         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
54757         RE_SYNTAX_POSIX_MINIMAL_BASIC.
54758         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
54759         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
54760         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
54761         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
54762         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
54763         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
54764         (REG_FIXED): Renamed from REGS_FIXED.
54765         (REG_NREGS): Renamed from RE_NREGS.
54766
54767         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
54768         of other REG_* macros, since POSIX says the user is allowed to
54769         #undef these macros selectively.
54770
54771         (reg_errcode_t): Update comment stating what other tables need
54772         to be consistent.
54773
54774         Rename the following enum values to obey POSIX requirements.
54775         The old names are still visible as macros.
54776         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
54777         is not defined, since GNU is supposed to be a superset of POSIX as
54778         much as possible, and since we want reg_errcode_t to be a signed
54779         type for implementation consistency.
54780         (_REG_NOERROR): Renamed from REG_NOERROR.
54781         (_REG_NOMATCH): Renamed from REG_NOMATCH.
54782         (_REG_BADPAT): Renamed from REG_BADPAT.
54783         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
54784         (_REG_ECTYPE): Renamed from REG_ECTYPE.
54785         (_REG_EESCAPE): Renamed from REG_EESCAPE.
54786         (_REG_ESUBREG): Renamed from REG_ESUBREG.
54787         (_REG_EBRACK): Renamed from REG_EBRACK.
54788         (_REG_EPAREN): Renamed from REG_EPAREN.
54789         (_REG_EBRACE): Renamed from REG_EBRACE.
54790         (_REG_BADBR): Renamed from REG_BADBR.
54791         (_REG_ERANGE): Renamed from REG_ERANGE.
54792         (_REG_ESPACE): Renamed from REG_ESPACE.
54793         (_REG_BADRPT): Renamed from REG_BADRPT.
54794         (_REG_EEND): Renamed from REG_EEND.
54795         (_REG_ESIZE): Renamed from REG_ESIZE.
54796         (_REG_ERPAREN): Renamed from REG_ERPAREN.
54797         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
54798         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
54799         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
54800         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
54801
54802         (_REG_RE_NAME, _REG_RM_NAME): New macros.
54803         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
54804         changed.  But support the old name if the new one is not defined
54805         and if _REGEX_SOURCE.
54806
54807         Change the following member names in struct re_pattern_buffer.
54808         The old names are still supported if !_REGEX_SOURCE.
54809         The new names are always supported, regardless of _REGEX_SOURCE.
54810         (re_buffer): Renamed from buffer.
54811         (re_allocated): Renamed from allocated.
54812         (re_used): Renamed from used.
54813         (re_syntax): Renamed from syntax.
54814         (re_fastmap): Renamed from fastmap.
54815         (re_translate): Renamed from translate.
54816         (re_can_be_null): Renamed from can_be_null.
54817         (re_regs_allocated): Renamed from regs_allocated.
54818         (re_fastmap_accurate): Renamed from fastmap_accurate.
54819         (re_no_sub): Renamed from no_sub.
54820         (re_not_bol): Renamed from not_bol.
54821         (re_not_eol): Renamed from not_eol.
54822         (re_newline_anchor): Renamed from newline_anchor.
54823
54824         Change the following member names in struct re_registers.
54825         The old names are still supported if !_REGEX_SOURCE.
54826         The new names are always supported, regardless of _REGEX_SOURCE.
54827         (rm_num_regs): Renamed from num_regs.
54828         (rm_start): Renamed from start.
54829         (rm_end): Renamed from end.
54830
54831         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
54832         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
54833         Prepend __ to parameter names.
54834
54835         Undo yesterday's changes.
54836
54837 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54838
54839         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
54840         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
54841         lib/regex.c.
54842
54843 2005-08-24  Jim Meyering  <jim@meyering.net>
54844
54845         Sync from coreutils.
54846         * m4/fcntl-safer.m4: New file.
54847
54848         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
54849         and object files for this module.
54850
54851 2005-08-24  Jim Meyering  <jim@meyering.net>
54852
54853         Sync from coreutils.
54854         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
54855
54856 2005-08-24  Jim Meyering  <jim@meyering.net>
54857
54858         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
54859         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
54860
54861 2005-08-24  Jim Meyering  <jim@meyering.net>
54862
54863         * modules/fcntl-safer: New module.
54864         * modules/fts (Depends-on): Add fcntl-safer.
54865         * MODULES.html.sh (File descriptor based Input/Output):
54866         Add fcntl-safer.
54867
54868 2005-08-24  Bruno Haible  <bruno@clisp.org>
54869
54870         Support for unit test modules.
54871         * modules/README: Mention tests modules.
54872         * modules/TEMPLATE-TESTS: New file.
54873         * gnulib-tool: New options --extract-tests-module, --with-tests and
54874         --tests-base (unused for the moment).
54875         (testsbase, inctests): New variables.
54876         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
54877         (func_verify_module): Exclude TEMPLATE-TESTS.
54878         (func_verify_nontests_module, func_verify_tests_module): New functions.
54879         (func_get_dependencies): Add implicit dependency for tests modules.
54880         (func_get_tests_module): New function.
54881         (func_modules_transitive_closure): When --with-tests was specified,
54882         include the unit tests as well, unless explicitly avoided.
54883         (func_emit_lib_Makefile_am): Ignore the tests modules here.
54884         (func_emit_tests_Makefile_am): New function.
54885         (func_create_testdir): When --with-tests was specified, emit a
54886         tests/ directory.
54887         * MODULES.html.sh (Future developments): Update.
54888
54889 2005-08-24  Bruno Haible  <bruno@clisp.org>
54890
54891         * modules/tls-tests: New file.
54892         * tests/test-tls.c: New file, from GNU gettext.
54893
54894 2005-08-24  Bruno Haible  <bruno@clisp.org>
54895
54896         * modules/lock-tests: New file.
54897         * tests/test-lock.c: New file, from GNU gettext.
54898
54899 2005-08-24  Bruno Haible  <bruno@clisp.org>
54900
54901         * lib/lock.h: Add multiple inclusion guard.
54902         * lib/tls.h: Add multiple inclusion guard.
54903
54904 2005-08-24  Bruno Haible  <bruno@clisp.org>
54905
54906         * gnulib-tool: Add support for the --aux-dir option to
54907         --create-testdir, --create-megatestdir, --test, --megatest.
54908         (func_create_testdir, func_create_megatestdir): Optionally emit a
54909         AC_CONFIG_AUX_DIR directive.
54910         (create-testdir, create-megatestdir, test, megatest): Provide a
54911         default value for $auxdir.
54912
54913 2005-08-24  Bruno Haible  <bruno@clisp.org>
54914
54915         * gnulib-tool (import): Use compound statement instead of subshell
54916         where possible.
54917
54918 2005-08-24  Bruno Haible  <bruno@clisp.org>
54919
54920         * gnulib-tool (import): Change --aux-dir default to "build-aux".
54921
54922 2005-08-24  Bruno Haible  <bruno@clisp.org>
54923
54924         * gnulib-tool (func_version): Update.
54925
54926 2005-08-24  Bruno Haible  <bruno@clisp.org>
54927
54928         * gnulib-tool (func_import, func_create_testdir,
54929         func_create_megatestdir): Quote all autoconf macro arguments.
54930
54931 2005-08-24  Bruno Haible  <bruno@clisp.org>
54932
54933         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
54934         option --force, because --force causes the aclocal.m4 of each
54935         subdirectory to be newer than the corresponding config.h.in.
54936
54937 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54938
54939         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
54940         All contents moved to gl_REGEX.
54941         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
54942         assume that it does.
54943
54944 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54945
54946         * lib/regex.h (REG_NOSYS)
54947         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
54948         Define, since POSIX requires it as of 2001.
54949         (_REG_ENOSYS)
54950         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
54951         New private symbol, used to keep the enum signed in all cases.
54952         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
54953         Youngman in
54954         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
54955
54956         * lib/regex_internal.c (re_string_skip_chars, register_state):
54957         (calc_state_hash):
54958         Remove forward decls; no longer needed now that we use prototypes.
54959         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
54960         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
54961         (clean_state_log_if_needed): Likewise.
54962
54963 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54964
54965         * config/srclist.txt: Add glibc bugs 1231-1233.
54966
54967 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54968
54969         Fix problems reported by Sam Steingold in
54970         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
54971         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
54972         assumed that reg_errcode_t is a signed type, which is not
54973         necessarily true if _XOPEN_SOURCE is not defined.
54974         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
54975         since some compilers warn about it otherwise.
54976
54977 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54978
54979         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
54980         (init_word_char, create_initial_state, duplicate_node_closure):
54981         (fetch_token, peek_token_bracket, build_range_exp):
54982         (build_collating_symbol): Remove forward decls; no longer needed
54983         now that we use prototypes.
54984
54985         * lib/regcomp.c:
54986         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
54987         (re_compile_fastmap_iter, regcomp, regerror, regfree):
54988         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
54989         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
54990         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
54991         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
54992         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
54993         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
54994         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
54995         (build_range_exp, build_collating_symbol, parse_bracket_exp):
54996         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
54997         (build_charclass, build_charclass_op, fetch_number, create_tree):
54998         (create_token_tree, mark_opt_subexp, duplicate_tree):
54999         Use prototypes rather than old-style definitions.
55000
55001         * lib/regex_internal.c:
55002         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
55003         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
55004         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
55005         (re_string_reconstruct, re_string_peek_byte_case):
55006         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
55007         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
55008         (re_node_set_init_copy, re_node_set_add_intersect):
55009         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
55010         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
55011         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
55012         (re_acquire_state, re_acquire_state_context, register_state):
55013         (create_ci_newstate, create_cd_newstate, free_state):
55014         Likewise.
55015         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
55016         re_search_2):
55017         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
55018         (re_search_internal, prune_impossible_nodes):
55019         (acquire_init_state_context, check_matching, static):
55020         (check_halt_node_context, check_halt_state_context, proceed_next_node):
55021         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
55022         (update_regs, sift_states_backward, build_sifted_states):
55023         (clean_state_log_if_needed, merge_state_array):
55024         (update_cur_sifted_state, add_epsilon_src_nodes):
55025         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
55026         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
55027         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
55028         (find_recover_state, check_subexp_matching_top, transit_state_mb):
55029         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
55030         (check_arrival, check_arrival_add_next_nodes):
55031         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
55032         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
55033         (check_node_accept_bytes, check_node_accept, extend_buffers):
55034         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
55035         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
55036         (sift_ctx_init):
55037         Likewise.
55038
55039         * lib/regex_internal.h:
55040         (re_string_allocate, re_string_construct, re_string_reconstruct):
55041         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
55042         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
55043         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
55044         (re_string_context_at, re_string_peek_byte_case):
55045         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
55046         is defined, since we now use prototypes always.
55047
55048         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
55049         C89 or better.  All uses removed.
55050
55051 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55052
55053         * config/srclist.txt: Add glibc bugs 1220-1227.
55054
55055 2005-08-20  Jim Meyering  <jim@meyering.net>
55056
55057         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
55058         of unused local, dfa.
55059
55060 2005-08-20  Bruno Haible  <bruno@clisp.org>
55061
55062         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
55063
55064 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55065
55066         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
55067         (re_node_set_insert_last, re_dfa_add_node):
55068         Rename local variables to avoid GCC shadowing warnings.
55069
55070 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55071
55072         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
55073         [defined lint]: Suppress bogus uninitialized-variable warnings.
55074
55075         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
55076         and let the caller return REG_ESPACE if out of space.  This
55077         removes an uninitialied-variable warning with GCC 4.0.1, and also
55078         avoids taking the address of a local variable.  All callers
55079         changed.
55080
55081 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55082
55083         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
55084         $LIBCSRC/posix/regexec.c.
55085         Add glibc bug 1217 for regcomp.c.
55086
55087 2005-08-19  Jim Meyering  <jim@meyering.net>
55088
55089         * lib/regexec.c (proceed_next_node): Redo local variables to
55090         avoid GCC shadowing warnings.
55091
55092 2005-08-18  Bruno Haible  <bruno@clisp.org>
55093
55094         * lib/strstr.c (strstr): Fix return value in multibyte case.
55095         * lib/strcasestr.c (strcasestr): Likewise.
55096
55097 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
55100
55101 2005-08-17  Jim Meyering  <jim@meyering.net>
55102
55103         Make the %s format (seconds since the epoch) work for a negative
55104         number and when used with a zero-padded field width, e.g. %015s.
55105
55106         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
55107         label so that it precedes the code to set `digits'.  Otherwise,
55108         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
55109         print `00-22'.  Now, it prints `-0022', as it should.
55110
55111 2005-08-17  Bruno Haible  <bruno@clisp.org>
55112
55113         * modules/strstr (Files): Add m4/mbrtowc.m4.
55114         (Depends-on): Add mbuiter.
55115
55116 2005-08-17  Bruno Haible  <bruno@clisp.org>
55117
55118         * modules/strcasestr: New file.
55119         * MODULES.html.sh (String handling, based on ANSI C 89): Add
55120         strcasestr.
55121
55122 2005-08-17  Bruno Haible  <bruno@clisp.org>
55123
55124         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
55125
55126 2005-08-17  Bruno Haible  <bruno@clisp.org>
55127
55128         * modules/mbuiter: New file.
55129         * MODULES.html.sh (Extended multibyte and wide character utilities):
55130         Add mbuiter.
55131
55132 2005-08-17  Bruno Haible  <bruno@clisp.org>
55133
55134         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
55135         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
55136
55137 2005-08-17  Bruno Haible  <bruno@clisp.org>
55138
55139         * m4/strcasestr.m4: New file.
55140
55141 2005-08-17  Bruno Haible  <bruno@clisp.org>
55142
55143         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
55144         * lib/strstr.c: Completely rewritten, with multibyte locale support.
55145
55146 2005-08-17  Bruno Haible  <bruno@clisp.org>
55147
55148         * lib/strcasestr.h: New file.
55149         * lib/strcasestr.c: New file.
55150
55151 2005-08-17  Bruno Haible  <bruno@clisp.org>
55152
55153         * lib/strcasecmp.c: Use mbuiter.h.
55154
55155 2005-08-17  Bruno Haible  <bruno@clisp.org>
55156
55157         * lib/mbuiter.h: New file.
55158
55159 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
55160
55161         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
55162         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
55163         and gl_GETOPT are both invoked via different paths (as happens
55164         with GNU tar CVS because it uses both argp and getopt), the former
55165         wins.
55166
55167 2005-08-16  Bruno Haible  <bruno@clisp.org>
55168
55169         * modules/tls: New file.
55170         * MODULES.html.sh (Multithreading): Add tls.
55171
55172 2005-08-16  Bruno Haible  <bruno@clisp.org>
55173
55174         * modules/strnlen1: New file.
55175         * MODULES.html.sh (String handling): Add strnlen1.
55176
55177 2005-08-16  Bruno Haible  <bruno@clisp.org>
55178
55179         * modules/strcase (Files): Add m4/mbrtowc.m4.
55180         (Depends-on): Add strnlen1, mbchar.
55181
55182 2005-08-16  Bruno Haible  <bruno@clisp.org>
55183
55184         * modules/mbiter: New file.
55185         * MODULES.html.sh (Extended multibyte and wide character utilities):
55186         Add mbiter.
55187
55188 2005-08-16  Bruno Haible  <bruno@clisp.org>
55189
55190         * modules/mbfile: New file.
55191         * MODULES.html.sh (Extended multibyte and wide character utilities):
55192         Add mbfile.
55193
55194 2005-08-16  Bruno Haible  <bruno@clisp.org>
55195
55196         * modules/mbchar: New file.
55197         * MODULES.html.sh (Extended multibyte and wide character utilities):
55198         New section.
55199
55200 2005-08-16  Bruno Haible  <bruno@clisp.org>
55201
55202         * m4/tls.m4: New file, from GNU gettext.
55203
55204 2005-08-16  Bruno Haible  <bruno@clisp.org>
55205
55206         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
55207         always.
55208         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
55209
55210 2005-08-16  Bruno Haible  <bruno@clisp.org>
55211
55212         * m4/mbiter.m4: New file.
55213
55214 2005-08-16  Bruno Haible  <bruno@clisp.org>
55215
55216         * m4/mbfile.m4: New file.
55217
55218 2005-08-16  Bruno Haible  <bruno@clisp.org>
55219
55220         * m4/mbchar.m4: New file.
55221
55222 2005-08-16  Bruno Haible  <bruno@clisp.org>
55223
55224         * lib/tls.h: New file, from GNU gettext.
55225         * lib/tls.c: New file, from GNU gettext.
55226
55227 2005-08-16  Bruno Haible  <bruno@clisp.org>
55228
55229         * lib/strnlen1.h: New file.
55230         * lib/strnlen1.c: New file.
55231
55232 2005-08-16  Bruno Haible  <bruno@clisp.org>
55233
55234         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
55235         (mbi_init): Update.
55236         (mbi_avail, mbi_advance): Let the iteration end before the terminating
55237         NUL byte, not after it.
55238
55239 2005-08-16  Bruno Haible  <bruno@clisp.org>
55240
55241         * lib/strcase.h (strcasecmp): Add note in comments.
55242         * lib/strncasecmp.c: Use code from strcasecmp.c.
55243         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
55244         (strcasecmp): Work correctly in multibyte locales.
55245
55246 2005-08-16  Bruno Haible  <bruno@clisp.org>
55247
55248         * lib/mbiter.h: New file.
55249
55250 2005-08-16  Bruno Haible  <bruno@clisp.org>
55251
55252         * lib/mbfile.h: New file.
55253
55254 2005-08-16  Bruno Haible  <bruno@clisp.org>
55255
55256         * lib/mbchar.h: New file.
55257         * lib/mbchar.c: New file.
55258
55259 2005-08-16  Bruno Haible  <bruno@clisp.org>
55260
55261         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
55262         the valid ones. Makes the comparison operations transitive:
55263         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
55264         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
55265
55266 2005-08-15  Simon Josefsson  <jas@extundo.com>
55267
55268         * modules/ssize_t (License): Change to 'unlimited'.
55269
55270         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
55271
55272 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55273
55274         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
55275         Add comments for each pending glibc patch.
55276
55277 2005-08-15  Bruno Haible  <bruno@clisp.org>
55278
55279         * lib/regex.h (__restrict_arr): Don't define to __restrict if
55280         __cplusplus is defined.
55281
55282 2005-08-14  Jim Meyering  <jim@meyering.net>
55283
55284         Sync from coreutils.
55285
55286         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
55287         Use the hash-table-based cycle-detection code not just when
55288         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
55289         Reported by James Youngman in
55290         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
55291         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
55292         FTS_TIGHT_CYCLE_CHECK.
55293         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
55294         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
55295         once again.
55296         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
55297         * lib/fts.c (fd_safer): Remove decl.
55298         Include fcntl--.h rather than unistd-safer.h
55299         (fts_safe_changedir): Don't call fd_safer; no longer needed
55300         now that we include fcntl--.h.
55301
55302 2005-08-12  Simon Josefsson  <jas@extundo.com>
55303
55304         * modules/getndelim2: Use ssize_t module.
55305         * modules/getnline: Likewise.
55306         * modules/safe-read: Likewise.
55307         * modules/xreadlink: Likewise.
55308
55309         * modules/ssize_t: New file.
55310
55311 2005-08-12  Simon Josefsson  <jas@extundo.com>
55312
55313         * m4/readline.m4: Look for termcap, curses or ncurses if required.
55314
55315 2005-08-12  Simon Josefsson  <jas@extundo.com>
55316
55317         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55318         ssize_t.
55319
55320 2005-08-12  Simon Josefsson  <jas@extundo.com>
55321
55322         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
55323         readline, getdelim and check_version.
55324         (Support for systems lacking ISO C 99: Sizes of integer types):
55325         Add size_max.
55326
55327 2005-08-12  Bruno Haible  <bruno@clisp.org>
55328
55329         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
55330
55331 2005-08-11  Simon Josefsson  <jas@extundo.com>
55332
55333         * modules/readline: New file.
55334
55335         * modules/strnlen (Files): Add strnlen.h.
55336
55337 2005-08-11  Simon Josefsson  <jas@extundo.com>
55338
55339         * m4/readline.m4: New file.
55340
55341 2005-08-11  Simon Josefsson  <jas@extundo.com>
55342
55343         * lib/readline.h, readline.c: New file.
55344
55345 2005-08-11  Simon Josefsson  <jas@extundo.com>
55346
55347         * doc/gnulib.texi (Initial import, Finishing touches): Mention
55348         gl_AVOID.
55349
55350 2005-08-11  Bruno Haible  <bruno@clisp.org>
55351
55352         * lib/strnlen.h (strnlen): Change parameter name to match comment.
55353
55354 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
55355
55356         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
55357
55358 2005-08-10  Simon Josefsson  <jas@extundo.com>
55359
55360         * tests/test-iconvme.c: New file.
55361
55362 2005-08-10  Simon Josefsson  <jas@extundo.com>
55363
55364         * m4/strnlen.m4: New file.
55365
55366         * m4/strndup.m4: Don't check for strnlen declaration, done in
55367         strnlen.m4.
55368
55369 2005-08-10  Simon Josefsson  <jas@extundo.com>
55370
55371         * lib/strndup.c: Use strnlen.h.
55372
55373         * lib/strnlen.h: New file.
55374
55375 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55376
55377         * README: Typos.
55378
55379 2005-08-02  Simon Josefsson  <jas@extundo.com>
55380
55381         * modules/readline: New file.
55382
55383 2005-08-02  Simon Josefsson  <jas@extundo.com>
55384
55385         * modules/getdelim: New file.
55386
55387         * modules/getline: Rewrite, don't use getndelim2.
55388
55389 2005-08-02  Simon Josefsson  <jas@extundo.com>
55390
55391         * m4/getline.m4: Separate out getdelim stuff into separate module.
55392
55393         * m4/getdelim.m4: New file.
55394
55395 2005-08-02  Simon Josefsson  <jas@extundo.com>
55396
55397         * lib/getline.h, getline.c: Rewrite.
55398
55399         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
55400
55401 2005-07-31  Bruno Haible  <bruno@clisp.org>
55402
55403         * lib/lock.h (gl_lock_initializer): New macro.
55404         (gl_lock_define_initialized): Use it.
55405         (gl_rwlock_initializer): New macro.
55406         (gl_rwlock_define_initialized): Use it.
55407         (gl_recursive_lock_initializer): New macro.
55408         (gl_recursive_lock_define_initialized): Use it.
55409
55410 2005-07-30  Karl Berry  <karl@gnu.org>
55411
55412         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
55413         Report from Ben Pfaff, regarding getopt.
55414
55415 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
55416
55417         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
55418         normal way.
55419         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
55420         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
55421         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
55422         (gl_GETOPT): Use the new macros.  Most of the implementation
55423         is moved to the new macros.  This is for programs like Emacs
55424         that don't want all the functionality of gl_GETOPT.
55425
55426 2005-07-26  Bruno Haible  <bruno@clisp.org>
55427
55428         * m4/lock.m4: Update from GNU gettext.
55429
55430 2005-07-26  Bruno Haible  <bruno@clisp.org>
55431
55432         * lib/lock.h: Update from GNU gettext.
55433         * lib/lock.c: Update from GNU gettext.
55434
55435 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
55436
55437         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
55438         obsolescent AC_TRY_RUN.  Include the default includes files, for
55439         'exit'.
55440
55441 2005-07-24  Bruno Haible  <bruno@clisp.org>
55442
55443         * modules/visibility: New file.
55444         * MODULES.html.sh (Misc): Add visibility.
55445
55446 2005-07-24  Bruno Haible  <bruno@clisp.org>
55447
55448         * m4/visibility.m4: New file.
55449
55450 2005-07-24  Bruno Haible  <bruno@clisp.org>
55451
55452         * doc/visibility.texi: New file.
55453
55454 2005-07-22  Bruno Haible  <bruno@clisp.org>
55455
55456         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
55457         $(ALLOCA_H), redundant through BUILT_SOURCES.
55458         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
55459         redundant through BUILT_SOURCES.
55460         * modules/byteswap (Makefile.am): Remove explicit dependency on
55461         $(BYTESWAP_H), redundant through BUILT_SOURCES.
55462         * modules/fnmatch (Makefile.am): Remove explicit dependency on
55463         $(FNMATCH_H), redundant through BUILT_SOURCES.
55464         * modules/getopt (Makefile.am): Remove explicit dependency on
55465         $(GETOPT_H), redundant through BUILT_SOURCES.
55466         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
55467         redundant through BUILT_SOURCES.
55468         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
55469         redundant through BUILT_SOURCES.
55470         * modules/stdbool (Makefile.am): Remove explicit dependency on
55471         $(STDBOOL_H), redundant through BUILT_SOURCES.
55472         * modules/stdint (Makefile.am): Remove explicit dependency on
55473         $(STDINT_H), redundant through BUILT_SOURCES.
55474         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
55475         Remove explicit dependency on $(SYSEXITS_H).
55476         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
55477
55478 2005-07-18  Simon Josefsson  <jas@extundo.com>
55479
55480         * lib/check-version.c (check_version): Accept identical versions too.
55481
55482 2005-07-18  Bruno Haible  <bruno@clisp.org>
55483
55484         * modules/lock: New file.
55485         * MODULES.html.sh (Multithreading): New section.
55486
55487 2005-07-18  Bruno Haible  <bruno@clisp.org>
55488
55489         * m4/lock.m4: New file, from GNU gettext.
55490
55491 2005-07-18  Bruno Haible  <bruno@clisp.org>
55492
55493         * lib/lock.h: New file, from GNU gettext.
55494         * lib/lock.c: New file, from GNU gettext.
55495
55496 2005-07-18  Bruno Haible  <bruno@clisp.org>
55497
55498         * lib/lock.h (gl_once_t): New type.
55499         (gl_once_define, gl_once): New macros.
55500         * lib/lock.c (fresh_once): New variable.
55501         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
55502         functions.
55503
55504 2005-07-16  Simon Josefsson  <jas@extundo.com>
55505
55506         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
55507         workaround, suggested by Bruno.
55508
55509 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55510
55511         * modules/xalloc (Depends-on): Add xalloc-die.
55512         * modules/xvasprintf (Depends-on): Add xalloc-die.
55513
55514 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55515
55516         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
55517         with a minor change.
55518
55519 2005-07-15  Bruno Haible  <bruno@clisp.org>
55520
55521         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
55522         When using lib/poll.c, define poll as rpl_poll.
55523
55524 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
55525
55526         * modules/argp (Depends-on): Remove unlocked-io.
55527
55528 2005-07-14  Derek Price  <derek@ximbiot.com>
55529
55530         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
55531         for glob symlink bug.
55532
55533 2005-07-14  Bruno Haible  <bruno@clisp.org>
55534
55535         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
55536         Instead, test for *_unlocked function declarations directly.
55537
55538 2005-07-11  Simon Josefsson  <jas@extundo.com>
55539
55540         * modules/size_max: New file.
55541
55542         * modules/xsize: Depend on size_max module for size_max.m4.
55543
55544 2005-07-11  Simon Josefsson  <jas@extundo.com>
55545
55546         * lib/size_max.h: New file.
55547
55548 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
55549
55550         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
55551         copyright symbol and the year.
55552         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
55553         (version_etc_va): Use parameterized copyright notice.
55554         Reword to conform to the current GNU coding standards.
55555
55556 2005-07-11  Karl Berry  <karl@gnu.org>
55557
55558         * doc/gnulib.texi (Quoting): new node.
55559         (Initial import): more info, from Patrice.
55560
55561 2005-07-11  Bruno Haible  <bruno@clisp.org>
55562
55563         * gnulib-tool (func_usage): Document option --avoid.
55564         (Command line options): Handle --avoid.
55565         (func_acceptable): New function.
55566         (func_modules_transitive_closure): Use it.
55567
55568 2005-07-11  Bruno Haible  <bruno@clisp.org>
55569
55570         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
55571         Reported by Jim Meyering.
55572
55573 2005-07-10  Bruno Haible  <bruno@clisp.org>
55574
55575         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
55576         Needed when size_t is smaller than 'unsigned int'.
55577         Reported by Paul Eggert.
55578
55579 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55580
55581         * modules/argp (Depends-on): Add unlocked-io
55582
55583 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55584
55585         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
55586         block of defines.
55587
55588 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
55589
55590         * config/srclist.txt: Comment out regcomp.c, since we have a porting
55591         fix now.
55592
55593 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
55594         and Paul Eggert  <eggert@cs.ucla.edu>
55595
55596         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
55597         in wint_t, not wchar_t.  Remove now-unnecessary cast.
55598
55599 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55600
55601         * modules/regex (Files): Add lib/regex_internal.c,
55602         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
55603         (Depends-on): Add extensions.
55604         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
55605
55606 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55607
55608         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
55609         pathconf.
55610         * m4/same.m4 (gl_SAME): Likewise.
55611         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
55612
55613         * m4/regex.m4: Adjust to new libc regex implementation.
55614         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
55615         all the .c and .h parts of (the new) regex.
55616         Quote the m4 stuff better.
55617         Check for RE_ICASE bug of old gnulib.
55618         Check for REG_STARTEND of recent libc.
55619         Rename local variables from jm_* to gl_*.
55620         Quote operand of "test -f".
55621         Say "recent enough" version of libc, not "version 2".
55622         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
55623         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
55624         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
55625         Remove check for btowc, isascii.
55626         Require AM_LANGINFO_CODESET.
55627
55628 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55629
55630         * lib/regex.c, regex.h: Sync from libc.
55631         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
55632         * lib/regexec.c:
55633         New files, synced from libc, except that regex_internal.h
55634         currently has a small porting fix.
55635
55636 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55637
55638         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
55639         regex_internal.c, regexec.c.
55640         Add regex_internal.h too, but as a comment, since the libc version
55641         is currently broken in gnulib mode.
55642
55643 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55644
55645         Support programs like Emacs that use gnulib but not gettext.
55646         * MODULES.html.sh (Internationalization functions): Add gettext-h.
55647         * modules/gettext-h: New file.
55648         * modules/gettext (Files): Remove lib/gettext.h.
55649         (Depends-on): Add gettext-h.
55650         (Makefile.am): Remove lib_SOURCES.
55651         * modules/argmatch, modules/c-stack, modules/closeout:
55652         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
55653         * modules/execute, modules/file-type, modules/getaddrinfo:
55654         * modules/getopt, modules/human, modules/javacomp:
55655         * modules/javaexec, modules/mkdir-p, modules/obstack:
55656         * modules/openat, modules/pagealign_alloc, modules/pipe:
55657         * modules/quotearg, modules/regex, modules/rpmatch:
55658         * modules/unicodeio, modules/userspec, modules/version-etc:
55659         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
55660         * modules/xsetenv:
55661         Depend on gettext-h, not gettext.
55662
55663 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55664
55665         * gnulib-tool (func_import): Add support for 'public domain' license.
55666         * modules/alloca, modules/atexit, modules/memmove:
55667         Now public domain, not GPL.
55668         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
55669         * modules/realloc, modules/strerror, modules/strtod:
55670         Now LGPL, not GPL.
55671
55672 2005-07-05  Bruno Haible  <bruno@clisp.org>
55673
55674         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
55675         autoconf CVS. Needed for mingw.
55676
55677 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55678
55679         Remove the dependency of the strftime module on the tzset module.
55680         * modules/strftime (Depends-on): Remove dependency on tzset.
55681
55682 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55683
55684         Remove the dependency of the strftime module on the tzset module.
55685         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
55686         gl_FUNC_TZSET_CLOBBER.
55687
55688 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55689
55690         Remove the dependency of the strftime module on the tzset module.
55691         * lib/strftime.c (my_strftime)
55692         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
55693         Copy the input structure, to work around some of the bug with
55694         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
55695         Solaris releases, you should also use the tzset module, but we won't
55696         require it as a dependency any more since we don't want LGPLed code
55697         to depend on GPLed code.
55698
55699 2005-07-02  Jim Meyering  <jim@meyering.net>
55700
55701         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
55702         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
55703         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
55704         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
55705
55706 2005-07-02  Jim Meyering  <jim@meyering.net>
55707
55708         * lib/backupfile.c (backup_args): Change a `0' to NULL.
55709
55710 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55711
55712         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
55713         declares only 'struct timespec;' (!).
55714
55715 2005-07-01  Jim Meyering  <jim@meyering.net>
55716
55717         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
55718         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
55719         * lib/save-cwd.c, tempname.c:
55720         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55721         and don't include <sys/file.h>).
55722
55723 2005-06-29  Jim Meyering  <jim@meyering.net>
55724
55725         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
55726         type name.  Use the variable name instead.
55727         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
55728         Likewise.
55729
55730 2005-06-28  Simon Josefsson  <jas@extundo.com>
55731
55732         * modules/check-version (Files): Add check-version.m4.
55733
55734 2005-06-28  Simon Josefsson  <jas@extundo.com>
55735
55736         * m4/check-version.m4: New file, suggested by Jim Meyering
55737         <jim@meyering.net>.
55738
55739 2005-06-28  Simon Josefsson  <jas@extundo.com>
55740
55741         * lib/check-version.h, lib/check-version.c: New files.
55742
55743 2005-06-28  Simon Josefsson  <jas@extundo.com>
55744
55745         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
55746         collision with global variable.  Better indentation.  Don't
55747         increment buffer pointer beyond buffer end.  Based on comments
55748         from Paul Eggert <eggert@cs.ucla.edu>.
55749
55750         * lib/base64.h: Indent.
55751
55752 2005-06-28  Simon Josefsson  <jas@extundo.com>
55753
55754         * doc/gnulib.texi (Library version handling): New section.
55755
55756 2005-06-28  Jim Meyering  <jim@meyering.net>
55757
55758         * check-module (find_included_lib_files): Hard-code another
55759         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
55760         but modules/fts-lgpl (correctly) does not list those files.
55761
55762         * modules/canonicalize (Files): Add lib/pathmax.h.
55763
55764 2005-06-25  Simon Josefsson  <jas@extundo.com>
55765
55766         * modules/check-version: New file.
55767
55768 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
55769
55770         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
55771         initializer of struct addrinfo, as an indication that we don't
55772         care how many members the structure has.
55773
55774 2005-06-24  Derek Price  <derek@ximbiot.com>
55775         and Bruno Haible  <bruno@clisp.org>
55776
55777         Remove stat module & update lstat.
55778         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
55779         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55780         * m4/stat.m4: Remove this file.
55781
55782 2005-06-24  Derek Price  <derek@ximbiot.com>
55783         and Bruno Haible  <bruno@clisp.org>
55784
55785         Remove stat module & update lstat.
55786         * lib/stat.c: Remove this file...
55787         (slash_aware_lstat): ...moving this content and its support...
55788         * lib/lstat.c (rpl_lstat): ...into here.
55789         * lib/lstat.h: New file.
55790
55791 2005-06-24  Derek Price  <derek@ximbiot.com>
55792         and Bruno Haible  <bruno@clisp.org>
55793
55794         Remove stat module & update lstat.
55795         * config/srclist.txt (libc sources): Remove stat.
55796
55797 2005-06-24  Derek Price  <derek@ximbiot.com>
55798         and Bruno Haible  <bruno@clisp.org>
55799
55800         Remove stat module & update lstat.
55801         * MODULES.html.sh (stat): Remove.
55802         * MODULES.html: Regenerated.
55803         * modules/lstat (Description): Correct function name.
55804         (Files): Add "lstat.h".
55805         (Depends-on): Remove stat, add xalloc, stat-macros.
55806         * modules/stat: Remove this file.
55807         (Include): Add "lstat.h", remove <sys/stat.h>.
55808
55809 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55810
55811         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
55812         (ranged_convert): Don't save conversion in a temporary struct.
55813         This causes a warning with GCC 4.0.0, and anyway in the typical
55814         case it's not worth the extra 100 bytes or so of code.
55815         (ranged_convert, __mktime_internal): When calling a function via a
55816         pointer P, use P () rather than (*P) (), as we now assume C89 or
55817         better.
55818
55819 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55820
55821         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
55822         "who -r" failed to give output.  Problem reported by Tim Waugh.
55823
55824         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
55825         (xcalloc): Use it to avoid needless tests.
55826         Problem reported by Jim Meyering.
55827
55828 2005-06-20  Derek Price  <derek@ximbiot.com>
55829
55830         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
55831         unnecessary for Autoconfs > 2.59c.
55832
55833 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55834
55835         * lib/argp.h (__option_is_short): Check upper limit of
55836         __key. Isprint() requires its argument to have the value
55837         of an unsigned char or EOF.
55838
55839 2005-06-16  Jim Meyering  <jim@meyering.net>
55840
55841         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
55842         when either N or S is zero.
55843
55844 2005-06-16  Derek Price  <derek@ximbiot.com>
55845
55846         * m4/bison.m4: Declare YACC & YFLAGS precious.
55847
55848 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
55849
55850         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
55851         multibyte string or pattern, fall back on unibyte matching.
55852         Problem reported by James Youngman.
55853
55854 2005-06-08  Bruno Haible  <bruno@clisp.org>
55855
55856         * modules/csharpcomp: New file.
55857         * MODULES.html.sh (C#): Add csharpcomp.
55858
55859 2005-06-08  Bruno Haible  <bruno@clisp.org>
55860
55861         * m4/csharpcomp.m4: New file, from GNU gettext.
55862
55863 2005-06-08  Bruno Haible  <bruno@clisp.org>
55864
55865         * lib/csharpcomp.h: New file, from GNU gettext.
55866         * lib/csharpcomp.c: New file, from GNU gettext.
55867         * lib/csharpcomp.sh.in: New file, from GNU gettext.
55868
55869 2005-06-08  Bruno Haible  <bruno@clisp.org>
55870
55871         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
55872         warning on mingw.
55873
55874 2005-06-07  Derek Price  <derek@ximbiot.com>
55875
55876         Sync from CVS.
55877         * lib/glob_.h: Indent nested #ifdef.
55878
55879 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55880
55881         Sync from coreutils.
55882         Use "file name" when talking about file names, instead of "filename"
55883         or "path", as per the GNU coding standards.
55884         * lib/mkdir-p.c: Renamed from makepath.c.
55885         (make_dir_parents): Renamed from make_path.  All callers changed.
55886         * lib/mkdir-p.h: Likewise.  All includers changed.
55887         * lib/filenamecat.c: Renamed from path-concat.c.
55888         (file_name_concat): Renamed from path_concat.  All callers changed.
55889         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
55890         * lib/filenamecat.h: Likewise.  All includers changed.
55891         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
55892         in comments or local variable names.
55893         * lib/basename.c: Likewise.
55894         * lib/canonicalize.c, canonicalize.h: Likewise.
55895         * lib/dirname.c, dirname.h: Likewise.
55896         * lib/euidaccess.c: Likewise.
55897         * lib/exclude.c: Likewise
55898         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
55899         * lib/fsusage.c, fsuage.h: Likewise.
55900         * lib/fts.c, fts_.h: Likewise.
55901         * lib/getcwd.c: Likewise.
55902         * lib/getloadavg.c: Likewise.
55903         * lib/mkstemp.c: Likewise.
55904         * lib/mountlist.c, mountlist.h: Likewise.
55905         * lib/openat.c, openat.h: Likewise.
55906         * lib/readlink-stub.c: Likewise.
55907         * lib/readutmp.c, readutmp.h: Likewise.
55908         * lib/rename.c: Likewise.
55909         * lib/rmdir.c: Likewise.
55910         * lib/same.c: Likewise.
55911         * lib/savedir.c: Likewise.
55912         * lib/stripslash.c: Likewise.
55913         * lib/tempname.c: Likewise.
55914         * lib/xreadlink.c: Likewise.
55915         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
55916         All uses changed.
55917         * lib/exclude.h: Likewise.
55918
55919         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
55920         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55921         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
55922         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55923         * lib/pathmax.h: Include <limits.h> unconditionally, since other
55924         files have been getting away with it for years (MORE/BSD 4.3
55925         is extinct now).
55926         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
55927         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55928
55929         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
55930         Define to 256, not 255, as per modern POSIX.
55931
55932 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55933
55934         Sync from coreutils.
55935         Use "file name" when talking about file names, instead of "filename"
55936         or "path", as per the GNU coding standards.
55937         * MODULES.html.sh: mkdir-p renamed from makepath.
55938         filenamecat renamed from path-concat.
55939         * modules/filenamecat: Renamed from modules/path-concat.
55940         (Files): filenamecat.h and filenamecat.c renamed from
55941         path-concat.h and path-concat.c.
55942         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
55943         (Include): filenamecat.h, not path-concat.h.
55944         * modules/mkdir-p: Renamed from modules/makepath.
55945         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
55946         makepath.c.
55947         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
55948         (Include): mkdir-p.h, not makepath.h.
55949
55950 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55951
55952         Sync from coreutils.
55953         * m4/mkdir-p.m4: Renamed from makepath.m4.
55954         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
55955         Rename files from makepath.c to mkdir-p.c, and from
55956         makepath.h to mkdir-p.h.
55957         * m4/filenamecat.m4: Renamed from path-concat.m4.
55958         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
55959         Rename files from path-concat.c to filenamecat.c,
55960         and from path-concat.h to filenamecat.h.
55961         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
55962         "file name" in local variables or comments.
55963         * m4/rename.m4: Likewise.
55964
55965 2005-06-01  Bruno Haible  <bruno@clisp.org>
55966
55967         * modules/csharpexec: New file.
55968         * MODULES.html.sh (C#): New section.
55969
55970 2005-06-01  Bruno Haible  <bruno@clisp.org>
55971
55972         * m4/csharp.m4: New file, from GNU gettext.
55973         * m4/csharpexec.m4: New file, from GNU gettext.
55974
55975 2005-06-01  Bruno Haible  <bruno@clisp.org>
55976
55977         * lib/csharpexec.h: New file, from GNU gettext.
55978         * lib/csharpexec.c: New file, from GNU gettext.
55979         * lib/csharpexec.sh.in: New file, from GNU gettext.
55980
55981 2005-05-31  Derek Price  <derek@ximbiot.com>
55982             Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         Sync from cvs.
55985         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55986
55987 2005-05-31  Derek Price  <derek@ximbiot.com>
55988             Paul Eggert  <eggert@cs.ucla.edu>
55989
55990         Sync from cvs.
55991         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55992
55993 2005-05-29  Derek Price  <derek@ximbiot.com>
55994
55995         * config/srclist.txt (glob_.h, glob.c): Add these files.
55996
55997 2005-05-29  Derek Price  <derek@ximbiot.com>
55998
55999         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
56000         * modules/glob: New file.
56001         * modules/getlogin_r: Add link to POSIX spec in description.
56002
56003 2005-05-29  Derek Price  <derek@ximbiot.com>
56004             Paul Eggert  <eggert@cs.ucla.edu>
56005
56006         * m4/glob.m4: New file.
56007
56008 2005-05-29  Derek Price  <derek@ximbiot.com>
56009             Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         * lib/glob_.h, lib/glob.c: New files.
56012
56013 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56014
56015         * modules/fts (Files): Remove m4/inttypes-pri.m4.
56016         * modules/fts-lgpl (Depends-on): Remove gettext.
56017
56018 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56019
56020         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
56021         and don't require gt_INTTYPES_PRI.
56022
56023 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56024
56025         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
56026
56027         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
56028         the configuration hassle isn't worth it.
56029         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
56030         (LONGEST_MODIFIER, PRIuMAX): Remove.
56031
56032 2005-05-27  Bruno Haible  <bruno@clisp.org>
56033
56034         * lib/getlogin_r.h: Remove second include of <stddef.h>.
56035
56036 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
56037
56038         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
56039         _POSIX_PTHREAD_SEMANTICS for Solaris.
56040
56041 2005-05-25  Derek Price  <derek@ximbiot.com>
56042
56043         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
56044
56045 2005-05-25  Derek Price  <derek@ximbiot.com>
56046             Paul Eggert  <eggert@cs.ucla.edu>
56047
56048         * modules/getlogin_r, m4/getlogin_r.m4: New files.
56049         * lib/getlogin_r.c, getlogin_r.h: New files.
56050
56051 2005-05-25  Bruno Haible  <bruno@clisp.org>
56052             Derek Price  <derek@ximbiot.com>
56053
56054         * lib/getlogin_r.h: Simplify API documentation.
56055
56056 2005-05-23  Derek Price  <derek@ximbiot.com>
56057
56058         * modules/minmax (Files): Add m4/minmax.m4.
56059         (configure.ac): Add gl_MINMAX.
56060
56061 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56062
56063         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
56064         so that unistd-safer.h (GPL'ed code) need not be included.
56065
56066 2005-05-22  Bruno Haible  <bruno@clisp.org>
56067
56068         * m4/minmax.m4: New file.
56069         Based on a patch by Derek Price <derek@ximbiot.com>.
56070
56071 2005-05-22  Bruno Haible  <bruno@clisp.org>
56072
56073         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
56074         (INT64_MIN): Fix definition.
56075         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
56076
56077         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
56078         NEED_SIGNED_INT_TYPES.
56079
56080         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
56081         HAVE_SYSTEM_INTTYPES.
56082
56083 2005-05-22  Bruno Haible  <bruno@clisp.org>
56084
56085         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
56086         Also include <sys/param.h> if it defines MIN, MAX.
56087         Based on a patch by Derek Price <derek@ximbiot.com>.
56088
56089 2005-05-21  Jim Meyering  <jim@meyering.net>
56090
56091         * modules/fts (Files): Add m4/inttypes-pri.m4.
56092         (Depends-on): Add lstat and remove gettext.  Alphabetize.
56093
56094 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56095
56096         New fts module.
56097         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
56098         (setup_dir, free_dir): New functions.
56099         (enter_dir, leave_dir): Define trivial
56100         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
56101         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
56102         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
56103         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
56104         Move to fts-cycle.c.
56105         (fts_open): Use setup_dir.
56106         (fts_close): Use free_dir.
56107         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
56108         This adds a label and some gotos, but the alternatives were messier.
56109         Check for memory allocation failure when entering a dir.
56110         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
56111         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
56112         (FTS): New member fts_cycle, that is a union that contains the
56113         old active_dir_ht and cycle_state.  All uses changed to mention
56114         fts_cycle.ht and fts_cycle.state.
56115         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
56116         fts.c, with the following changes:
56117         (setup_dir, free_dir): New functions.
56118         (enter_dir): Now returns bool.  Return true if successful, false
56119         if memory exhausted.  All callers changed.
56120         Do not bother partly cleaning up on
56121         memory allocation failure; that is free_dir's job.
56122         However, free ad if hash_insert fails, to avoid memory leak.
56123         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
56124         fts->fts_options to see which union member to use.
56125
56126 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56127
56128         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
56129         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
56130
56131 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56132
56133         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
56134
56135 2005-05-20  Jim Meyering  <jim@meyering.net>
56136
56137         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
56138         Now a macro, to pacify GCC.
56139
56140 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56141
56142         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
56143         of -1.
56144
56145 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56146
56147         * lib/chown.c (rpl_chown): Return -1 on failure.
56148
56149 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56150
56151         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
56152         Don't check for stddef.h.
56153         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
56154         don't use its results.
56155         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
56156         since we include them unconditionally.  Don't require
56157         AM_STDBOOL_H, since stdbool is a prerequisite.
56158         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
56159         since we assume C89 or better.
56160         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
56161         as we don't use their results.
56162         Don't check for fchdir, memmove, memset, strrchr, as we use
56163         them unconditionally.
56164         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
56165         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
56166
56167 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56168
56169         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
56170         Include <stddef.h> unconditionally, since we assume C89 now.
56171         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
56172         * lib/fts.c: Include fts_.h first, to check interface.
56173         Do not include intprops.h; no longer needed.
56174         Include cycle-check.h and hash.h, since fts_.h no longer does.
56175         Remove unnecessary casts of closedir to void.
56176         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
56177         decide whether to decrement nlinks.
56178         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
56179         (FTS): Use struct hash_table * instead of Hash_table, so that
56180         we no longer need to include hash.h here.
56181
56182 2005-05-18  Jim Meyering  <jim@meyering.net>
56183
56184         * modules/dirfd (License): Change to LGPL.  Most of the code
56185         is already in the public domain.
56186
56187 2005-05-18  Jim Meyering  <jim@meyering.net>
56188
56189         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
56190         Reported by Yoann Vandoorselaere.
56191
56192 2005-05-17  Jim Meyering  <jim@meyering.net>
56193
56194         * m4/fts.m4: New file, from coreutils.
56195
56196 2005-05-17  Jim Meyering  <jim@meyering.net>
56197
56198         * lib/fts.c, lib/fts_.h: New files, from coreutils.
56199
56200 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56201
56202         Sync from coreutils.
56203         * m4/unlinkdir.m4: New file.
56204
56205 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56206
56207         Sync from coreutils.
56208         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
56209         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
56210         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
56211         White space changes only.
56212         * lib/makepath.c (make_path): Port to hosts where leading "//" is
56213         special.
56214         * lib/yesno.c: Include getline.h, not ctype.h.
56215         (yesno): Don't remove leading white space; POSIX doesn't allow it.
56216         Use getline to remove arbitrary restriction on response length.
56217
56218 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56219
56220         * config/srclist-update: Spell out "Street" in FSF postal
56221         mail address; this is the style the FSF seems to prefer.
56222
56223         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
56224         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
56225         this updates FSF postal mail address.
56226
56227         Sync from coreutils.
56228         * modules/unlinkdir: New file.
56229         * modules/yesno (Depends-on): Add getline.
56230         * MODULES.html.sh (File system functions): Add unlinkdir.
56231
56232 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56233
56234         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
56235         lib/strsep.h:
56236         Change the initial comment to refer to GPL, not LGPL.
56237         gnulib-tool will change it to LGPL as needed.
56238
56239         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
56240         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
56241         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
56242         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
56243         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
56244         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
56245         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
56246         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
56247         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
56248         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
56249         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
56250         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
56251         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
56252         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
56253         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
56254         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
56255         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
56256         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
56257         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
56258         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
56259         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
56260         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
56261         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
56262         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
56263         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
56264         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
56265         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
56266         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
56267         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
56268         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
56269         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
56270         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
56271         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
56272         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
56273         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
56274         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
56275         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
56276         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
56277         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
56278         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
56279         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
56280         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
56281         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
56282         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
56283         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
56284         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
56285         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
56286         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
56287         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
56288         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
56289         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56290         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
56291         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
56292         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
56293         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
56294         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
56295         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
56296         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
56297         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
56298         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
56299         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
56300         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
56301         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
56302         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
56303         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
56304         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
56305         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
56306         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
56307         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
56308         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
56309         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
56310         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
56311         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
56312         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
56313         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
56314         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
56315         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
56316         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
56317         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
56318         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
56319         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
56320         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
56321         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
56322         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
56323         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
56324         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
56325         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
56326         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
56327         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
56328         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
56329         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
56330         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
56331         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
56332         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
56333         lib/yesno.c, lib/yesno.h:
56334         Update FSF postal mail address.
56335
56336 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56337
56338         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
56339         tests/test-memmem.c, tests/test-stpncpy.c:
56340         Update FSF postal mail address.
56341
56342 2005-05-13  Bruno Haible  <bruno@clisp.org>
56343
56344         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
56345         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
56346         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
56347         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
56348         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
56349         Add support for 64-bit integers in the MSVC compiler.
56350
56351 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56352
56353         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
56354
56355 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
56356
56357         * gnulib-tool (func_import): Sort and uniquify recommended includes.
56358
56359 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
56360
56361         * doc/getdate.texi (General date syntax): Don't say that date
56362         date --iso-8601=ns generates acceptable dates; it doesn't yet.
56363         Problem reported by Nic Ferrier.
56364
56365 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56366
56367         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
56368         specified in ai_socktype. Fix invalid ai_protocol
56369         check. ai_protocol is usually set to 0 or depending on
56370         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
56371         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
56372         ai_socktype / ai_protocol in the returned addrinfo structure.
56373
56374 2005-05-10  Simon Josefsson  <jas@extundo.com>
56375
56376         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
56377         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56378
56379 2005-05-10  Karl Berry  <karl@gnu.org>
56380
56381         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
56382         (from http://www.gnu.org/licenses).
56383         * doc/COPYING.LIB: also rename to COPYING.LESSER.
56384         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
56385         fdl.texi suffices.
56386
56387 2005-05-10  Karl Berry  <karl@gnu.org>
56388
56389         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
56390         (COPYING.DOC): remove.
56391
56392         * config/srclist-update: new FSF address.
56393
56394 2005-05-10  Derek Price  <derek@ximbiot.com>
56395
56396         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
56397         possible.
56398
56399 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56400             Bruno Haible  <bruno@clisp.org>
56401
56402         * modules/inet_ntop: New file.
56403         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56404         inet_ntop.
56405
56406 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56407             Bruno Haible  <bruno@clisp.org>
56408
56409         * m4/inet_ntop.m4: New file.
56410
56411 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56412             Bruno Haible  <bruno@clisp.org>
56413
56414         * lib/inet_ntop.h: New file.
56415         * lib/inet_ntop.c: New file, from glibc with modifications.
56416
56417 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
56418
56419         * modules/time_r (License): Change to LGPL.
56420         * modules/extensions (License): Change to LGPL.  Actually,
56421         the license is more permissive than that, but currently gnulib-tool
56422         doesn't know how to handle more-permissive licenses.
56423
56424         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
56425         Problem reported by Dave Love.
56426
56427 2005-05-08  Jim Meyering  <jim@meyering.net>
56428
56429         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
56430         blank.
56431
56432 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56433
56434         * modules/argmatch (Depends-on): Add stdbool.
56435         * modules/backupfile (Depends-on): Likewise.
56436         * modules/chdir-long (Depends-on): Likewise.
56437         * modules/closeout (Depends-on): Likewise.
56438         * modules/cycle-check (Depends-on): Likewise.
56439         * modules/dirname (Depends-on): Likewise.
56440         * modules/fnmatch (Depends-on): Likewise.
56441         * modules/fsusage (Depends-on): Likewise.
56442         * modules/fwriteerror (Depends-on): Likewise.
56443         * modules/getcwd (Depends-on): Likewise.
56444         * modules/getloadavg (Depends-on): Likewise.
56445         * modules/hard-locale (Depends-on): Likewise.
56446         * modules/makepath (Depends-on): Likewise.
56447         * modules/mountlist (Depends-on): Likewise.
56448         * modules/nanosleep (Depends-on): Likewise.
56449         * modules/posixtm (Depends-on): Likewise.
56450         * modules/quotearg (Depends-on): Likewise.
56451         * modules/readtokens (Depends-on): Likewise.
56452         * modules/readtokens0 (Depends-on): Likewise.
56453         * modules/readutmp (Depends-on): Likewise.
56454         * modules/save-cwd (Depends-on): Likewise.
56455         * modules/strftime (Depends-on): Likewise.
56456         * modules/userspec (Depends-on): Likewise.
56457         * modules/utimecmp (Depends-on): Likewise.
56458         * modules/xgetcwd (Depends-on): Likewise.
56459         * modules/xnanosleep (Depends-on): Likewise.
56460         * modules/xstrtod (Depends-on): Likewise.
56461         * modules/yesno (Depends-on): Likewise.
56462
56463 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56464
56465         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
56466         needless checks.
56467
56468 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56469
56470         Merge from coreutils.  Among other things,
56471         add bulletproofing for cases where stdin, stdout, or stderr are closed.
56472         * lib/fd-safer.c: New file.
56473         * lib/fcntl-safer.h, open-safer.c: Remove.
56474         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
56475         * lib/dup-safer.c: Include unistd-safer.h first.
56476         Don't include errno.h.
56477         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
56478         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
56479         * lib/file-type.c: Rely on file-type.h change.
56480         * lib/getloadavg.c: Include unistd-safer.h.
56481         (getloadavg): Use safer open.
56482         * lib/getusershell.c: Include "stdio-safer.h".
56483         (getusershell): Use safer fopen.
56484         * lib/long-options.c (long_options): Use NULL rather than 0.
56485         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
56486         'free'.
56487         * lib/modechange.c: Likewise.
56488         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
56489         (MODE_DONE): New constant.
56490         (struct mode_change): Remove 'next' member.
56491         (make_node_op_equals): New function; like the old one of the
56492         same name, except it allocates an array.
56493         (mode_compile, mode_create_from_ref): Use it.
56494         (mode_compile): Allocate result as an array, not a linked list.
56495         Parse octal string ourself, so that we catch mistakes like "+0".
56496         (mode_adjust): Arg is an array, not a linked list.
56497         * lib/modechange.c: Include stat-macros.h, xalloc.h.
56498         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
56499         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
56500         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
56501         Remove.  This is now stat-macros.h's job.
56502         (talloc): Remove.  All callers replaced by xalloc, so that
56503         our invokers don't have to worry about reporting memory failures.
56504         (make_node_op_equals): Remove.
56505         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56506         New constants.
56507         (struct mode_change): Moved here from modechange.h.
56508         (mode_append_entry): Remove.
56509         (mode_compile): Remove MASKED_OPS arg, since it encouraged
56510         apps to have incorrect behavior.  Use simpler algorithm for head
56511         and tail.  Don't futz with umask; that's now the job of mode_adjust.
56512         Detect more invalid usages rather than having somewhat-random behavior.
56513         Don't insert an "a=" action, as that leads to incorrect behavior.
56514         (mode_compile, mode_create_from_ref): Return NULL on error instead
56515         of an enum, since now there's only one way to have an error.  All
56516         callers changed.
56517         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
56518         at the correct time.  Simplify calculation of "+u" and its ilk.
56519         Don't mishandle "+X".
56520         (mode_free): Remove "register" and localize decls.
56521         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56522         (struct mode_change): Move to modechange.c; callers don't
56523         need to see this stuff.
56524         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
56525         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
56526         (mode_change, mode_adjust): Reflect the new signatures noted above.
56527         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
56528         that might redefine system include files.
56529         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
56530         (my_usleep): Use NULL rather than (void *) 0.
56531         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
56532         Use siginterrupt to specify that system calls should be interrupted.
56533         (rpl_nanosleep): Move initialization of suspended closer to call of
56534         my_usleep.
56535         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
56536         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
56537         (desirable_utmp_entry): New function.
56538         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
56539         using x2nrealloc, to simplify logic.
56540         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
56541         size calculation.  Do not assume utmp file is a regular file.
56542         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
56543         (READ_UTMP_CHECK_PIDS): New constant.
56544         * lib/save-cwd.c: Include unistd-safer.h.
56545         (save_cwd): Use fd_safer.
56546         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
56547         [!_LIBC] Include "stat-macros.h" instead.
56548         * lib/unistd-safer.h (fd_safer): New decl.
56549
56550 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56551
56552         * modules/getloadavg (Depends-on): Add unistd-safer.
56553         * modules/getusershell (Depends-on): Add stdio-safer.
56554         * modules/lstat (Depends-on): Remove xalloc.
56555         * modules/mkstemp (Depends-on): Add stat-macros.
56556         * modules/modechange (Depends-on): Remove xstrtol.
56557         Add stat-macros, xalloc.
56558         * modules/save-cwd (Depends-on): Add unistd-safer.
56559         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
56560         * modules/unistd-safer (Files): Add lib/fd-safer.c
56561         (Makefile.am): Remove lib_SOURCES.
56562
56563         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
56564         Remove fcntl-safer; unistd-safer supersedes it.
56565
56566 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56567
56568         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
56569         AC_HEADER_STAT.
56570         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
56571         (gl_PREREQ_CHOWN): Remove.
56572         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
56573         it.  Don't require AC_HEADER_STAT.
56574         (gl_PREREQ_LSTAT): Remove.
56575         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
56576         Don't require AC_HEADER_STAT.
56577         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
56578         (gl_PREREQ_RMDIR): Remove.
56579         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
56580         mention stat-macros.h or AC_HEADER_STAT, since we'll make
56581         the stat-macros module a prerequisite.
56582         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
56583         * m4/filemode.m4 (gl_FILEMODE): Likewise.
56584         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
56585         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
56586         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
56587         variable names.
56588         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
56589         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
56590         variable prefixes.
56591         * m4/fcntl-safer.m4: Remove.
56592         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
56593         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
56594         Invoke gl_PREREQ_FD_SAFER.
56595         (gl_PREREQ_FD_SAFER): New macro.
56596         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
56597         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
56598         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
56599         Remove duplicate call to AC_LIBOBJ(readutmp).
56600         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
56601
56602         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
56603         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
56604
56605 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56606
56607         * MODULES.html.sh (Misc): Add byteswap.
56608
56609 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56610
56611         * modules/getcwd (Depends-on): Add extensions.
56612         * modules/openat (Depends-on): Likewise.
56613
56614 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56615
56616         * modules/byteswap: New file.
56617
56618 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56619
56620         * m4/byteswap.m4: New file.
56621
56622 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56623
56624         * lib/byteswap_.h: New file.
56625
56626 2005-04-25  Karl Berry  <karl@gnu.org>
56627
56628         * m4/gettext.m4: Update from GNU gettext 0.14.4.
56629
56630 2005-04-25  Albert Chin  <china@thewrittenword.com>
56631
56632         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
56633         Toolkit C bug.
56634
56635 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
56636
56637         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
56638         (func_ln_if_changed) Remove forcibly for no error message
56639         in case file does not exist.
56640
56641 2005-04-19  Simon Josefsson  <jas@extundo.com>
56642
56643         * gnulib-tool (Options): Make --symlink mean --symbolic.
56644
56645 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
56646
56647         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
56648
56649 2005-04-16  Simon Josefsson  <jas@extundo.com>
56650
56651         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
56652
56653 2005-04-15  Simon Josefsson  <jas@extundo.com>
56654
56655         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
56656
56657 2005-04-15  Simon Josefsson  <jas@extundo.com>
56658
56659         * gnulib-tool: Rename --symlink to --symbolic.
56660
56661 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
56662
56663         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
56664         symbolic links to files instead of copying/moving.  Add --aux-dir,
56665         specifying directory relative --dir where auxiliary build tools
56666         are placed.
56667
56668 2005-04-14  Bruno Haible  <bruno@clisp.org>
56669
56670         * modules/allocsa (License): Change to LGPL.
56671         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56672
56673 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56674
56675         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
56676         that "UTC +1 second" continues to work.  Problem reported
56677         by Dmitry V. Levin.
56678         (relunit_snumber): New rule.
56679         (relunit): Use it.
56680
56681 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56682
56683         * lib/getdate.y (universal_time_zone_table): New constant.
56684         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
56685         universal_time_zone_table.
56686         (lookup_zone): Prefer universal_time_zone_table to
56687         local_time_zone_table, so that "GMT" time stamps are allowed in
56688         London during the summer.  Problem reported by Ian Abbott.
56689
56690 2005-04-12  Jim Meyering  <jim@meyering.net>
56691
56692         * lib/human.c (humblock): Set *options even when returning due to
56693         xstrtoumax conversion failure.  Thanks to a used-uninitialized
56694         warning from gcc-4.
56695
56696 2005-04-09  Jim Meyering  <jim@meyering.net>
56697
56698         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
56699         -Wuninitialized: initialize tm0.tm_year.
56700
56701 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56702
56703         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
56704         count, since there's no maximum.  All uses changed.
56705         Add member dsts_seen.
56706         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
56707         not being INT_MAX.
56708         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
56709         Use pc_rels_seen to decide whther a date is absolute.
56710
56711         * lib/getdate.y (number): Don't overwrite year.
56712         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
56713         check.
56714
56715 2005-04-02  Simon Josefsson  <jas@extundo.com>
56716
56717         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
56718         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
56719
56720 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
56721
56722         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
56723         where no absolute path name can be longer than PATH_MAX.
56724
56725 2005-03-27  Jim Meyering  <jim@meyering.net>
56726
56727         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
56728
56729 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
56730
56731         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
56732         "one's complement" -> "ones' complement" in comment, as per Knuth.
56733         "value of type" -> "type or expression" in comment.
56734         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
56735
56736 2005-03-26  Jim Meyering  <jim@meyering.net>
56737
56738         Comment nits.
56739         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
56740         Correct typos: s/or/of/.
56741
56742 2005-03-26  Jim Meyering  <jim@meyering.net>
56743
56744         * modules/check-include-files: Move to ../ and rename to...
56745         * check-module: ...this.
56746
56747 2005-03-25  Jim Meyering  <jim@meyering.net>
56748
56749         * modules/xvasprintf (Files): Add xalloc.h.
56750
56751 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56752
56753         * modules/gettext (Files): config/config.rpath ->
56754         build-aux/config.rpath
56755         * modules/iconv (Files): Likewise.
56756         Problem reported by Oskar Liljeblad.
56757
56758 2005-03-23  Jim Meyering  <jim@meyering.net>
56759
56760         * modules/check-include-files: New script to check for
56761         missing dependencies, multiple includes, etc.
56762
56763         * modules/c-strtold (Depends-on): Add xalloc.
56764         * modules/c-strtod (Depends-on): Add xalloc.
56765         * modules/hash (Depends-on): Add xalloc.
56766         (Files): Remove lib/xalloc.h.
56767
56768         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
56769         * modules/userspec (Files): Add lib/inttostr.h.
56770
56771 2005-03-23  Jim Meyering  <jim@meyering.net>
56772
56773         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
56774
56775 2005-03-22  Jim Meyering  <jim@meyering.net>
56776
56777         * modules/stat-macros: New module.
56778         * modules/canonicalize, modules/euidaccess, modules/file-type,
56779         * modules/filemode, modules/lchown, modules/makepath,
56780         * modules/rmdir, modules/stat: Depend on new stat-macros module
56781         rather than listing lib/stat-macros.h manually.
56782         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
56783
56784 2005-03-22  Jim Meyering  <jim@meyering.net>
56785
56786         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
56787
56788 2005-03-22  Bruno Haible  <bruno@clisp.org>
56789
56790         * config/srclist.txt: Replace target directory 'config' with
56791         'build-aux'.
56792         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
56793         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
56794         ../build-aux/.
56795
56796 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
56797
56798         * modules/chdir-long (Depends-on): Add mempcpy.
56799
56800         * modules/acl, modules/backupfile, modules/c-strtod,
56801         modules/c-strtold, modules/canon-host, modules/canonicalize,
56802         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
56803         modules/exclude, modules/exitfail, modules/file-type,
56804         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
56805         modules/getdate, modules/getline, modules/getpagesize,
56806         modules/getpass, modules/getugroups, modules/group-member,
56807         modules/hard-locale, modules/hash, modules/human, modules/idcache,
56808         modules/inttostr, modules/long-options, modules/makepath,
56809         modules/md5, modules/memcasecmp, modules/memcoll,
56810         modules/modechange, modules/mountlist, modules/path-concat,
56811         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
56812         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
56813         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
56814         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
56815         modules/strftime, modules/strndup, modules/strverscmp,
56816         modules/timespec, modules/unlocked-io, modules/userspec,
56817         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
56818         modules/yesno:
56819         Remove lib_SOURCES line from Makefile.am section, as this is now
56820         done automatically by the corresponding Autoconf macro.
56821
56822 2005-03-21  Jim Meyering  <jim@meyering.net>
56823
56824         Changes imported from coreutils.
56825
56826         * lib/cycle-check.c: Don't include xalloc.h.
56827
56828         * lib/path-concat.c: Don't include assert.h.
56829         (path_concat): Remove assertion that would have triggered
56830         for ABASE starting with more than one slash.
56831         Reported by Andreas Schwab.
56832
56833         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
56834         properly when ABASE is an absolute file name.
56835         Correct the description of this function.
56836         Include <assert.h>.
56837         Add an assertion and a test driver.
56838         This fixes a bug introduced on 2004-07-02.
56839         Andreas Schwab reported the resulting failure of cp --parents:
56840         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
56841
56842 2005-03-21  Jim Meyering  <jim@meyering.net>
56843
56844         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
56845         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
56846
56847 2005-03-21  Jim Meyering  <jim@meyering.net>
56848         and  Paul Eggert  <eggert@cs.ucla.edu>
56849
56850         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
56851         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
56852         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
56853         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
56854         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
56855         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
56856         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
56857         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
56858         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
56859         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
56860         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
56861         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
56862         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
56863         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
56864         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
56865         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
56866         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
56867         for these modules.
56868
56869 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
56870
56871         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
56872         (which shouldn't happen), generate nothing instead of returning 0
56873         immediately, so that nstrftime (NULL, ...) doesn't return 0.
56874
56875 2005-03-16  Bruno Haible  <bruno@clisp.org>
56876
56877         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
56878         HAVE_LONGLONG_64BIT.
56879
56880 2005-03-16  Bruno Haible  <bruno@clisp.org>
56881
56882         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
56883         HAVE_LONGLONG_64BIT.
56884
56885 2005-03-16  Bruno Haible  <bruno@clisp.org>
56886
56887         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
56888         HAVE_LONGLONG_64BIT.
56889
56890 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56891
56892         * lib/strftime.c (my_strftime): Prepend space to format so that we can
56893         reliably distinguish strftime failure from empty output on POSIX
56894         hosts.
56895
56896 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56897
56898         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
56899         (iconv_string): Don't guess a size-zero buffer, as that might cause
56900         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
56901         result would be 'too large', where 'too large' is (heuristically)
56902         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
56903         overflow concerns.  This will prevent some unwanted malloc failures
56904         when the inputs are very large.
56905
56906 2005-03-15  Karl Berry  <karl@gnu.org>
56907
56908         * config/srclist.txt (config.rpath): from gettext.
56909         * config/config.rpath: update.
56910
56911 2005-03-15  Bruno Haible  <bruno@clisp.org>
56912
56913         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
56914         to 'negate'.
56915
56916         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
56917         variable.
56918
56919         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
56920         results.
56921
56922 2005-03-14  Simon Josefsson  <jas@extundo.com>
56923
56924         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
56925         <fx@gnu.org>.
56926
56927 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
56928
56929         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
56930         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
56931         intprops.h.
56932         * lib/strtol.c: Likewise.
56933
56934 2005-03-14  Jim Meyering  <jim@meyering.net>
56935
56936         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
56937         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
56938         to be nonzero so that we (and caller) can detect the difference
56939         between a valid zero-length expansion and an error return, even
56940         when the underlying strftime fails before writing anything into
56941         that location.
56942
56943 2005-03-14  Bruno Haible  <bruno@clisp.org>
56944
56945         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
56946         Update from GNU gettext 0.14.3.
56947
56948 2005-03-10  Jim Meyering  <jim@meyering.net>
56949
56950         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
56951
56952 2005-03-10  Jim Meyering  <jim@meyering.net>
56953
56954         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
56955         so that this module works on systems without fchdir.
56956
56957 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56958
56959         Factor int-properties macros into a single file, except for
56960         glibc-related files.
56961         * lib/intprops.h: New file.
56962         * lib/getloadavg.c: Include it instead of limits.h.
56963         (INT_STRLEN_BOUND): Remove.
56964         * lib/human.c: Include intprops.h.
56965         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
56966         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
56967         302/1000.
56968         * lib/inttostr.h: Include intprops.h instead of limits.h.
56969         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
56970         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
56971         for consistency with intprops.h.
56972         (time_t_is_integer, twos_complement_arithmetic): Use them.
56973         * lib/sig2str.h: Include <signal.h>, intprops.h.
56974         (INT_STRLEN_BOUND): Remove.
56975         * lib/strftime.c (TYPE_SIGNED): Remove.
56976         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
56977         * lib/strtol.c: Adjust comments to match intprops.h.
56978         * lib/userspec.c: Include intprops.h.
56979         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
56980         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
56981         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
56982         instead of rolling our own expressions.
56983         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
56984
56985         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
56986         instead of int.
56987         (my_strftime): Do not mishandle years close to INT_MAX, by doing
56988         the right thing even if adding 1900 would overflow.  Similarly
56989         for tm_mon + 1 and tm_yday + 1.
56990         Make %Y always equivalent to %C%y, and similarly for %G and %g.
56991         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
56992         (DO_SIGNED_NUMBER): New macro.
56993         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
56994
56995 2005-03-07  Bruno Haible  <bruno@clisp.org>
56996
56997         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
56998
56999 2005-03-07  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
57002
57003 2005-03-04  Derek R. Price  <derek@ximbiot.com>
57004
57005         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
57006         (func_import): Only replace files via --import when they have actually
57007         changed.
57008
57009 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57010
57011         * m4/mmap-anon.m4: New file.
57012         * m4/pagealign_alloc.m4: New file.
57013
57014 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57015             Bruno Haible  <bruno@clisp.org>
57016
57017         * modules/pagealign_alloc: New file.
57018         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
57019
57020 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57021             Bruno Haible  <bruno@clisp.org>
57022
57023         * lib/pagealign_alloc.h: New file.
57024         * lib/pagealign_alloc.c: New file.
57025
57026 2005-03-03  Bruno Haible  <bruno@clisp.org>
57027
57028         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
57029         Use an all-permissive copyright notice, recommended by RMS.
57030
57031 2005-03-02  Bruno Haible  <bruno@clisp.org>
57032
57033         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
57034         of AIX, the replacement has to be done only after <string.h> is
57035         included, therefore not in config.h. stpncpy.h does the replacement,
57036         and stpncpy.c uses it.
57037
57038 2005-03-02  Bruno Haible  <bruno@clisp.org>
57039
57040         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
57041         stpncpy.c uses it.
57042
57043 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57044
57045         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
57046         The workaround isn't strictly needed for POSIX conformance, and
57047         it's too much of a pain to configure and maintain.  We'll ask
57048         people to fix their kernels instead.
57049         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
57050         (NANOSLEEP_BUG_WORKAROUND): Remove.
57051         (xnanosleep): Remove the workaround.
57052
57053 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57054
57055         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
57056         Reported by Derek Price.
57057         (Include): Add "timespec.h".
57058
57059         * modules/xnanosleep (Depends-on): Remove gethrxtime.
57060
57061 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57062
57063         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
57064         to detect nanosleep bug.
57065
57066 2005-03-01  Bruno Haible  <bruno@clisp.org>
57067
57068         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
57069
57070 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
57071
57072         * modules/gethrxtime: New file.
57073         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
57074         (Depends-on): Add gethrxtime.
57075         (configure.ac): Add gl_XNANOSLEEP.
57076         (Makefile.am): Remove lib_SOURCES line.
57077
57078 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57079
57080         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
57081         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
57082
57083 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57084
57085         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
57086         * lib/timespec.h (gettime): Return void, since it always
57087         succeeds now.  All uses changed.
57088         * lib/gettime.c (gettime) Likewise.
57089         [HAVE_NANOTIME]: Prefer nanotime.
57090         Assume gettimeofday succeeds, as POSIX requires.
57091         Assime time () succeeds, since other code already does.
57092         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
57093         (timespec_subtract): Remove.
57094         (NANOSLEEP_BUG_WORKAROUND): New constant.
57095         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
57096         things considerably.  Use it only on GNU/Linux hosts, since the
57097         workaround shouldn't be needed elsewhere.
57098
57099 2005-02-24  Bruno Haible  <bruno@clisp.org>
57100
57101         * modules/gettext (Files): Add m4/glibc2.m4.
57102
57103 2005-02-24  Bruno Haible  <bruno@clisp.org>
57104
57105         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
57106         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
57107         * m4/progtest.m4:
57108         Update from GNU gettext 0.14.2.
57109         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
57110
57111 2005-02-24  Bruno Haible  <bruno@clisp.org>
57112
57113         * lib/localcharset.c: Update from GNU gettext 0.14.2.
57114         * lib/config.charset: Update from GNU gettext 0.14.2.
57115
57116 2005-02-24  Bruno Haible  <bruno@clisp.org>
57117
57118         * lib/gettext.h: Update from GNU gettext 0.14.2.
57119
57120 2005-02-23  Simon Josefsson  <jas@extundo.com>
57121
57122         * m4/iconvme.m4: New file.
57123
57124 2005-02-23  Jim Meyering  <jim@meyering.net>
57125
57126         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
57127         change.
57128         Thanks to Bruno Haible for catching it.
57129
57130 2005-02-22  Simon Josefsson  <jas@extundo.com>
57131
57132         * modules/iconvme: New file.
57133
57134         * MODULES.html.sh: Add iconvme.
57135
57136 2005-02-22  Simon Josefsson  <jas@extundo.com>
57137
57138         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
57139
57140 2005-02-22  Simon Josefsson  <jas@extundo.com>
57141
57142         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
57143
57144 2005-02-22  Jim Meyering  <jim@meyering.net>
57145
57146         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
57147         s/ifndef/ifdef/.
57148
57149 2005-02-20  Neil Conway  <neilc@samurai.com>
57150
57151         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
57152         returned by OSX/Darwin if the specified buffer is not large
57153         enough for the hostname.
57154
57155 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57156
57157         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
57158         pass it to _help, otherwise the latter coredumps trying to
57159         dereference state.root_argp.
57160
57161 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         * modules/chdir-long (Depends-on): Add memrchr.
57164         * modules/memrchr (Files): Add lib/memrchr.h.
57165         (Include): "memrchr.h".
57166
57167 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57168
57169         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
57170
57171 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57172
57173         * lib/memrchr.h: New file.
57174         * lib/chdir-long.c: Include it.
57175         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
57176         Don't bother including stddef.h.
57177
57178 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57179
57180         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
57181         inclusion.
57182         Include <sys/types.h>, for dev_t.
57183         (ME_DUMMY, ME_REMOTE): Move from here....
57184         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
57185         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
57186         Dmitry V. Levin.
57187         Include mountlist.h first, to test the interface.
57188
57189 2005-01-29  Bruno Haible  <bruno@clisp.org>
57190
57191         * lib/progname.c (program_name): Initialize.
57192         Needed when linking statically on MacOS X.
57193
57194 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57195
57196         Sync from coreutils.
57197         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
57198         (Depends-on): Add c-strtod.
57199         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
57200
57201 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57202
57203         Sync from coreutils.
57204         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
57205
57206         Remove files that are specific to coreutils.
57207         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
57208
57209 2005-01-28  Bruno Haible  <bruno@clisp.org>
57210
57211         * modules/javacomp: New file.
57212         * MODULES.html.sh (Java): Add javacomp.
57213
57214 2005-01-28  Bruno Haible  <bruno@clisp.org>
57215
57216         * m4/javacomp.m4: New file, from GNU gettext.
57217
57218 2005-01-28  Bruno Haible  <bruno@clisp.org>
57219
57220         * lib/javacomp.sh.in: New file, from GNU gettext.
57221         * lib/javacomp.h: New file, from GNU gettext.
57222         * lib/javacomp.c: New file, from GNU gettext.
57223
57224 2005-01-26  Simon Josefsson  <jas@extundo.com>
57225
57226         * lib/gai_strerror.c: Use GPL in header.
57227
57228 2005-01-26  Bruno Haible  <bruno@clisp.org>
57229
57230         * modules/javaexec: New file.
57231         * MODULES.html.sh (Java): Add javaexec.
57232
57233 2005-01-26  Bruno Haible  <bruno@clisp.org>
57234
57235         * m4/javaexec.m4: New file, from GNU gettext.
57236
57237 2005-01-26  Bruno Haible  <bruno@clisp.org>
57238
57239         * lib/javaexec.sh.in: New file, from GNU gettext.
57240         * lib/javaexec.h: New file, from GNU gettext.
57241         * lib/javaexec.c: New file, from GNU gettext.
57242
57243 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57244
57245         * modules/lchown (Depends-on): Remove lchown.h
57246
57247 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57248
57249         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
57250         must be defined if the header file was not found, in order
57251         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
57252
57253 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57254
57255         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
57256         initializers for struct pentry_state.
57257         (__argp_error): Check return value of __asprintf
57258         (__argp_failure): Translate error message
57259
57260         * lib/argp-parse.c: Removed braces around the expansion of N_()
57261
57262 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57263
57264         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
57265         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
57266         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
57267         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
57268         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
57269         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
57270         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
57271         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
57272         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
57273         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
57274         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
57275         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
57276         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
57277         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
57278         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
57279         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
57280         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
57281         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
57282         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
57283         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
57284         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
57285         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
57286         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
57287         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
57288         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
57289         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
57290         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
57291         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
57292         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
57293         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
57294         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
57295         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
57296         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
57297         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
57298         xstrtol.m4, xstrtoumax.m4, yesno.m4:
57299         Use an all-permissive copyright notice, recommended by RMS.
57300
57301 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
57302
57303         * modules/chdir-long (Depends-on): Remove mempcpy.
57304
57305 2005-01-21  Jim Meyering  <jim@meyering.net>
57306
57307         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
57308         same value as for Solaris 9.
57309
57310         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
57311         component length.  This included changing the parameter to be
57312         of type `char *' rather than `char const *'.
57313         * lib/chdir-long.h (chdir_long): Update prototype.
57314
57315         * lib/openat.c (fdopendir, fstatat): New functions.
57316         * lib/openat.h: Include headers required for use of DIR and struct
57317         stat.
57318         [AT_SYMLINK_NOFOLLOW]: Define.
57319         (fdopendir, fstatat): Add prototypes.
57320
57321 2005-01-21  Bruno Haible  <bruno@clisp.org>
57322
57323         * modules/classpath: New file.
57324         * MODULES.html.sh (Java): Add classpath.
57325
57326 2005-01-21  Bruno Haible  <bruno@clisp.org>
57327
57328         * lib/classpath.h: New file, from GNU gettext.
57329         * lib/classpath.c: New file, from GNU gettext.
57330
57331 2005-01-20  Simon Josefsson  <jas@extundo.com>
57332
57333         * modules/version-etc-fsf: New file.
57334
57335 2005-01-20  Simon Josefsson  <jas@extundo.com>
57336
57337         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
57338         * lib/version-etc.c: Remove version_etc_copyright.
57339         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
57340         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
57341
57342 2005-01-20  Simon Josefsson  <jas@extundo.com>
57343
57344         * lib/base64.h (isbase64): Add.
57345
57346         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
57347         using a unsigned prototype, don't inline.
57348         (base64_decode): Use it.
57349
57350 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57351
57352         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
57353         it.
57354
57355 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57356
57357         * lib/save-cwd.c (save_cwd): Remove code to support the case
57358         where fchdir is missing or flaky.
57359
57360 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57361
57362         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
57363
57364 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57365
57366         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
57367         AC_LIBSOURCES now does this.
57368         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
57369         with new ullong_max module.
57370
57371 2005-01-19  Bruno Haible  <bruno@clisp.org>
57372
57373         * modules/sh-quote: New file.
57374         * MODULES.html.sh (Executing programs): Add sh-quote.
57375
57376 2005-01-19  Bruno Haible  <bruno@clisp.org>
57377
57378         * lib/sh-quote.h: New file, from GNU gettext.
57379         * lib/sh-quote.c: New file, from GNU gettext.
57380
57381 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57382
57383         Merge from coreutils.
57384         * m4/ullong_max.m4: New file.
57385         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
57386         (gl_MACROS): Assume localeconv exists.
57387
57388 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57389
57390         Merge changes from coreutils, as described below in several
57391         changelogs dated today.
57392
57393         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
57394         (O_DIRECTORY): Remove; not needed here, since "." must be
57395         a directory.  All uses removed.
57396         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
57397         universal on Suns, and we also need to test for IRIX.
57398         Revamp code to use 'if' rather than '#if'.
57399         Avoid unnecessary comparison of cwd->desc to 0.
57400
57401         * lib/utimens.c (futimens): Robustify the previous patch, by checking
57402         for known valid error numbers rather than observed invalid ones.
57403
57404 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57405
57406         * modules/ullong_max: New file.
57407
57408         * modules/chdir-long, modules/openat: New files.
57409         * modules/save-cwd (Depends-on): Depend on chdir-long.
57410         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
57411
57412 2005-01-18  Jim Meyering  <jim@meyering.net>
57413
57414         Merge from coreutils.
57415         * m4/chdir-long.m4, m4/openat.m4: New files.
57416         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
57417         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
57418         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
57419         is sane and DOES follow symlinks.  Besides, testing 20 different
57420         systems found no broken chown implementations.
57421         Prompted by a change in rsync's copy of this macro.
57422         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
57423
57424         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
57425
57426         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
57427         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
57428         NULL-means-set-to-current-time semantics.
57429         Remove temporary file immediately, rather than waiting
57430         for configure's at-exit trap code to do it.
57431
57432 2005-01-18  Jim Meyering  <jim@meyering.net>
57433
57434         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57435
57436         * lib/utimens.c (futimens): Account for the fact that futimes
57437         can also fail with errno == ENOSYS or errno == ENOENT.
57438         Patch from Dmitry V. Levin.
57439
57440         Change the name of the robust chdir function from chdir to chdir_long.
57441         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
57442         (restore_cwd): Use chdir_long, not chdir.
57443         * lib/chdir-long.c: Renamed from chdir.c.
57444         * lib/chdir-long.h: Renamed from chdir.h.
57445         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
57446         Hurd.
57447
57448 2005-01-18  Bruno Haible  <bruno@clisp.org>
57449
57450         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
57451         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
57452         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
57453         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
57454         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
57455         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
57456         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
57457         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
57458         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
57459         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
57460         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
57461         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
57462         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
57463         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
57464         Use an all-permissive copyright notice, recommended by RMS.
57465
57466 2005-01-18  Bob Proulx  <bob@proulx.com>
57467
57468         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
57469         simplify offsetof() macro construct to avoid compile failure with
57470         native HP-UX 11.0 ANSI C compiler.
57471
57472 2005-01-17  Bruno Haible  <bruno@clisp.org>
57473
57474         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
57475         redundant because stpncpy.m4 takes care of it.
57476
57477 2005-01-17  Bruno Haible  <bruno@clisp.org>
57478
57479         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
57480
57481 2005-01-17  Bruno Haible  <bruno@clisp.org>
57482
57483         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
57484         used.
57485
57486 2005-01-17  Bruno Haible  <bruno@clisp.org>
57487
57488         * lib/fwriteerror.h (fwriteerror): Change specification to include
57489         fclose.
57490         * lib/fwriteerror.c: Include <stdbool.h>.
57491         (fwriteerror): At the end, close the file stream. Record whether
57492         stdout was already closed.
57493
57494 2005-01-17  Bruno Haible  <bruno@clisp.org>
57495
57496         * lib/execute.c (environ): Declare if needed.
57497         * lib/pipe.c (environ): Likewise.
57498         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
57499
57500 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57501
57502         * modules/argp: Depend on vsnprintf
57503
57504 2005-01-10  Jim Meyering  <jim@meyering.net>
57505
57506         * modules/closeout (Depends-on): Add atexit.
57507
57508 2005-01-06  Bruno Haible  <bruno@clisp.org>
57509
57510         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
57511
57512 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57513
57514         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
57515         definitions to be after all include files, to avoid collisions.
57516         Problem reported by Bob Proulx.
57517
57518 2005-01-04  Jim Meyering  <jim@meyering.net>
57519
57520         Changes imported from coreutils.
57521         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
57522         as the mkstemp template, use a temporary directory and an
57523         8.3-friendly template to avoid trouble on systems like DJGPP.
57524         Reported by Juan M. Guerrero via Stepan Kasal.
57525         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
57526         close. Remove the temporary directory right away, rather than waiting
57527         for configure's at-exit trap code to do it.
57528         Suggestion from Stepan Kasal.
57529
57530 2005-01-01  Simon Josefsson  <jas@extundo.com>
57531
57532         * gnulib-tool: Print #include directives when --import'ing.
57533
57534 2004-12-28  Simon Josefsson  <jas@extundo.com>
57535
57536         * tests/test-base64.c: Include required header files.  Remove
57537         unused variables.
57538
57539 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57540
57541         * modules/error (Depends-on): Remove gettext.
57542
57543 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57544
57545         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
57546         not needed.  This removes a dependency on the gettext module.
57547         [defined _LIBC]: Do not include <libintl.h>; not needed.
57548
57549 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57550
57551         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
57552         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
57553
57554 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57555
57556         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
57557         HAVE_DECL_STRTOLD.
57558
57559 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57560
57561         * modules/getdate (Depends-on): Remove alloca-opt.
57562
57563 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57564
57565         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
57566
57567 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57568
57569         * lib/argp-parse.c: Include <stddef.h>.
57570         (alignof, alignto): New macros.
57571         (parser_init): Don't assume that void * is aligned sufficiently
57572         for struct option.
57573
57574         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
57575         need to extend the stack.
57576         (YYINITDEPTH): New macro, so that the initial stack isn't overly
57577         large.
57578
57579 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57580
57581         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
57582
57583 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
57586         (2004-10-24) change.  Apparently this was a false alarm.
57587
57588         * modules/getdate: Depend on alloca-opt, not alloca.
57589
57590 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57591
57592         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
57593         Remove now-obsolete comment about AIX.
57594         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
57595         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
57596         (YYMAXDEPTH): New macro.
57597
57598 2004-12-18  Simon Josefsson  <jas@extundo.com>
57599
57600         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
57601
57602 2004-12-18  Bruno Haible  <bruno@clisp.org>
57603
57604         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
57605
57606 2004-12-18  Bruno Haible  <bruno@clisp.org>
57607
57608         * lib/fatal-signal.c (fatal_signals): Make non-const.
57609         (init_fatal_signals): New function.
57610         (uninstall_handlers, install_handlers): Ignore signals that were set to
57611         SIG_IGN.
57612         (at_fatal_signal): Call init_fatal_signals.
57613         (init_fatal_signal_set): Likewise. Ignore signals that were set to
57614         SIG_IGN.
57615         Reported by Paul Eggert.
57616
57617 2004-12-18  Bruno Haible  <bruno@clisp.org>
57618
57619         * doc/alloca.texi: New file.
57620         * doc/alloca-opt.texi: New file.
57621
57622 2004-12-17  Jim Meyering  <jim@meyering.net>
57623
57624         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
57625         Otherwise, install-sh could exit with improper exit status when
57626         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
57627
57628 2004-12-16  Simon Josefsson  <jas@extundo.com>
57629
57630         * tests/test-base64.c: Add license.
57631
57632 2004-12-15  Stepan Kasal  <address@hidden>
57633
57634         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
57635
57636 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
57637
57638         * modules/getcwd (Files): Add m4/d-ino.m4.
57639         Suggested by Mark D. Baushke.
57640
57641 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57642
57643         * lib/getdate.y (textint): New member "negative".
57644         (time_zone_hhmm): New function.
57645         Expect 14 shift-reduce conflicts, not 13.
57646         (o_colon_minutes): New rule.
57647         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
57648         (yylex): Set the "negative" member of signed numbers.
57649
57650 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57651
57652         * doc/getdate.texi (Time of day items, Time zone items):
57653         Describe new formats +00:00, UTC+00:00.
57654
57655 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57656
57657         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
57658         spurious "-l"s.  Problem reported by Stepan Kasal.
57659
57660 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
57661
57662         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
57663         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
57664
57665 2004-12-04  Simon Josefsson  <jas@extundo.com>
57666
57667         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
57668         Vandoorselaere <yoann@prelude-ids.org>.
57669
57670 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57671
57672         Changes imported from coreutils.
57673         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
57674         exist.
57675         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
57676
57677 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57678
57679         Changes imported from coreutils.
57680         * lib/hard-locale.c: Assume <locale.h> exists.
57681         Include "strdup.h".
57682         (GLIBC_VERSION): New macro.
57683         (hard_locale): Assume setlocale exists.
57684         Rewrite to avoid #ifdef.
57685         Use strdup rather than malloc + strcpy.
57686         * lib/human.c: Assume <locale.h> exists.
57687         (human_readable): Assume localeconv exists.
57688
57689 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57690
57691         * modules/hard-locale (Depends-on): Add strdup.
57692
57693 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57694
57695         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
57696         convert T2, not T.  (Imported from libc.)
57697
57698 2004-11-30  Simon Josefsson  <jas@extundo.com>
57699
57700         * modules/restrict (License): Change to LGPL.
57701
57702 2004-11-30  Simon Josefsson  <jas@extundo.com>
57703
57704         * m4/restrict.m4: Add copyright and copying conditions.
57705
57706 2004-11-30  Simon Josefsson  <jas@extundo.com>
57707
57708         * m4/base64.m4: New file.
57709
57710 2004-11-30  Simon Josefsson  <jas@extundo.com>
57711
57712         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
57713         base64.
57714
57715         * tests/test-base64.c: New file.
57716
57717         * modules/base64: New file.
57718
57719 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57720
57721         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
57722         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
57723
57724         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
57725
57726 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57727
57728         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
57729         (__getcwd.c): Don't restore errno; glibc doesn't.
57730         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
57731         first, falling back to our code only if its results look suspicious.
57732         Ensure that the resulting buffer is only as large as necessary.
57733
57734         * lib/readutmp.c: Include readutmp.h first.
57735         Include <errno.h>, since readutmp.h no longer does that.
57736         * lib/readutmp.h: Don't include <errno.h>,
57737         <sys/param.h>, <time.h>; not needed to establish interface.
57738         (errno): Remove decl.
57739         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
57740         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
57741         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
57742
57743 2004-11-28  Simon Josefsson  <jas@extundo.com>
57744
57745         * lib/base64.h, base64.c: New file.
57746
57747 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57748
57749         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
57750
57751 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57752
57753         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
57754         (Depends-on): Remove pathmax, same.  Add mempcpy.
57755         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
57756         (Makefile.am): Append getcwd.h to lib_SOURCES.
57757         (Include): Add getcwd.h.
57758         (Maintainer): Change from Jim Meyering to "all, glibc",
57759         since getdate now uses intended-for-glibc code.
57760         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
57761         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
57762
57763 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57764
57765         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
57766         HP's ANSI C compiler.
57767         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
57768         Declaring int functions causes warnings on some modern systems and
57769         shouldn't be needed to compile on ancient ones.
57770         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
57771         defined.
57772
57773         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
57774         with the following changes.
57775         (__set_errno): Parenthesize properly.
57776         Include <stdbool.h>.
57777         (MIN, MAX, MATCHING_INO): New macros.
57778         (__getcwd): Define with prototype, not K&R form.
57779         Use heuristics to allocate default buffer on stack if possible.
57780         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
57781         behavior, and to avoid the PATH_MAX limit when computing
57782         ../../../../...
57783         Use MATCHING_INO to compare inode number to file.
57784         Check for arithmetic overflow in size calculations.
57785         Fix bug in reallocation of dot array that caused getcwd to fail
57786         on directories nested deeper than 75.
57787         Be more careful about saving errno on error.
57788         Do not use realloc; use only free+malloc, as this is a bit
57789         more flexible and avoids a needless copy operation.
57790         Do not inspect st_dev and st_ino for symbolic links; POSIX
57791         doesn't specify the latter.
57792         Check for closedir errors.
57793         Avoid needless casts.
57794         Use "#ifdef weak_alias" around weak_alias, to be like other
57795         glibc code.
57796         The following changes to getcwd.c have effect only when used in
57797         gnulib; they have no effect inside glibc proper.
57798         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
57799         as alloca isn't used.
57800         (alloca, __alloca): Likewise.
57801         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
57802         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57803         unconditionally, as gnulib assumes C89 or better.
57804         Do not include <sys/param.h>.
57805         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
57806         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
57807         better.
57808         (NULL) [!defined NULL]: Remove; we assume C89 or better.
57809         Include <dirent.h> in a way that is compatible with modern Autoconf.
57810         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
57811         New macros, if not already defined.
57812         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
57813         Use "_LIBC", not "defined _LIBC", for consistency.
57814         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
57815         a mempcpy module.
57816         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
57817         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
57818         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
57819         credit only to Jim Meyering and adjust the copyright dates.
57820         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
57821         <stdlib.h>, <unistd.h>, "pathmax.h".
57822         Instead, include "xgetcwd.h" (first) and "getcwd.h".
57823         (INITIAL_BUFFER_SIZE): Remove.
57824         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
57825
57826 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57827
57828         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
57829         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
57830         Use the _ONCE methods, for efficiency.
57831         Check for fcntl.h.  In test program, include <errno.h>
57832         and <fcntl.h> if available.  Remove old K&R cruft from
57833         test program.  Check for common errors in GNU/Linux,
57834         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
57835         don't do AC_LIBOBJ, as that's getcwd.m4's job.
57836         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
57837         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
57838         name accordingly.
57839         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
57840         accommodate new getcwd.c.
57841         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
57842         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
57843         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
57844         that's all we need now.
57845
57846 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57847
57848         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
57849         argp-parse.c depends on getopt internals, that means we should
57850         always use our getopt, to be on the safe side.
57851         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
57852         order not to spoil the result of an eventual previous invocation
57853         of gl_GETOPT_SUBSTITUTE.
57854
57855 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57856
57857         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
57858         redefinition warnings. To avoid them, include the defines
57859         in `#if !defined __need_getopt ... #endif'. The only place
57860         where __getopt_argv_const is used is in definitions
57861         of getopt_long and getopt_long_only below, which are as well
57862         protected by `#ifndef __need_getopt'.
57863         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
57864         __need_getopt after including <stdio.h> and <unistd.h> These
57865         headers might have defined it.
57866
57867 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57868
57869         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
57870
57871 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57872
57873         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
57874         (futimens): New function, which uses futimes if available.
57875         (futimens, utimens): Support timespec==NULL, with same semantics
57876         as utime and utimens.
57877         * lib/utimens.h (futimens): New decl.
57878
57879 2004-11-23  Jim Meyering  <jim@meyering.net>
57880
57881         * lib/getopt_.h: Remove trailing blanks.
57882
57883 2004-11-23  Jim Meyering  <jim@meyering.net>
57884
57885         * lib/__fpending.c: Add comment.
57886
57887 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
57888
57889         * modules/canonicalize (Depends-on): Add xreadlink.
57890         Problem reported by James Youngman.
57891
57892 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57893
57894         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
57895         New macros.
57896         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
57897         optopt): Use them instead of invoking ## directly; otherwise, the
57898         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
57899
57900 2004-11-19  Bruno Haible  <bruno@clisp.org>
57901
57902         * lib/strtok_r.c: Move comments from here...
57903         * lib/strtok_r.h: ... to here.
57904
57905 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57906
57907         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
57908         implementations that mishandle size_t overflow.
57909
57910 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57911
57912         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
57913         might fail.  Problem reported by Yoann Vandoorselaere.
57914         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
57915         implementations that mishandle size_t overflow.
57916
57917 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57918
57919         * modules/canon-host (Depends-on): Add strdup.
57920
57921 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57922
57923         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
57924
57925 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57926
57927         * lib/canon-host.c: Include "strdup.h".
57928         (canon_host): Use getaddrinfo if available, so that IPv6 works.
57929         Use strdup instead of malloc/strcpy to duplicate strings.
57930
57931         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
57932         (human_space_before_unit): New constant.
57933         * lib/human.c (human_readable): Support it.
57934
57935         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
57936         (xgetcwd): Set errno correctly when failing.
57937         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
57938         the failure is actually due to a PATH_MAX problem.
57939
57940         Further getopt changes to make it more likely that glibc will
57941         buy the changes back.
57942         * lib/getopt.c (POSIXLY_CORRECT): New constant.
57943         (getopt): Use it, so to preserve glibc semantic
57944         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
57945         when compiling for libc.
57946         * lib/getopt_.h (__getopt_argv_const): Bring it back.
57947         (getopt_long, getopt_long_only): Use it.
57948
57949         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57950         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
57951         (getopt): Argv is now char * const *, as per standard.
57952         (_getopt_internal_r, _getopt_internal): Argv is now char **,
57953         not char *__getopt_argv_const *.
57954         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57955         _getopt_long_only_r): Likewise.
57956         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
57957         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57958         _getopt_long_r, _getopt_long_only_r): Likewise.
57959         * lib/getopt_.h (__getopt_argv_const): Remove.
57960         (getopt): Argv is now char * const *, as per standard.
57961
57962         * lib/getdate.y (tORDINAL): New token.
57963         (day, relunit): Allow it for relative times.
57964         (relative_time_table): Use tORDINAL for ordinals.
57965
57966 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57967
57968         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
57969         Document that "second" isn't allowed as an ordinal number.
57970
57971 2004-11-16  Jim Meyering  <jim@meyering.net>
57972
57973         * modules/closeout (Depends-on): Add fpending.
57974
57975 2004-11-15  Jim Meyering  <jim@meyering.net>
57976
57977         * lib/closeout.c: Include "__fpending.h" once again.
57978         Include <stdbool.h>.
57979         (close_stdout): Don't fail just because stdout was closed initially,
57980         since some programs don't write to stdout in the normal course of
57981         operation (other than --version and --help), and we don't want this
57982         function to make e.g. `touch file >&-' fail.
57983         But do fail if it was closed and someone has tried to write to it.
57984         E.g., `printf foo >&-' must fail.
57985
57986 2004-11-13  Jim Meyering  <jim@meyering.net>
57987
57988         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
57989
57990 2004-11-12  Simon Josefsson  <jas@extundo.com>
57991
57992         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
57993         small doc fix is still pending.
57994
57995 2004-11-11  Simon Josefsson  <jas@extundo.com>
57996
57997         * modules/strtok_r: New file.
57998
57999         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58000         strtok_r.
58001
58002 2004-11-11  Simon Josefsson  <jas@extundo.com>
58003
58004         * m4/strtok_r.m4: New file.
58005
58006         * m4/getopt.m4: Replace opterr.
58007
58008 2004-11-11  Simon Josefsson  <jas@extundo.com>
58009
58010         * lib/strtok_r.h, strtok_r.c: New file.
58011
58012 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58013
58014         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
58015         of replacing opterr, getopt, etc.  This should handle the
58016         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
58017
58018 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58019
58020         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
58021         we can stop lying to compilers about the constness of argv when we
58022         are compiled outside glibc.
58023         (getopt, getopt_long, getopt_long_only): Use it.
58024         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
58025         _getopt_internal, getopt): Likewise.
58026         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
58027         _getopt_long_only_r): Likewise.
58028         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
58029         _getopt_long_r, _getopt_long_only_r): Likewise.
58030
58031         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
58032         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
58033         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
58034         the other external symbols.
58035         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
58036         declaration, since the above renaming now works around collisions.
58037
58038 2004-11-11  Jim Meyering  <jim@meyering.net>
58039
58040         * lib/linebreak.c: Remove trailing blanks.
58041         * lib/alloca_.h: Likewise.
58042         * lib/acosl.c: Likewise.
58043         * lib/euidaccess.c: Likewise.
58044         * lib/allocsa.h: Likewise.
58045
58046 2004-11-10  Simon Josefsson  <jas@extundo.com>
58047
58048         * m4/getaddrinfo.m4: New file.
58049
58050 2004-11-10  Simon Josefsson  <jas@extundo.com>
58051
58052         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
58053
58054 2004-11-10  Simon Josefsson  <jas@extundo.com>
58055
58056         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58057         getaddrinfo.
58058
58059         * modules/getaddrinfo: New file.
58060
58061 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58062
58063         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
58064
58065 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58066
58067         * lib/mktime.c (SHR): New macro, which is a portable
58068         substitute for >> that should work even on Crays.
58069         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
58070         Problem reported by Mark D. Baushke in
58071         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
58072         * lib/getdate.y (SHR): Likewise.
58073         (tm_diff): Use it.
58074         * lib/strftime.c (SHR): Likewise.
58075         (tm_diff): Use it.
58076         * lib/quotearg.c (struct quoting_options): Use unsigned int for
58077         quote_these_too, so that right shifts are well defined.  All uses
58078         changed.
58079
58080 2004-11-10  Jim Meyering  <jim@meyering.net>
58081
58082         Ensure that no close failure goes unreported.
58083         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
58084         return early when it seems there's nothing to flush.
58085         Don't include __fpending.h.
58086
58087 2004-11-10  Jim Meyering  <jim@meyering.net>
58088
58089         * modules/closeout (Depends-on): Remove fpending.
58090
58091 2004-11-10  Jim Meyering  <jim@meyering.net>
58092
58093         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
58094
58095 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58096
58097         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
58098         gl_FUNC_STRFTIME.
58099         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
58100         and AC_REQUIRE when possible, to avoid duplicate checks.
58101         Check for <wchar.h>.
58102
58103 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58104
58105         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
58106
58107 2004-11-09  Bruno Haible  <bruno@clisp.org>
58108
58109         * m4/sockpfaf.m4: New file.
58110
58111 2004-11-05  Bruno Haible  <bruno@clisp.org>
58112
58113         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
58114         Reported by Mark D. Baushke <mdb@cvshome.org>.
58115
58116 2004-11-04  Bruno Haible  <bruno@clisp.org>
58117
58118         2004-09-11  Bruno Haible  <bruno@clisp.org>
58119                 * allocsa.valgrind: New file.
58120         2004-02-06  Bruno Haible  <bruno@clisp.org>
58121                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
58122                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
58123                 Reported by Christopher Seip <chris.seip@hp.com>.
58124
58125 2004-11-04  Bruno Haible  <bruno@clisp.org>
58126
58127         * modules/allocsa (Files): Add lib/allocsa.valgrind.
58128         (Makefile.am): Distribute it.
58129
58130 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58131
58132         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
58133         with errno == ERANGE if the buffer is too small.
58134         Problem reported by Mark D. Baushke.
58135
58136 2004-11-03  Albert Chin  <china@thewrittenword.com>
58137             Paul Eggert  <eggert@cs.ucla.edu>
58138
58139         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
58140         equivalent, substitute $ac_type for equivalent type rather than
58141         blindly using uint32_t *always* which won't work if uint32_t is not
58142         available.  Define _UINT32_T to work around typedef of uint32_t if
58143         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
58144         2.5.1.
58145
58146 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58147
58148         * m4/jm-macros.m4: Sync from coreutils.
58149         (gl_MACROS): Check for mbrlen, for pathchk.
58150         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
58151
58152 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         * lib/xreadlink.c (MAXSIZE): New macro.
58155         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
58156         size does not exceed MAXSIZE.  Avoid cast.
58157         As suggested by Mark D. Baushke in
58158         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
58159         if readlink fails with buffer size just under MAXSIZE, try again
58160         with MAXSIZE.
58161
58162 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58163
58164         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
58165
58166 2004-11-02  Derek R. Price  <derek@ximbiot.com>
58167         and  Paul Eggert  <eggert@cs.ucla.edu>
58168
58169         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
58170         (get_date): Overparenthesize to avoid GCC warning.
58171
58172 2004-11-02  Bruno Haible  <bruno@clisp.org>
58173
58174         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
58175         returns void.
58176
58177 2004-11-02  Bruno Haible  <bruno@clisp.org>
58178
58179         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
58180         function returns void.
58181
58182 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58183
58184         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
58185         fflush_unlocked, flockfile, funlockfile, funlockfile,
58186         fputs_unlocked, putc_unlocked.
58187
58188 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58189
58190         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58191         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
58192         already declared.
58193
58194 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58195
58196         * modules/getdate (Files): Add doc/getdate.texi.
58197         (Depends-on): Add setenv, xalloc.
58198
58199 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58200
58201         * lib/getdate.y: Add support for TZ="foo" within a date string.
58202         Fix some bugs near time_t boundaries.  Reject dates with
58203         out-of-range components, e.g., "Sept 31".
58204         Include <stdlib.h>, "setenv.h", "xalloc.h".
58205         (ISDIGIT_LOCALE): Remove; unused.
58206         Note that the TZ and time functions used here are not reentrant.
58207         (mktime_ok, get_tz): New functions.
58208         (TZBUFSIZE): New constant.
58209         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
58210         This requires that we sometimes generate our own TZ="XXX..." setting.
58211
58212 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58213
58214         * doc/getdate.texi: New file, from coreutils with modifications for
58215         the new TZ parsing.
58216
58217 2004-10-27  Derek R. Price  <derek@ximbiot.com>
58218
58219         * lib/mktime.c (not_equal_tm): Remove redundant check.
58220
58221 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58222
58223         * modules/regex (lib_SOURCES): Add regex.c.
58224         Reported by James Youngman in
58225         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
58226
58227 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58228
58229         * lib/getdate.y: Use Bison 1.875 features, and some minor
58230         code cleanups.  This change does not affect semantics.
58231         Don't include <stdlib.h>; no longer needed.
58232         Don't include unlocked-io.h; only the "#if TEST" code uses
58233         stdio, and performance isn't crucial there.
58234         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
58235         Bison 1.875 features as described below.
58236         All uses of "PC." replaced by "pc->".
58237         (YYSTYPE): Add a forward declaration.
58238         (yylex, yyerror): Use full prototypes in forward decls.
58239         Use "%pure-parser" rather than obsolescent "%pure_parser".
58240         Use %parse-param and %lex-param instead of obsolescent
58241         YYPARSE_PARAM and YYLEX_PARAM.
58242         (meridian_table, month_and_day_table, time_units_table,
58243         relative_time_table, time_zone_table, military_table,
58244         lookup_zone, lookup_word, get_date):
58245         Use NULL instead of 0 where appropriate.
58246         (to_hour): Avoid abort (), to avoid a dependency on
58247         stdlib.h.
58248         (yyerror, yylex): Now accepts parser_control * arg.
58249         (main) [TEST]: Use '\0' rather than 0 for char.
58250
58251 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58252
58253         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
58254
58255 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58256
58257         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
58258         It's now the caller's responsibility to handle the case where
58259         !HAVE_GETPAGESIZE && !defined getpagesize.
58260
58261         * lib/mktime.c (leapyear): Arg is long int, not int.
58262
58263 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
58264
58265         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
58266
58267 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58268
58269         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
58270         missing.  Problem reported by James Youngman.
58271
58272 2004-10-16  Simon Josefsson  <jas@extundo.com>
58273
58274         * gnulib-tool: Fix comments.  Fix parse problem.
58275         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
58276
58277 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
58278
58279         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
58280         implementation of getopt_long.  Problem reported by Alexander Taler in:
58281         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
58282
58283 2004-10-15  Bruno Haible  <bruno@clisp.org>
58284
58285         * gnulib-tool: Untabify. Initialize supplied_libname.
58286         (func_usage): More homogenous output.
58287         (func_modules_transitive_closure, func_modules_to_filelist,
58288         func_emit_lib_Makefile_am): New functions.
58289         (func_import): New function, extracted from big case statement. Use
58290         func_get_license, func_modules_transitive_closure,
58291         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
58292         opt_lgpl. Don't use test -a, as it's not portable.
58293         (func_create_testdir): Use func_modules_transitive_closure,
58294         func_modules_to_filelist, func_emit_lib_Makefile_am.
58295
58296 2004-10-15  Bruno Haible  <bruno@clisp.org>
58297
58298         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
58299
58300 2004-10-15  Bruno Haible  <bruno@clisp.org>
58301
58302         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
58303         the portions belonging to each module.
58304         Suggested by Derek Robert Price <derek@ximbiot.com>.
58305
58306 2004-10-12  Simon Josefsson  <jas@extundo.com>
58307
58308         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58309         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
58310         to real functions.
58311
58312 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58313
58314         * modules/vsnprintf: New file.
58315
58316 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58317
58318         * m4/vsnprintf.m4: New file.
58319
58320 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58321
58322         * lib/vsnprintf.h: New file.
58323         * lib/vsnprintf.c: New file.
58324
58325 2004-10-11  Bruno Haible  <bruno@clisp.org>
58326
58327         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
58328         vsnprintf.
58329
58330 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58331
58332         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
58333
58334 2004-10-07  Bruno Haible  <bruno@clisp.org>
58335
58336         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
58337         fits into the provided buffer.
58338
58339 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58340
58341         * lib/diacrit.c, diacrit.h: Add GPL notice.
58342
58343         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
58344         notice.
58345         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
58346         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
58347         This avoids a potential constant-folding bug.
58348
58349 2004-10-05  Bruno Haible  <bruno@clisp.org>
58350
58351         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
58352         for the declaration of strsep.
58353
58354 2004-10-05  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
58357
58358 2004-10-04  Simon Josefsson  <jas@extundo.com>
58359
58360         * modules/memmem: New file.
58361         * tests/test-memmem.c: New file.
58362         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
58363
58364 2004-10-04  Simon Josefsson  <jas@extundo.com>
58365
58366         * m4/memmem.m4: New file.
58367
58368 2004-10-04  Simon Josefsson  <jas@extundo.com>
58369
58370         * lib/memmem.h: New file.
58371         * lib/memmem.c: New file, taken from glibc.
58372
58373 2004-10-04  Simon Josefsson  <jas@extundo.com>
58374
58375         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
58376         '#ifdef USE_UNLOCKED_IO'.
58377
58378 2004-10-04  Simon Josefsson  <jas@extundo.com>
58379
58380         * config/srclist.txt: Add memmem from glibc.
58381
58382 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58383
58384         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
58385
58386         * modules/argmatch, modules/argp, modules/closeout, modules/error,
58387         modules/exclude, modules/getdate, modules/getline,
58388         modules/getndelim2, modules/getpass, modules/getpass-gnu,
58389         modules/getusershell, modules/linebuffer, modules/md5,
58390         modules/mountlist, modules/posixtm, modules/readtokens,
58391         modules/readutmp, modules/regex, modules/sha1,
58392         modules/version-etc, modules/yesno:
58393         Remove dependency on unlocked-io.
58394
58395 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58396
58397         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
58398
58399         * m4/unlocked-io.m4: Add copyright notice.
58400         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
58401
58402 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58403
58404         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
58405         * lib/xmalloc.c (xmemdup): Likewise.
58406         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
58407         XFREE): Remove these long-obsolescent macros.
58408         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
58409         * lib/xstrdup.c: Remove.
58410
58411         * lib/regex.c (re_comp): Cast gettext return value to char *,
58412         Problem reported by Martin Neitzel via Mark D. Baushke.
58413
58414 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58415
58416         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
58417         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
58418         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
58419         regex.c, sha1.c, version-etc.c, yesno.c:
58420         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
58421         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
58422         the includer's responsibility.
58423
58424         Sync from coreutils.
58425
58426         * lib/modechange.c (mode_compile): Don't decrement a pointer that
58427         points to the start of a string, as the C Standard says the
58428         resulting behavior is undefined.
58429
58430         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
58431         simple -> simple_backups, numbered_existing ->
58432         numbered_existing_backups, numbered -> numbered_backups
58433         to avoid shadowing problems.  All uses changed.
58434         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
58435         * lib/backupfile.c (check_extension, numbered_backup):
58436         Rename locals to avoid shadowing 'basename'.
58437         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
58438         once.
58439
58440         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
58441         * lib/.cvsignore: Add getopt.h.
58442
58443 2004-10-04  Bruno Haible  <bruno@clisp.org>
58444
58445         * modules/README: New file.
58446         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
58447         not a module.
58448
58449 2004-10-02  Jim Meyering  <jim@meyering.net>
58450
58451         * lib/dirfd.h, getpagesize.h: Add copyright notice.
58452
58453 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58454
58455         * modules/strsep: New file.
58456
58457 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58458
58459         * m4/strsep.m4: New file.
58460
58461 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58462
58463         * lib/strsep.h: New file.
58464         * lib/strsep.c: New file.
58465
58466 2004-10-01  Simon Josefsson  <jas@extundo.com>
58467
58468         * lib/snprintf.c (snprintf): Handle size==0.
58469
58470 2004-10-01  Simon Josefsson  <jas@extundo.com>
58471             Bruno Haible  <bruno@clisp.org>
58472
58473         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
58474         (snprintf): Declare 'args'.
58475
58476 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
58477
58478         * lib/snprintf.c: Remove comments as to why each header is needed.
58479
58480 2004-10-01  Bruno Haible  <bruno@clisp.org>
58481
58482         * MODULES.html.sh: Add strsep.
58483
58484 2004-09-30  Simon Josefsson  <jas@extundo.com>
58485
58486         * modules/snprintf: New file.
58487
58488 2004-09-30  Simon Josefsson  <jas@extundo.com>
58489
58490         * m4/snprintf.m4: New file.
58491
58492 2004-09-30  Simon Josefsson  <jas@extundo.com>
58493
58494         * lib/snprintf.h, lib/snprintf.c: New files.
58495
58496 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58497
58498         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
58499         (hol_entry_help): Never translate an empty string.
58500         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
58501         * lib/argp.h (OPTION_NO_TRANS): New option.
58502
58503 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58504
58505         * modules/argp (Maintainer): Replace Simon Josefsson
58506         by Sergey Poznyakoff.
58507
58508 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58509
58510         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
58511         changes merged back into glibc.
58512
58513 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58514
58515         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
58516
58517 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58518
58519         * lib/xvasprintf.c: Include xalloc.h.
58520         (xvasprintf): Use xalloc_die, not xmalloc_die.
58521
58522 2004-09-29  Bruno Haible  <bruno@clisp.org>
58523
58524         * modules/alloca-opt: New file, derived from modules/alloca.
58525         * modules/allocsa: Depend on alloca-opt instead of alloca.
58526         * modules/setenv: Likewise.
58527         * modules/vasnprintf: Likewise.
58528         * MODULES.html.sh: Add alloca-opt.
58529
58530 2004-09-28  Simon Josefsson  <jas@extundo.com>
58531
58532         * gnulib-tool: New parameter --lgpl, to asseert that modules are
58533         LGPL, and to replace license template from GPL to LGPL.
58534
58535 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58536
58537         * modules/dummy: Change license to LGPL.
58538
58539 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58540
58541         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
58542
58543 2004-09-24  Simon Josefsson  <jas@extundo.com>
58544
58545         * modules/minmax (License): Change from GPL to LGPL.
58546
58547 2004-09-23  Simon Josefsson  <jas@extundo.com>
58548
58549         * gnulib-tool (--import): Typo.
58550
58551 2004-09-23  Simon Josefsson  <jas@extundo.com>
58552
58553         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
58554
58555 2004-09-22  Bruno Haible  <bruno@clisp.org>
58556
58557         * modules/*: Add 'License' field.
58558         * gnulib-tool: Accept --extract-license option.
58559         (func_get_license): New function.
58560
58561 2004-09-21  Bruno Haible  <bruno@clisp.org>
58562
58563         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
58564         Reported by Simon Josefsson.
58565
58566 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58567
58568         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
58569         gl_AC_TYPE_LONG_LONG.
58570
58571 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58572
58573         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
58574
58575 2004-09-18  Simon Josefsson  <jas@extundo.com>
58576         and  Paul Eggert  <eggert@cs.ucla.edu>
58577
58578         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
58579         calls with autoreconf.  Define GL_LIB.
58580
58581 2004-09-14  Karl Berry  <karl@gnu.org>
58582
58583         * config/srclist.txt: unsync setenv.c, sigh.
58584
58585 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58586
58587         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
58588         Problem reported by Bruno Haible in:
58589         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
58590
58591 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58592
58593         * config/srclist.txt: Comment out argp-pvh.c.
58594
58595 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
58596
58597         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
58598         in case some system header has #define'd it.  Problem reported by
58599         Soeren D. Schulze in
58600         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
58601
58602 2004-09-09  Karl Berry  <karl@gnu.org>
58603
58604         * regex.[ch]: delete from the root.  These were supposed to be
58605                 synced with emacs cvs, but this has not happened for about
58606                 a year, and anyway nothing else uses emacs regex.[ch].
58607                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
58608                 lib/regex[.ch] is untouched.
58609
58610 2004-09-09  Bruno Haible  <bruno@clisp.org>
58611
58612         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
58613
58614 2004-09-09  Bruno Haible  <bruno@clisp.org>
58615
58616         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
58617         modifications.
58618         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
58619
58620 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58621
58622         * modules/xvasprintf: New file.
58623         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
58624
58625 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58626
58627         * lib/xvasprintf.h: New file.
58628         * lib/xvasprintf.c: New file.
58629         * lib/xasprintf.c: New file.
58630
58631 2004-09-08  Bruno Haible  <bruno@clisp.org>
58632
58633         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
58634
58635 2004-09-08  Bruno Haible  <bruno@clisp.org>
58636
58637         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
58638         length is > INT_MAX.
58639         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
58640         more.
58641
58642 2004-09-08  Bruno Haible  <bruno@clisp.org>
58643
58644         * lib/stdint_.h: New file, taken from GNU clisp.
58645
58646 2004-09-08  Bruno Haible  <bruno@clisp.org>
58647             Oskar Liljeblad  <oskar@osk.mine.nu>
58648
58649         * modules/stdint: New file.
58650         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
58651
58652 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58653
58654         Import from coreutils.
58655         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
58656         strings on unbounded length.  alloca's performance benefits aren't
58657         that important here.
58658         (V_STRDUP): Remove.
58659         (parse_with_separator): New function, with most of the internals
58660         of the old parse_user_spec.  Allow user to omit both user and group,
58661         for compatibility with FreeBSD.
58662         Clone only the user name, not the entire spec.
58663         Do not set *uid, *gid unless entirely successful.
58664         Avoid memory leak in some failing cases.
58665         Fix regression for USER.GROUP reported by Dmitry V. Levin in
58666         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
58667         (parse_user_spec): Rewrite to use parse_with_separator.
58668
58669 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58670
58671         * modules/userspec: Don't depend on alloca.
58672
58673 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58674
58675         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
58676
58677 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58678
58679         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
58680         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
58681         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
58682
58683 2004-08-16  Simon Josefsson  <jas@extundo.com>
58684
58685         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
58686         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
58687         Add --dry-run for --import.
58688         Let user provided command line parameters override configure.ac
58689         settings.
58690
58691 2004-08-12  Simon Josefsson  <jas@extundo.com>
58692
58693         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
58694         as discussed with Paul Eggert in threads rooted at
58695         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
58696         and
58697         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
58698         Before, the test was empty, and relied on ELIDE_CODE in source
58699         code.)
58700         (gl_PREREQ_GETOPT): New macro.
58701         (gl_GETOPT): Use them.
58702
58703 2004-08-12  Simon Josefsson  <jas@extundo.com>
58704
58705         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
58706         * lib/getopt_.h: Renamed from getopt.h.
58707
58708 2004-08-12  Simon Josefsson  <jas@extundo.com>
58709
58710         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
58711         Change default library name from libfoo to libgnu.
58712         Now, if you have a configure.ac that says:
58713                 gl_SOURCE_BASE(gl)
58714                 gl_M4_BASE(gl/m4)
58715                 gl_MODULES(error getopt etcetera)
58716                 gl_INIT
58717         you can import all you need by running:
58718                 ../gnulib/gnulib-tool --import
58719
58720         * modules/getopt (Files): Rename getopt.h to getopt_.h.
58721         (Makefile.am): Rewrite, use logic from argz.
58722         (Include): Use <getopt.h> instead of "getopt.h".
58723
58724 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58725
58726         * modules/argp (Files): Add m4/unlocked-io.m4.
58727         (Depends-on): Add extensions.
58728
58729 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58730
58731         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
58732         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
58733         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
58734         Check for program_invocation_name, program_invocation_short_name,
58735         flockfile, funlockfile, features.h, _getopt_long_only_r.
58736
58737 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58738
58739         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
58740         its complicated substitute.
58741         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
58742         and program_invocation_name.
58743         (__argp_basename) [!_LIBC]: Remove; the only use was
58744         replaced by its body.
58745         (__argp_short_program_name): Change condition from
58746         !defined __argp_short_program_name to
58747         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
58748         to match argp-namefrob.h.
58749         (__argp_failure): Don't assume strerror_r returns char *.
58750         * lib/argp-parse.c (N_): Define unconditionally.
58751         (argp_default_options): Fill out initializers with 0 to avoid
58752         gcc warnings.
58753
58754 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58755
58756         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
58757         getopt1.c.
58758
58759 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58760
58761         Merge from coreutils.
58762
58763         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
58764
58765         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
58766         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
58767
58768 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58769
58770         Merge from coreutils.
58771
58772         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
58773         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
58774         for Reliant Unix 5.43.
58775
58776         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
58777         (union fooround): Use uintmax_t, not long int.
58778         The rest is a merge from libc:
58779         [defined _LIBC]: Include <shlib-compat.h>.
58780         (_obstack) [defined _LIBC]: Remove after 2.3.4.
58781
58782         * lib/settime.c (settime): Recode to avoid warning with
58783         Sun Forte C 6U2.
58784
58785         * lib/strverscmp.c: Convert to UTF-8.
58786
58787 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58788
58789         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58790         m4/uintmax_t.m4.
58791
58792 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58793
58794         * modules/xalloc-die: New file.
58795         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
58796
58797         * modules/md5 (Files): Add m4/uint32_t.m4.
58798         * modules/sha1: Renamed from modules/sha.
58799         (Files):
58800         Rename lib/sha.h to lib/sha1.h.
58801         Rename lib/sha.c to lib/sha1.c.
58802         Rename m4/sha.m4 to m4/sha1.m4.
58803         (lib_SOURCES): Likewise.
58804         (configure.ac): Rename gl_SHA to gl_SHA1.
58805         (Include): sha.h -> sha1.h.
58806
58807 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58808
58809         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
58810         * m4/sha1.m4: Renamed from sha.m4.
58811         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
58812
58813 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58814
58815         * lib/obstack.h (obstack_empty_p):
58816         Don't assume that chunk->contents is suitably aligned.
58817         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
58818         Likewise. Problem reported by Benno in
58819         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
58820
58821         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
58822         readable.  This could be improved further but it'd take some work.
58823
58824 2004-08-08  Simon Josefsson  <jas@extundo.com>
58825
58826         * modules/xgethostname (Depends-on): Remove exit and error (not
58827         used).
58828
58829         * modules/getpass-gnu: Add getpass.h.
58830         (Depends-on): Add stdbool.
58831         * modules/getpass: Add getpass.h.
58832
58833 2004-08-08  Simon Josefsson  <jas@extundo.com>
58834
58835         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
58836         Check getpass declaration.
58837
58838 2004-08-08  Simon Josefsson  <jas@extundo.com>
58839
58840         * lib/xgethostname.c: Don't include error.h (not used).
58841
58842         * lib/getpass.h: Add.
58843         * lib/getpass.c: Include getpass.h first.
58844
58845 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
58846
58847         * lib/xalloc-die.c: New file.
58848         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
58849         All uses removed.
58850         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
58851         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
58852         xalloc-die.c.
58853         (_, N_, xalloc_die): Move to xalloc-die.c.
58854         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
58855         so that we needn't mess with xalloc_msg_memory_exhausted.
58856
58857         * lib/sha1.h: Renamed from sha.h.
58858         (SHA1_H): Renamed from _SHA_H.
58859         (sha1_ctx): Renamed from sha_ctx.
58860         (sha1_init_ctx): Renamed from sha_init_ctx.
58861         (sha1_process_block): Renamed from sha_process_block.
58862         (sha1_process_bytes): Renamed from sha_process_bytes.
58863         (sha1_finish_ctx): Renamed from sha_finish_ctx.
58864         (sha1_read_ctx): Renamed from sha_read_ctx.
58865         (sha1_stream): Renamed from sha_stream.
58866         (sha1_buffer): Renamed from sha_buffer.
58867         * lib/sha1.c: Likewise; renamed from sha.c.
58868         Do not include <sys/types.h>.
58869         Include <stddef.h> rather than <stdlib.h>.
58870
58871 2004-08-08  Bruno Haible  <bruno@clisp.org>
58872
58873         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
58874         FILESYSTEM_PREFIX_LEN.
58875         * lib/progreloc.c: Likewise.
58876         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
58877
58878 2004-08-06  Simon Josefsson  <jas@extundo.com>
58879
58880         * modules/progname (Depends-on): Don't depend on stdbool.
58881
58882 2004-08-06  Simon Josefsson  <jas@extundo.com>
58883
58884         * modules/getsubopt: New file.
58885         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58886         getsubopt.
58887
58888 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58889
58890         More merge from coreutils.
58891
58892         * m4/utimens.m4, m4/utimecmp.m4: New files.
58893         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
58894         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
58895         prereq.m4, sha.m4: Import changes from coreutils.
58896
58897 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58898
58899         More merge from coreutils.
58900         * modules/raise, modules/readtokens0, modules/utimens:
58901         * modules/utimecmp, module/xnanosleep: New files.
58902         * modules/strftime: Add lib/strftime.h.
58903         Change include from <time.h> to "strftime.h".
58904         * modules/yesno: Add lib/yesno.h.
58905         * modules/backupfile: Remove lib/addext.c.
58906         * modules/euidaccess: Add stat-macros.h.
58907         * modules/canonicalize, modules/euidaccess,
58908         modules/filemode, modules/lchown, modules/makepath,
58909         modules/rmdir, modules/stat: Likewise.
58910
58911 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58912
58913         Merge from tar.
58914         * lib/argp-help.c (make_hol, hol_append): Don't assume that
58915         SIZE_MAX is a valid preprocessor constant.
58916         (__argp_basename): Change from "#ifndef _LIBC"
58917         to "#ifndef __argp_short_program_name", so that
58918         we don't compile these functions for tar.
58919
58920         More merges from coreutils.
58921         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
58922         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
58923         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
58924         * lib/addext.c: Remove; no longer needed.
58925         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
58926         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
58927         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
58928         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
58929         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
58930         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
58931         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
58932         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
58933         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
58934         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58935         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
58936         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
58937         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
58938         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
58939         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
58940         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
58941         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
58942         Import changes from coreutils.
58943
58944 2004-08-05  Simon Josefsson  <jas@extundo.com>
58945
58946         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
58947
58948 2004-08-05  Simon Josefsson  <jas@extundo.com>
58949
58950         * m4/getsubopt.m4: New file.
58951
58952 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58953
58954         Merge from coreutils.
58955
58956         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
58957         * m4/getcwd-path-max.m4: New files.
58958
58959         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
58960         FILESYSTEM_PREFIX_LEN ->
58961         FILE_SYSTEM_PREFIX_LEN.
58962         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
58963         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
58964         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
58965         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
58966
58967         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
58968         prerequisite modules now handle the DOS stuff.
58969         Don't check for unistd.h.
58970
58971 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58972
58973         Merge from coreutils.
58974
58975         * lib/.gdb-history: Remove; this doesn't belong here.
58976
58977         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
58978         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
58979         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
58980         * lib/getcwd.c: New files.
58981
58982         * lib/dirname.h: Include <stdbool.h>.
58983         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
58984         for consistency with POSIX terminology.  All uses changed.
58985         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
58986         (strip_trailing_slashes): Use bool for booleans.
58987         * lib/stripslash.c (strip_trailing_slashes): Likewise.
58988
58989         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
58990         sometimes returns a positive errno value even when it succeeds.
58991         (print_errno_message) [!LIBC]: Fall back on strerror if
58992         __strerror_r fails.
58993
58994         * lib/path-concat.c (mempcpy): Don't define if a system header defines
58995         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
58996         (longest_relative_suffix): New function.
58997         (path_concat): Use it.  Assume first argument is not NULL.
58998         Port to DOS.  Omit redundant separators.
58999         Report an error instead of returning NULL.
59000         Use mempcpy instead of memcpy.
59001         (xpath_concat): Remove: not declared or used.
59002
59003         * lib/same.h: Include <stdbool.h>
59004         (same_name): Return bool, not int.
59005         * lib/same.c (same_name): Likewise.
59006         (errno): Don't declare; we assume C89 or better now.
59007
59008         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
59009         if not already defined.
59010
59011         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
59012         * lib/dup-safer.c (errno): Likewise.
59013
59014 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59015
59016         Merge from coreutils.
59017         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
59018         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
59019         * modules/path-concat: Don't depend on strdup.
59020
59021 2004-08-03  Simon Josefsson  <jas@extundo.com>
59022
59023         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
59024         * lib/progname.h: Don't include stdbool.h.
59025
59026 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59027
59028         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
59029         * MODULES.html.sh (func_all_modules): Remove fatal.
59030
59031 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59032
59033         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
59034
59035 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59036
59037         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
59038         working.
59039
59040 2004-08-02  Simon Josefsson  <jas@extundo.com>
59041
59042         * lib/getsubopt.h: New file, with comments from Bruno Haible.
59043         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
59044         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
59045
59046 2004-08-01  Simon Josefsson  <jas@extundo.com>
59047
59048         * lib/xgetdomainname.c: Include stdlib.h, for free().
59049
59050 2004-07-19  Bruno Haible  <bruno@clisp.org>
59051
59052         * MODULES.html.sh (func_all_modules): Add dummy.
59053
59054 2004-07-16  Simon Josefsson  <jas@extundo.com>
59055
59056         * modules/dummy: New file.
59057
59058 2004-07-16  Simon Josefsson  <jas@extundo.com>
59059
59060         * lib/dummy.c: New file.
59061
59062 2004-07-16  Bruno Haible  <bruno@clisp.org>
59063
59064         * lib/backupfile.h: Add extern "C" for C++.
59065         * lib/closeout.h: Likewise.
59066         * lib/copy-file.h: Likewise.
59067         * lib/findprog.h: Likewise.
59068         * lib/full-write.h: Likewise.
59069         * lib/pathname.h: Likewise.
59070         * lib/progname.h: Likewise.
59071         * lib/stpcpy.h: Likewise.
59072         * lib/stpncpy.h: Likewise.
59073         * lib/strcase.h: Likewise.
59074         * lib/strstr.h: Likewise.
59075         * lib/xalloc.h: Likewise.
59076
59077         * lib/mbswidth.h: Add extern "C" for C++.
59078         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
59079
59080 2004-07-13  Robert Millan  <robertmh@gnu.org>
59081
59082         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
59083
59084 2004-07-09  Simon Josefsson  <jas@extundo.com>
59085
59086         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
59087         failed without this.)
59088
59089 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59090
59091         * modules/chown (Files): Add lib/fchown-stub.c, since
59092         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
59093
59094 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59095
59096         * lib/fchown-stub.c: New file.
59097
59098 2004-06-24  Jim Meyering  <jim@meyering.net>
59099
59100         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
59101
59102 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59103
59104         * modules/argz: Omit "#include".
59105
59106         * MODULES.html.sh (func_all_modules): Add calloc, to match
59107         2004-06-01 addition of calloc module.
59108
59109 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59110
59111         * m4/argz.m4: New file, which is autoupdated from libtool.
59112
59113 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59114
59115         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
59116         libtool.
59117
59118 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59119
59120         * config/srclist-update: Don't insist on "USA." before the
59121         close-comment, as libtool omits the period and puts the */ on a
59122         separate line.
59123         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
59124         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
59125
59126 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
59127
59128         * modules/argz: New file.
59129         * MODULES.html.sh (func_all_modules): Add argz.
59130
59131 2004-06-12  Jim Meyering  <jim@meyering.net>
59132         and  Paul Eggert  <eggert@cs.ucla.edu>
59133
59134         * modules/hash (Files): Add lib/xalloc.h.
59135         * modules/pipe (Depends-on): Add wait-process.
59136         * modules/stat (Depends-on): Add xalloc.
59137         * modules/userspec (Files): Add lib/userspec.h.
59138         * modules/xstrto
59139
59140         Upgrade from gettext-0.13.
59141         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
59142         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
59143         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
59144
59145 2004-06-10  Jim Meyering  <jim@meyering.net>
59146
59147         * lib/calloc.c: New file.
59148
59149 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
59150
59151         * lib/getdate.y (yylex): Allow space between sign and number.
59152         Problem reported by Dan Jacobson.
59153
59154 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59155
59156         Merge from coreutils CVS.
59157
59158         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
59159         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
59160         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
59161         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
59162         xstrtol.m4: Fix copyright date and/or serial number.
59163
59164         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
59165         See if we need an fchown replacement.
59166         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
59167         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
59168         and use the replacement function if we detect either defect.
59169
59170         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
59171         gl_UTIMECMP.
59172
59173 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59174         and  Jim Meyering  <jim@meyering.net>
59175
59176         Merge from coreutils CVS.
59177
59178         * lib/stat-macros.h: New file, with contents from file-type.h
59179         and coreutils' system.h.
59180         * lib/file-type.c: Include "stat-macros.h".
59181         * lib/file-type.h (file_type): Move all macro definitions to new file,
59182         stat-macros.h.
59183
59184         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
59185         Wrap old code with this conditional.
59186         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
59187         function that does not dereference symlinks.
59188         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
59189
59190         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
59191         dependency problems.
59192         (xreadlink): Accept new arg SIZE, for efficiency.
59193         All decls and uses changed.
59194         * lib/xreadlink.h: Include <stddef.h>, for size_t.
59195
59196         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
59197         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
59198
59199         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
59200         sysexits.h.
59201
59202 2004-06-01  Jim Meyering  <jim@meyering.net>
59203
59204         * m4/calloc.m4: New file.
59205
59206 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
59207
59208         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
59209         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
59210         Also, fix a typo in a diagnostic.
59211
59212 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59213
59214         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
59215         or AC_FUNC_REALLOC.
59216
59217 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59218
59219         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
59220         macros to be defined.
59221         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
59222         the allocator returns NULL because the requested size is zero.
59223
59224 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
59225
59226         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
59227         var.  Add comment explaining why libc still defines it.  This
59228         merges the following patch from glibc:
59229         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
59230
59231 2004-05-20  Andreas Schwab  <schwab@suse.de>
59232
59233         * m4/free.m4: Replace free if it not known to work, not the other
59234         way round.
59235
59236 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59237
59238         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
59239         present in glibc since revision 1.1 of this file.
59240         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
59241         obstack_alignment_mask, obstack_alloc, obstack_base,
59242         obstack_blank, obstack_blank_fast, obstack_chunk_size,
59243         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
59244         obstack_grow0, obstack_init, obstack_int_grow,
59245         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
59246         obstack_next_free, obstack_object_size, obstack_ptr_grow,
59247         obstack_ptr_grow_fast, obstack_room): Remove declarations of
59248         nonexistent functions.
59249
59250 2004-05-18  Karl Berry  <karl@gnu.org>
59251
59252         * config/srclist.txt: break link for vasnprintf.c.
59253
59254 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59255
59256         Port obstack to the AS/400, where pointers are 16 bytes wide and
59257         you cannot cast an integer to a valid pointer.  This patch is
59258         currently waiting to be integrated into glibc; see
59259         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
59260
59261         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
59262         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
59263         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
59264         (struct obstack): temp member is now a union of a pointer and
59265         an integer, instead of an integer.  All integer uses changed.
59266         This does not affect the physical layout of struct obstack,
59267         except on hosts (like the AS/400) where the size or alignment of
59268         void * is greater than that of ptrdiff_t.
59269         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
59270         __STDC__)]: Store temporary in pointer member of union, not
59271         integer member.
59272         * lib/obstack.c: Include <stddef.h>, for offsetof.
59273         (struct fooalign): Remove; it doesn't need a name.
59274         (union fooround): Change double to long double, and add void *.
59275         (DEFAULT_ALIGNMENT): Use offsetof to compute.
59276         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
59277         not a macro.  Hence the values are always int; so remove all
59278         casts-to-int in uses.
59279
59280 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59281
59282         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
59283         we can get this patch merged into glibc.
59284
59285 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59286             Paul Eggert  <eggert@cs.ucla.edu>
59287
59288         * m4/argp: Depend on alloca.
59289
59290 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59291             Paul Eggert  <eggert@cs.ucla.edu>
59292
59293         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
59294         freecoding.
59295
59296 2004-05-17  Bruno Haible  <bruno@clisp.org>
59297
59298         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
59299         precision that consists of a '.' followed by an empty digit string.
59300         Patch by Tor Lillqvist <tml@iki.fi>.
59301
59302 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59303
59304         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
59305         for backward compatibility with older code.  We need our own
59306         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
59307         it under some other name, and our alloca.h will define it.
59308
59309 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59310             Derek Price  <derek@ximbiot.com>
59311
59312         * lib/alloca.c: Include <alloca.h>, to get our interface.
59313         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
59314         include <alloca.h> first.  Use C89 prototype for alloca; this
59315         requires including <stddef.h> for size_t.  Use extern "C" if C++.
59316         Use #elif for simplicity, since we can assume C89 now.
59317         Don't try to source the system alloca.h since it will not be found
59318         and to prevent recursively including its replacement.
59319         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
59320         * lib/regex.c: Likewise.
59321
59322 2004-05-16  Derek Price  <derek@ximbiot.com>
59323             Paul Eggert  <eggert@cs.ucla.edu>
59324
59325         getline cleanup.  This changes the getndelim2 API: both order of
59326         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
59327         no delimiter).
59328
59329         * lib/getline.c: Don't include stddef.h or stdio.h, since our
59330         interface does that.
59331         (getline): Always use getdelim, so that we don't have two
59332         copies of this code.
59333         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
59334         if available.
59335         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
59336         (GETNDELIM2_MAXIMUM): New macro.
59337         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
59338         instead of the old practice of delim2==0.  All callers changed.
59339         Return -1 on overflow, instead of returning junk.
59340         Do not set *linesize unless allocation succeeds.
59341         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
59342         that we include sys/types.h.
59343         * lib/getnline.h: Likewise.
59344         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
59345         (getndelim2): Reorder arguments.
59346         * lib/getnline.c (getnline, getndelim):
59347         Don't discard the NMAX argument.
59348         (getnline): Invoke getndelim, to avoid code duplication.
59349         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
59350         of (size_t) -1 by callers of the getnline family.
59351
59352 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59353
59354         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
59355         Check for gettimeofday.
59356         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
59357         Check for settimeofday, stime.
59358
59359 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59360
59361         * lib/nanosleep.c (suspended): Change its type from int to
59362         sig_atomic_t volatile.
59363         (first_call): Make it private to rpl_nanosleep, and have it
59364         be zero initially as that's a bit faster.
59365         (my_usleep): Round up fractional times instead of truncating them,
59366         as this is the usual meaning for 'sleep'.
59367
59368         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
59369         doesn't work.
59370         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
59371         (ENOSYS): Define if not defined.
59372         (settime): Fall back on stime if it exists and settimeofday fails.
59373         But don't bother with fallbacks if a method fails with errno == EPERM.
59374
59375 2004-05-11  Jim Meyering  <jim@meyering.net>
59376
59377         Prior to this change, the save_cwd caller required read access to the
59378         current directory on most systems (ones with the fchdir function).
59379
59380         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
59381         fails, try write-only, and finally, resort to using xgetcwd.
59382
59383 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
59384
59385         * lib/obstack.c, obstack.h: Import changes from libc.
59386
59387 2004-04-28  Bruno Haible  <bruno@clisp.org>
59388
59389         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
59390         also implicitly appends .exe to executables.
59391         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
59392         accepts Windows pathnames.
59393         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59394         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59395         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59396         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59397         Reported by Derek Robert Price <derek@ximbiot.com>.
59398
59399 2004-04-21  Karl Berry  <karl@gnu.org>
59400
59401         * config/srclist.txt (localcharset.c): break sync.
59402
59403 2004-04-20  Paul Eggert  <eggert@twinsun.com>
59404
59405         * m4/host-os.m4: Add a copyright notice.
59406
59407 2004-04-20  Jim Meyering  <jim@meyering.net>
59408
59409         Change UTILS_ to gl_ in AC_DEFINE'd names.
59410         Change utils_- and jm_-prefixed variables, too.
59411         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
59412         UTILS_FUNC_MKDIR_TRAILING_SLASH.
59413         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
59414
59415         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
59416         Don't emit trailing blanks.
59417         Also rename jm_-prefixed variables to have gl_ prefix.
59418
59419         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
59420         Also rename jm_-prefixed variables to have gl_ prefix.
59421
59422         * m4/jm-macros.m4: Reflect the renamings.
59423         * m4/prereq.m4: Likewise.
59424
59425 2004-04-20  Jim Meyering  <jim@meyering.net>
59426
59427         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
59428         memory.
59429
59430 2004-04-20  Jim Meyering  <jim@meyering.net>
59431             Bruno Haible  <bruno@clisp.org>
59432
59433         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
59434         memory when realloc fails.
59435
59436 2004-04-19  Jim Meyering  <jim@meyering.net>
59437
59438         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
59439         now that readutmp.c may call `free (0)'.
59440
59441 2004-04-19  Bruno Haible  <bruno@clisp.org>
59442
59443         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
59444         * m4/inttypes_h.m4: Likewise.
59445         * m4/stdint_h.m4: Likewise.
59446         * m4/intmax_t.m4: Likewise.
59447         * m4/uintmax_t.m4: Likewise.
59448
59449 2004-04-18  Jim Meyering  <jim@meyering.net>
59450
59451         * m4/prereq.m4: Don't forbid jm_ prefix.
59452
59453         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
59454         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
59455         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
59456         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
59457         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
59458         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
59459         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
59460         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
59461         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
59462         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
59463         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
59464         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
59465         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
59466         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
59467         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
59468         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
59469         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
59470         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
59471         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
59472
59473 2004-04-18  Jim Meyering  <jim@meyering.net>
59474
59475         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
59476         failure, don't leak memory and do call END_UTMP_ENT.
59477
59478 2004-04-16  Jim Meyering  <jim@meyering.net>
59479
59480         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
59481         coreutils' stat program.
59482         (gl_PREREQ): Don't require jm_PREREQ_STAT.
59483
59484 2004-04-11  Paul Eggert  <eggert@twinsun.com>
59485
59486         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
59487         C89.
59488         (CHAR_BIT): Remove, since we assume C89.
59489         Include <stdint.h> if available, as per current Autoconf CVS advice.
59490
59491 2004-03-31  Jim Meyering  <jim@meyering.net>
59492
59493         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
59494         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
59495         * m4/xalloc.m4: Likewise.
59496
59497 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59498
59499         Merge from coreutils.
59500
59501         * m4/inttostr.m4: New file.
59502         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
59503         Require AM_STDBOOL_H and gl_TIMESPEC instead.
59504         Require gl_CLOCK_TIME.
59505         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
59506
59507 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59508
59509         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
59510         not bool, to be more consistent with Unix conventions.
59511         Suggested by Bruno Haible.
59512
59513         Merge from coreutils.
59514
59515         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
59516         * lib/umaxtostr.c: New files.
59517
59518         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
59519         the usual <time.h> dance.
59520         (get_date): Change signature to support fractional time stamps.
59521         All callers changed.
59522         * lib/getdate.y: Include "getdate.h" first, as we can now
59523         assume C89 and don't need to worry about 'const'.
59524         Similarly, include "unlocked-io.h" near start, not in middle.
59525         Include <limits.h>.
59526         (textint.value): Use long int rather than int.
59527         (textint.digits): Use size_t rather than int.
59528         (BILLION, LOG10_BILLION): New constants.
59529         (parser_control): New member rel_ns.  Members day_ordinal,
59530         time_zone, month, day, hour, minutes, rel_year, rel_month,
59531         rel_day, rel_hour, rel_minutes, rel_seconds
59532         are now long int, not int.  Member seconds is now struct timespec,
59533         not int.  New member timespec_seen.  Members dates_seen, days_seen,
59534         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
59535         not int.
59536         (%union.intval): Now long int, not int.
59537         New member timespec.
59538         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
59539         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
59540         (spec): Now is a timespec or an item list.
59541         (timespec, items): New nonterminals.
59542         (time, rel, relunit, number, get_date):
59543         Add support for fractional seconds.
59544         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
59545         (gmtime, localtime, mktime): Remove decls; not needed with C89.
59546         (to_hour): First arg is now long int, not int.
59547         (to_year): Returns long int, not int.
59548         Don't treat year -70 like 70.
59549         (tm_diff): Returns long int, not int.
59550         (lookup_word): Use bool instead of int when appropriate.
59551         (yylex): Use size_t for count, not int.
59552         Detect overflow when parsing large integer constants.
59553         Add support for fractions.
59554         (get_date): Make pointers 'const' if possible.
59555         Use more-portable code to detect integer overflow.
59556         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
59557         Don't use ctime; it's not reliable if the year has >4 digits.
59558
59559         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
59560         This is for compatibility with BSD.
59561
59562         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
59563         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
59564         From coreutils' system.h.
59565
59566         * lib/userspec.c: Don't include "posixver.h".
59567         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
59568         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
59569         compatible extension.  Simplify code by removing a boolean int
59570         that was always nonzero if a string was nonnull.
59571
59572 2004-03-30  Jim Meyering  <jim@meyering.net>
59573
59574         Merge from coreutils.
59575
59576         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
59577         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
59578         on some systems one must include <grp.h> before it.
59579         Reported by Christian Krackowizer.
59580
59581 2004-03-30  Jim Meyering  <jim@meyering.net>
59582
59583         Merge from coreutils.
59584
59585         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
59586
59587         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
59588         an empty input stream.
59589
59590         * lib/readtokens.c: Include <stdbool.h>.
59591         (readtoken): Use `size_t' rather than int/long.
59592         All callers adjusted.
59593         Use `bool' rather than `int' where appropriate.
59594         Use memset rather than an explicit loop.
59595         Use x2nrealloc rather than xrealloc.
59596         Allow the use of `\0' as a delimiter.
59597         (readtokens): Likewise.
59598         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
59599
59600 2004-03-30  Jim Meyering  <jim@meyering.net>
59601
59602         * m4/realloc.m4: Remove file, since now it does no more than
59603         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
59604         the `configure.ac' section of module/realloc.
59605         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
59606
59607 2004-03-30  Bruno Haible  <bruno@clisp.org>
59608
59609         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
59610         nonnull.
59611
59612 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59613
59614         Merge changes to getloadavg.c from coreutils and Emacs.
59615
59616         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
59617         Define to an expression, not to the empty string.
59618         Include cloexec.h and xalloc.h.
59619         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
59620         Use set_cloexec_flag rather than rolling our own.
59621         * lib/cloexec.c, lib/cloexec.h: New files.
59622
59623 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59624
59625         * m4/cloexec.m4: New file.
59626
59627 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59628
59629         * lib/getopt.h: Sync with libc CVS.
59630
59631 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59632             Bruno Haible  <bruno@clisp.org>
59633
59634         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
59635         mbswidth.
59636
59637 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59638             Bruno Haible  <bruno@clisp.org>
59639
59640         * lib/mbswidth.h: Include <wchar.h> only if
59641         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
59642         <wchar.h>.
59643         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
59644
59645 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59646
59647         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
59648         Sync with libc CVS.
59649         * lib/getopt_int.h: New file, also synced from libc.
59650
59651 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59652
59653         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
59654         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
59655         Bring back getopt.c, getopt.h, getopt1.c.
59656
59657 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59658
59659         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
59660         All uses changed.  Check for sa_sigaction member; this fixes
59661         a bug first reported by Jason Andrade in
59662         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59663
59664 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59665
59666         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
59667         '#if' expressions.  Unlike the code it replaces, it does not
59668         depend on (defined _SC_PAGESIZE).  However, it does depend on
59669         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
59670         first reported by Jason Andrade in
59671         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59672
59673 2004-02-25  Simon Josefsson  <jas@extundo.com>
59674
59675         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
59676
59677 2004-02-25  Simon Josefsson  <jas@extundo.com>
59678
59679         * lib/strdup.h: New file.
59680         * lib/strdup.c: Include it.
59681         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
59682         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
59683
59684 2004-02-23  Karl Berry  <karl@gnu.org>
59685
59686         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
59687         (from fencepost.gnu.org:/gd/gnuorg).
59688
59689 2004-02-23  Karl Berry  <karl@gnu.org>
59690
59691         * config/srclistvars.sh (GNUORG) [karl]: redefine.
59692         * config/srclist.txt: add maintain/standards documents.
59693
59694 2004-02-18  Bruno Haible  <bruno@clisp.org>
59695
59696         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
59697         Reported by Derek Robert Price <derek@ximbiot.com>.
59698
59699 2004-02-16  Karl Berry  <karl@gnu.org>
59700
59701         * config/mkinstalldirs, install-sh: update from automake.
59702
59703 2004-02-06  Karl Berry  <karl@gnu.org>
59704
59705         * m4/po.m4: update from gettext 0.14.1.
59706
59707 2004-02-06  Karl Berry  <karl@gnu.org>
59708
59709         * lib/config.charset: update from gettext 0.14.1.
59710
59711 2004-02-05  Paul Eggert  <eggert@twinsun.com>
59712
59713         Add comments and code, prompted by suggestions from Bruno Haible
59714         for sh-quote.
59715         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
59716         describing the enum quoting_style values.
59717         * lib/quotearg.c (quotearg_alloc): New function.
59718         (quotearg_buffer_restyled): Treat lone { and } as special.
59719         Treat = as special.  Work around bug with older shells
59720         that "see" a '\' that is really the 2nd byte of a multibyte char.
59721         Quote empty string with shell_quoting_style.
59722
59723 2004-02-03  Bruno Haible  <bruno@clisp.org>
59724
59725         * m4/pipe.m4: New file, from GNU gettext.
59726
59727 2004-02-03  Bruno Haible  <bruno@clisp.org>
59728
59729         * lib/pipe.h: New file, from GNU gettext.
59730         * lib/pipe.c: New file, from GNU gettext.
59731
59732 2004-01-27  Bruno Haible  <bruno@clisp.org>
59733
59734         * m4/execute.m4: New file, from GNU gettext.
59735
59736 2004-01-27  Bruno Haible  <bruno@clisp.org>
59737
59738         * lib/execute.h: New file, from GNU gettext.
59739         * lib/execute.c: New file, from GNU gettext.
59740         * lib/w32spawn.h: New file, from GNU gettext.
59741
59742 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59743
59744         Merge from diffutils.
59745
59746         * lib/file-type.c (file_type): Add typed memory objects.
59747         * lib/file-type.h (S_TYPEISTMO): New macro.
59748
59749         * lib/c-stack.h (c_stack_action): Remove argv argument.
59750         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
59751         (die): Don't calculate message unless segv_action returns.
59752         (get_stack_location, min_address_from_argv, max_address_from_argv,
59753         volatile stack_base, volatile_stack_size): Remove.
59754         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
59755         that every segmentation violation is a stack overflow.  (Ouch!)
59756         See Debian bug 136249 (still outstanding) for more info about why
59757         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
59758
59759 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59760
59761         Exit-status fix from coreutils.
59762
59763         Use exit_failure consistently in place of EXIT_FAILURE,
59764         so that program exit statuses are consistent on failure.
59765
59766         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
59767         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
59768         * lib/argmatch.h: Comment fix to match the above.
59769         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
59770         Now a macro referring to exit_failure, instead of a separate
59771         variable.  Include "exitfail.h" to get it.
59772         * lib/xstrtol.h: Include "exitfail.h".
59773         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
59774
59775         * lib/long-options.c (parse_long_options): Use prototype
59776         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
59777         for clarity.
59778
59779 2004-01-21  Jim Meyering  <jim@meyering.net>
59780
59781         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
59782         so as not to conflict with a different-sized __mktime_internal
59783         function in GNU libc.
59784         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
59785         Problem building statically-linked `ls' reported by Michael Brunnbauer.
59786
59787 2004-01-20  Karl Berry  <karl@gnu.org>
59788
59789         * config/config.guess: update from config.
59790
59791         * config/srclistvars.sh: GNUWWWLICENSES for karl.
59792
59793 2004-01-20  Bruno Haible  <bruno@clisp.org>
59794
59795         Safer stack allocation.
59796         * lib/setenv.c: Include allocsa.h.
59797         (alloca): Remove fallback definition.
59798         (freea): Remove macro.
59799         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
59800         instead of freea.
59801
59802 2004-01-20  Bruno Haible  <bruno@clisp.org>
59803
59804         * m4/eealloc.m4: New file, from GNU gettext.
59805
59806 2004-01-20  Bruno Haible  <bruno@clisp.org>
59807
59808         * m4/allocsa.m4: New file, from GNU gettext.
59809
59810 2004-01-20  Bruno Haible  <bruno@clisp.org>
59811
59812         * lib/xallocsa.h: New file, from GNU gettext.
59813         * lib/xallocsa.c: New file, from GNU gettext.
59814
59815 2004-01-20  Bruno Haible  <bruno@clisp.org>
59816
59817         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
59818
59819 2004-01-20  Bruno Haible  <bruno@clisp.org>
59820
59821         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
59822         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
59823         specially.
59824
59825 2004-01-20  Bruno Haible  <bruno@clisp.org>
59826
59827         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
59828         patch.
59829
59830 2004-01-20  Bruno Haible  <bruno@clisp.org>
59831
59832         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
59833
59834 2004-01-20  Bruno Haible  <bruno@clisp.org>
59835
59836         * lib/eealloc.h: New file.
59837
59838 2004-01-20  Bruno Haible  <bruno@clisp.org>
59839
59840         * lib/binary-io.h: Avoid warnings on Cygwin.
59841
59842 2004-01-20  Bruno Haible  <bruno@clisp.org>
59843
59844         * lib/allocsa.h: New file, from GNU gettext.
59845         * lib/allocsa.c: New file, from GNU gettext.
59846
59847 2004-01-18  Karl Berry  <karl@gnu.org>
59848
59849         * doc/gpl.texi, doc/lgpl.texi: new files.
59850
59851 2004-01-18  Karl Berry  <karl@gnu.org>
59852
59853         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
59854         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
59855
59856 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59857
59858         Merge from coreutils.
59859
59860         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
59861         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
59862         (gl_DEFAULT_POSIX2_VERSION): Move
59863         the documentation from 'configure' into 'config.hin',
59864         so that 'configure --help' isn't burdened by it and
59865         we don't have to worry about its formatting there.
59866         Reword the documentation so that it's more succinct
59867         and can be run together into a single paragraph.
59868         * m4/same.m4 (gl_SAME): Check for pathconf.
59869
59870 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59871
59872         Merge from coreutils.
59873
59874         * lib/posixver.c: Include posixver.h.
59875
59876         * lib/same.c: Include <stdbool.h>, <limits.h>.
59877         (_POSIX_NAME_MAX): Define if not defined.
59878         (MIN): New macro.
59879         (same_name): If file names are silently truncated, report
59880         that the file names are the same if they are the same after
59881         the silent truncation.
59882
59883         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
59884         conversion function.
59885         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
59886         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
59887         longer needed.
59888
59889 2004-01-15  Jim Meyering  <jim@meyering.net>
59890
59891         Merge from coreutils.
59892
59893         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
59894         if no library is required.
59895         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
59896         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
59897         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
59898         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
59899         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
59900         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
59901         value, $ac_cv_search_crypt, if it's "none required".
59902         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
59903         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
59904         not gl_FUNC_GETLOADAVG.
59905         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
59906         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
59907
59908 2004-01-15  Jim Meyering  <jim@meyering.net>
59909
59910         Merge from coreutils.
59911
59912         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
59913         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
59914         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
59915
59916         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
59917         optional configure-time default.
59918
59919         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59920
59921         * lib/xreadlink.c (xreadlink): Correct outdated comment.
59922
59923 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
59924
59925         Merge from coreutils.
59926
59927         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
59928         value, $ac_cv_search_nanosleep, if it's "none required".
59929
59930 2004-01-14  Paul Eggert  <eggert@twinsun.com>
59931
59932         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
59933         with like-named macro in fnmatch.c.
59934         (EXT): Use an internal constant instead.
59935
59936         Merge fnmatch patches from glibc.
59937         * lib/fnmatch.c (mbsinit): Remove define.
59938         Add libc_hidden_ver (__fnmatch, fnmatch).
59939         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
59940         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
59941
59942 2004-01-14  Karl Berry  <karl@gnu.org>
59943
59944         * config/install-sh: update from automake.
59945
59946 2004-01-13  Karl Berry  <karl@gnu.org>
59947
59948         * config/install-sh: update from automake.
59949
59950 2004-01-09  Karl Berry  <karl@gnu.org>
59951
59952         * config/install-sh: update from automake.
59953
59954 2004-01-05  Karl Berry  <karl@gnu.org>
59955
59956         * config/config.{sub,guess}: update from config.
59957
59958 2003-12-31  Karl Berry  <karl@gnu.org>
59959
59960         * config/depcomp: update from automake.
59961
59962 2003-12-14  Karl Berry  <karl@gnu.org>
59963
59964         * lib/config.charset: update from gettext-runtime.
59965
59966 2003-12-03  Paul Eggert  <eggert@twinsun.com>
59967
59968         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
59969         Bug reported by Alfred M. Szmidt.
59970
59971 2003-12-03  Bruno Haible  <bruno@clisp.org>
59972
59973         * m4/gettext.m4: Upgrade from gettext-0.13.
59974         * m4/po.m4: Upgrade from gettext-0.13.
59975         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
59976         * m4/intmax.m4: New file, from gettext-0.13.
59977         * m4/printf-posix.m4: New file, from gettext-0.13.
59978
59979 2003-11-29  Karl Berry  <karl@gnu.org>
59980
59981         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
59982
59983 2003-11-25  Paul Eggert  <eggert@twinsun.com>
59984             Bruno Haible  <bruno@clisp.org>
59985
59986         * lib/printf-parse.h: Don't include sys/types.h.
59987         (ARG_NONE): New macro.
59988         (char_directive): Change type of *arg_index fields to size_t.
59989         * lib/printf-parse.c: Don't include sys/types.h.
59990         (SSIZE_MAX): Remove macro.
59991         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
59992         Remove unnecessary overflow check.
59993         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
59994         fields.
59995
59996 2003-11-25  Bruno Haible  <bruno@clisp.org>
59997
59998         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
59999
60000 2003-11-25  Bruno Haible  <bruno@clisp.org>
60001
60002         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
60003         gt_TYPE_SSIZE_T.
60004
60005 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60006
60007         * modules/alloca: Remove dependency on xalloc.
60008
60009 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60010
60011         * lib/alloca.c: Remove dependency on xalloc module.
60012         (xalloc_die): Remove.
60013         (memory_full) [!defined emacs]: New macro.
60014         [!defined emacs]: Don't include xalloc.h.
60015         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
60016         address arithmetic overflows.  Change datatypes a bit to avoid
60017         unnecessary casts.
60018
60019 2003-11-22  Jim Meyering  <jim@meyering.net>
60020
60021         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
60022         s/size/size_t/.
60023
60024 2003-11-21  Karl Berry  <karl@gnu.org>
60025
60026         * config/config.{sub,guess}: update from config.
60027
60028 2003-11-18  Karl Berry  <karl@gnu.org>
60029
60030         * config/config.{sub,guess}: update from config.
60031
60032         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
60033
60034 2003-11-17  Paul Eggert  <eggert@twinsun.com>
60035
60036         * README: Mention that S+T cannot overflow if S is the size of
60037         an existing object and T is sufficiently small.
60038
60039 2003-11-17  Jim Meyering  <jim@meyering.net>
60040
60041         On systems without utime and without a utimes function capable of
60042         dealing with a NULL struct utimbuf* argument, this utime replacement
60043         could -- in unusual circumstances -- leak a file descriptor.
60044         * lib/utime.c: Include <unistd.h> and <errno.h>.
60045         (utime_null): Be sure to close `fd' and to preserve errno.
60046         Reported by Geoff Collyer via Arnold Robbins.
60047
60048 2003-11-17  Bruno Haible  <bruno@clisp.org>
60049
60050         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
60051         (Depends-on): Add xsize.
60052
60053 2003-11-17  Bruno Haible  <bruno@clisp.org>
60054
60055         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
60056
60057 2003-11-17  Bruno Haible  <bruno@clisp.org>
60058
60059         * lib/vasnprintf.c (alloca): Remove fallback definition.
60060         (freea): Remove definition.
60061         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
60062         Reported by Paul Eggert.
60063
60064 2003-11-16  Paul Eggert  <eggert@twinsun.com>
60065             Bruno Haible  <bruno@clisp.org>
60066
60067         Protect against address arithmetic overflow.
60068         * lib/printf-args.h: Include stddef.h.
60069         (arguments): Change type of field 'count' to size_t.
60070         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
60071         'unsigned int' where appropriate.
60072         * lib/printf-parse.h: Include sys/types.h.
60073         (char_directive): Change type of *arg_index fields to ssize_t.
60074         (char_directives): Change type of fields 'count', max_*_length to
60075         size_t.
60076         * lib/printf-parse.c: Include sys/types.h and xsize.h.
60077         (SSIZE_MAX): Define fallback value.
60078         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
60079         instead of 'int' where appropriate. Check a_allocated, d_allocated
60080         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
60081         * lib/vasnprintf.c: Include xsize.h.
60082         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
60083         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
60084         overflow. Avoid wraparound when converting a width or precision from
60085         decimal to binary.
60086
60087 2003-11-16  Bruno Haible  <bruno@clisp.org>
60088
60089         Update from GNU gettext.
60090         * lib/printf-parse.c: Generalize to it can be compiled for wide
60091         strings.
60092         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
60093         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
60094         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
60095         SNPRINTF): New macros.
60096         Don't include <alloca.h> if the file is used inside libintl.
60097         (local_wcslen): New function, for Solaris 2.5.1.
60098         (VASNPRINTF): Use it instead of wcslen.
60099
60100 2003-11-16  Bruno Haible  <bruno@clisp.org>
60101
60102         * lib/xsize.h (xmax): New function.
60103         (xsum, xsum3, xsum4): Declare as "pure" functions.
60104
60105 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60106
60107         * modules/xalloc (Files): Undo latest change, since xalloc.h
60108         no longer needs SIZE_MAX or PTRDIFF_MAX.
60109
60110 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60111
60112         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
60113         gl_PTRDIFF_MAX.
60114
60115 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60116
60117         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
60118         "return", to pacify some unknown compiler.  Problem reported
60119         by Joerg Schilling.
60120
60121 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60122
60123         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
60124         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
60125         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
60126         heuristic is just as accurate as far as we know, and it removes a
60127         dependency on size_max.m4 and ptrdiff_max.m4.
60128
60129 2003-11-11  Bruno Haible  <bruno@clisp.org>
60130
60131         * modules/xsize (Files): Add m4/size_max.m4.
60132         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
60133
60134 2003-11-11  Bruno Haible  <bruno@clisp.org>
60135
60136         * m4/size_max.m4: New file.
60137         * m4/ptrdiff_max.m4: New file.
60138         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
60139         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
60140         (gl_XALLOC): Invoke it.
60141
60142 2003-11-11  Bruno Haible  <bruno@clisp.org>
60143
60144         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
60145         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
60146         defined.
60147
60148 2003-11-10  Paul Eggert  <eggert@twinsun.com>
60149
60150         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
60151         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
60152         rejected some allocations of exactly SIZE_MAX - 2 bytes.
60153         From Bruno Haible.
60154         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
60155         not (size_t) -1, since it's defined here.
60156
60157 2003-11-09  Karl Berry  <karl@gnu.org>
60158
60159         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
60160
60161 2003-11-06  Paul Eggert  <eggert@twinsun.com>
60162
60163         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
60164         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
60165         Reject sizes of exactly SIZE_MAX bytes.
60166         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
60167         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
60168
60169 2003-11-05  Bruno Haible  <bruno@clisp.org>
60170
60171         * lib/xsize.h: Include limits.h, to avoid a possible collision with
60172         SIZE_MAX defined in <limits.h> on Solaris.
60173
60174 2003-11-04  Jim Meyering  <jim@meyering.net>
60175
60176         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
60177         variable names, rather than @VAR@.
60178         * modules/poll: Likewise.
60179
60180 2003-11-04  Bruno Haible  <bruno@clisp.org>
60181
60182         * modules/xsize: New file.
60183         * modules/linebreak: Depend on xsize.
60184         * MODULES.html.sh (func_all_modules): Add xsize.
60185
60186 2003-11-04  Bruno Haible  <bruno@clisp.org>
60187
60188         * m4/xsize.m4: New file.
60189
60190 2003-11-04  Bruno Haible  <bruno@clisp.org>
60191
60192         * lib/xsize.h: New file.
60193         * lib/linebreak.c: Include xsize.h.
60194         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
60195         argument for overflow.
60196         Suggested by Paul Eggert.
60197
60198 2003-11-03  Karl Berry  <karl@gnu.org>
60199
60200         * config/config.{guess,sub}: update from config.
60201
60202 2003-11-03  Jim Meyering  <jim@meyering.net>
60203
60204         * modules/userspec (lib_SOURCES): Add userspec.h.
60205         (Include): Add "userspec.h".
60206         Improve description.
60207
60208 2003-11-03  Jim Meyering  <jim@meyering.net>
60209
60210         * lib/userspec.c: Include "userspec.h".
60211         * lib/userspec.h: New file.
60212
60213 2003-11-03  Bruno Haible  <bruno@clisp.org>
60214
60215         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
60216
60217 2003-11-03  Bruno Haible  <bruno@clisp.org>
60218
60219         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
60220         available, to avoid (extremely rare) race condition.
60221         Suggested by Paul Eggert.
60222
60223 2003-11-02  Karl Berry  <karl@gnu.org>
60224
60225         * config/srclist.txt (vasprintf.c): sync broken, sigh.
60226
60227 2003-10-31  Paul Eggert  <eggert@twinsun.com>
60228
60229         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
60230         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
60231         (read_filesystem_list): Set and use me_type_malloced.
60232         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
60233         whatever the type happens to be), for brevity and consistency.
60234         Check for size calculation overflow on Alphas running OSF/1.
60235
60236 2003-10-31  Jim Meyering  <jim@meyering.net>
60237
60238         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
60239
60240         * lib/linebuffer.c: Include <string.h> for declaration of memset.
60241
60242 2003-10-30  Paul Eggert  <eggert@twinsun.com>
60243             Bruno Haible  <bruno@clisp.org>
60244
60245         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
60246         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
60247
60248 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
60249
60250         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
60251         netbsd*-gnu*.  Suggested by Robert Millan.
60252
60253 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60254
60255         * modules/group-member: Depend on stdbool.
60256
60257 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60258
60259         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
60260
60261 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60262
60263         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
60264         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
60265         after the 'gnu' in these cases.  This fixes some bugs in the
60266         previous change, and is based on suggestions by Robert Millan.
60267
60268 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60269
60270         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
60271         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
60272         no longer needed.
60273         * lib/quotearg.c (quotearg_n_options): Use it.
60274         * lib/group-member.c: Include <stdbool.h>.
60275         (free_group_info): Arg is now const *; don't free arg.
60276         (get_group_info): Now returns bool and accepts struct group_info *,
60277         rather than returning a malloc'ed struct group_info *.
60278         All uses changed.  Check for overflow in internal size calculation.
60279
60280         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
60281         rather than xmalloc/xrealloc.
60282         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
60283         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
60284         conformance bug: the old code used a pointer after freeing the
60285         storage that it addressed.
60286         * lib/hash.c (hash_initialize): Simplify the code by using
60287         xalloc_oversized rather than doing it by hand.
60288         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
60289         the buffer preserved.  Use free and xmalloc instead.
60290         * lib/quotearg.c (quotearg_n_options): Likewise.
60291         Use a simpler test for size overflow.  Don't use xalloc_oversized
60292         because unsigned int might be wider than size_t (!); this suggests
60293         that we should switch from unsigned int to size_t for slot numbers.
60294
60295 2003-10-28  Paul Eggert  <eggert@twinsun.com>
60296
60297         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
60298         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
60299         NetBSD kernels.  Requested by Richard Stallman.
60300
60301 2003-10-27  Paul Eggert  <eggert@twinsun.com>
60302
60303         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
60304         to allocate the returned structure.  Do not allocate a subarray,
60305         as x2nrealloc will do that.
60306         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
60307         instead of xnrealloc.
60308         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
60309
60310 2003-10-27  Bruno Haible  <bruno@clisp.org>
60311
60312         * lib/stdbool_.h: Better support for BeOS.
60313
60314 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60315
60316         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
60317         now uses inline.
60318
60319 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60320
60321         * lib/xalloc.h (xalloc_oversized): New static inline function, for
60322         callers that want to do their own size-overflow checking.  Include
60323         <stdbool.h>, since xalloc_oversized returns bool.
60324         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
60325         to use xalloc_oversized.
60326
60327         Add two functions x2realloc, x2nrealloc, for programs that grow
60328         arrays dynamically by doubling their sizes.
60329         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
60330         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
60331         New functions.
60332
60333         Port to C99 semantics for 'inline' of external functions.
60334         Bug reported by Bruno Haible.
60335         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
60336         with the old contents of xnmalloc.
60337         (xnmalloc, xmalloc): Use it.
60338         (xnrealloc_inline): New static inline function,
60339         with the old contents of xnrealloc.
60340         (xnrealloc, xrealloc): Use it.
60341
60342         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
60343         that.
60344
60345 2003-10-26  Karl Berry  <karl@gnu.org>
60346
60347         * config/srclist.txt (COPYING.DOC): no longer available from
60348         /gd/gnuorg; don't know where the ultimate source is.
60349
60350 2003-10-25  Paul Eggert  <eggert@twinsun.com>
60351
60352         Fix several address-calculation bugs in the hash modules,
60353         plus some minor code cleanup.
60354
60355         * lib/hash.h: Include <stdbool.h>, for bool.
60356         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
60357         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
60358         hash_get_n_entries, hash_get_max_bucket_length,
60359         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
60360         hash_rehash): Use size_t rather than unsigned.
60361         * lib/hash.c (struct hash_table, hash_get_n_buckets,
60362         hash_get_n_buckets_used, hash_get_n_entries,
60363         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
60364         hash_get_entries, hash_do_for_each, hash_string, is_prime,
60365         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
60366         Likewise.
60367         (SIZE_MAX): Define if not defined.
60368         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
60369         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
60370         hash_print):
60371         Use const * when possible.
60372         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
60373         (check_tuning): Fix bug: if tuning parameters were very close to
60374         0 or 1, rounding errors could have caused subscript violations.
60375         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
60376         (hash_initialize): Add 'fail:' label
60377         to free table and return NULL, and use it to simplify code.
60378         Use calloc rather than clearing the storage ourself.
60379         (hash_initialize, hash_rehash): Check for arithmetic overflow in
60380         buffer size calculations.
60381         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
60382         Include <stddef.h>, for size_t.
60383         * lib/hash-pjw.c (hash_pjw): Likewise.
60384         Switch to method described by Bruno Haible.
60385         Include <limits.h>, for CHAR_BIT.
60386         (SIZE_BITS): New macro.
60387
60388 2003-10-23  Paul Eggert  <eggert@twinsun.com>
60389
60390         * m4/getline.m4 (AM_FUNC_GETLINE):
60391         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
60392         hosts.  Problem reported by Derek Robert Price in
60393         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
60394         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
60395         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
60396
60397 2003-10-21  Paul Eggert  <eggert@twinsun.com>
60398
60399         * lib/getndelim2.c (getndelim2): When size calculation overflows,
60400         ceiling the allocation at NMAX bytes rather than silently
60401         discarding input bytes before NMAX is reached.  This makes
60402         a difference only if NMAX exceeds SIZE_MAX / 2.
60403
60404         * lib/obstack.c: Merge from glibc.
60405         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
60406         Add libc_hidden_def (_obstack_newchunk).
60407         (_obstack_free) [! defined _LIBC]: Remove.
60408         [defined _LIBC]: Make a strong alias from obstack_free, rather than
60409         a clone of the function body.
60410         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
60411         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
60412
60413         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
60414         glibc.
60415         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
60416         arg to memcpy.
60417
60418         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
60419         (obstack_ptr_grow_fast, obstack_int_grow_fast):
60420         Don't use lvalue casts, as GCC plans to remove support for them
60421         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
60422         was also present in the non-GCC version, indicating that this
60423         code had always been buggy and had never been widely used.
60424         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
60425         Use the fast variant of each macro, rather than copying the
60426         definiens of the fast variant; that way, we'll be more likely to
60427         catch future bugs in the fast variants.
60428
60429 2003-10-20  Bruno Haible  <bruno@clisp.org>
60430
60431         * modules/wait-process: New file.
60432         * MODULES.html.sh (func_all_modules): Add wait-process.
60433
60434 2003-10-20  Bruno Haible  <bruno@clisp.org>
60435
60436         * m4/wait-process.m4: New file.
60437
60438 2003-10-20  Bruno Haible  <bruno@clisp.org>
60439
60440         * lib/wait-process.h: New file, from GNU gettext.
60441         * lib/wait-process.c: New file, from GNU gettext.
60442
60443 2003-10-19  Jim Meyering  <jim@meyering.net>
60444
60445         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
60446         HPUX 10.20.
60447
60448 2003-10-18  Karl Berry  <karl@gnu.org>
60449
60450         * config/config.guess: update from config.
60451
60452 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60453
60454         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
60455         (getgroups): First arg is int, not size_t.
60456         Don't let 'free' mangle errno.
60457
60458 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60459
60460         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
60461
60462 2003-10-16  Karl Berry  <karl@gnu.org>
60463
60464         * config/config.{guess,sub}: update from config.
60465
60466 2003-10-16  Jim Meyering  <jim@meyering.net>
60467
60468         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
60469         memcpy.
60470
60471 2003-10-15  Paul Eggert  <eggert@twinsun.com>
60472
60473         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
60474         (SIZE_MAX): Remove.
60475         (new_exclude, add_exclude_file): Initial size no longer needs to
60476         be a power of 2.
60477         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
60478         our own address arithmetic overflow checking.
60479
60480         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
60481         (fnmatch): Do not alloca more than 2000 wide characters;
60482         instead, use malloc for large buffers.
60483         Check for address arithmetic overflow, and return -1
60484         with errno set to ENOMEM in that case.
60485         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
60486         (NEW_PATTERN): Do not alloca more than 8000 bytes;
60487         instead, return -1.  Check for address arithmetic overflow.
60488
60489 2003-10-14  Paul Eggert  <eggert@twinsun.com>
60490
60491         Handle invalid suffixes and overflow independently, so that
60492         callers can treat them independently as needed.  Fix some bugs in
60493         suffix handling, e.g., "100k@" was not diagnosed as an invalid
60494         suffix for a human-readable blocksize.  The major caller-visible
60495         change is the addition of a new
60496         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
60497         that both overflow and suffix chars were found.
60498
60499         * lib/human.c (humblock): Don't check separately for invalid suffix
60500         char; that is xstrtoumax's job (now that its bug is fixed).
60501         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
60502         INTMAX_MAX]: New macros.
60503         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
60504         TYPE_MAXIMUM): New macros.
60505         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
60506         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
60507         if overflow occurs, as it's what __strtol does and it's more useful
60508         in practice.
60509         (__xstrtol): If __strtol reports some error other than ERANGE,
60510         reflect it to the caller as LONGINT_INVALID.  If it reports
60511         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
60512         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
60513         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
60514         value.
60515         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
60516         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
60517         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
60518         [defined UINTMAX_MAX]: New macros.
60519
60520 2003-10-14  Bruno Haible  <bruno@clisp.org>
60521
60522         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
60523
60524 2003-10-14  Bruno Haible  <bruno@clisp.org>
60525
60526         * m4/sig_atomic_t: New file, from GNU gettext.
60527         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
60528
60529 2003-10-14  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
60532         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
60533         Also use volatile where needed.
60534
60535 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60536
60537         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
60538         Change maintainer from Bruno Haible to 'all'.
60539
60540 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60541
60542         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
60543
60544 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60545
60546         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
60547         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
60548         and define in terms of the other primitives.
60549         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
60550         (SIZE_MAX): Define if not already defined.
60551         (array_size_overflow): New function.
60552         (xalloc_die): Abort instead of exiting if 'error' returns.
60553         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
60554         (xmalloc, xrealloc): Use them.
60555         (xcalloc): Check for address arithmetic overflow.
60556         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
60557         a bit faster than strcpy.
60558
60559 2003-10-10  Simon Josefsson  <jas@extundo.com>
60560
60561         * modules/argp (Depends-on): Add restrict and strcase.
60562
60563 2003-10-10  Simon Josefsson  <jas@extundo.com>
60564
60565         * m4/argp.m4: Add AC_C_INLINE.
60566
60567 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60568
60569         Merge getpass from libc, plus a few fixes.
60570
60571         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
60572         Include <stdbool.h>.
60573         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
60574         __fsetlocking to empty.
60575         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
60576         do include <bits/libc-lock.h>.
60577         Do not include <fcntl.h>; not needed.
60578         [_LIBC]: Include <wchar.h>.
60579         (NOTCANCEL_MODE): New macro.
60580         (flockfile, funlockfile) [_LIBC]: New macros.
60581         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
60582         [!_LIBC]: New macros.
60583         (call_fclose): New function.
60584         (getpass): Use it.  Save tty stream separately; this simplifies the
60585         code and makes it more reliable if stdin happens to equal stdout.
60586         Invoke __fsetlocking on tty.
60587         Handle thread cancellation if needed.
60588         Namespace cleanup (use __tcgetattr, __getline).
60589         Use bool for Booleans.
60590         [USE_IN_LIBIO]: Handle wide streams.
60591         [!_LIBC]: Unconditionally do the fseek, since we don't know what
60592         stream might go where.
60593
60594         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
60595         doesn't have to include <stdio.h> before us.
60596         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
60597         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
60598         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
60599         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
60600         if not declared, so that we can use getpass.c code from libc without
60601         rewriting it.
60602         (flockfile, ftrylockfile, funlockfile): New macros.
60603
60604 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60605
60606         * modules/getpass: Depend on stdbool.
60607
60608 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60609
60610         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
60611
60612 2003-10-07  Karl Berry  <karl@gnu.org>
60613
60614         * config/config.{guess,sub}: update from config.
60615
60616 2003-10-06  Jim Meyering  <jim@meyering.net>
60617             Bruno Haible  <bruno@clisp.org>
60618
60619         This lets translators provide better translations for the
60620         "Written by ..." part of --version output.
60621         * lib/version-etc.h: Include stdarg.h.
60622         (version_etc_copyright): Declare as readonly.
60623         (version_etc): Make this function variadic with a NULL-terminated list
60624         of author name strings.
60625         (version_etc_va): New declaration.
60626         * lib/version-etc.c: Include stdarg.h, stdlib.h.
60627         (version_etc_copyright): Declare as readonly.
60628         (version_etc_va): New function. Provide a different translatable string
60629         for each possible number of authors < 10. Abbreviate when there are 10
60630         authors or more.
60631         (version_etc): Make this function variadic. Call version_etc_va.
60632         Suggestion from Gary V. Vaughan.
60633
60634         * lib/long-options.h (parse_long_options): Change prototype: the
60635         authors string is moved to the end and becomes variadic.
60636         * lib/long-options.c: Include stdarg.h.
60637         (parse_long_options): Make this function variadic, too.
60638         Call version_etc_va, not version_etc.
60639
60640 2003-10-06  Bruno Haible  <bruno@clisp.org>
60641
60642         * modules/version-etc-2: Remove file.
60643         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
60644
60645 2003-10-06  Bruno Haible  <bruno@clisp.org>
60646
60647         * modules/fatal-signal: New file.
60648         * MODULES.html.sh (func_all_modules): Add fatal-signal.
60649
60650 2003-10-06  Bruno Haible  <bruno@clisp.org>
60651
60652         * m4/fatal-signal.m4: New file.
60653         * m4/signalblocking.m4: New file, from GNU gettext.
60654
60655 2003-10-06  Bruno Haible  <bruno@clisp.org>
60656
60657         * lib/version-etc-2.h: Remove file.
60658         * lib/version-etc-2.c: Remove file.
60659
60660 2003-10-06  Bruno Haible  <bruno@clisp.org>
60661
60662         * lib/fatal-signal.h: New file, from GNU gettext.
60663         * lib/fatal-signal.c: New file, from GNU gettext.
60664
60665 2003-10-05  Paul Eggert  <eggert@twinsun.com>
60666
60667         * README: Rework advice for preventing empty .o files.
60668         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
60669         not <sys/types.h>.
60670
60671 2003-10-04  Karl Berry  <karl@gnu.org>
60672
60673         * lib/argp*: update from libc.
60674
60675 2003-10-04  Karl Berry  <karl@gnu.org>
60676
60677         * config/config.{guess,sub}: update from config.
60678
60679 2003-10-02  Bruno Haible  <bruno@clisp.org>
60680
60681         * modules/lchown (Include): Add lchown.h.
60682         * modules/time_r (Include): Use "..." syntax.
60683         * modules/xgetdomainname (Include): Add xgetdomainname.h.
60684
60685 2003-10-01  Simon Josefsson  <jas@extundo.com>
60686
60687         * MODULES.html.sh (func_all_modules): Move gethostname from section
60688         'based on' to section 'lacking' POSIX:2001.
60689
60690 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
60691
60692         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
60693         to output mode on the same stream.
60694
60695 2003-09-29  Paul Eggert  <eggert@twinsun.com>
60696
60697         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
60698         Fix arg typo in previous patch.
60699
60700 2003-09-28  Jim Meyering  <jim@meyering.net>
60701
60702         * lib/error.c: Correct cpp indentation.
60703
60704 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60705
60706         * modules/free: New file.
60707
60708 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60709
60710         * m4/free.m4: New file.
60711
60712 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60713
60714         * lib/minmax.h (MIN, MAX)
60715         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
60716         Omit the special code that used __typeof__, since we worry that
60717         it could be more trouble than it's worth.  See:
60718         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
60719         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
60720
60721         * lib/free.c: New file.
60722
60723 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
60724
60725         Trivial fixes to Makefile.am parts of module listings.
60726         * modules/strstr: Append strstr.h to lib_SOURCES.
60727         * modules/strcase: Likewise, for strcase.h.
60728
60729 2003-09-27  Karl Berry  <karl@gnu.org>
60730
60731         * config/mkinstalldirs: update from automake.
60732
60733 2003-09-26  Paul Eggert  <eggert@twinsun.com>
60734
60735         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
60736         (error_tail): Do not loop, reallocating temporary buffer, since
60737         the output cannot contain more wide characters than the input
60738         contains bytes, the size must be big enough already.  This avoids
60739         one potential size overflow calculation.  Check for size overflow
60740         when calculating temporary buffer size.  Free temporary buffer
60741         when done, if it was allocated with malloc; this plugs a memory
60742         leak.  Remove casts from void * to pointers, that are no longer
60743         needed now that we're assuming C89 or better.
60744
60745         Merge error changes from glibc.
60746
60747         * lib/error.c, error.h: Update copyright notice header to match glibc.
60748         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
60749         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
60750         Disable cancellation while printing error.
60751         * lib/error.h: Prepend __ to parameter names.
60752
60753 2003-09-26  Jim Meyering  <jim@meyering.net>
60754
60755         * lib/error.c (error_tail): Move some declarations
60756         into inner scope where the local variables are used.
60757
60758 2003-09-26  Bruno Haible  <bruno@clisp.org>
60759
60760         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
60761         stpncpy().
60762         Don't define stpncpy through config.h; it's now done through stpncpy.h.
60763
60764 2003-09-26  Bruno Haible  <bruno@clisp.org>
60765
60766         * lib/stpncpy.h (gnu_stpncpy): New declaration.
60767         (stpncpy): Define as alias for gnu_stpncpy.
60768         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
60769
60770 2003-09-25  Simon Josefsson  <jas@extundo.com>
60771
60772         * lib/xgetdomainname.h: New file.
60773         * lib/xgetdomainname.c: New file.
60774
60775 2003-09-25  Simon Josefsson  <jas@extundo.com>
60776             Bruno Haible  <bruno@clisp.org>
60777
60778         * modules/getdomainname: New file.
60779         * modules/xgetdomainname: New file.
60780         * MODULES.html.sh (func_all_modules): Add getdomainname,
60781         xgetdomainname.
60782
60783 2003-09-25  Simon Josefsson  <jas@extundo.com>
60784             Bruno Haible  <bruno@clisp.org>
60785
60786         * m4/getdomainname.m4: New file.
60787
60788 2003-09-25  Simon Josefsson  <jas@extundo.com>
60789             Bruno Haible  <bruno@clisp.org>
60790
60791         * lib/getdomainname.h: New file.
60792         * lib/getdomainname.c: New file.
60793
60794 2003-09-25  Karl Berry  <karl@gnu.org>
60795
60796         * lib/argp-fmtstream.c, argp-help.c: update from libc.
60797
60798 2003-09-25  Karl Berry  <karl@gnu.org>
60799
60800         * config/install-sh: update from automake.
60801
60802 2003-09-25  Bruno Haible  <bruno@clisp.org>
60803
60804         * modules/version-etc-2: New file, from modules/version-etc with
60805         modifications.
60806         * MODULES.html.sh (func_all_modules): Add version-etc-2.
60807
60808 2003-09-25  Bruno Haible  <bruno@clisp.org>
60809
60810         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
60811         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
60812
60813 2003-09-24  Simon Josefsson  <jas@extundo.com>
60814
60815         * modules/xgethostname: Add xgethostname.h.
60816
60817 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60818
60819         * lib/linebuffer.c (freebuffer): Don't free the argument, just
60820         the buffer associated with the argument.  Bug reported by
60821         Simon Josefsson.
60822
60823 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60824
60825         * README: Document assumptions that 'int' is at least 32 bits
60826         wide, that integer arithmetic is 2's complement without overflow,
60827         that there are no holes in integer values, that adding sizes of
60828         two nonoverlapping objects can't overflow, and that all-bits-zero
60829         yields scalar zero.  Fix spelling and capitalization typos.
60830
60831 2003-09-19  Karl Berry  <karl@gnu.org>
60832
60833         * lib/argp.h: update from libc.
60834
60835 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60836
60837         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
60838         to avoid spurious warnings like "AC_RUN_IFELSE was called before
60839         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
60840
60841 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60842
60843         * gnulib-tool: Use "test -h", not "test -L", for portability
60844         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
60845         (tags_regexp): Remove, since \| doesn't conform to POSIX.
60846         (sed_extract_prog): Issue s commands one-by-one, rather than
60847         using \| in one s command.
60848
60849 2003-09-16  Paul Eggert  <eggert@twinsun.com>
60850
60851         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
60852         input error, instead of returning NULL the next time we are called
60853         (and therefore losing track of errno).
60854
60855 2003-09-16  Bruno Haible  <bruno@clisp.org>
60856
60857         * gnulib-tool (func_create_testdir): Warn about duplicated
60858         dependencies.
60859
60860 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60861
60862         * modules/argmatch, modules/fatal, modules/obstack,
60863         modules/xalloc, modules/xgethostname: Sort dependencies by
60864         importance, not alphabetically.
60865
60866 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60867
60868         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
60869         fails, so that the caller gets the proper errno.
60870
60871         * lib/readutmp.c (read_utmp): Likewise.
60872         Check for fstat error.  Close stream and free storage
60873         when failing.
60874
60875 2003-09-14  Karl Berry  <karl@gnu.org>
60876
60877         * config/srclist.txt (strdup.c): disable for c89 changes.
60878
60879 2003-09-14  Jim Meyering  <jim@meyering.net>
60880
60881         * lib/getloadavg.c: Correct cpp indentation.
60882         * lib/strdup.c: Likewise.
60883         * lib/vasnprintf.c: Likewise.
60884
60885 2003-09-14  Bruno Haible  <bruno@clisp.org>
60886
60887         * modules/fwriteerror: New file.
60888         * MODULES.html.sh (func_all_modules): Add fwriteerror.
60889
60890 2003-09-14  Bruno Haible  <bruno@clisp.org>
60891
60892         * lib/fwriteerror.h: New file.
60893         * lib/fwriteerror.c: New file.
60894
60895 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60896
60897         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
60898         modules/xgethostname, modules/xalloc: Depend on exit.
60899
60900 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60901
60902         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
60903
60904         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
60905         and AC_MINIX, too, so that their extensions are available.
60906
60907         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
60908         This macro has been superseded by gl_BACKUPFILE.
60909
60910         More patches to assume C89 or better.
60911
60912         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
60913
60914         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
60915         unconditionally.
60916         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
60917         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
60918         Include <string.h>, <stdlib.h> unconditionally.
60919         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
60920         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
60921         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
60922         headers or for string.h.
60923         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
60924         or strtoul.
60925
60926         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
60927         headers.
60928         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
60929         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60930         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
60931         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
60932         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60933         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
60934         memcpy, memset.
60935         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
60936         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
60937         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
60938         strtol.
60939         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
60940         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
60941         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
60942         strtoul.
60943
60944 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60945
60946         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
60947         * lib/obstack.c [!defined _LIBC]: Likewise.
60948         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
60949         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
60950         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
60951
60952         More changes to assume C89 or better.
60953
60954         * lib/error.c (error_tail): Assume vprintf.
60955
60956         * lib/argmatch.c (getenv): Remove decl.
60957         * lib/progreloc.c (get_full_program_name): Define via prototype.
60958         * lib/setenv.c (clearenv): Likewise.
60959         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
60960         needed.
60961         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
60962         (malloc, memcpy): Remove decls.
60963         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
60964         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
60965         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60966         (memcpy): Remove macro.
60967         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
60968         (__P): Remove.  All uses removed.
60969         (PTR): Remove.  All uses changed to void *.
60970         (CHAR_BIT, NULL): Remove.
60971         (spaces, zeros, memset_space, memset_zero)
60972         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
60973         Remove.
60974         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
60975         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
60976         Define with prototype.
60977         Remove now-unnecessary prototype decl.
60978         (extra_args_spec): Assume ANSI C.  All uses changed.
60979         (extra_args_spec_iso): Remove.
60980         (my_strftime, emacs_strftimeu): Define via prototype.
60981         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
60982         unconditionally.
60983         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
60984         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
60985         (strtoul, strtol): Remove decls.
60986         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
60987         LONG_MAX): Remove.
60988         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60989         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
60990         (LOCALE_PARAM_PROTO): New macro.
60991         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
60992         (INTERNAL (strtol), strtol): Define with a prototype.
60993         (PARAMS): Remove.  All uses removed.
60994         * lib/tempname.c: Include <string.h> unconditionally.
60995         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
60996         * lib/xgethostname.c (main): Define with a prototype.
60997         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
60998         Include <stdlib.h> unconditionally.
60999         (calloc, malloc, realloc, free): Remove decls.
61000         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
61001         Include <stdlib.h> unconditionally.  Sort include file names.
61002         (strtod): Remove.
61003         (xstrtod): Define with a prototype.
61004         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
61005         (strtol, strtoul): Remove decls.
61006
61007 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61008
61009         More patches to assume C89 or better.
61010         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
61011         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
61012         string.h, memchr, STDC_HEADERS.
61013
61014 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61015
61016         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
61017         Include <stdlib.h>, <string.h> unconditionally.
61018         Remove now-unnecessary cast to char *.
61019         * lib/strnlen.c: Include <string.h> unconditionally.
61020         * lib/yesno.c (yesno): Define with a prototype.
61021
61022 2003-09-11  Bruno Haible  <bruno@clisp.org>
61023
61024         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
61025
61026 2003-09-10  Jim Meyering  <jim@meyering.net>
61027
61028         * lib/error.c: Correct indentation of cpp directives.
61029
61030 2003-09-10  Bruno Haible  <bruno@clisp.org>
61031
61032         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
61033         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
61034         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
61035         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
61036         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
61037         <stdlib.h> and <string.h> checks.
61038         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
61039         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
61040
61041 2003-09-10  Bruno Haible  <bruno@clisp.org>
61042
61043         * lib/strcspn.c: Include <string.h> unconditionally.
61044         * lib/strpbrk.c: Include <string.h> unconditionally.
61045         * lib/strstr.c: Include <string.h> unconditionally.
61046         * lib/unicodeio.c: Include <string.h> unconditionally.
61047         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
61048         * lib/unsetenv.c: Likewise.
61049         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
61050         * lib/yesno.c: Include <stdlib.h> unconditionally.
61051         (rpmatch): Add prototype.
61052
61053 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61054
61055         More patches to assume C89 or better.
61056         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
61057         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
61058         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
61059         or for string.h.
61060         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
61061         stdlib.h.
61062         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
61063         C headers.
61064         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
61065         string.h.
61066         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
61067         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
61068         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
61069         or for string.h.
61070         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
61071         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
61072         C headers.
61073         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
61074         memcpy.
61075         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
61076         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
61077         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
61078         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
61079         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
61080         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
61081         string.h, free.
61082         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
61083         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
61084         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
61085         C headers, or for string.h.
61086         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
61087         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
61088         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
61089         headers, memory.h, stdlib.h, string.h, strings.h.
61090         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
61091         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
61092         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
61093         strchr.
61094         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
61095         headers, memory.h, string.h.
61096         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
61097         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
61098         free.
61099         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
61100         headers.
61101         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
61102         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
61103         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
61104         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
61105         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
61106
61107 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61108
61109         More K&R removal.
61110
61111         * lib/acosl.c (main): Use a prototype.
61112         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
61113         tanl.c: Likewise.
61114
61115         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
61116
61117         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
61118         (getopt, etopt_long, getopt_long_only, _getopt_internal)
61119         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
61120         with a prototype.
61121         * lib/getopt.c (const): Remove macro.
61122         Include <string.h> unconditionally.
61123         (my_index): Remove; all uses changed to strchr.
61124         (strlen): Remove decl.
61125         (exchange): Remove forward decl; no longer needed.
61126         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
61127         Define with prototype.
61128         * lib/getopt1.c (const): Remove macro.
61129         (getopt_long, getopt_long_only, main): Define with prototype.
61130
61131         * lib/getugroups.c: Include <string.h> unconditionally.
61132
61133         * lib/getusershell.c: Include <stdlib.h> unconditionally.
61134         (getusershell, setusershell, endusershell, readname, main):
61135         Define with prototypes.
61136
61137         * lib/group-member.c: Include group-member.h first.
61138         Include <stdlib.h> unconditionally.
61139
61140         * lib/hard-locale.c: Include hard-locale.h first.
61141         Include <stdlib.h>, <string.h> unconditionally.
61142
61143         * lib/hash.c (free, malloc): Remove decls.
61144         Include <stdlib.h> unconditionally.
61145
61146         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
61147         (getenv): Do not declare.
61148
61149         * lib/idcache.c: Include <string.h> unconditionally.
61150
61151         * lib/long-options.c: Include long-options.h first, to test interface.
61152         Include <stdlib.h> unconditionally.
61153
61154         * lib/makepath.c: Include makepath.h first, to test interface.
61155         Include <stdlib.h> and <string.h> unconditionally.
61156
61157         * lib/linebuffer.c: Include <stdlib.h>.
61158         (free): Remove decl.
61159
61160         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
61161         stddef.h. rpl_malloc returns void *, not char *.
61162         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
61163         prototype.
61164
61165         * lib/md5.h: Include <limits.h> unconditionally.
61166         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
61167         (__P): Remove; all uses removed.
61168         * lib/md5.c: Include "md5.h" first.
61169         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
61170         md5_buffer, md5_process_bytes, md5_process_block):
61171         Define with prototypes.
61172         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
61173         * lib/sha.c: Include "sha.h" first.
61174         Include <stdlib.h>, <string.h> unconditionally.
61175
61176         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
61177         * lib/memcmp.c (__ptr_t): Likewise.
61178         * lib/memrchr.c (__ptr_t): Likewise.
61179         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
61180         Include <string.h> unconditionally.
61181         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
61182         * lib/memchr.c: Include <stdlib.h> unconditionally.
61183         * lib/memchr.c (LONG_MAX): Remove.
61184         * lib/memrchr.c (LONG_MAX): Likewise.
61185         * lib/memchr.c (__memchr): Define via a prototype.
61186         * lib/memrchr.c (__memrchr): Likewise.
61187         * lib/memcmp.c (__P): Remove, and remove all uses.
61188         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
61189         Remove forward decls; no longer needed.
61190         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
61191         Use types required by C89 in prototype.
61192
61193         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
61194         * lib/savedir.c: Likewise.
61195         * lib/mkdir.c (free): Remove decl.
61196         * lib/rmdir.c (rmdir): Define with a prototype.
61197         * lib/savedir.c: Include savedir.h first, to test interface.
61198
61199         * lib/mktime.c (STDC_HEADERS): Remove.
61200         Include <stdlib.h>, <string.h> unconditionally.
61201
61202         * lib/modechange.c: Include <stdlib.h> unconditionally.
61203         (malloc): Remove decl.
61204
61205         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
61206         (free): Remove decl.
61207
61208         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
61209         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
61210         (This type really should be intptr_t, but that's a C99ism.)
61211         (_obstack_memcpy): Remove: all uses changed to memcpy.
61212         Include <string.h> unconditionally.
61213         (struct obstack): Assume __STDC__ for types of members
61214         chunkfun, freefun, extra_arg.
61215         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
61216         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
61217         obstack_begin, obstack_specify_allocation,
61218         obstack_specify_allocation_with_arg, obstack_chunkfun,
61219         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
61220         Remove unprototyped decls and the macros that use them.
61221         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
61222         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
61223         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
61224         (defined __STDC__ && __STDC__)]:
61225         Remove nonprototyped code.
61226         Include <stdlib.h> unconditionally.
61227         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
61228         _obstack_allocated_p, _obstack_free, obstack_free,
61229         _obstack_memory_used, print_and_abort):
61230         Define using prototypes.
61231         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
61232         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
61233         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
61234         obstack_next_free, obstack_object_size, obstack_room) [0]:
61235         Remove unused, unprototyped code.
61236
61237         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
61238
61239         * lib/physmem.c (physmem_total, physmem_available, main): Define
61240         with prototypes.
61241
61242         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
61243         (main): Define with a prototype.
61244
61245         * lib/posixver.c (getenv): Remove decl.
61246
61247         * lib/putenv.c (malloc): Returns void *, not char *.
61248         Include <string.h> unconditionally.
61249         (strchr, memcpy, NULL): Do not define.
61250
61251         * lib/readtokens.c: Include readtokens.h first, to test interface.
61252         Include <stdlib.h>, <string.h> unconditionally.
61253         (init_tokenbuffer): Define with a prototype.
61254
61255         * lib/regex.c (PARAMS): Remove.  All uses removed.
61256         All uses of _RE_ARGS removed, too.
61257         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
61258         unconditionally.
61259         (bzero): Assume memset exists.
61260         (memcmp, memcpy, NULL): Remove.
61261         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
61262         char, or assignments to local vars of type signed char.
61263         (init_syntax_once, PREFIX(extract_number_and_incr),
61264         PREFIX(print_partial_compiled_pattern),
61265         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
61266         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
61267         PREFIX(regex_grow_registers), PREFIX(regex_compile),
61268         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
61269         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
61270         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
61271         wcs_compile_range, byte_compile_range, truncate_wchar,
61272         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
61273         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
61274         count_mbs_length, wcs_re_match_2_internal,
61275         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
61276         PREFIX(alt_match_null_string_p),
61277         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
61278         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
61279         regfree, PREFIX(extract_number)): Define with prototype.  Remove
61280         now-unnecessary declaration, if any.
61281         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
61282         regcomp, regexec):
61283         Remove now-unnecessary casts among pointer types.
61284         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
61285
61286         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
61287         (free): Remove decl.
61288
61289         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
61290
61291         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
61292         (free): Remove decl.
61293
61294         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
61295         * lib/xgetcwd.c: Likewise.
61296
61297         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
61298         (free): Remove decl.
61299
61300         * lib/strchrnul.c (strchrnul): Define with a prototype.
61301         Fix bug: c_in was not converted to char before searching.
61302
61303         The following changes are not K&R related:
61304
61305         * lib/group-member.h: Include <sys/types.h>, so that this file is
61306         self-contained.
61307         * lib/makepath.h: Likewise.
61308
61309         * lib/getusershell.c (readname, default_index, line_size, readname):
61310         Use size_t, not int, for sizes.
61311         (readname): If the size overflows, report an error instead of
61312         looping forever.
61313
61314 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61315
61316         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
61317         libc.
61318
61319 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61320
61321         * README: New section: portability guidelines.
61322
61323 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61324
61325         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
61326         C89 spec.
61327
61328 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61329
61330         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
61331
61332 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61333
61334         Assume C89 or better; remove K&R cruft.
61335         A few of these changes were first proposed by Derek Robert Price
61336         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
61337
61338         * lib/addext.c: Include <string.h> unconditionally.
61339         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
61340         Don't declare getenv or malloc.
61341
61342         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
61343         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
61344         (NULL): Remove.
61345         (find_stack_direction, alloca): Use prototypes.
61346
61347         * lib/atexit.c (atexit): Define using a prototype.
61348
61349         * lib/basename.c, dirname.c, stripslash.c:
61350         Include <string.h> unconditionally.
61351
61352         * lib/bcopy.c: Include <stddef.h>.
61353         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
61354
61355         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
61356
61357         * lib/error.h (error, error_at_line, error_print_progname)
61358         [! (defined (__STDC__) && __STDC__)]: Remove decls.
61359         * lib/error.c: Include error.h first, to check interface.
61360         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61361         (VA_START): Remove; all uses changeed to va_start.
61362         (exit, strerror): Remove decls.
61363         (error_print_progname): Prototype uncondionally.
61364         Don't include <errno.h>; no longer needed.
61365         (private_strerror): Remove.
61366         (error_tail): Always define.
61367         (error, error_at_line): Assume C89 or better; always use prototypes.
61368         * lib/fatal.c: Include "fatal.h" first, to test interface.
61369         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61370         (VA_START): Remove; all uses changed to va_start.
61371         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
61372         this case.
61373         (exit): Remove decl.
61374         (fatal): Prototype unconditionally.  Assume va_start works.
61375         Abort at end, to pacify gcc.
61376
61377         * lib/euidaccess.c (main): Define with a prototype.
61378
61379         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
61380
61381         * lib/exitfail.c: Include <stdlib.h> unconditionally.
61382
61383         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
61384         prototypes.
61385         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
61386         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
61387         (getenv): Remove decl.
61388         (fnmatch): Define using a prototype.
61389         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
61390         (FCT): Define using a prototype.
61391
61392         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
61393
61394         * lib/gethostname.c: Include <stddef.h>.
61395         (gethostname): Define with prototype.  Length is size_t, not int.
61396
61397 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61398
61399         Assume C89 or better; remove K&R cruft.
61400         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
61401         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
61402         string.h, getenv, malloc.
61403         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
61404         headers.
61405         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
61406         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
61407         do not check for strerror.
61408         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
61409         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
61410         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
61411         do not check for doprnt or vprintf.
61412         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
61413         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
61414
61415 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61416
61417         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
61418         getversion.c should have been removed then, but was accidentally
61419         preserved.
61420
61421         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
61422         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
61423
61424 2003-09-08  Karl Berry  <karl@gnu.org>
61425
61426         * config/config.sub, config.guess, srclistvars.sh: update from savannah
61427                 config, forget about prep.
61428
61429         * config/depcomp, missing: update from automake.
61430
61431 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61432
61433         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
61434         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61435
61436 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61437
61438         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
61439         copy_tm_result.  Bug reported by Simon Josefsson in
61440         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61441
61442 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61443
61444         * m4/time_r.m4: New file.
61445         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
61446         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
61447         is. Check for timegm declaration.
61448         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
61449         Do not check for gmtime_r.
61450         Replace mktime if __mktime_internal does not exist and if mktime
61451         hasn't been replaced already.
61452
61453 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61454
61455         * lib/time_r.c, lib/time_r.h: New files.
61456
61457         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
61458         __localtime_r.
61459         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
61460         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
61461
61462         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
61463         __gmtime_r.
61464         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
61465         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
61466         Include <time_r.h>.
61467
61468         * lib/timegm.c: Switch to glibc implementation, with the following
61469         changes:
61470         [defined HAVE_CONFIG_H]: Include <config.h>.
61471         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
61472         (__mktime_internal) [!defined _LIBC]: New decl.
61473         (__gmtime_r) [!defined _LIBC]: New macro and function.
61474         (timegm): Use a prototype, since gnulib assumes C89.
61475         Do not bother declaring tmp to be const, as it's not really usefu.
61476         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
61477         (timegm): Declare only if HAVE_DECL_TIMEGM.
61478
61479 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61480
61481         * MODULES.html.sh (func_all_modules): Add time_r.
61482         * modules/time_r: New file.
61483         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
61484         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
61485
61486 2003-09-03  Paul Eggert  <eggert@twinsun.com>
61487
61488         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
61489         Bug reported by Lute Kamstra in
61490         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
61491
61492         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
61493         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
61494         course with correspondingly smaller numbers for tomorrow and
61495         yesterday.  From Tadayoshi Funaba.  Originally installed into
61496         sh-utils on 1999-08-07, but the patch got lost (I guess during the
61497         coreutils merge?).
61498
61499 2003-08-31  Simon Josefsson  <jas@extundo.com>
61500
61501         * modules/timegm: New file.
61502         * MODULES.html.sh (func_all_modules): Add timegm.
61503
61504 2003-08-31  Simon Josefsson  <jas@extundo.com>
61505
61506         * m4/timegm.m4: New file.
61507
61508 2003-08-31  Simon Josefsson  <jas@extundo.com>
61509
61510         * lib/timegm.h: New file.
61511         * lib/timegm.c: New file.  Based on
61512         wget-1.8.2/src/http.c:mktime_from_utc.
61513
61514 2003-08-31  Karl Berry  <karl@gnu.org>
61515
61516         * lib/argp.h: update from libc.
61517
61518 2003-08-28  Bruno Haible  <bruno@clisp.org>
61519
61520         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
61521         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
61522         followed by '#define fnmatch fnmatch_posix' gives an error.
61523
61524 2003-08-28  Bruno Haible  <bruno@clisp.org>
61525
61526         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
61527         warning on QNX, which defines O_BINARY to 000000.
61528
61529 2003-08-27  Jim Meyering  <jim@meyering.net>
61530
61531         * m4/mkstemp.m4: Require that the system mkstemp be able to create
61532         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
61533         would fail after 32.  Reported by Danny Levinson.  Details here:
61534         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
61535
61536 2003-08-24  Bruno Haible  <bruno@clisp.org>
61537
61538         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
61539         MSVC7 <stdio.h> is included later.
61540
61541 2003-08-22  Simon Josefsson  <jas@extundo.com>
61542
61543         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
61544
61545 2003-08-20  Karl Berry  <karl@gnu.org>
61546
61547         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
61548
61549 2003-08-20  Bruno Haible  <bruno@clisp.org>
61550
61551         * modules/progname: New file.
61552         * MODULES.html.sh (func_all_modules): Add progname.
61553
61554 2003-08-20  Bruno Haible  <bruno@clisp.org>
61555
61556         * lib/progname.h: New file, from GNU gettext.
61557         * lib/progname.c: New file, from GNU gettext.
61558         * lib/progreloc.c: New file, from GNU gettext.
61559
61560 2003-08-19  Jim Meyering  <jim@meyering.net>
61561
61562         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
61563         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
61564
61565 2003-08-19  Bruno Haible  <bruno@clisp.org>
61566
61567         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
61568         more.
61569
61570 2003-08-19  Bruno Haible  <bruno@clisp.org>
61571
61572         * lib/xstrdup.c: Assume <string.h> exists.
61573
61574 2003-08-18  Paul Eggert  <eggert@twinsun.com>
61575
61576         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
61577         in makefile rules.
61578
61579 2003-08-18  Jim Meyering  <jim@meyering.net>
61580
61581         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
61582         * m4/lib-ld.m4: Likewise.
61583
61584 2003-08-18  Jim Meyering  <jim@meyering.net>
61585
61586         * lib/setenv.h: Indent nested cpp directive.
61587         * lib/vasnprintf.c: Remove trailing blanks.
61588
61589 2003-08-17  Simon Josefsson  <jas@extundo.com>
61590
61591         * modules/xstrndup: New file.
61592         * MODULES.html.sh (func_all_modules): Add xstrndup.
61593
61594 2003-08-17  Simon Josefsson  <jas@extundo.com>
61595
61596         * modules/argp: Fix autoconf macro name. Add more dependencies.
61597
61598 2003-08-17  Simon Josefsson  <jas@extundo.com>
61599
61600         * m4/xstrndup.m4: New file.
61601
61602 2003-08-17  Simon Josefsson  <jas@extundo.com>
61603
61604         * m4/argp.m4: New file.
61605
61606 2003-08-17  Simon Josefsson  <jas@extundo.com>
61607             Bruno Haible  <bruno@clisp.org>
61608
61609         * lib/xstrndup.h: New file.
61610         * lib/xstrndup.c: New file.
61611
61612 2003-08-17  Bruno Haible  <bruno@clisp.org>
61613
61614         * modules/strndup (Files, Include): Add lib/strndup.h.
61615
61616 2003-08-17  Bruno Haible  <bruno@clisp.org>
61617
61618         * modules/euidaccess (Files): Add lib/euidaccess.h.
61619
61620 2003-08-17  Bruno Haible  <bruno@clisp.org>
61621
61622         * lib/strndup.h: New file.
61623
61624 2003-08-17  Bruno Haible  <bruno@clisp.org>
61625
61626         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
61627         like AC_GNU_SOURCE.
61628         * modules/extensions (configure.ac): Comment out the invocation of
61629         gl_USE_SYSTEM_EXTENSIONS.
61630
61631 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61632
61633         Merges from coreutils, etc.
61634         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
61635         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
61636         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
61637         fixing a typo.
61638         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
61639         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
61640
61641 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61642
61643         Document merge from coreutils.
61644         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
61645         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
61646         * modules/utime: Add m4/utimes-null.m4.
61647
61648 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61649
61650         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
61651         space, undoing this 2003-08-12 change:
61652         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61653
61654 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61655
61656         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
61657         strtoul.c from libc, undoing this 2003-08-12 change:
61658         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61659
61660 2003-08-16  Jim Meyering  <jim@meyering.net>
61661
61662         Merges from coreutils.
61663         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
61664         prefix.  Adjust cache variables similarly.  Create 500 rather than
61665         just 300 files, to exercise bug on Darwin6.5, too.
61666         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
61667         $missing_dir.
61668         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
61669         AM_SYS_POSIX_TERMIOS.
61670         Reported by mkc@mathdogs.com.
61671         Also change use of $am_cv_sys_posix_termios
61672         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
61673         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
61674         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
61675         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
61676         in /proc/mounts until it finds one with matching device number.  This
61677         is unnecessary when the FILE argument *is* a mount point.  No stat call
61678         is necessary in that case.  So, disable the statvfs-testing code on
61679         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
61680         as RedHat bug# 84846.
61681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61682         to 1MB, so as not to render systems with no stack size limit (e.g.,
61683         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61684         Include <unistd.h>.  On some systems,
61685         it is required for the definition of _SC_PAGESIZE.
61686
61687 2003-08-16  Jim Meyering  <jim@meyering.net>
61688
61689         Merge from coreutils.
61690         * lib/xstrtoimax.c: #else #if -> #elif.
61691         * lib/xstrtoumax.c: Likewise.
61692
61693 2003-08-16  Jim Meyering  <jim@meyering.net>
61694
61695         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
61696         * m4/utimes.m4: Removed.
61697         * m4/utimes-null.m4: Renamed from utimes.m4.
61698
61699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61700         to 1MB, so as not to render systems with no stack size limit (e.g.,
61701         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61702         Include <unistd.h>.  On some systems,
61703         it is required for the definition of _SC_PAGESIZE.
61704
61705 2003-08-16  Jim Meyering  <jim@meyering.net>
61706         and Paul Eggert  <eggert@cs.ucla.edu>
61707
61708         Merges from coreutils, etc.
61709
61710         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
61711         using the latest version from cvs.  This avoids problems with #line
61712         directives using a vendor (Sun) compiler.
61713         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
61714         Don't set GETGROUPS_LIB here; now it's
61715         done via getgroups.m4's wrapper function.
61716         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
61717         rather than just in sh-util/configure.in, so that the
61718         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
61719         same.
61720         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
61721         AC_FUNC_GETLOADAVG where to find getloadavg.c.
61722         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
61723         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
61724         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
61725         Remove code that is now done by the newly-required macros.
61726         Append $(EXEEXT) to DF_PROG.
61727         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
61728         Do not invoke or require the following here,
61729         since prereq.m4 or some gnulib .m4 now does this for us:
61730         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
61731         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
61732         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
61733         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
61734         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
61735         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
61736         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
61737         AC_FUNC_OBSTACK.
61738         Do not replace the following functions, as this is now the job
61739         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
61740         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
61741         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
61742         atexit getpass, strdup, getpagesize.
61743         Replace 'raise'.
61744         Do not check for the following functions, as this is now the job
61745         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
61746         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
61747         setregid.
61748         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
61749         Check for sys/sysctl.h.
61750         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
61751         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
61752         of checking for ssize_t ourselves.
61753
61754         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
61755         Require every macro that gnulib/modules/* suggests for us.
61756         (jm_PREREQ_ADDEXT): New macro.
61757         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
61758         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
61759
61760         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
61761         (gl_PHYSMEM): Use it.
61762         Also check for `table' function.
61763         Check for new headers and functions.
61764         Add check for sys/sysmp.h.
61765         With suggestions from Kaveh Ghazi.
61766         Ignore headers that are present but cannot be compiled.  This
61767         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
61768         C 5.4.
61769
61770 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61771
61772         Document merge from coreutils.
61773         * modules/userspec: Depend on posixver.
61774         * modules/strftime: Depend on tzset.
61775
61776 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61777
61778         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
61779         rather than tab, after '#' in shell-script copyright notices.
61780         Suggested by Bruno Haible.
61781
61782 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61783
61784         * config/srclist-update: Use three spaces, rather than tab, after '#'
61785         in shell-script copyright notices.  Suggested by Bruno Haible.
61786         Remove unnecessary parenthesization in regular expression.
61787
61788 2003-08-15  Jim Meyering  <jim@meyering.net>
61789
61790         Merge from coreutils.
61791         * lib/xgethostname.c: Include <stdlib.h>.
61792         (xghostname): Don't exit for anything other than memory-related
61793         failure; just return NULL.
61794         * lib/userspec.c: Include "posixver.h".
61795         (parse_user_spec): Accept `.' as a separator only
61796         in pre-POSIX-200112 mode.
61797         * lib/strtoimax.c: Use #elif rather than #else #if.
61798         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
61799         Remove function, now that we can rely on a working tzset function.
61800         [!_LIBC]: Ensure that the required autoconf test has been run.
61801         [!defined _NL_CURRENT && HAVE_STRFTIME]:
61802         Use underlying_strftime for %r.
61803         * lib/sha.c: Merge in some clean-up and optimization changes from
61804         glibc.
61805         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
61806         Ensure that it is a multiple of 64.
61807         Rearrange loop exit tests so as to avoid performing an
61808         additional fread after encountering an error or EOF.
61809         * lib/realloc.c: Update copyright date.
61810
61811 2003-08-15  Jim Meyering  <jim@meyering.net>
61812         and Paul Eggert  <eggert@twinsun.com>
61813
61814         Merge from coreutils.
61815         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
61816         member but strut utmpx does not.  Needed for AIX 4.3.3.
61817         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
61818
61819 2003-08-15  Jim Meyering  <jim@meyering.net>
61820         and Paul Eggert  <eggert@cs.ucla.edu>
61821
61822         Merges from coreutils, etc.
61823         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
61824         Require gl_FUNC_TZSET_CLOBBER.
61825         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
61826         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
61827         members.
61828
61829 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61830
61831         Help the merge from coreutils.
61832         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
61833         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
61834         * m4/tzset.m4: Use it too.
61835
61836 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61837
61838         * modules/tzset: New file.
61839
61840 2003-08-14  Jim Meyering  <jim@meyering.net>
61841
61842         Merges from coreutils.
61843         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
61844         variable names, rather than @FNMATCH_H@.
61845         * modules/alloca: Likewise for $(ALLOCA_H).
61846
61847         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
61848         the three copies of the literal target, `fnmatch.h'.
61849         * modules/alloca (alloca.h): Likewise.
61850
61851 2003-08-14  Jim Meyering  <jim@meyering.net>
61852
61853         Merge from coreutils.
61854         * m4/tzset.m4: New file.
61855         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
61856         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
61857         otherwise, AIX 5.1 systems would end up using the latter.
61858         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
61859         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
61860         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
61861         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
61862
61863 2003-08-14  Jim Meyering  <jim@meyering.net>
61864
61865         Merge from coreutils.
61866         * lib/obstack.h: Whitespace changes.
61867         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
61868         and xcalloc return values.
61869         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
61870         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
61871         hang on OSF/1 5.1 for DIR on both local and remote file systems.
61872         Reported by (and fix confirmed by) Nelson H. F. Beebe.
61873         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
61874         error from mntctl.
61875         Use mntctl's return value to drive the entry-processing loop, since
61876         we can't rely on the value of the vmt_length member in the last
61877         entry.  On some systems doing so could result in exhausting
61878         virtual memory.  Based in part on a patch from Mike Jetzer.
61879
61880 2003-08-14  Jim Meyering  <jim@meyering.net>
61881         and Paul Eggert  <eggert@twinsun.com>
61882
61883         Merges from coreutils, plus other fixes.
61884         * lib/physmem.c: Merge in portability changes from gcc/libiberty
61885         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
61886         for credits and details.  Thanks to Kaveh Ghazi for helping
61887         to keep these files in sync.
61888         (ARRAY_SIZE): Define it.
61889         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
61890         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
61891         (memcasecmp): Don't assume size_t fits in unsigned int.
61892         Remove casts and duplicate code.
61893         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
61894         (memcpy): Remove definition.
61895         Merge in some clean-up and optimization changes from glibc.
61896         [BLOCKSIZE]: Move definition to top of file.
61897         Ensure that it is a multiple of 64.
61898         Rearrange loop exit tests so as to avoid performing an
61899         additional fread after encountering an error or EOF.
61900         * lib/md5.h (md5_uintptr): Define.
61901         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
61902         return to the initial working directory.  Preserve errno
61903         for caller.
61904         * lib/idcache.c: Include "xalloc.h".
61905         (xmalloc, xrealloc): Remove decls.
61906         (getuser): Remove casts no longer required in C89.
61907         * lib/human.c: Include stdio.h, for sprintf.
61908         * lib/group-member.c: Include "xalloc.h".
61909         (xmalloc, xrealloc): Remove decls.
61910         (get_group_info): Remove casts no longer required in C89.
61911         * lib/getusershell.c (readname): Remove casts no longer required in
61912         C89.
61913         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
61914         * lib/getline.c: Whitespace fix, from coreutils.
61915
61916 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61917
61918         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
61919         Check for isascii.
61920
61921         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61922         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61923         Undo previous (whitespace-only) change.
61924
61925 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61926
61927         * lib/exclude.c: Include <ctype.h>
61928         (IN_CTYPE_DOMAIN): New macro.
61929         (is_space): New fn.
61930         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
61931         and empty lines.
61932
61933         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61934         Undo previous (whitespace-only) change.
61935
61936 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61937
61938         * config/srclist-update: Change update back to the old behavior,
61939         leaving whitespace alone.  Use one 'sed' command rather than a
61940         pipeline.
61941         (fixlicense): Now a variable, not a function.
61942         (remove_trailing_blanks): Remove.
61943         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
61944         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61945         Undo previous (whitespace-only) change.
61946
61947 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61948
61949         Merge from coreutils.
61950         * modules/euidaccess: Add lib_SOURCES, include for new
61951         file euidaccess.h
61952
61953 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61954
61955         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61956         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61957         Normalize leading white space and remove trailing white space.
61958
61959         Merge from coreutils
61960         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
61961
61962         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
61963         0.12.1.  These files are now being upgraded automatically by
61964         ../config/srclist-update.
61965
61966 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61967
61968         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61969         Normalize leading white space and remove trailing white space.
61970         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
61971         notice, as per ../config/srclist-update.
61972
61973         Merge from coreutils.
61974         * lib/euidaccess.h: New file.
61975         * lib/euidaccess.c: Include it.
61976         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
61977         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
61978         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
61979
61980 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61981
61982         * config/srclist-update: Add copyright notice.
61983         (remove_id_lines, remove_trailing_blanks): New constants.
61984         (fixfile): Use them to normalize spacing a bit in copied files.
61985         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61986         Normalize leading white space and remove trailing white space.
61987
61988         * config/texinfo.tex: Sync with texinfo.
61989
61990         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
61991         strtoul.c from libc, to merge coreutils whitespace changes.
61992
61993         * config/srclist.txt: Get the following m4 files from gettext:
61994         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
61995         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
61996         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
61997         wint_t.m4.
61998
61999 2003-08-12  Karl Berry  <karl@gnu.org>
62000
62001         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
62002         been made.
62003
62004 2003-08-11  Paul Eggert  <eggert@twinsun.com>
62005
62006         * modules/gnu-source, m4/gnu-source.m4:
62007         Remove; we're assuming Autoconf 2.54 or later now.
62008         Suggested by Bruno Haible.
62009         * MODULES.html.sh (func_all_modules): Remove gnu-source.
62010
62011 2003-08-11  Bruno Haible  <bruno@clisp.org>
62012
62013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
62014
62015 2003-08-11  Bruno Haible  <bruno@clisp.org>
62016
62017         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
62018         (vasnprintf): Use it instead of wcslen.
62019
62020 2003-08-11  Bruno Haible  <bruno@clisp.org>
62021
62022         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
62023         value to ensure that _Bool promotes to int. Use #define for _Bool when
62024         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
62025
62026 2003-08-10  Karl Berry  <karl@gnu.org>
62027
62028         * lib/regex.h: update from libc (whitespace fix).
62029
62030 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62031
62032         Merge some files from coreutils.  These changes were
62033         originally made by Jim Meyering.
62034         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
62035         many older Unixes require this.
62036         * lib/alloca.c (alloca): Remove cast to argument of free;
62037         no longer needed in C89.
62038         * lib/alloca_.h, regex.h: Fix white space to match
62039         what GNU indent does.
62040
62041 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62042
62043         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
62044         apparently Emacs's Unicode mode got confused before my 2003-08-05
62045         checkin.
62046
62047 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62048
62049         * m4/extensions.m4: New file.
62050         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
62051         Require gl_USE_SYSTEM_EXTENSIONS.
62052         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
62053         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
62054
62055 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62056
62057         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
62058         * modules/extensions, modules/gnu-source: New files.
62059         * modules/timespec, modules/unlocked-io: Depend on extensions.
62060
62061 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62062
62063         * modules/restrict: New file.
62064         * MODULES.html.sh (func_all_modules): Add restrict.
62065         * modules/regex: Depend on restrict.
62066
62067 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62068
62069         * m4/restrict.m4: New file.
62070         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
62071
62072 2003-08-07  Bruno Haible  <bruno@clisp.org>
62073
62074         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
62075         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
62076
62077 2003-08-07  Bruno Haible  <bruno@clisp.org>
62078
62079         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
62080         makes the module 'getndelim2' compatible with the module 'getline'.
62081
62082 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62083
62084         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
62085         byte with "\201" to avoid glitches when editing that source file
62086         with multi-gnome-terminal.
62087
62088 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62089
62090         * lib/bumpalloc.h: Remove.
62091
62092 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62093
62094         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
62095         * modules/bumpalloc: Remove.
62096
62097 2003-08-04  Paul Eggert  <eggert@twinsun.com>
62098
62099         * lib/getloadavg.c: Change copyright notice and spacing to conform to
62100         GNU coding style.
62101
62102         Merge from coreutils.
62103         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
62104         1. From glibc.
62105         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
62106         from Karl Berry, implemented by Jim Meyering.
62107         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
62108         from Dmitry V. Levin.
62109         Remove anachronistic cast of xrealloc.
62110         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
62111         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
62112         type. Otherwise, it wouldn't compile with at least /bin/cc on
62113         ymp-cray-unicos9.0.2.X.
62114         Combine two mostly-identical uses of alloca into one.
62115         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
62116
62117 2003-08-04  Dave Love  <d.love@dl.ac.uk>
62118
62119         [From Emacs.]
62120
62121         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
62122         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
62123         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
62124         obsolete NLIST_NAME_UNION.
62125         [__GNU__]: Undef BSD and FSCALE.
62126         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
62127
62128 2003-08-03  Paul Eggert  <eggert@twinsun.com>
62129
62130         * lib/stdbool_.h (_Bool): Make it signed char, instead of
62131         an enum type, so that it's guaranteed to promote to int.  See:
62132         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
62133
62134 2003-08-03  Karl Berry  <karl@gnu.org>
62135
62136         * config/depcomp: update from automake.
62137
62138 2003-07-31  Paul Eggert  <eggert@twinsun.com>
62139
62140         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
62141         (strerror): Don't assume that a printable int fits in 14 bytes.
62142
62143 2003-07-31  Bruno Haible  <bruno@clisp.org>
62144
62145         * modules/getpass-gnu: New file.
62146         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
62147
62148 2003-07-31  Bruno Haible  <bruno@clisp.org>
62149
62150         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
62151
62152 2003-07-24  Karl Berry  <karl@gnu.org>
62153
62154         * config/missing: update from automake.
62155
62156 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
62157             Bruno Haible  <bruno@clisp.org>
62158
62159         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
62160         * lib/getline.c (getline, getdelim): Likewise.
62161         Remove _GNU_SOURCE define; now it's defined in config.h through
62162         m4/getline.m4.
62163
62164 2003-07-23  Karl Berry  <karl@gnu.org>
62165
62166         * config/config.sub: update from prep.
62167
62168 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62169
62170         * modules/xalloc (Depends-on): Add exitfail.
62171         * modules/xmemcoll: Likewise.
62172
62173 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62174
62175         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
62176         over-parenthesization in macros.
62177
62178         Sync with coreutils.
62179
62180         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
62181         required by C99.
62182
62183         Use `exit_failure' for xalloc and xmemcoll instead of their own
62184         private exit-failure variables.
62185         * lib/xalloc.h (xalloc_exit_failure): Remove.
62186         * lib/xmalloc.c: Likewise.  Include exitfail.h.
62187         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
62188         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
62189         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
62190         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
62191
62192 2003-07-20  Jim Meyering  <jim@meyering.net>
62193
62194         * modules/closeout (Depends-on): Add exitfail.
62195         Suggestion from Bruno Haible.
62196
62197 2003-07-19  Karl Berry  <karl@gnu.org>
62198
62199         * config/config.sub: update from prep.
62200
62201 2003-07-18  Paul Eggert  <eggert@twinsun.com>
62202
62203         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
62204         Remove.
62205         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
62206         to test that it can stand by itself.  Include "exitfail.h".
62207         Clients should set exit_failure instead.
62208         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
62209
62210 2003-07-18  Bruno Haible  <bruno@clisp.org>
62211
62212         * modules/getndelim2: New file.
62213         * modules/getline: Share files with module getndelim2.
62214         * modules/getnline: Depend on getndelim2 instead of sharing files with
62215         it. Add getnline.c to lib_SOURCES.
62216         * MODULES.html.sh (func_all_modules): Add getndelim2.
62217
62218 2003-07-18  Bruno Haible  <bruno@clisp.org>
62219
62220         * m4/getndelim2.m4: New file.
62221         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
62222         invoke gl_PREREQ_GETNDELIM2.
62223         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
62224         gl_PREREQ_GETNDELIM2.
62225         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
62226         gl_GETNDELIM2.
62227
62228 2003-07-18  Bruno Haible  <bruno@clisp.org>
62229
62230         * lib/getndelim2.h: New file.
62231         * lib/getndelim2.c: Make into a module of its own. Include config.h,
62232         getndelim2.h.
62233         (getndelim2): Make non-static. Change return type to ssize_t.
62234         * lib/getline.h: Change argument names.
62235         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
62236         * lib/getnline.c: Include getndelim2.h.
62237
62238 2003-07-18  Andreas Schwab  <schwab@suse.de>
62239
62240         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
62241
62242 2003-07-17  Karl Berry  <karl@gnu.org>
62243
62244         * config/config.sub: update from prep.
62245
62246 2003-07-17  Bruno Haible  <bruno@clisp.org>
62247
62248         * modules/getnline: New file.
62249         * modules/getline: Add lib/getndelim2.c to source file list.
62250         * MODULES.html.sh (func_all_modules): Add getnline.
62251
62252 2003-07-17  Bruno Haible  <bruno@clisp.org>
62253
62254         * m4/getnline.m4: New file.
62255
62256 2003-07-17  Bruno Haible  <bruno@clisp.org>
62257
62258         * m4/Makefile.am.in: Remove file.
62259         * m4/Makefile.am: Remove file.
62260         * m4/Makefile.in: Remove file.
62261
62262 2003-07-17  Bruno Haible  <bruno@clisp.org>
62263
62264         * lib/getnline.h: New file.
62265         * lib/getnline.c: New file.
62266         * lib/getndelim2.c: New file, extracted from getline.c.
62267         (getndelim2): Renamed from getdelim2, with added nmax argument.
62268         * lib/getline.c: Include getndelim2.c.
62269         (getdelim2): Moved out to getndelim2.c.
62270         (getline, getdelim): Update.
62271
62272 2003-07-17  Bruno Haible  <bruno@clisp.org>
62273
62274         * lib/Makefile.am: Remove file.
62275         * lib/Makefile.in: Remove file.
62276
62277 2003-07-17  Bruno Haible  <bruno@clisp.org>
62278
62279         * configure.in: Remove file.
62280         * Makefile.in: Remove file.
62281
62282 2003-07-17  Bruno Haible  <bruno@clisp.org>
62283
62284         * MODULES.html.sh: Put the </BODY> right before </HTML>.
62285
62286 2003-07-16  Karl Berry  <karl@gnu.org>
62287
62288         * config/srclist-update: was running fixlicense twice, which caused
62289                 texinfo.tex to be nullified for some reason.  Simplify,
62290                 $gplsrc is no longer needed as far as I can see?
62291
62292 2003-07-16  Jim Meyering  <jim@meyering.net>
62293
62294         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
62295
62296 2003-07-15  Paul Eggert  <eggert@twinsun.com>
62297
62298         * config/srclist.txt: Get the following files from gettext-runtime/intl
62299         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
62300         ref-del.sin.  From Bruno Haible.
62301         * config/srclist-update (fixfile): Change grep pattern again, since the
62302         previous fix didn't work (there was another trailing $).  Use
62303         '[$]' to escape the $s.
62304
62305 2003-07-15  Karl Berry  <karl@gnu.org>
62306
62307         * lib/vasnprintf.c: update from gettext.
62308
62309 2003-07-15  Karl Berry  <karl@gnu.org>
62310
62311         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
62312         gets expanded when surrounded by '$'.
62313
62314 2003-07-15  Jim Meyering  <jim@meyering.net>
62315
62316         * modules/save-cwd: Don't depend on error.  From Derek Price.
62317
62318 2003-07-15  Jim Meyering  <jim@meyering.net>
62319
62320         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
62321
62322 2003-07-14  Simon Josefsson  <jas@extundo.com>
62323
62324         * modules/mempcpy: New file.
62325         * MODULES.html.sh (func_all_modules): Add mempcpy.
62326
62327 2003-07-14  Simon Josefsson  <jas@extundo.com>
62328
62329         * m4/mempcpy.m4: New file.
62330
62331 2003-07-14  Simon Josefsson  <jas@extundo.com>
62332
62333         * lib/mempcpy.h: New file.
62334         * lib/mempcpy.c: New file.
62335
62336 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62337
62338         * modules/getdate, modules/posixtm: Depend on mktime.
62339
62340 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62341
62342         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
62343         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
62344         unicodeio.c, unicodeio.h, unlocked-io.h:
62345         Switch from LGPL to GPL.
62346
62347 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62348
62349         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
62350         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
62351         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
62352         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
62353         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
62354         updated automatically by ../config/srclist-update.  This changes
62355         their license from LPGL to GPL.
62356
62357 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62358
62359         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
62360         assumed to refer to the root of the most recent stable gettext version.
62361         * config/srclistvars.sh: Add defaults for eggert.
62362         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
62363         Match "This program" as well as "The program".  This is needed
62364         for gettext.
62365
62366 2003-07-14  Jim Meyering  <jim@meyering.net>
62367
62368         Don't emit diagnostics.  Let callers do that.
62369         * lib/save-cwd.c: Don't include "error.h".
62370         (save_cwd): Don't call error.  Ensure that errno is valid
62371         when returning nonzero.
62372
62373         * lib/save-cwd.h (restore_cwd): Update prototype.
62374         * lib/save-cwd.c (restore_cwd): Remove two parameters.
62375         Simplify.  Don't call error upon failure.  Let callers do that.
62376         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
62377         when auditing is enabled.  But don't bother updating the #if.
62378
62379 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
62380
62381         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
62382         it breaks C++ compilation.
62383         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
62384
62385 2003-07-10  Simon Josefsson  <jas@extundo.com>
62386
62387         * modules/strchrnul (Makefile.am): Add strchrnul.h.
62388
62389 2003-07-10  Jim Meyering  <jim@meyering.net>
62390
62391         * m4/clock_time.m4: Remove trailing blank.
62392         * m4/intmax_t.m4: Likewise.
62393
62394 2003-07-10  Jim Meyering  <jim@meyering.net>
62395
62396         * lib/vasnprintf.c: Remove trailing blanks.
62397         Make cpp indentation consistent.
62398
62399 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62400
62401         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
62402         posixver.c, strftime.c, strnlen.c, strverscmp.c:
62403         Switch from LGPL to GPL.
62404
62405 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62406
62407         * config/srclist.txt: Sort sublists.  Add
62408         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
62409         that differ from gnulib for one reason or another; we'd like this list
62410         to be smaller but for now let's document what we have.
62411
62412 2003-07-08  Paul Eggert  <eggert@twinsun.com>
62413
62414         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
62415         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
62416         and sweeter "eval x=$x".
62417         * config/srclist.txt: Get lib/argp* from glibc.
62418
62419 2003-07-07  Paul Eggert  <eggert@twinsun.com>
62420
62421         * lib/mktime.c: Fix some boundary cases and remove need for floating
62422         point.
62423
62424         Issue a compile-time diagnostic if time_t is floating point, or if
62425         two's complement arithmetic is not in effect, or if arithmetic
62426         right shift does not propagate the sign.  These assumptions were
62427         all in the original code but they weren't checked.
62428
62429         (TIME_T_MIDPOINT, verify): New macros.
62430         (__isleap): Remove; it has integer overflow problems.
62431         (leapyear): New function, without those problems.
62432         (ydhms_tm_diff): Remove; splitting into two parts.
62433         (ydhms_diff): New function, containing the arithmetic part of
62434         the old ydhms_tm_diff function.  Issue a compile-time
62435         diagnostic if we are not using C99 integer division.
62436         Avoid casts when possible.
62437         (guess_time_tm): New function, containing the checking part of
62438         the old ydhms_tm_diff function.  Return the new value, rather than
62439         the difference between it and the old.  Accept a new argument T
62440         so that *T specifies the old value.  Check for overflow in the result.
62441
62442         (__mktime_internal): Use a time_t offset, not a long int offset.
62443         This undoes the 2003-06-04 change, which is no longer needed now
62444         that we have better overflow checking.
62445         (localtime_offset): Likewise.
62446
62447         (__mktime_internal): Avoid harmful overflow on hosts where time_t
62448         and long are 64-bit but int is only 32-bit.
62449         (ydhms_diff): Use long int to store year1 and yday1.
62450         Issue a compile-time diagnostic if long int is not wide enough.
62451
62452         (__mktime_internal): Use long int to store adjusted year and yday.
62453         Use plain C rather than preprocessor commands, if that doesn't
62454         affect efficiency.
62455         Check for overflow (and try to repair) after each probe
62456         rather than checking only at the very end.  This avoids some bugs
62457         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
62458         does not equal GMT offset at maximum time).
62459         Use integer to check for overflow rather than floating point; this
62460         is more portable to non-IEEE hosts, and is a tad faster.
62461         When we detect that we are oscillating between two values,
62462         don't check whether tm_isdst has the requested value, since
62463         we already know the answer.  When tm_isdst has the wrong value,
62464         use a different heuristic to find the right one, based on the
62465         extreme values actually observed in practice in tz2003a,
62466         rather than the (overly optimistic) "previous 3 calendar quarters".
62467
62468         (not_equal_tm, print_tm, check_result): Use "const T" rather than
62469         "T const" to accommodate glibc style.
62470         (check_result): Use less-confusing report format.  "long" -> "long int.
62471         (main): Likewise.
62472         Don't loop if the iteration overflows time_t.
62473         Allow a negative step in the iteration.
62474
62475 2003-07-06  Karl Berry  <karl@gnu.org>
62476
62477         * config/depcomp: update from automake.
62478         * config/config.sub: update from prep.
62479
62480 2003-07-03  Karl Berry  <karl@gnu.org>
62481
62482         * config/config.guess: update from prep.
62483
62484 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62485
62486         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
62487         xreadlink.c now includes it unconditionally.
62488
62489 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62490
62491         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
62492         having it depend on HAVE_SYS_TYPES_H.
62493
62494 2003-07-01  Bruno Haible  <bruno@clisp.org>
62495
62496         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
62497         <sys/types.h> should be sufficient.
62498         Reported by Paul Eggert.
62499
62500 2003-06-26  Karl Berry  <karl@gnu.org>
62501
62502         * config/depcomp: update from automake.
62503
62504 2003-06-26  Bruno Haible  <bruno@clisp.org>
62505
62506         * modules/human: Depend on module stdbool.
62507
62508 2003-06-25  Bruno Haible  <bruno@clisp.org>
62509
62510         * modules/readlink: New file.
62511         * modules/xreadlink: Depend on it.
62512         * MODULES.html.sh (func_all_modules): Add readlink.
62513
62514 2003-06-25  Bruno Haible  <bruno@clisp.org>
62515
62516         * m4/readlink.m4: New file.
62517
62518 2003-06-25  Bruno Haible  <bruno@clisp.org>
62519
62520         * lib/readlink.c: New file.
62521
62522 2003-06-22  Karl Berry  <karl@gnu.org>
62523
62524         * config/srclist.txt: update mkinstalldirs from automake.
62525         * config/mkinstalldirs: update.
62526
62527 2003-06-22  Bruno Haible  <bruno@clisp.org>
62528
62529         Portability to mingw32.
62530         * m4/ssize_t.m4: New file, from GNU gettext.
62531         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
62532         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
62533
62534 2003-06-22  Bruno Haible  <bruno@clisp.org>
62535
62536         * modules/safe-read: Add m4/ssize_t.m4.
62537         * modules/xreadlink: Add m4/ssize_t.m4.
62538
62539 2003-06-20  Bruno Haible  <bruno@clisp.org>
62540
62541         Assume C89, so PARAMS isn't needed.
62542         * lib/unicodeio.h (PARAMS): Remove.
62543         * lib/unicodeio.c: Don't use PARAMS.
62544
62545 2003-06-18  Karl Berry  <karl@gnu.org>
62546
62547         * config/config.{guess,sub}: update from prep.
62548
62549 2003-06-18  Jim Meyering  <jim@meyering.net>
62550
62551         Merge changes from coreutils.
62552         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
62553         Remove explicit declarations of xmalloc and realloc.
62554         Include xalloc.h.
62555         (read_utmp): Remove anachronistic cast of xmalloc.
62556
62557 2003-06-17  Paul Eggert  <eggert@twinsun.com>
62558
62559         Assume C89, so PARAMS isn't needed.
62560         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
62561         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
62562         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
62563         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
62564         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
62565         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
62566         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
62567         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
62568         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
62569         lib/xstrtod.h, lib/xstrtol.h: Likewise.
62570         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
62571         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
62572         no longer needed. Anyway, config.h should always be included before any
62573         other file.
62574
62575 2003-06-11  Simon Josefsson  <jas@extundo.com>
62576
62577         * modules/sysexits: New file.
62578         * MODULES.html.sh (func_all_modules): Add sysexits.
62579
62580 2003-06-11  Simon Josefsson  <jas@extundo.com>
62581
62582         * lib/sysexit_.h: New file.
62583
62584 2003-06-11  Derek Price  <derek@ximbiot.com>
62585
62586         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
62587         necessary.
62588
62589 2003-06-11  Bruno Haible  <bruno@clisp.org>
62590
62591         * m4/sysexits.m4: New file.
62592
62593 2003-06-10  Simon Josefsson  <jas@extundo.com>
62594
62595         * lib/argp.h: New file, from glibc.
62596         * lib/argp-ba.c: New file, from glibc.
62597         * lib/argp-eexst.c: New file, from glibc.
62598         * lib/argp-fmtstream.c: New file, from glibc.
62599         * lib/argp-fmtstream.h: New file, from glibc.
62600         * lib/argp-fs-xinl.c: New file, from glibc.
62601         * lib/argp-help.c: New file, from glibc.
62602         * lib/argp-namefrob.h: New file, from glibc.
62603         * lib/argp-parse.c: New file, from glibc.
62604         * lib/argp-pv.c: New file, from glibc.
62605         * lib/argp-pvh.c: New file, from glibc.
62606         * lib/argp-xinl.c: New file, from glibc.
62607
62608 2003-06-10  Simon Josefsson  <jas@extundo.com>
62609
62610         * modules/strchrnul: New file.
62611
62612 2003-06-10  Simon Josefsson  <jas@extundo.com>
62613
62614         * modules/argp: New file.
62615
62616 2003-06-10  Simon Josefsson  <jas@extundo.com>
62617
62618         * m4/strchrnul.m4: New file.
62619
62620 2003-06-10  Simon Josefsson  <jas@extundo.com>
62621
62622         * lib/strchrnul.h: New file.
62623         * lib/strchrnul.c: New file.
62624
62625 2003-06-10  Bruno Haible  <bruno@clisp.org>
62626
62627         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
62628
62629 2003-06-07  Karl Berry  <karl@gnu.org>
62630
62631         * config/config.{guess,sub}: update from prep.
62632
62633 2003-06-07  Jim Meyering  <jim@meyering.net>
62634
62635         * modules/strtod: Use $(...) notation, not @...@ for
62636         AC_REPLACE'd variables.
62637         * modules/localcharset: Likewise.
62638
62639 2003-06-07  Jim Meyering  <jim@meyering.net>
62640
62641         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
62642         in place of my name in the copyright comment.
62643         Remove definition and uses of __P.
62644
62645         From coreutils.
62646         * lib/stat.c: Don't declare xmalloc explicitly.
62647         Instead, include "xalloc.h".
62648         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
62649         xrealloc, and xcalloc return values.
62650         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
62651         Improve comment.
62652         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
62653
62654 2003-06-07  Bruno Haible  <bruno@clisp.org>
62655
62656         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
62657         avoid AC_CONFIG_LINKS.
62658         * modules/fnmatch (Makefile.am): Use explicit creation rule for
62659         fnmatch.h, to avoid AC_CONFIG_LINKS.
62660         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
62661
62662 2003-06-07  Bruno Haible  <bruno@clisp.org>
62663
62664         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
62665         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
62666         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62667         directory.
62668         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
62669         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62670         directory.
62671
62672 2003-06-06  Jim Meyering  <jim@meyering.net>
62673
62674         Merge from coreutils.
62675         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
62676         Consolidate declarations and initializations of *_base* locals.
62677
62678         Merge from coreutils.
62679         This avoids a core dump on systems without GNU putenv,
62680         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
62681         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
62682         (unsetenv): New static function, from GNU libc.
62683         (rpl_putenv): Use it.
62684
62685         * lib/modechange.c: Remove trailing blanks.
62686
62687         Merge from coreutils.
62688         * lib/fsusage.c: Remove declaration of statfs.
62689         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
62690
62691         * lib/posixtm.c: Include <stdbool.h> unconditionally.
62692
62693 2003-06-06  Jim Meyering  <jim@meyering.net>
62694
62695         * lib/stdbool_.h: Renamed from stdbool.h.in.
62696
62697 2003-06-06  Jim Meyering  <jim@meyering.net>
62698             Bruno Haible  <bruno@clisp.org>
62699
62700         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
62701         Adjust Makefile.am snippet not to redirect directly to target.
62702         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
62703
62704 2003-06-05  Paul Eggert  <eggert@twinsun.com>
62705
62706         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
62707         mismatch, look in future quarters as well as past.  This fixes a
62708         bug when processing fall-backwards gaps immediately after a long
62709         period of daylight-saving time.
62710
62711         * lib/mktime.c: Assume freestanding C89 or better.
62712         (HAVE_LIMITS_H): Remove.  Assume it's 1.
62713         (__P): Remove; not used.
62714         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
62715         (mktime, not_equal_tm, print_tm, check_result,
62716         main): Use prototypes.  Use const * where appropriate.
62717         (main): Fix typo in testing code that uncovered by above changes.
62718         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
62719
62720 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62721
62722         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
62723         locale.h, localeconv.  This merges changes from coreutils.
62724
62725         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
62726         It can be removed after the next Autoconf is released.
62727         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
62728         needed.
62729
62730 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62731
62732         * lib/mktime.c: Fix Debian bug 177940
62733         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
62734         (localtime_offset): Now long int, not time_t, because we want it
62735         to be guaranteed to be signed.  All uses changed.
62736         (__mktime_internal): If overflow would occur when adding offset,
62737         don't add it.
62738
62739         Merge 'human' changes from coreutils.  Rewrite to support
62740         locale-specific notations like thousands separators.
62741         * lib/human.c: Simplify authorship notice.
62742         Include human.h immediately after config.h.
62743         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
62744         <limits.h>: Do not include, since human.h does.
62745         (SIZE_MAX, UINTMAX_MAX): New macros.
62746         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
62747         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
62748         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
62749         (power_letter): Renamed from suffixes.
62750         (generate_suffix_backwards): Remove.
62751         (adjust_value): Now takes int style (because of human.h changes)
62752         and long double value (for greater precision on some platforms).
62753         (group_number): New function.
62754         (human_readable): Use it.  Use integer options, not enum.
62755         Put the options before the sizes in the arg list.
62756         Support all the new options.
62757         The old human_readable function has been removed;
62758         use inttostr.h instead.
62759         (human_readable, default_block_size, humblock):
62760         Use uintmax_t, not int, for block sizes.
62761         (human_readable_inexact, block_size_types): Remove.
62762         (block_size_opts): New constant.
62763         (human_options): Renamed from human_block_size, with new signature
62764         that allows block sizes up to UINTMAX_MAX.  All callers changed.
62765         * lib/human.h: Add copyright and authorship notice.
62766         Include <limits.h> and <stdbool.h> unconditionally.
62767         (PARAMS): Remove.  All uses removed.
62768         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
62769         (enum human_inexact_style): Remove tag; now a nameless enum.
62770         (human_floor, human_ceiling, human_round_to_even): Now have
62771         values 2, 0, 1 rather than -1, 1, 0.
62772         (human_group_digits, human_suppress_point_zero, human_autoscale,
62773         human_base_1024, human_SI, human_B): New constants.
62774         (human_readable_inexact, human_block_size): Remove.
62775         (human_readable): Size args are now uintmax_t, not int.
62776         (human_options): New decl.
62777
62778         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
62779         unnecessary now that we assume C89 or better.  This change
62780         imported from coreutils.
62781
62782         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62783         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
62784         in the 2003-05-30 sync from glibc.
62785
62786         .h files should stand alone, but we shouldn't include <sys/types.h>
62787         if we can get away with just <stddef.h>.
62788
62789         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
62790         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
62791         rather than <sys/types.h>, as we merely need size_t.
62792         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
62793         to get size_t.
62794         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
62795         Include <stdio.h>, to get FILE.
62796         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
62797         memcasecmp.h has included <stddef.h> and all we need is size_t.
62798         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
62799         our interface, instead of including <sys/types.h>
62800
62801 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62802
62803         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
62804         now, as glibc mktime is buggy on non-glibc systems.
62805
62806 2003-06-03  Karl Berry  <karl@gnu.org>
62807
62808         * config/config.sub: update from prep.
62809
62810 2003-06-02  Paul Eggert  <eggert@twinsun.com>
62811
62812         [from coreutils]
62813         Fix some minor time-related bugs with POSIX time arguments.
62814         Some valid time stamps were being rejected (notably -1, and
62815         time stamps before 1900 on 64-bit hosts).  And some invalid
62816         time stamps were being accepted, e.g. September 31.
62817
62818         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
62819         that we can return (time_t) -1 successfully.
62820         * lib/posixtm.c: Likewise.
62821         [HAVE_STDBOOL_H]: Include <stdbool.h>.
62822         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
62823         (t): Remove static var.
62824         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
62825         of static var.  All uses changed.
62826         (year): Do not reject years before 1900; they can occur with
62827         64-bit time_t.
62828         (posix_time_parse): Do not check for out-of-range components;
62829         that is now the caller's responsibility, since our checks were
62830         only approximations.
62831         (posixtime): Use mktime to check for out-of-range components,
62832         since it knows them exactly.
62833         If mktime returns (time_t) -1, check whether an error actually occurred
62834         by invoking localtime on -1.
62835         (main) [TEST_POSIXTIME]: Check for input data errors, and report
62836         posixtime failures better.
62837         Improve the test data (in comments only).
62838
62839 2003-06-02  Karl Berry  <karl@gnu.org>
62840
62841         * config/mkinstalldirs (version): new variable.
62842         (--version): new option.
62843         (usage): improve message.
62844
62845 2003-05-30  Karl Berry  <karl@gnu.org>
62846
62847         * lib/mktime.c: update from libc.
62848
62849 2003-05-30  Bruno Haible  <bruno@clisp.org>
62850
62851         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
62852         * config/config.rpath: Upgrade to gettext-0.12.1.
62853
62854 2003-05-30  Bruno Haible  <bruno@clisp.org>
62855
62856         * m4/gettext.m4: Upgrade to gettext-0.12.1.
62857         * m4/nls.m4: New file, from gettext-0.12.1.
62858         * m4/po.m4: New file, from gettext-0.12.1.
62859         * m4/progtest.m4: Upgrade to gettext-0.12.1.
62860
62861 2003-05-30  Bruno Haible  <bruno@clisp.org>
62862
62863         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
62864         * lib/localcharset.h: Likewise.
62865         * lib/localcharset.c: Likewise.
62866
62867 2003-05-29  Karl Berry  <karl@gnu.org>
62868
62869         * config/config.rpath: update from gettext.
62870
62871 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62872
62873         Assume the headers required for C89 freestanding compilers.
62874         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
62875         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
62876         * m4/human.m4 (gl_HUMAN): Likewise.
62877         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
62878         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
62879         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62880         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
62881         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62882         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
62883
62884 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62885
62886         Assume the headers required for C89 freestanding compilers.
62887         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
62888         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
62889         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
62890         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
62891         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
62892         define, since <limits.h> is guaranteed to do that.
62893         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
62894         * lib/exclude.c: Include <stdbool.h> unconditionally.
62895         * lib/tempname.c: Include <stddef.h> unconditionally.
62896         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
62897         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
62898         <stddef.h> does that.
62899         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
62900         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
62901         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
62902         needed.
62903         * lib/xstrtol.c: Likewise.
62904         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
62905         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
62906
62907         * lib/addext.c (addext): Use assignment rather than cast, to avoid
62908         warnings on some platforms.
62909
62910         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62911         arbitrarily.
62912
62913 2003-05-26  Jim Meyering  <jim@meyering.net>
62914
62915         Merge in a change from coreutils:
62916         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
62917         that is guaranteed to be `no'.  Use `no_such_member' to indicate
62918         that condition, rather than `-1' which is slightly misleading.
62919         Change the name of the cache variable to have the gl_ prefix.
62920         Prompted by a patch from Richard Dawe for DJGPP.
62921
62922 2003-05-24  Karl Berry  <karl@gnu.org>
62923
62924         * config/config.guess: update from prep.
62925
62926 2003-05-22  Karl Berry  <karl@gnu.org>
62927
62928         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
62929
62930 2003-05-20  Karl Berry  <karl@gnu.org>
62931
62932         * config/config.guess: update from prep.
62933
62934 2003-05-18  Karl Berry  <karl@gnu.org>
62935
62936         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
62937         might actually be set by the user.
62938
62939         * config/depcomp, install-sh, mdate-sh: update from automake.
62940
62941 2003-05-17  Bruno Haible  <bruno@clisp.org>
62942
62943         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
62944         invalid expansion for AC_EGREP_CPP.
62945         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62946         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62947         Suggested by Akim Demaille <akim@epita.fr> in
62948         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
62949
62950 2003-05-12  Jim Meyering  <jim@meyering.net>
62951
62952         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
62953         the space-padded-by-default conversion specifiers, %e, %k, %l.
62954
62955 2003-05-12  Bruno Haible  <bruno@clisp.org>
62956
62957         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
62958         the string is longer than 4 KB.
62959
62960 2003-05-11  Karl Berry  <karl@gnu.org>
62961
62962         * config/config.{guess,sub}: update from prep.
62963
62964 2003-05-09  Bruno Haible  <bruno@clisp.org>
62965
62966         * modules/error: Add m4/strerror_r.m4 to file list.
62967
62968 2003-05-03  Bruno Haible  <bruno@clisp.org>
62969
62970         Upgrade to Unicode-4.0.
62971         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
62972         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
62973         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
62974         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
62975         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
62976         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
62977         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
62978         Change width of U+E0100..U+E01EF from 1 to 0.
62979
62980 2003-04-25  Jim Meyering  <jim@meyering.net>
62981
62982         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
62983         of type size_t, not int.
62984
62985 2003-04-25  Bruno Haible  <bruno@clisp.org>
62986
62987         * lib/copy-file.c: Include <stddef.h>, for size_t.
62988
62989 2003-04-21  Paul Eggert  <eggert@twinsun.com>
62990
62991         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
62992         code which expansion is under static control.  Patch imported from
62993         Akim Demaille's patch to Bison; see
62994         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
62995
62996 2003-04-14  Bruno Haible  <bruno@clisp.org>
62997
62998         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
62999
63000 2003-04-11  Jim Meyering  <jim@meyering.net>
63001
63002         Merge changes from Coreutils.
63003
63004         2003-03-22  Jim Meyering  <jim@meyering.net>
63005
63006         * lib/strftime.c (widen): Cast alloca return value to proper type.
63007
63008         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
63009
63010         From GNU libc.
63011         * lib/strftime.c (my_strftime): Handle very large width
63012         specifications for numeric values correctly.  Improve checks for
63013         overflow.
63014
63015         2003-01-19  Jim Meyering  <jim@meyering.net>
63016
63017         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
63018         definitions.
63019         (nl_get_alt_digit) [! defined my_strftime]: Define.
63020         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
63021         _nl_get_alt_digit and _nl_get_walt_digit.
63022
63023         * lib/strftime.c (my_strftime): Merge in locale-related changes from
63024         libc. These changes have no effect outside of _LIBC.
63025
63026 2003-04-10  Bruno Haible  <bruno@clisp.org>
63027
63028         * modules/findprog: New file.
63029         * MODULES.html.sh (func_all_modules): Add it.
63030
63031 2003-04-10  Bruno Haible  <bruno@clisp.org>
63032
63033         * m4/findprog.m4: New file.
63034         * m4/eaccess.m4: New file.
63035
63036 2003-04-10  Bruno Haible  <bruno@clisp.org>
63037
63038         * lib/findprog.h: New file, from GNU gettext.
63039         * lib/findprog.c: New file, from GNU gettext.
63040
63041 2003-04-05  Jim Meyering  <jim@meyering.net>
63042
63043         Merge changes from Coreutils.
63044
63045         * lib/exclude.h (PARAMS): Remove definition and uses.
63046         * lib/exclude.c: Remove uses of `PARAMS'.
63047
63048         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
63049         Add test-cases for DOS filenames. Declare program_name.
63050         (main): Set up program_name.  Patch by Rich Dawe.
63051
63052         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63053         error from mntctl.
63054         Use mntctl's return value to drive the entry-processing loop, since
63055         we can't rely on the value of the vmt_length member in the last
63056         entry.  On some systems doing so could result in exhausting
63057         virtual memory.  Based in part on a patch from Mike Jetzer.
63058
63059 2003-04-04  Bruno Haible  <bruno@clisp.org>
63060
63061         * modules/linebreak: New file.
63062         * MODULES.html.sh (func_all_modules): Add it.
63063
63064 2003-04-04  Bruno Haible  <bruno@clisp.org>
63065
63066         * m4/linebreak.m4: New file.
63067
63068 2003-04-04  Bruno Haible  <bruno@clisp.org>
63069
63070         * lib/linebreak.h: New file, from GNU gettext.
63071         * lib/linebreak.c: New file, from GNU gettext with slight
63072         modifications.
63073         * lib/lbrkprop.h: New file, from GNU gettext.
63074
63075 2003-04-03  Bruno Haible  <bruno@clisp.org>
63076
63077         * modules/utf8-ucs4: New file.
63078         * modules/utf16-ucs4: New file.
63079         * modules/ucs4-utf8: New file.
63080         * modules/ucs4-utf16: New file.
63081         * MODULES.html.sh (func_all_modules): Add them.
63082
63083 2003-04-03  Bruno Haible  <bruno@clisp.org>
63084
63085         * m4/utf-ucs4.m4: New file.
63086         * m4/ucs4-utf.m4: New file.
63087
63088 2003-04-03  Bruno Haible  <bruno@clisp.org>
63089
63090         * lib/utf8-ucs4.h: New file, from GNU gettext.
63091         * lib/utf16-ucs4.h: New file, from GNU gettext.
63092         * lib/ucs4-utf8.h: New file, from GNU gettext.
63093         * lib/ucs4-utf16.h: New file, from GNU gettext.
63094
63095 2003-04-02  Bruno Haible  <bruno@clisp.org>
63096
63097         * modules/binary-io: New file.
63098         * MODULES.html.sh (func_all_modules): Add it.
63099
63100 2003-04-02  Bruno Haible  <bruno@clisp.org>
63101
63102         * lib/binary-io.h: New file, from GNU gettext.
63103
63104 2003-04-01  Bruno Haible  <bruno@clisp.org>
63105
63106         * modules/pathname: New file.
63107         * MODULES.html.sh (func_all_modules): Add it.
63108
63109 2003-04-01  Bruno Haible  <bruno@clisp.org>
63110
63111         * lib/pathname.h: New file, from GNU gettext.
63112         * lib/concatpath.c: New file, from GNU gettext.
63113
63114 2003-03-30  Bruno Haible  <bruno@clisp.org>
63115
63116         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
63117
63118 2003-03-30  Bruno Haible  <bruno@clisp.org>
63119
63120         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
63121         function chown() doesn't exist.
63122
63123 2003-03-28  Bruno Haible  <bruno@clisp.org>
63124
63125         * modules/copy-file: New file.
63126         * MODULES.html.sh (func_all_modules): Add it.
63127
63128 2003-03-28  Bruno Haible  <bruno@clisp.org>
63129
63130         * m4/copy-file.m4: New file.
63131
63132 2003-03-28  Bruno Haible  <bruno@clisp.org>
63133
63134         * lib/copy-file.h: New file, from GNU gettext.
63135         * lib/copy-file.c: New file, from GNU gettext.
63136
63137 2003-03-18  Jim Meyering  <jim@meyering.net>
63138
63139         * lib/quote.c (quote_n): Fix typo in comment.
63140
63141 2003-03-18  Bruno Haible  <bruno@clisp.org>
63142
63143         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
63144         checking.
63145         * m4/onceonly_2_57.m4: Likewise.
63146
63147 2003-03-17  Bruno Haible  <bruno@clisp.org>
63148
63149         * m4/onceonly.m4: Require autoconf 2.54 or newer.
63150         (m4_quote): Remove macro.
63151         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
63152
63153 2003-03-14  Jim Meyering  <jim@meyering.net>
63154
63155         Merge changes from Coreutils.
63156         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
63157         to be const, in order to avoid warnings.
63158         (obstack_room): Likewise.
63159         (obstack_empty_p): Likewise.
63160
63161 2003-03-14  Bruno Haible  <bruno@clisp.org>
63162
63163         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
63164         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
63165
63166 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63167
63168         Merge changes from Bison.
63169         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
63170         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
63171         when compiling Bison 1.875's `bitset bset = obstack_alloc
63172         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
63173         * lib/hash.c: Include <stdbool.h> unconditionally.
63174
63175 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63176
63177         * m4/onceonly.m4 (m4_quote): New macro.
63178         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
63179         Quote AC_FOREACH variable-expansions properly.
63180
63181 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63182
63183         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
63184
63185 2003-03-09  Paul Eggert  <eggert@twinsun.com>
63186
63187         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
63188         Reported by Bruce Becker; see:
63189         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
63190
63191 2003-03-03  Paul Eggert  <eggert@twinsun.com>
63192             Bruno Haible  <bruno@clisp.org>
63193
63194         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
63195         Reported by John Hughes, see
63196         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
63197
63198 2003-02-20  Bruno Haible  <bruno@clisp.org>
63199
63200         * MODULES.html.sh (func_all_modules): Add poll.
63201
63202 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63203
63204         * modules/poll: New file.
63205
63206 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63207
63208         * lib/poll_.h: New file.
63209         * lib/poll.c: New file.
63210
63211 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63212
63213         * m4/poll.m4: New file.
63214
63215 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63216
63217         * modules/mathl: New file.
63218
63219 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63220
63221         * lib/mathl.h: New file.
63222         * lib/acosl.c: New file.
63223         * lib/asinl.c: New file.
63224         * lib/atanl.c: New file.
63225         * lib/ceill.c: New file.
63226         * lib/cosl.c: New file.
63227         * lib/expl.c: New file.
63228         * lib/floorl.c: New file.
63229         * lib/frexpl.c: New file.
63230         * lib/ldexpl.c: New file.
63231         * lib/logl.c: New file.
63232         * lib/sincosl.c: New file.
63233         * lib/sinl.c: New file.
63234         * lib/sqrtl.c: New file.
63235         * lib/tanl.c: New file.
63236         * lib/trigl.c: New file.
63237         * lib/trigl.h: New file.
63238
63239 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63240
63241         * m4/mathl.m4: New file.
63242
63243 2003-02-18  Bruno Haible  <bruno@clisp.org>
63244
63245         * MODULES.html.sh (func_all_modules): Add mathl.
63246
63247 2003-02-17  Bruno Haible  <bruno@clisp.org>
63248
63249         * modules/mkdtemp: New module.
63250         * MODULES.html.sh (func_all_modules): Add it.
63251
63252 2003-02-17  Bruno Haible  <bruno@clisp.org>
63253
63254         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
63255
63256 2003-02-17  Bruno Haible  <bruno@clisp.org>
63257
63258         * lib/mkdtemp.h: New file, from GNU gettext.
63259         * lib/mkdtemp.c: New file, from GNU gettext.
63260
63261 2003-02-02  Jim Meyering  <jim@meyering.net>
63262
63263         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
63264         e.g. glibc-2.2.93.
63265
63266 2003-01-31  Bruno Haible  <bruno@clisp.org>
63267
63268         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
63269         'rpl_rename'.
63270         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
63271         'rpl_strnlen'.
63272         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
63273         'rpl_strtod'.
63274         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
63275         'rpl_utime'.
63276
63277 2003-01-31  Bruno Haible  <bruno@clisp.org>
63278
63279         * lib/rename.c: #undef rename before defining rpl_rename.
63280         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
63281
63282 2003-01-30  Bruno Haible  <bruno@clisp.org>
63283
63284         * modules/vasnprintf, modules/vasprintf: New modules.
63285         * MODULES.html.sh (func_all_modules): Add them.
63286
63287 2003-01-30  Bruno Haible  <bruno@clisp.org>
63288
63289         * m4/signed.m4: New file, from GNU gettext.
63290         * m4/longdouble.m4: New file, from GNU gettext.
63291         * m4/wchar_t.m4: New file, from GNU gettext.
63292         * m4/wint_t.m4: New file, from GNU gettext.
63293         * m4/vasnprintf.m4: New file.
63294         * m4/vasprintf.m4: New file.
63295
63296 2003-01-30  Bruno Haible  <bruno@clisp.org>
63297
63298         * lib/printf-args.h: New file, from GNU gettext.
63299         * lib/printf-args.c: New file, from GNU gettext.
63300         * lib/printf-parse.h: New file, from GNU gettext.
63301         * lib/printf-parse.c: New file, from GNU gettext.
63302         * lib/vasnprintf.h: New file, from GNU gettext.
63303         * lib/vasnprintf.c: New file, from GNU gettext.
63304         * lib/asnprintf.c: New file, from GNU gettext.
63305         * lib/vasprintf.h: New file, from GNU gettext with modifications.
63306         * lib/vasprintf.c: New file, from GNU gettext.
63307         * lib/asprintf.c: New file, from GNU gettext.
63308
63309 2003-01-29  Bruno Haible  <bruno@clisp.org>
63310
63311         * modules/stpncpy: New module.
63312         * MODULES.html.sh (func_all_modules): Add it.
63313
63314 2003-01-29  Bruno Haible  <bruno@clisp.org>
63315
63316         * m4/stpncpy.m4: New file.
63317
63318 2003-01-29  Bruno Haible  <bruno@clisp.org>
63319
63320         * lib/stpncpy.h: New file, from GNU gettext with modifications.
63321         * lib/stpncpy.c: New file, from GNU gettext with modifications.
63322
63323 2003-01-28  Bruno Haible  <bruno@clisp.org>
63324
63325         * modules/c-ctype: New module.
63326         * MODULES.html.sh (func_all_modules): Add it.
63327
63328 2003-01-28  Bruno Haible  <bruno@clisp.org>
63329
63330         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
63331         Paul Eggert.
63332         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
63333         Paul Eggert.
63334
63335 2003-01-27  Bruno Haible  <bruno@clisp.org>
63336
63337         * modules/xsetenv: New module.
63338         * MODULES.html.sh (func_all_modules): Add it.
63339
63340 2003-01-27  Bruno Haible  <bruno@clisp.org>
63341
63342         * lib/xsetenv.h: New file, from GNU gettext.
63343         * lib/xsetenv.c: New file, from GNU gettext.
63344
63345 2003-01-23  Jim Meyering  <jim@meyering.net>
63346
63347         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
63348         from working on systems without dirfd (at least Irix and OSF1/Tru64).
63349
63350 2003-01-23  Bruno Haible  <bruno@clisp.org>
63351
63352         * modules/minmax: New module.
63353         * MODULES.html.sh (func_all_modules): Add it.
63354
63355 2003-01-23  Bruno Haible  <bruno@clisp.org>
63356
63357         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
63358         Eggert.
63359
63360 2003-01-22  Bruno Haible  <bruno@clisp.org>
63361
63362         * modules/exit: New module.
63363         * MODULES.html.sh (func_all_modules): Add it.
63364
63365 2003-01-22  Bruno Haible  <bruno@clisp.org>
63366
63367         * lib/exit.h: New file, from GNU gettext.
63368
63369 2003-01-19  Bruno Haible  <bruno@clisp.org>
63370
63371         * gnulib-tool: Recognize option --extract-maintainer.
63372         (func_get_maintainer): New function.
63373         * modules/*: Add Maintainer entry.
63374
63375 2003-01-16  Jim Meyering  <jim@meyering.net>
63376
63377         * m4/regex.m4: The `regex' struct is both input and output.
63378         Initialize it before each use.  Patch by Tim Waugh.
63379
63380 2003-01-16  Bruno Haible  <bruno@clisp.org>
63381
63382         * MODULES.html.sh: Add a table of contents. Add the module name as
63383         leftmost column. Add hyperlinks.
63384
63385 2003-01-15  Bruno Haible  <bruno@clisp.org>
63386
63387         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
63388
63389 2003-01-15  Bruno Haible  <bruno@clisp.org>
63390
63391         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
63392         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
63393         suffix.
63394
63395 2003-01-15  Bruno Haible  <bruno@clisp.org>
63396
63397         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
63398
63399 2003-01-15  Bruno Haible  <bruno@clisp.org>
63400
63401         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
63402         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
63403
63404 2003-01-14  Jim Meyering  <jim@meyering.net>
63405
63406         * lib/same.c (same_name): Tweak a comment.
63407
63408 2003-01-14  Bruno Haible  <bruno@clisp.org>
63409
63410         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
63411         when a string comparison is sufficient.
63412
63413 2003-01-14  Bruno Haible  <bruno@clisp.org>
63414
63415         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
63416         'unsigned int'.
63417
63418 2003-01-14  Bruno Haible  <bruno@clisp.org>
63419
63420         * lib/hash-pjw.c: Add comment about low quality of this function.
63421
63422 2003-01-13  Bruno Haible  <bruno@clisp.org>
63423
63424         * modules/stpcpy: Distribute lib/stpcpy.h.
63425         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
63426
63427 2003-01-13  Bruno Haible  <bruno@clisp.org>
63428
63429         * modules/*: Add a description.
63430         * modules/strpbrk: Fix Makefile.am snippet.
63431         * modules/strtoimax: Fix dependencies.
63432         * modules/strtoumax: Likewise.
63433
63434 2003-01-13  Bruno Haible  <bruno@clisp.org>
63435
63436         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
63437         * modules/alloca (Makefile.am): All object files depend on alloca.h.
63438         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
63439
63440 2003-01-13  Bruno Haible  <bruno@clisp.org>
63441
63442         * gnulib-tool (func_create_testdir): Store config/* files in the main
63443         directory.
63444         * config.rpath: Move to ...
63445         * config/config.rpath: ... here.
63446         * modules/gettext: Contains config/config.rpath, not config.rpath.
63447         * modules/iconv: Likewise.
63448
63449 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63450
63451         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63452         to avoid collisions with libcurses and libreadline.
63453
63454         * m4/getstr.m4: Remove.
63455         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
63456
63457 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63458
63459         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63460         to avoid collisions with libcurses and libreadline.
63461
63462         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
63463         * lib/getstr.h, getstr.c: Remove.
63464         * lib/getline.c: Include "getline.h", to check interface.
63465         Move body of old getstr.c here: this defines MIN_CHUNK and
63466         declares getdelim2, which is renamed from getstr.
63467         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
63468
63469         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
63470         All uses changed.
63471         * lib/linebuffer.h: Likewise.
63472         (readline): Remove backward-compatibility macro.
63473
63474 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63475
63476         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63477         to avoid collisions with libcurses and libreadline.
63478         * getstr: Remove.
63479         * MODULES.html.sh: Remove getstr.
63480         * modules/getline: Depend on unlocked-io, not getstr.
63481
63482 2003-01-12  Jim Meyering  <jim@meyering.net>
63483
63484         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
63485
63486 2003-01-10  Bruno Haible  <bruno@clisp.org>
63487
63488         * modules/alloca: Change Makefile.am requirements. Simplify Include
63489         requirements. Add lib/alloca_.h to file list.
63490
63491 2003-01-10  Bruno Haible  <bruno@clisp.org>
63492
63493         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
63494
63495 2003-01-10  Bruno Haible  <bruno@clisp.org>
63496
63497         * lib/alloca_.h: New file.
63498         * lib/getdate.y: Unconditionally include alloca.h.
63499         * lib/makepath.c: Likewise.
63500         * lib/setenv.c: Likewise.
63501         * lib/userspec.c: Likewise.
63502
63503 2003-01-09  Karl Berry  <karl@gnu.org>
63504
63505         * MODULES.html.sh: include `dirname $0` in PATH, to find
63506         gnulib-tool.
63507
63508 2003-01-09  Bruno Haible  <bruno@clisp.org>
63509
63510         * modules/stdbool: Change configure.ac, Makefile.am requirements.
63511         Simplify Include requirements. Add lib/stdbool.h.in to file list.
63512
63513 2003-01-09  Bruno Haible  <bruno@clisp.org>
63514
63515         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
63516
63517 2003-01-09  Bruno Haible  <bruno@clisp.org>
63518
63519         * lib/stdbool.h.in: New file.
63520
63521 2003-01-09  Bruno Haible  <bruno@clisp.org>
63522
63523         * gnulib-tool (func_all_modules): Ignore files ending in ~.
63524         * MODULES.html.sh: Likewise.
63525
63526 2003-01-08  Jim Meyering  <jim@meyering.net>
63527
63528         * lib/full-write.c: Undefine and define-away `const' after inclusion
63529         of errno.h, not before.  Suggestion from Bruno Haible.
63530
63531 2003-01-08  Bruno Haible  <bruno@clisp.org>
63532
63533         * modules/full-read: Depend on full-write.
63534
63535 2003-01-08  Bruno Haible  <bruno@clisp.org>
63536
63537         * lib/safe-read.c: Include specification header first, to ensure its
63538         selfcontainedness.
63539         * lib/full-write.c: Likewise.
63540
63541 2003-01-07  Jim Meyering  <jim@meyering.net>
63542
63543         * lib/full-write.c: Rework so that it may serve to define full_read,
63544         too.
63545         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
63546
63547 2003-01-07  Bruno Haible  <bruno@clisp.org>
63548
63549         * lib/strtoimax.c: Include <stdint.h> as an alternative to
63550         <inttypes.h>.
63551         * lib/xstrtol.h: Likewise.
63552         * lib/xstrtoimax.c: Likewise.
63553         * lib/xstrtoumax.c: Likewise.
63554         * lib/human.h: Likewise.
63555
63556         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
63557         on systems that have <inttypes.h> but not <stdint.h>.
63558
63559 2003-01-07  Bruno Haible  <bruno@clisp.org>
63560
63561         * MODULES.html.sh: Add copyright notice.
63562         (missed_files): Omit CVS directory entries.
63563         (func_module): Make it work with sed-3.02.
63564         * MODULES.txt: Remove file.
63565
63566 2003-01-06  Jim Meyering  <jim@meyering.net>
63567
63568         * lib/version-etc.c: Update year in translatable copyright string.
63569
63570 2003-01-03  Karl Berry  <karl@gnu.org>
63571
63572         * config/config.{guess,sub}: update from prep.
63573
63574 2003-01-02  Karl Berry  <karl@gnu.org>
63575
63576         * doc/COPYING.DOC: belatedly updated to 1.2.
63577
63578 2003-01-01  Karl Berry  <karl@gnu.org>
63579
63580         * gnulib-tool (func_verify_module): report module name $module in
63581         error message, not $1.
63582         * gnulib-tool (create-testdir): don't complain if destdir couldn't
63583         be created, only if it doesn't exist.
63584         * gnulib-tool (last_checkin_date): don't expand the $Date here.
63585
63586 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63587
63588         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
63589
63590 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63591
63592         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
63593         memcmp if strcoll doesn't work.
63594
63595 2002-12-31  Bruno Haible  <bruno@clisp.org>
63596
63597         * lib/utime.c (utime_null): No need to call ftruncate if the file was
63598         nonempty.
63599
63600 2002-12-31  Bruno Haible  <bruno@clisp.org>
63601
63602         * lib/memcoll.c (STRCOLL): New macro.
63603         (memcoll): Use it.
63604
63605 2002-12-31  Bruno Haible  <bruno@clisp.org>
63606
63607         * lib/localcharset.h: New file.
63608         * lib/localcharset.c: Include it.
63609         * lib/unicodeio.c: Likewise.
63610
63611 2002-12-31  Bruno Haible  <bruno@clisp.org>
63612
63613         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
63614         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
63615
63616 2002-12-31  Bruno Haible  <bruno@clisp.org>
63617
63618         * lib/getline.h: Include <stddef.h>, for size_t.
63619
63620         * lib/unicodeio.h: Include <stddef.h>, for size_t.
63621         * lib/unicodeio.c: Don't include <stddef.h>.
63622
63623 2002-12-31  Bruno Haible  <bruno@clisp.org>
63624
63625         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
63626         HAVE_TM_ZONE.
63627
63628 2002-12-24  Karl Berry  <karl@gnu.org>
63629
63630         * config/config.guess: update from prep.
63631
63632 2002-12-24  Bruno Haible  <bruno@clisp.org>
63633
63634         General infrasructure.
63635         * m4/README: Rewritten.
63636         * m4/onceonly.m4: New file.
63637         * m4/onceonly_2_57.m4: New file.
63638
63639         Module atexit.
63640         * m4/atexit.m4: New file.
63641
63642         Module strtod.
63643         * m4/strtod.m4: New file.
63644
63645         Module strtol.
63646         * m4/strtol.m4: New file.
63647
63648         Module strtoul.
63649         * m4/strtoul.m4: New file.
63650
63651         Module memchr.
63652         * m4/memchr.m4: New file.
63653
63654         Module memcmp.
63655         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
63656         (jm_FUNC_MEMCMP): Invoke it.
63657
63658         Module memcpy.
63659         * m4/memcpy.m4: New file.
63660
63661         Module memmove.
63662         * m4/memmove.m4: New file.
63663
63664         Module memset.
63665         * m4/memset.m4: New file.
63666
63667         Module strcspn.
63668         * m4/strcspn.m4: New file.
63669
63670         Module strpbrk.
63671         * m4/strpbrk.m4: New file.
63672
63673         Module strstr.
63674         * m4/strstr.m4: New file.
63675
63676         Module strerror.
63677         * m4/strerror.m4: New file.
63678
63679         Module mktime.
63680         * m4/mktime.m4: Renamed from jm-mktime.m4.
63681         (gl_PREREQ_MKTIME): New macro.
63682         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
63683
63684         Module malloc.
63685         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
63686         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
63687         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
63688
63689         Module realloc.
63690         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
63691         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
63692         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
63693
63694         Module strftime.
63695         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
63696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
63697         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
63698         gl_TM_GMTOFF.
63699         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
63700
63701         Module xalloc.
63702         * m4/xalloc.m4: New file.
63703
63704         Module alloca.
63705         * m4/alloca.m4: New file.
63706
63707         Module putenv.
63708         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
63709         (jm_FUNC_PUTENV): Invoke it.
63710
63711         Module setenv.
63712         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
63713         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
63714         when invoked twice.
63715         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
63716         gt_FUNC_SETENV.
63717
63718         Module memrchr.
63719         * m4/memrchr.m4: New file.
63720
63721         Module stpcpy.
63722         * m4/stpcpy.m4: New file.
63723
63724         Module strcase.
63725         * m4/strcase.m4: New file.
63726
63727         Module strdup.
63728         * m4/strdup.m4: New file.
63729
63730         Module strnlen.
63731         * m4/strnlen.m4: New file.
63732
63733         Module strndup.
63734         * m4/strndup.m4: New file.
63735
63736         Module xstrtod.
63737         * m4/xstrtod.m4: New file.
63738
63739         Module xstrtol.
63740         * m4/xstrtol.m4: New file.
63741
63742         Module getdate.
63743         * m4/getdate.m4: New file.
63744
63745         Module unlocked-io.
63746         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
63747         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
63748         * m4/jm-glibc-io.m4n: Remove file.
63749
63750         Module long-options.
63751         * m4/long-options.m4: New file.
63752
63753         Module md5.
63754         * m4/md5.m4: New file.
63755
63756         Module sha.
63757         * m4/sha.m4: New file.
63758
63759         Module getstr.
63760         * m4/getstr.m4: New file.
63761
63762         Module getline.
63763         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
63764         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
63765         <sys/types.h>, for size_t. Use the function name gnu_getline, not
63766         simply getline. Infoke gl_PREREQ_GETLINE.
63767
63768         Module obstack.
63769         * m4/obstack.m4: New file.
63770
63771         Module hash.
63772         * m4/hash.m4: New file.
63773
63774         Module readtokens.
63775         * m4/readtokens.m4: New file.
63776
63777         Module strverscmp.
63778         * m4/strverscmp.m4: New file.
63779
63780         Module stdbool.
63781         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
63782         OSF/1.
63783
63784         Module strtoll.
63785         * m4/strtoll.m4: New file.
63786
63787         Module strtoull.
63788         * m4/strtoull.m4: New file.
63789
63790         Module strtoimax.
63791         * m4/strtoimax.m4: New file.
63792
63793         Module strtoumax.
63794         * m4/strtoumax.m4: New file.
63795
63796         Module xstrtoimax.
63797         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
63798         jm_AC_PREREQ_XSTRTOIMAX.
63799         Moved the strtol prerequisites to strtol.m4.
63800         Moved the strtoll prerequisites to strtoll.m4.
63801         Moved the strtoimax prerequisites to strtoimax.m4.
63802
63803         Module xstrtoumax.
63804         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
63805         jm_AC_PREREQ_XSTRTOUMAX.
63806         Moved the strtoul prerequisites to strtoul.m4.
63807         Moved the strtoull prerequisites to strtoull.m4.
63808         Moved the strtoumax prerequisites to strtoumax.m4.
63809
63810         Module chown.
63811         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
63812         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
63813
63814         Module dup2.
63815         * m4/dup2.m4: New file.
63816
63817         Module ftruncate.
63818         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
63819         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
63820
63821         Module getgroups.
63822         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
63823         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
63824
63825         Module gettimeofday.
63826         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
63827         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
63828         gl_PREREQ_GETTIMEOFDAY.
63829
63830         Module mkdir.
63831         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
63832         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
63833
63834         Module mkstemp.
63835         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
63836         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
63837         jm_AC_TYPE_UINTMAX_T.
63838         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
63839
63840         Module stat.
63841         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
63842         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
63843
63844         Module lstat.
63845         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
63846         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
63847
63848         Module timespec.
63849         * m4/timespec.m4 (gl_TIMESPEC): New macro.
63850         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
63851         * m4/st_mtim.m4: Indentation.
63852
63853         Module nanosleep.
63854         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
63855         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
63856         gl_PREREQ_NANOSLEEP.
63857
63858         Module regex.
63859         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
63860         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
63861         (gl_REGEX): New macro.
63862
63863         Module rename.
63864         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
63865         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
63866
63867         Module rmdir.
63868         * m4/rmdir.m4: New file.
63869
63870         Module utime.
63871         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
63872         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
63873         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
63874
63875         Module dirname.
63876         * m4/dirname.m4: New file.
63877
63878         Module getopt.
63879         * m4/getopt.m4: New file.
63880
63881         Module unistd-safer.
63882         * m4/unistd-safer.m4: New file.
63883
63884         Module fnmatch.
63885         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
63886         declaration.
63887         (gl_PREREQ_FNMATCH_EXTRA): New macro.
63888         (gl_FUNC_FNMATCH_POSIX): New macro.
63889         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
63890         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
63891         simply fnmatch.
63892
63893         Module exclude.
63894         * m4/exclude.m4: New file.
63895
63896         Module human.
63897         * m4/human.m4: New file.
63898
63899         Module acl.
63900         * m4/acl.m4: Nop.
63901
63902         Module backupfile.
63903         * m4/backupfile.m4: New file.
63904         * m4/d-ino.m4: Indentation.
63905
63906         Module fsusage.
63907         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
63908         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
63909         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
63910
63911         Module dirfd.
63912         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
63913         requirements.
63914
63915         Module euidaccess.
63916         * m4/euidaccess.m4: New file.
63917
63918         Module file-type.
63919         * m4/file-type.m4: New file.
63920
63921         Module fileblocks.
63922         * m4/fileblocks.m4: New file.
63923
63924         Module filemode.
63925         * m4/filemode.m4: New file.
63926
63927         Module isdir.
63928         * m4/isdir.m4: New file.
63929
63930         Module lchown.
63931         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
63932         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
63933
63934         Module makepath.
63935         * m4/makepath.m4: New file.
63936
63937         Module modechange.
63938         * m4/modechange.m4: New file.
63939
63940         Module mountlist.
63941         * m4/mountlist.m4: New file.
63942         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
63943         Indentation.
63944
63945         Module path-concat.
63946         * m4/path-concat.m4: New file.
63947
63948         Module pathmax.
63949         * m4/pathmax.m4: New file.
63950
63951         Module same.
63952         * m4/same.m4: New file.
63953
63954         Module save-cwd.
63955         * m4/save-cwd.m4: New file.
63956
63957         Module savedir.
63958         * m4/savedir.m4: New file.
63959
63960         Module xgetcwd.
63961         * m4/xgetcwd.m4: New file.
63962         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
63963
63964         Module xreadlink.
63965         * m4/xreadlink.m4: New file.
63966
63967         Module safe-read.
63968         * m4/safe-read.m4: New file.
63969
63970         Module safe-write.
63971         * m4/safe-write.m4: New file.
63972
63973         Module closeout.
63974         * m4/closeout.m4: New file.
63975
63976         Module stdio-safer.
63977         * m4/stdio-safer.m4: New file.
63978
63979         Module getpass.
63980         * m4/getpass.m4: New file.
63981
63982         Module getugroups.
63983         * m4/getugroups.m4: New file.
63984
63985         Module group-member.
63986         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
63987         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
63988
63989         Module idcache.
63990         * m4/idcache.m4: New file.
63991
63992         Module userspec.
63993         * m4/userspec.m4: New file.
63994
63995         Module gettime.
63996         * m4/clock_time.m4: New file.
63997         * m4/gettime.m4: New file.
63998
63999         Module settime.
64000         * m4/settime.m4: New file.
64001
64002         Module posixtm.
64003         * m4/posixtm.m4: New file.
64004
64005         Module gethostname.
64006         * m4/gethostname.m4: New file.
64007
64008         Module canon-host.
64009         * m4/canon-host.m4: New file.
64010
64011         Module gettext.
64012         * m4/codeset.m4: New file, from gettext-0.11.5.
64013         * m4/gettext.m4: New file, from gettext-0.11.5.
64014         * m4/glibc21.m4: New file, from gettext-0.11.5.
64015         * m4/iconv.m4: New file, from gettext-0.11.5.
64016         * m4/intdiv0.m4: New file, from gettext-0.11.5.
64017         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
64018         * m4/inttypes.m4: New file, from gettext-0.11.5.
64019         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
64020         * m4/isc-posix.m4: New file, from gettext-0.11.5.
64021         * m4/lcmessage.m4: New file, from gettext-0.11.5.
64022         * m4/lib-ld.m4: New file, from gettext-0.11.5.
64023         * m4/lib-link.m4: New file, from gettext-0.11.5.
64024         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
64025         * m4/progtest.m4: New file, from gettext-0.11.5.
64026         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
64027         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
64028         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
64029
64030         Module localcharset.
64031         * m4/localcharset.m4: New file.
64032
64033         Module hard-locale.
64034         * m4/hard-locale.m4: New file.
64035
64036         Module mbswidth.
64037         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
64038         onceonly macros.
64039         * m4/mbrtowc.m4: Add comment.
64040
64041         Module memcasecmp.
64042         * m4/memcasecmp.m4: New file.
64043
64044         Module memcoll.
64045         * m4/memcoll.m4: New file.
64046
64047         Module unicodeio.
64048         * m4/unicodeio.m4: New file.
64049
64050         Module rpmatch.
64051         * m4/rpmatch.m4: New file.
64052
64053         Module yesno.
64054         * m4/yesno.m4: New file.
64055
64056         Module exitfail.
64057         * m4/exitfail.m4: New file.
64058
64059         Module c-stack.
64060         * m4/c-stack.m4 (gl_C_STACK): New macro.
64061         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
64062
64063         Module error.
64064         * m4/error.m4 (gl_ERROR): New macro.
64065         (jm_PREREQ_ERROR): Use onceonly macros.
64066
64067         Module fatal.
64068         * m4/fatal.m4: New file.
64069
64070         Module getloadavg.
64071         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
64072         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
64073
64074         Module getpagesize.
64075         * m4/getpagesize.m4: New file.
64076
64077         Module getusershell.
64078         * m4/getusershell.m4: New file.
64079
64080         Module physmem.
64081         * m4/physmem.m4: New file.
64082
64083         Module posixver.
64084         * m4/posixver.m4: New file.
64085
64086         Module quotearg.
64087         * m4/quotearg.m4: New file.
64088
64089         Module quote.
64090         * m4/quote.m4: New file.
64091
64092         Module readutmp.
64093         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
64094
64095         Module sig2str.
64096         * m4/sig2str.m4: New file.
64097
64098         Other.
64099         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
64100         ulonglong.m4.
64101         * m4/intmax_t.m4: New file.
64102         * m4/d-type.m4: Indentation.
64103         * m4/jm-macros.m4: Update.
64104         * m4/prereq.m4 (jm_PREREQ): Update.
64105         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
64106         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
64107         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
64108         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
64109         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
64110         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
64111         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
64112         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
64113         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
64114         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
64115         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
64116         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
64117         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
64118         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
64119         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
64120         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
64121         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
64122         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
64123         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
64124
64125 2002-12-24  Bruno Haible  <bruno@clisp.org>
64126
64127         * MODULES.txt: Update according to m4/ changes.
64128
64129         Module gettext.
64130         * config.rpath: New file, from gettext-0.11.5.
64131
64132         * modules/*: New module descriptions.
64133         * gnulib-tool: New file.
64134         * MODULES.html.sh: New file.
64135
64136 2002-12-21  Karl Berry  <karl@gnu.org>
64137
64138         * doc/fdl.texi: update to version 1.2.
64139
64140 2002-12-19  Karl Berry  <karl@gnu.org>
64141
64142         * config/config.guess: update from prep.
64143
64144 2002-12-18  Bruno Haible  <bruno@clisp.org>
64145
64146         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
64147         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
64148
64149 2002-12-17  Bruno Haible  <bruno@clisp.org>
64150
64151         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
64152         stdlib.h, string.h.
64153
64154 2002-12-17  Bruno Haible  <bruno@clisp.org>
64155
64156         * lib/canon-host.c (strdup): Remove unused declaration.
64157
64158         * lib/fsusage.c: Include full_read.h.
64159         (get_fs_usage): Use full_read instead of safe_read.
64160
64161         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
64162
64163 2002-12-12  Karl Berry  <karl@gnu.org>
64164
64165         * config/config.guess: update from prep.
64166
64167 2002-12-11  Bruno Haible  <bruno@clisp.org>
64168
64169         * m4/setenv.m4: New file, from gettext-0.11.5.
64170
64171 2002-12-11  Bruno Haible  <bruno@clisp.org>
64172
64173         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
64174         not unsetenv().
64175         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
64176         modifications:
64177
64178         2002-12-11  Bruno Haible  <bruno@clisp.org>
64179
64180                 * setenv.c (alloca): Fall back to malloc.
64181                 (freea): New macro.
64182                 (setenv): Use freea() to free memory allocated with alloca().
64183
64184         2002-11-13  Bruno Haible  <bruno@clisp.org>
64185
64186                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
64187                 function declarations.
64188                 * unsetenv.c (unsetenv): Likewise.
64189
64190         2002-03-04  Bruno Haible  <bruno@clisp.org>
64191
64192                 Portability to AIX 4.3.3.
64193                 * unsetenv.c: New file, extracted from setenv.c.
64194                 * setenv.c: Move the unsetenv() function to unsetenv.c.
64195
64196         2001-12-20  Bruno Haible  <bruno@clisp.org>
64197
64198                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
64199                 use malloc instead. For SunOS 4.
64200
64201         2001-12-11  Bruno Haible  <bruno@clisp.org>
64202
64203                 * setenv.c: Declare alloca.
64204                 (compar_fn_t): New typedef.
64205                 (KNOWN_VALUE, STORE_VALUE): Use it.
64206
64207         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
64208         setenv.h.
64209
64210 2002-12-10  Paul Eggert  <eggert@twinsun.com>
64211
64212         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
64213         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
64214         Choose values that are less likely to collide with system fnmatch
64215         options.
64216         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
64217         defined (e.g., a pure POSIX system).
64218         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
64219         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
64220
64221 2002-12-06  Paul Eggert  <eggert@twinsun.com>
64222
64223         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
64224         a pain in practice to deal with generated m4 files.  This change
64225         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
64226
64227         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
64228         and jm-glibc-io.m4, as they are no longer a special case.
64229         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
64230         kludge and the auto-generation stuff.  Check only whether the
64231         functions are declared, not whether they exist, since older hosts
64232         that don't declare the functions can't use the optimization anyway.
64233
64234 2002-12-06  Jim Meyering  <jim@meyering.net>
64235
64236         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
64237
64238         Merge in changes from libc's misc/error.c, in preparation
64239         for the merge of gnulib's changes back into libc.
64240
64241         * lib/error.c (_): Define only if not already defined.
64242         Move definition to follow all #include directives.
64243         Include unlocked-io.h only if !_LIBC.
64244         [_LIBC]: Include <libio/libioP.h>.
64245         [USE_IN_LIBIO]: Include <libio/iolibio.h>
64246         (fflush): Tweak definition to use INTUSE.
64247         (putc): Define.
64248
64249 2002-12-05  Paul Eggert  <eggert@twinsun.com>
64250
64251         * lib/alloca.c [defined emacs]: Include "lisp.h".
64252         (xalloc_die) [defined emacs]: New macro.
64253         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
64254         [! defined emacs]: Include <xalloc.h>.
64255         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
64256         (pointer): Typedef to POINTER_TYPE *.
64257         (malloc): Remove decl; we now always use xmalloc.
64258         (alloca): Use old-style definition, since Emacs needs this.
64259         Check for arithmetic overflow when computing combined size.
64260
64261 2002-12-04  Paul Eggert  <eggert@twinsun.com>
64262
64263         Do not generate unlocked-io.h automatically, since it's easier to
64264         maintain it by hand.
64265
64266         * lib/unlocked-io.h: New file, from GNU diffutils,
64267         but with proper copyright notice and attribution.
64268         * lib/gen-uio: Remove.
64269         * lib/Makefile.am: Add copyright notice.
64270         (libfetish_a_SOURCES): Add unlocked-io.h.
64271         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
64272         (DISTCLEANFILES, io_functions): Remove macros.
64273         (EXTRA_DIST): Remove gen_uio.
64274         (unlocked-io.h): Remove rule.
64275
64276 2002-12-04  Jim Meyering  <jim@meyering.net>
64277
64278         Reflect the fact that stat.c and lstat.c are no longer generated.
64279         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
64280         (DISTCLEANFILES): Likewise.
64281         (EXTRA_DIST): Likewise.
64282         (all_local): Don't depend on stat.c or lstat.c.
64283         (stat.c, lstat.c): Remove rules.
64284         (EXTRA_DIST): Remove xstat.in.
64285
64286         * lib/xstat.in: Remove file.  Contents moved into stat.c.
64287         * lib/stat.c: New file.  Contents mostly from xstat.in.
64288         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
64289         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
64290
64291         * lib/safe-read.c: Rework so that it may serve to define safe_write,
64292         too.
64293         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
64294
64295 2002-12-03  Jim Meyering  <jim@meyering.net>
64296
64297         * lib/safe-read.c, safe-write.c: Change variable names and comments,
64298         but not semantics, to minimize the differences between these two files.
64299         (safe_read): Change comment to mention SAFE_READ_ERROR.
64300
64301         * lib/safe-read.c (IS_EINTR): Define.
64302         (safe_read): Use IS_EINTR in place of in-function cpp directives.
64303
64304 2002-12-02  Jim Meyering  <jim@meyering.net>
64305
64306         * lib/safe-read.c (EINTR): Define.
64307         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64308         (INT_MAX): Provide fallback.
64309         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
64310
64311         * lib/safe-read.h (SAFE_READ_ERROR): Define.
64312
64313 2002-12-02  Bruno Haible  <bruno@clisp.org>
64314
64315         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
64316         Define, taken from safe-read.c.
64317         (INT_MAX): Provide fallback.
64318         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
64319         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
64320
64321         * lib/safe-read.c (EINTR): Remove definition.
64322         (safe_read): Don't use EINTR if it is absent.
64323
64324 2002-12-01  Jim Meyering  <jim@meyering.net>
64325
64326         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
64327         zero.
64328         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
64329
64330 2002-11-27  Paul Eggert  <eggert@twinsun.com>
64331
64332         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
64333         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
64334         with `if (! (value < limit)) abort ();', for readability.
64335
64336 2002-11-26  Karl Berry  <karl@gnu.org>
64337
64338         * lib/strdup.c: copy from libc again, with jim's ok.
64339         * lib/.cppi-disable: re-add strdup.c
64340
64341 2002-11-25  Karl Berry  <karl@gnu.org>
64342
64343         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
64344         instead of "strtol.c".
64345
64346 2002-11-25  Karl Berry  <karl@gnu.org>
64347
64348         * config/install-sh: update from automake for variable quoting, $0 in
64349         error msgs, etc.
64350
64351         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
64352         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
64353         entry.
64354
64355 2002-11-25  Jim Meyering  <jim@meyering.net>
64356
64357         * lib/mktime.c: Sync from libc, now that it has the latest fix.
64358
64359 2002-11-24  Karl Berry  <karl@gnu.org>
64360
64361         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
64362         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
64363
64364 2002-11-24  Jim Meyering  <jim@meyering.net>
64365
64366         Update from coreutils:
64367
64368         * lib/mktime.c: Merge in changes from libc.
64369
64370         Avoid a link-time failure on some Linux systems.
64371         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
64372         (otherwise).
64373         (__mon_yday): Declare with the STATIC attribute.
64374         (__mktime_internal): Likewise.
64375         Based on a report from Greg Schafer.
64376
64377 2002-11-23  Jim Meyering  <jim@meyering.net>
64378
64379         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
64380         Use `unsigned', not `int', as type of index.
64381
64382         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
64383
64384         * lib/fsusage.c: Remove unneeded parentheses around operands of
64385         `defined'.
64386
64387 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64388
64389         * lib/quotearg.h: Allow multiple inclusion by surrounding with
64390         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
64391         so that we can be included first.
64392         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
64393         * lib/quotearg.c: Include quotearg.h immediately after config.h.
64394         No need to include stddef.h or sys/types.h any more.
64395         Surround local include files with "", not "<>".
64396         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
64397         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
64398         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
64399         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
64400         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
64401         (ISPRINT): Remove; no longer needed now that we assume C89.
64402
64403         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
64404         Preserve errno.
64405
64406         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
64407         quotearg_char): Use SIZE_MAX rather than
64408         (size_t) -1 when we are talking about "infinity".
64409
64410         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
64411
64412 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64413
64414         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
64415         hint that one should use `if (! x) abort ();' rather than `assert
64416         (x);', and anyway it's one less thing to worry about configuring.
64417         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
64418         hash_rehash, hash_insert): Use abort rather than assert.
64419
64420 2002-11-22  Bruno Haible  <bruno@clisp.org>
64421
64422         * lib/safe-read.h: Assume C89. Add comments.
64423         (safe_read): Change return type to size_t.
64424         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
64425         byte counts > SSIZE_MAX correctly.
64426         * lib/safe-write.h: New file.
64427         * lib/safe-write.c: New file.
64428         * lib/full-read.h: New file.
64429         * lib/full-read.c: New file.
64430         * lib/full-write.h: Assume C89. Add comments.
64431         * lib/full-write.c: Include safe-write.h.
64432         (full_write): Rewritten to use safe_write.
64433         Suggested by Jim Meyering and Paul Eggert.
64434
64435 2002-11-21  Jim Meyering  <jim@meyering.net>
64436
64437         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
64438
64439         Merge in changes from the coreutils.
64440
64441         2002-09-25  Paul Eggert  <eggert@twinsun.com>
64442         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
64443         <stdint.h>.
64444         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
64445         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
64446         int.  Work more efficiently if X is the same width as uintmax_t.
64447         Do not compare X to -1, to avoid bogus compiler warning.
64448         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
64449         Don't assume that f_frsize and f_bsize are the same type.
64450
64451         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
64452         warning on FreeBSD.
64453
64454         * lib/makepath.c (make_path): Restore umask *before* creating the final
64455         component.
64456         (make_path): Minor reformatting.
64457
64458         * lib/xmalloc.c: Adjust to work with new autoconf macros,
64459         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
64460         HAVE_MALLOC/HAVE_REALLOC.
64461
64462         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
64463         dummy ones.  At least on GNU/Linux systems, `auto' means something
64464         else.
64465         From Michael Stone.
64466
64467 2002-11-21  Bruno Haible  <bruno@clisp.org>
64468
64469         Remove case insensitive option matching.
64470         * lib/argmatch.h (argcasematch): Remove declaration.
64471         (ARGCASEMATCH): Remove macro.
64472         (__xargmatch_internal): Remove case_sensitive argument.
64473         (XARGMATCH): Update.
64474         (XARGCASEMATCH): Remove macro.
64475         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
64476         case_sensitive argument.
64477         (argcasematch): Remove function.
64478         (__xargmatch_internal): Remove case_sensitive argument.
64479         (main): Use XARGMATCH instead of XARGCASEMATCH.
64480
64481         * lib/xmalloc.c: Change compile-time error message. Add comment about
64482         required autoconf version.
64483
64484 2002-11-20  Paul Eggert  <eggert@twinsun.com>
64485
64486         Merge argmatch cleanups from Bison.  Assume C89.
64487
64488         * lib/argmatch.c: Include config.h here, not in argmatch.h.
64489         Include stdlib.h, for EXIT_FAILURE.
64490         Always include <string.h>, since we assume C89.
64491         (EXIT_FAILURE): Remove pre-C89 bug workaround.
64492         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
64493         Include <stddef.h> instead, since it's all we need for size_t.
64494         (PARAMS): Remove.  All uses removed.
64495         (ARRAY_CARDINALITY): Do not bother to #undef.
64496         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
64497         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64498         Remove unnecessary parentheses.
64499         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64500         Insert necessary parentheses.
64501         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
64502         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
64503
64504 2002-11-19  Bruno Haible  <bruno@clisp.org>
64505
64506         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
64507         * lib/mbswidth.h: Include <stddef.h>, for size_t.
64508
64509         * lib/mbswidth.h (PARAMS): Remove macro.
64510         (mbswidth, mbsnwidth): Use ANSI C function declarations.
64511         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
64512
64513         * lib/gcd.h (PARAMS): Remove macro.
64514         (gcd): Use ANSI C function declarations.
64515         * lib/gcd.c (gcd): Likewise.
64516
64517 2002-11-15  Bruno Haible  <bruno@clisp.org>
64518
64519         * lib/strcspn.c: Include <stddef.h>.
64520         (strcspn): Use ANSI C function declaration. Change return type to
64521         size_t. Use NULL.
64522         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
64523         (strpbrk): Use NULL.
64524         * lib/strpbrk.h (PARAMS): Remove macro.
64525         (strpbrk): Use ANSI C function declaration.
64526         * lib/strstr.c: Don't include <sys/types.h>.
64527         * lib/strstr.h (PARAMS): Remove macro.
64528         (strstr): Use ANSI C function declarations.
64529
64530 2002-11-14  Karl Berry  <karl@gnu.org>
64531
64532         * config/mkinstalldirs: `do' on separate line, instead of
64533         `for var; do'.
64534
64535 2002-11-06  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
64538         * lib/gcd.c (gcd): Likewise.
64539
64540 2002-11-05  Bruno Haible  <bruno@clisp.org>
64541
64542         * lib/gcd.h: New file, from gettext-0.11.5.
64543         * lib/gcd.c: New file, from gettext-0.11.5.
64544
64545 2002-11-05  Bruno Haible  <bruno@clisp.org>
64546
64547         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64548         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64549         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64550         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64551
64552         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
64553         <libintl.h>.
64554         * lib/makepath.c: Include gettext.h instead of <locale.h> and
64555         <libintl.h>.
64556
64557         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
64558         * lib/human.c: Include gettext.h instead of <libintl.h>.
64559         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
64560         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
64561         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
64562         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
64563         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
64564         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
64565         (textdomain): Remove definition.
64566         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
64567
64568         * lib/long-options.c: Remove include of <libintl.h> and definition of
64569         _.
64570         * lib/same.c: Remove include of <libintl.h> and definition of _.
64571
64572 2002-11-04  Owen Taylor  <otaylor@redhat.com>
64573
64574         * lib/config.charset: A few additions for Solaris.
64575
64576 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64577
64578         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
64579         * lib/localcharset.c (locale_charset): Declare as extern "C".
64580
64581 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64582
64583         * lib/config.charset: msdos in uk_UA uses CP1125.
64584
64585 2002-11-04  Bruno Haible  <bruno@clisp.org>
64586
64587         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
64588         * lib/strcase.h: New file, from GNU gettext-0.11.5.
64589         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
64590         * lib/strstr.h: New file, from GNU gettext-0.11.5.
64591         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
64592
64593 2002-11-04  Bruno Haible  <bruno@clisp.org>
64594
64595         * lib/localcharset.c (locale_charset): Don't return an empty string.
64596
64597 2002-11-04  Bruno Haible  <bruno@clisp.org>
64598
64599         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
64600         aliases.
64601
64602 2002-11-04  Bruno Haible  <bruno@clisp.org>
64603
64604         * lib/config.charset: Update for newest glibc. Add canonical names
64605         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
64606
64607 2002-11-04  Bruno Haible  <bruno@clisp.org>
64608
64609         * lib/config.charset: Add support for NetBSD.
64610
64611 2002-11-04  Bruno Haible  <bruno@clisp.org>
64612
64613         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
64614
64615 2002-11-01  Bruno Haible  <bruno@clisp.org>
64616
64617         * configure.in: Add AC_CONFIG_AUX_DIR call.
64618         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
64619         test/Makefile.
64620         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
64621
64622 2002-09-28  Karl Berry  <karl@gnu.org>
64623
64624         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
64625         installed automake until the next release, since changes have been
64626         made.
64627
64628 2002-09-25  Karl Berry  <karl@gnu.org>
64629
64630         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
64631         * lib/getopt*: copy from libc/posix.
64632         * lib/gettext.h: copy from gettext.
64633         * lib/.cppi-disable: add strdup.c, gettext.h.
64634
64635 2002-09-25  Karl Berry  <karl@gnu.org>
64636
64637         * config/srclist.txt: enable gettext.h check.
64638         * config/config.{guess,sub}: update from prep.
64639         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
64640                 from automake 1.6.3.
64641         See srclist*.
64642
64643 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
64644
64645         * regex.c (PATFETCH): Remove the translating fetch.
64646         (PATFETCH_RAW): Rename to PATFETCH.
64647         (set_image_of_range): New fun.
64648         (SET_RANGE_TABLE_WORK_AREA): Use it.
64649         (regex_compile): Don't translate the pattern chars so eagerly.
64650         Only do it when inserting an `exactn' bytecode or when handling
64651         a char-range.
64652         (mutually_exclusive_p): Avoid empty statement.
64653
64654 2002-07-06  Jim Meyering  <meyering@lucent.com>
64655
64656         * m4/README: Don't mention Makefile.am.in.
64657         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
64658
64659 2002-07-01  Jim Meyering  <meyering@lucent.com>
64660
64661         * lib/c-stack.c: Include sys/time.h.
64662         From Volker Borchert.
64663
64664 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64665
64666         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
64667
64668 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64669
64670         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
64671         New macro.  Use it uniformly instead of
64672         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
64673         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
64674         reported by Vin Shelton.
64675
64676 2002-06-22  Paul Eggert  <eggert@twinsun.com>
64677
64678         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
64679         Do not assume SA_SIGINFO behavior.
64680         Bug reported by Jim Meyering on NetBSD 1.5.2.
64681
64682 2002-06-22  Jim Meyering  <meyering@lucent.com>
64683
64684         * m4/c-stack.m4: New file, from diffutils-2.8.2.
64685         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
64686
64687         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
64688         now that configure.ac uses AC_GNU_SOURCE.
64689         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
64690         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
64691
64692         Update to latest tools.  Suggestions from Paul Eggert.
64693         * m4/stdbool.m4: New file, from diffutils-2.8.2.
64694         * m4/gnu-source.m4: Update from diffutils-2.8.2.
64695         * m4/fnmatch.m4: Likewise.
64696         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
64697         to AC_HEADER_STDBOOL
64698
64699 2002-06-22  Jim Meyering  <meyering@lucent.com>
64700
64701         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
64702         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
64703
64704 2002-06-22  Jim Meyering  <meyering@lucent.com>
64705
64706         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
64707
64708         * lib/exitfail.c, exitfail.h: Likewise.
64709         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
64710
64711         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
64712         of fnmatch.h.
64713         (EXTRA_DIST): Add fnmatch_loop.c.
64714         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
64715
64716         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
64717         * lib/fnmatch.c: Update from diffutils-2.8.2.
64718         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
64719         * lib/fnmatch.h: Remove file.
64720
64721 2002-06-21  Jim Meyering  <meyering@lucent.com>
64722
64723         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
64724         * m4/mbrtowc.m4: Likewise.
64725
64726         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
64727         * m4/mbswidth.m4: Reflect name change:
64728         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
64729         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
64730
64731         * m4/lib-link.m4: Update from gettext-0.11.2.
64732         * m4/gettext.m4: Likewise.
64733
64734         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
64735         From Alfred M. Szmidt.
64736
64737 2002-06-18  Paul Eggert  <eggert@twinsun.com>
64738
64739         * lib/file-type.h: Report an error if neither S_ISREG nor
64740         S_IFREG is defined, instead of using a test specific to glibc
64741         2.2.  This should be safe, since POSIX requires S_ISREG and
64742         Unix Version 7 had S_IFREG.  We don't need to check for
64743         <sys/types.h> since we don't use any symbols that it defines.
64744
64745 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
64746
64747         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
64748         $@-t, so that each temporary file name is unique and valid in the first
64749         8 characters, for operation under DOS.
64750
64751 2002-06-15  Paul Eggert  <eggert@twinsun.com>
64752
64753         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
64754
64755 2002-06-15  Jim Meyering  <meyering@lucent.com>
64756
64757         Work even with DJGPP 2.03, which lacks support for symlinks.
64758         From Richard Dawe.
64759         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
64760         is defined.
64761         * lib/lchown.c (S_ISLNK): Likewise.
64762
64763 2002-06-15  Jim Meyering  <meyering@lucent.com>
64764
64765         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
64766         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
64767         have been included before this file.
64768
64769 2002-06-14  Jim Meyering  <meyering@lucent.com>
64770
64771         * lib/file-type.h: Use the version from diffutils-2.8.2.
64772         * lib/file-type.c: Likewise.
64773
64774 2002-06-07  Jim Meyering  <meyering@lucent.com>
64775
64776         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
64777         They're needed at least for NetBSD 1.5.2.
64778         ($statxfs_includes): Include those same headers.
64779         ($statxfs_includes): Include sys/vfs.h if available.
64780         ($statxfs_includes): Likewise for sys/statvfs.h.
64781         Check for the following members in both structs statfs and statvfs:
64782         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
64783
64784 2002-06-01  Jim Meyering  <meyering@lucent.com>
64785
64786         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
64787         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
64788
64789 2002-05-28  Jim Meyering  <meyering@lucent.com>
64790
64791         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
64792         Reported by Volker Borchert.
64793
64794 2002-05-27  Jim Meyering  <meyering@lucent.com>
64795
64796         Fix a problem seen only on nonconforming systems whereby ls.c's
64797         use of localtime, and then of gettimeofday would cause trouble:
64798         the localtime call used to initialize rpl_gettimeofday's save
64799         mechanism would clobber ls's current local time information so
64800         that in any long listing the first file would always be listed
64801         with date 1970-01-01.  Analysis by Volker Borchert.
64802
64803         * lib/gettimeofday.c (localtime): Undefine.
64804         (rpl_localtime): New function.
64805
64806 2002-05-27  Jim Meyering  <meyering@lucent.com>
64807
64808         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
64809         localtime.
64810
64811         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
64812         use the replacement function; it wouldn't resolve at link time.
64813         Reported by Volker Borchert.
64814
64815 2002-05-22  Jim Meyering  <meyering@lucent.com>
64816
64817         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
64818         file-type.h.
64819         * lib/file-type.h: New file.
64820         * lib/file-type.c (file_type): New file/function.  Extracted from
64821         diffutils.
64822
64823 2002-04-30  Jim Meyering  <meyering@lucent.com>
64824
64825         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
64826
64827 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64828
64829         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
64830
64831 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64832
64833         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
64834         Do not check for alloca.h (no longer used) or stdbool.h (was never
64835         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
64836
64837 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64838
64839         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
64840
64841 2002-04-29  Jim Meyering  <meyering@lucent.com>
64842
64843         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
64844         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
64845         Use AC_FUNC_STRNLEN here instead.
64846
64847         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
64848         With autoconf-2.53a, it's part of AC_PROG_CC.
64849
64850 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64851
64852         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
64853         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
64854
64855 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64856
64857         * lib/sig2str.h, lib/sig2str.c: New files.
64858         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
64859
64860 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64861
64862         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
64863         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
64864         of 127, since 64 is the largest conceivable number for ancient
64865         nonstandard hosts.
64866         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
64867
64868 2002-04-28  Jim Meyering  <meyering@lucent.com>
64869
64870         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
64871
64872 2002-04-24  Jim Meyering  <meyering@lucent.com>
64873
64874         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
64875         (jm_PREREQ): Use it.
64876
64877         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
64878         mach/mach.h fcntl.h.
64879         Check for this function: setlocale.
64880
64881 2002-04-24  Jim Meyering  <meyering@lucent.com>
64882
64883         * lib/gettext.h: New file, from Gettext.
64884         * lib/Makefile.am (INCLUDES): Remove -I../intl.
64885         (libfetish_a_SOURCES): Add gettext.h.
64886
64887 2002-04-16  Jim Meyering  <meyering@lucent.com>
64888
64889         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
64890         ut_pid, ut_id, ut_exit.
64891
64892 2002-04-16  Jim Meyering  <meyering@lucent.com>
64893
64894         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
64895         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
64896         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
64897
64898 2002-04-12  Jim Meyering  <meyering@lucent.com>
64899
64900         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
64901         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
64902         existence of the getmntinfo function.  Needed for Darwin 5.3.
64903
64904         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
64905         This is necessary at least on Darwin 5.3.
64906
64907         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
64908         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
64909         strnlen.o in the library, and that makes some versions of ranlib
64910         object.
64911
64912 2002-04-12  Jim Meyering  <meyering@lucent.com>
64913
64914         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
64915
64916 2002-04-09  Jim Meyering  <meyering@lucent.com>
64917
64918         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
64919         to be more precise.  Rather than saying we're checking whether the
64920         function `works', say what we're testing.
64921         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
64922         Reported by Bruno Haible.
64923
64924 2002-03-10  Jim Meyering  <meyering@lucent.com>
64925
64926         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
64927         Suggestion from Santiago Vila.
64928
64929 2002-03-08  Jim Meyering  <meyering@lucent.com>
64930
64931         * lib/rename.c: Mention that this wrapper is needed also on
64932         mips-dec-ultrix4.4 systems.
64933
64934 2002-03-02  Jim Meyering  <meyering@lucent.com>
64935
64936         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
64937         not HAVE_CLOCK_SETTIME.
64938
64939 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64940
64941         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
64942         Check for clock_settime.
64943
64944 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64945
64946         * lib/nanosleep.h: Rename to....
64947         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
64948
64949         * lib/gettime.c: New file.
64950         * lib/settime.c: New file.
64951         * lib/stime.c: Remove.
64952
64953         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
64954         timespec.h.  Remove nanosleep.h.
64955
64956 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64957
64958         * m4/acl.m4: New file.
64959         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
64960         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
64961
64962 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64963
64964         * lib/acl.c, lib/acl.h: New files.
64965         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
64966
64967 2002-02-24  Jim Meyering  <meyering@lucent.com>
64968
64969         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
64970         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
64971         cause trouble.  Reported by Nelson Beebe.
64972
64973 2002-02-23  Paul Eggert  <eggert@twinsun.com>
64974
64975         * lib/path-concat.c (xpath_concat): Reorder code to pacify
64976         compilers that don't know that xalloc_die never returns.
64977
64978 2002-02-20  Jim Meyering  <meyering@lucent.com>
64979
64980         * lib/getdate.c: Regenerate using bison-1.33.
64981
64982 2002-02-17  Jim Meyering  <meyering@lucent.com>
64983
64984         * config/config.guess (main): Don't use `head -1'; it's no longer
64985         portable. Use `sed 1q' instead.
64986
64987 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
64988
64989         * m4/codeset.m4: Upgrade to gettext-0.11.
64990         * m4/gettext.m4: Upgrade to gettext-0.11.
64991         * m4/glibc21.m4: Upgrade to gettext-0.11.
64992         * m4/iconv.m4: Upgrade to gettext-0.11.
64993         * m4/isc-posix.m4: Upgrade to gettext-0.11.
64994         * m4/lcmessage.m4: Upgrade to gettext-0.11.
64995         * m4/lib-ld.m4: New file, from gettext-0.11.
64996         * m4/lib-link.m4: New file, from gettext-0.11.
64997         * m4/lib-prefix.m4: New file, from gettext-0.11.
64998         * m4/progtest.m4: Upgrade to gettext-0.11.
64999
65000 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65001
65002         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
65003         (jm_PREREQ): Use it.
65004
65005 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65006
65007         * lib/posixver.c, lib/posixver.h: New files.
65008         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65009
65010 2002-02-02  Paul Eggert  <eggert@twinsun.com>
65011             Bruno Haible  <bruno@clisp.org>
65012
65013         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
65014         (fwrite_success_callback): New declaration.
65015         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
65016         print_unicode_char. Call failure callback instead of error.
65017         (fwrite_success_callback): New function.
65018         (exit_failure_callback): New function.
65019         (fallback_failure_callback): New function.
65020         (print_unicode_char): Call unicode_to_mb.
65021
65022 2002-01-26  Jim Meyering  <meyering@lucent.com>
65023
65024         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
65025         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
65026
65027 2002-01-26  Jim Meyering  <meyering@lucent.com>
65028
65029         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
65030
65031 2002-01-22  Paul Eggert  <eggert@twinsun.com>
65032
65033         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
65034
65035 2002-01-22  Jim Meyering  <meyering@lucent.com>
65036
65037         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
65038         Otherwise, some versions of automake would omit the rule that makes
65039         Makefile from Makefile.in.
65040
65041 2002-01-21  Paul Eggert  <eggert@twinsun.com>
65042
65043         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
65044         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65045         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
65046         (memcoll): Set errno to zero if there is no error.
65047
65048         * lib/quotearg.c (quotearg_buffer_restyled):
65049         Fix bug with quoting buffers containing NUL when backslashing escapes.
65050         This bug was exposed by the other changes in this patch.
65051         (quotearg_n_options): New arg ARGSIZE.
65052         All callers changed.
65053         (quoting_options_from_style): New function.
65054         (quotearg_n_style): Use it.
65055         (quotearg_n_style_mem): New function.
65056
65057         * lib/quotearg.h (quotearg_n_style_mem): New function.
65058
65059 2002-01-19  Jim Meyering  <meyering@lucent.com>
65060
65061         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
65062         Remove useless quotes: DF_PROG="df".
65063         * m4/strnlen.m4: New file.
65064
65065 2002-01-16  Paul Eggert  <eggert@twinsun.com>
65066
65067         * lib/backupfile.c (ISDIGIT): Comment fix.
65068         * lib/getdate.y (ISDIGIT): Likewise.
65069         * lib/posixtm.c (ISDIGIT, year): Likewise.
65070         * lib/strverscmp.c (ISDIGIT): Likewise.
65071         * lib/userspec.c (ISDIGIT): Likewise.
65072
65073 2002-01-16  Jim Meyering  <meyering@lucent.com>
65074
65075         * lib/getdate.y: Add three semicolons, each just before a closing
65076         brace. Bison (as of version 1.31) no longer papers over that mistake.
65077
65078 2002-01-05  Jim Meyering  <meyering@lucent.com>
65079
65080         * lib/version-etc.c (version_etc_copyright): Update copyright year.
65081
65082 2001-12-19  Paul Eggert  <eggert@twinsun.com>
65083
65084         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
65085         not silently exit merely because the output buffer happens to
65086         have nothing pending.
65087
65088 2001-12-18  Paul Eggert  <eggert@twinsun.com>
65089
65090         See the big note in ../ChangeLog.
65091         * lib/human.c (suffixes): Prefer K to k for 1024.
65092         (generate_suffix_backwards): New function.
65093         (human_readable_inexact): Use it.
65094         * lib/xstrtol.c (__xstrtol): If there is no number but there
65095         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
65096         Accept 'K' as well as 'k'.
65097
65098 2001-12-15  Jim Meyering  <meyering@lucent.com>
65099
65100         * lib/regex.h (__restrict_arr): Update from libc.
65101
65102         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
65103         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
65104         (STREQ): Define.
65105
65106 2001-12-14  Jim Meyering  <meyering@lucent.com>
65107
65108         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
65109         Suggestion from Bruno Haible.
65110
65111 2001-12-10  Jim Meyering  <meyering@lucent.com>
65112
65113         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
65114         xrealloc, Instead, include "xalloc.h".
65115         (initbuffer): Don't cast xmalloc return value to char*.
65116         (readline): Reword comment.
65117         Don't cast xrealloc return value to char*
65118         Return NULL, not 0.
65119
65120 2001-12-09  Jim Meyering  <meyering@lucent.com>
65121
65122         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
65123         about `signed and unsigned type in conditional expression'.
65124         * lib/posixtm.c (posix_time_parse): Likewise.
65125
65126         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
65127
65128         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
65129         to avoid a pedantic warning.
65130
65131         * lib/getstr.c: Don't include assert.h.
65132         (getstr): Remove warning-evoking assertions.
65133         Return -1 if offset parameter is out of bounds.
65134         Change the type of a local from int to size_t.
65135
65136         * lib/strftime.c (my_strftime_localtime_r): Include this function
65137         definition in the `#if ! HAVE_TM_GMTOFF' block.
65138
65139         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
65140         Include xalloc.h instead.
65141
65142 2001-12-02  Jim Meyering  <meyering@lucent.com>
65143
65144         * lib/tempname.c: Don't declare getenv, thus reverting the change of
65145         2001-11-18.  It's no longer necessary, now that stdlib.h is always
65146         included.
65147
65148         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
65149         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
65150
65151 2001-11-30  Akim Demaille  <akim@epita.fr>
65152
65153         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
65154         before being defined.
65155
65156 2001-11-27  Paul Eggert  <eggert@twinsun.com>
65157
65158         * lib/quotearg.h (quotearg_n, quotearg_n_style):
65159         First arg is int, not unsigned.
65160         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
65161         (SIZE_MAX, UINT_MAX): New macros.
65162         (quotearg_n_options): Abort if N is negative.
65163         Avoid overflow check on hosts where size_t is 64 bits and int
65164         is 32 bits, as overflow is impossible there.
65165         Fix off-by-one typo that caused unnecessary reallocation.
65166
65167 2001-11-27  Jim Meyering  <meyering@lucent.com>
65168
65169         * lib/tempname.c: Merge with version from libc.
65170         * lib/regex.c: Likewise.
65171
65172         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
65173         systems for which STDC_HEADERS is 0, it was not included, resulting in
65174         a warning about an integer-to-pointer conversion problem with getenv.
65175         Reported by Volker Borchert.
65176
65177 2001-11-26  Jim Meyering  <meyering@lucent.com>
65178
65179         * lib/gtod.h: Remove file.
65180         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
65181         * lib/gettimeofday.c: Don't include gtod.h.
65182         (GTOD_init): Remove function.
65183         (rpl_gettimeofday): Do its job here instead, rather than aborting.
65184         Suggestion from Volker Borchert.
65185
65186 2001-11-23  Jim Meyering  <meyering@lucent.com>
65187
65188         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
65189         it.
65190         * lib/hash.c (struct hash_table): Define it here instead.
65191
65192 2001-11-22  Jim Meyering  <meyering@lucent.com>
65193
65194         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
65195
65196 2001-11-20  Jim Meyering  <meyering@lucent.com>
65197
65198         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
65199         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
65200
65201 2001-11-19  Jim Meyering  <meyering@lucent.com>
65202
65203         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
65204         directory.  Use "conftestXXXXXX" as the template.
65205         Suggestion from Paul Eggert.
65206
65207         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
65208         immediately, so the test doesn't mistakenly hit the max-open-files
65209         limit.
65210
65211 2001-11-18  Paul Eggert  <eggert@twinsun.com>
65212
65213         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
65214         (TEMPORARIES): New macro.
65215         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
65216         removes an artificial limitation (e.g. HP-UX 10.20, where
65217         TMP_MAX is 17576).
65218
65219 2001-11-18  Jim Meyering  <meyering@lucent.com>
65220
65221         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
65222
65223 2001-11-18  Jim Meyering  <meyering@lucent.com>
65224
65225         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
65226         on SunOS 4.
65227
65228         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
65229         files will be created before anything else.
65230
65231 2001-11-17  Paul Eggert  <eggert@twinsun.com>
65232
65233         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
65234         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
65235
65236 2001-11-17  Jim Meyering  <meyering@lucent.com>
65237
65238         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
65239         Prompted by a report from Bob Proulx.
65240
65241         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
65242         Instead, require UTILS_FUNC_MKSTEMP.
65243
65244 2001-11-17  Jim Meyering  <meyering@lucent.com>
65245
65246         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
65247         Now, that's done as part of AC_FUNC_STRTOD.
65248
65249 2001-11-17  Jim Meyering  <meyering@lucent.com>
65250
65251         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
65252         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
65253         rather than group writable.  Patch by Juan F. Codagnone.
65254
65255         * lib/readtokens.c: Remove explicit declarations of xmalloc and
65256         xrealloc, Instead, include "xalloc.h".
65257
65258         * lib/mountlist.c: Include unlocked-io.h after all system headers.
65259         Remove explicit declarations of xmalloc, xrealloc,
65260         and xstrdup.  Instead, include "xalloc.h".
65261
65262         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
65263         unlocked-io.h.
65264         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
65265         Likewise.
65266         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
65267
65268         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
65269         Reported by Padraig Brady.
65270
65271         * lib/mkstemp.c: #undef mkstemp.
65272         Include config.h.
65273         (rpl_mkstemp): Rename from mkstemp.
65274         Protoize.
65275
65276 2001-11-16  Jim Meyering  <meyering@lucent.com>
65277
65278         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
65279         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
65280         determine the amount of total physical memory, use pstat_getstatic.
65281         HPUX-11 doesn't define _SC_PHYS_PAGES.
65282         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
65283         If sysconf couldn't be used to determine the amount of available
65284         physical memory, use both pstat_getstatic and pstat_getdynamic.
65285         Based on a patch from Bob Proulx.
65286
65287 2001-11-10  Jim Meyering  <meyering@lucent.com>
65288
65289         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
65290         (jm_PREREQ): Use it.
65291
65292 2001-11-09  Jim Meyering  <meyering@lucent.com>
65293
65294         * m4/jm-macros.m4: Require autoconf-2.52f.
65295         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
65296         Use these AC_-prefixed names, not the AM_-prefixed ones.
65297
65298         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
65299
65300 2001-11-05  Jim Meyering  <meyering@lucent.com>
65301
65302         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
65303
65304 2001-11-04  Jim Meyering  <meyering@lucent.com>
65305
65306         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
65307         $DEFS.
65308
65309 2001-11-03  Jim Meyering  <meyering@lucent.com>
65310
65311         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
65312         of AC_DEFUN.
65313
65314         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
65315         know the name of the variable in the macro definition.
65316
65317 2001-11-03  Jim Meyering  <meyering@lucent.com>
65318
65319         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
65320         in argmatch_to_argument call.
65321
65322         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
65323         argument.
65324
65325         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
65326         e.g., a fault due to an attempt to free a NULL pointer.
65327
65328 2001-11-01  Jim Meyering  <meyering@lucent.com>
65329
65330         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
65331         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
65332
65333 2001-11-01  Jim Meyering  <meyering@lucent.com>
65334
65335         * lib/dirfd.c, lib/dirfd.h: New files.
65336         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
65337
65338         * lib/hash.c (hash_print) [TESTING]: Clean up.
65339
65340 2001-10-22  Paul Eggert  <eggert@twinsun.com>
65341
65342         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
65343         to avoid a warning if -Wall.
65344
65345 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
65346
65347         * README: New file
65348         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
65349         (per RMS's instructions, this is now the canonical source)
65350         * lgpl/, gpl/: New directories.
65351
65352 2001-10-21  Paul Eggert  <eggert@twinsun.com>
65353
65354         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
65355
65356 2001-10-21  Jim Meyering  <meyering@lucent.com>
65357
65358         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
65359         this code would end up calling gettext even in packages built
65360         with --disable-nls.
65361         * lib/getopt.c (_): Likewise.
65362         * lib/regex.c (_): Likewise.
65363
65364 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65365
65366         * m4/error.m4 (jm_PREREQ_ERROR):
65367         Do not invoke AC_CHECK_FUNCS with strerror_r, as
65368         AC_FUNC_STRERROR_R does that.
65369         Check for strerror declaration.
65370
65371         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
65372         are supposed to have them these days.
65373         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
65374         Merge changes from latest Autoconf CVS.
65375         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
65376         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
65377         POSIX decided to standardize on the int flavor of strerror_r.
65378
65379 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65380
65381         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
65382         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
65383         Use strerror_r that is only a macro, even if it is not a function.
65384         (strerror): Check for HAVE_DECL_STRERROR before declaring.
65385         (private_strerror): Use prototypes, not old-style function definition.
65386         (print_errno_message): New function.
65387         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
65388         char*-flavored one.
65389         (error_tail, error, error_at_line): Use it.
65390
65391 2001-10-11  Jim Meyering  <meyering@lucent.com>
65392
65393         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
65394         and quote_n (1, ... to avoid clobbering a buffer.
65395
65396 2001-10-05  Jim Meyering  <meyering@lucent.com>
65397
65398         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
65399         hash-pjw.h.
65400         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
65401         * lib/hash-pjw.h: New file.
65402
65403 2001-09-30  Jim Meyering  <meyering@lucent.com>
65404
65405         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
65406         `struct fsstat' has the `f_fstypename' member.
65407         Use that to define FS_TYPE, which is now used to make
65408         the getfsstat link test tighter.
65409
65410 2001-09-30  Jim Meyering  <meyering@lucent.com>
65411
65412         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
65413         Include <sys/ucred.h>, for Apple Darwin.
65414         Include sys/mount.h and sys/fs_types.h only if available.
65415         (FS_TYPE): Define.
65416         (read_filesystem_list): Use FS_TYPE.
65417
65418 2001-09-29  Paul Eggert  <eggert@twinsun.com>
65419
65420         * lib/exclude.c (excluded_filename): 0 -> false, since it's
65421         a boolean context.
65422
65423 2001-09-29  Jim Meyering  <meyering@lucent.com>
65424
65425         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65426         [one-argument getmntent function]): Include stdio.h before mntent.h.
65427         SunOS 4.1.x needs it for the declaration of `FILE'.
65428         Patch by Volker Borchert.
65429
65430         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65431         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
65432         sys/fs_types.h, and make the link-test for getfsstat guard #include
65433         directives with appropriate #if HAVE_*_H tests so that we can
65434         detect getfsstat on Apple Darwin1.3.7 systems.
65435         Reported by Nelson Beebe.
65436         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
65437
65438 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65439
65440         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65441         #defines strtoimax.  Also treat the other strto* functions
65442         like strtoimax.
65443
65444         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65445         Check for strtoul and strtoumax,
65446         as those declarations are made even in the signed case.
65447         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
65448         Likewise, for strtol and strtoimax.
65449
65450 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65451
65452         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65453         #defines strtoimax.  Also treat the other strto* functions
65454         like strtoimax.
65455
65456         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
65457         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
65458         (strtoimax, strtoumax): Do not declare if already defined as a macro.
65459
65460 2001-09-26  Jim Meyering  <meyering@lucent.com>
65461
65462         Most macros in unlocked-io.h had the wrong number of arguments.
65463         * lib/gen-uio: New script.
65464         (USE_UNLOCKED_IO): Define to 1 if not already defined.
65465         * lib/unlocked-io.hin: Remove file.
65466         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
65467         rather than trying to embed it here.
65468         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
65469         Reported by Padraig Brady.
65470
65471 2001-09-25  Volker Borchert  <bt@teknon.de>
65472
65473         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
65474         `result'.
65475
65476 2001-09-24  Jim Meyering  <meyering@lucent.com>
65477
65478         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
65479
65480 2001-09-23  Jim Meyering  <meyering@lucent.com>
65481
65482         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
65483         instead of the mere test for existence of mntent.h.  The latter
65484         would get a false-positive on AIX 3.4 systems.
65485         In the outer getmntent if-block, don't die if neither of the getmntent
65486         tests succeeds.  Instead, just fall through and continue with the
65487         remaining tests.
65488
65489 2001-09-23  Jim Meyering  <meyering@lucent.com>
65490
65491         * lib/mountlist.c: Remove useless parentheses in #if directives.
65492         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
65493         the deprecated MOUNTED symbol is no longer defined in mntent.h.
65494
65495 2001-09-22  Jim Meyering  <meyering@lucent.com>
65496
65497         * m4/gettext.m4: New file.  From gettext.
65498         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
65499         * m4/progtest.m4: Likewise
65500         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
65501         * m4/glibc21.m4: Likewise.
65502
65503         * m4/libintl.m4: Remove.  No longer used.
65504
65505 2001-09-22  Jim Meyering  <meyering@lucent.com>
65506
65507         * lib/localcharset.c: Update from latest gettext.
65508         * lib/config.charset: Likewise.
65509
65510 2001-09-20  Jim Meyering  <meyering@lucent.com>
65511
65512         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
65513         strtoimax.
65514         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
65515         strtoumax.
65516
65517 2001-09-20  Jim Meyering  <meyering@lucent.com>
65518
65519         * lib/xstrtol.c (strtoimax): Guard declaration with
65520         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
65521         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
65522         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
65523         (strtoumax): Likewise, for completeness (it wasn't necessary).
65524
65525 2001-09-17  Paul Eggert  <eggert@twinsun.com>
65526
65527         * lib/strtoimax.c (HAVE_LONG_LONG):
65528         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
65529         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
65530         to work around bug in IBM C compiler.
65531
65532 2001-09-17  Jim Meyering  <meyering@lucent.com>
65533
65534         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
65535         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
65536         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
65537         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
65538         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
65539         whenever the right hand side need not be expanded by the shell.
65540
65541 2001-09-16  Paul Eggert  <eggert@twinsun.com>
65542
65543         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
65544         library.  It's not correct, as some older glibcs are buggy.
65545         fnmatch wasn't fixed until glibc 2.2.
65546
65547         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
65548         special shell magic here.
65549
65550 2001-09-16  Jim Meyering  <meyering@lucent.com>
65551
65552         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
65553         * m4/jm-macros.m4: Require it.
65554
65555 2001-09-16  Jim Meyering  <meyering@lucent.com>
65556
65557         * lib/mkdir.c: New file.
65558
65559 2001-09-15  Jim Meyering  <meyering@lucent.com>
65560
65561         * m4/jm-macros.m4: Check for help2man.
65562
65563 2001-09-11  Jim Meyering  <meyering@lucent.com>
65564
65565         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
65566         The body, by Paul Eggert, was moved here from configure.in.
65567         * m4/jm-macros.m4: Require UTILS_HOST_OS.
65568
65569 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65570
65571         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
65572         (jm_PREREQ): Use it.
65573
65574 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65575
65576         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
65577         Use ssize_t, not int, to store result of readlink.
65578         Check for ssize_t overflow as well as size_t overflow,
65579         as POSIX says the result of readlink is implementation-defined
65580         when ssize_t overflows.
65581         Remove unnecessary cast to char*.
65582         Use free+malloc instead of realloc, as the storage doesn't need
65583         to be preserved and it's clearer and can be more efficient that way.
65584         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
65585         * lib/xreadlink.h (xreadlink): Update prototype.
65586
65587 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65588
65589         * lib/xgetcwd.c: Revert some of the previous change; intead,
65590         fix the HAVE_GETCWD_NULL code to behave more like the
65591         !HAVE_GETCWD_NULL code used to.
65592
65593         Include "xalloc.h".
65594         (xgetcwd): Do not return NULL when memory is exhausted; instead,
65595         invoke xalloc_die.
65596
65597 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65598
65599         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
65600         sys/param.h, as pathmax.h includes them.
65601
65602 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65603
65604         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
65605         (jm_PREREQ_XGETCWD): New macro.
65606
65607         * m4/getcwd.m4: New file.
65608
65609 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65610
65611         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
65612         like the HAVE_GETCWD_NULL code.
65613         Include pathmax.h if not HAVE_GETCWD.
65614         Do not include xalloc.h.
65615         (INITIAL_BUFFER_SIZE): New symbol.
65616         Do not use xmalloc / xrealloc, since the caller is responsible for
65617         handling errors.  Preserve errno around `free' during failure.
65618         Do not overrun buffer when using getwd.
65619
65620 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65621
65622         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
65623         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
65624         getcwd (NULL, 0).
65625
65626 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65627
65628         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
65629         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
65630         spotted by Jim Meyering.
65631
65632 2001-09-03  Jim Meyering  <meyering@lucent.com>
65633
65634         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
65635         failure.
65636
65637 2001-09-02  Jim Meyering  <meyering@lucent.com>
65638
65639         * lib/error.c: Update from GNU libc.
65640
65641 2001-09-01  Jim Meyering  <meyering@lucent.com>
65642
65643         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
65644         Used by df.
65645
65646 2001-09-01  Jim Meyering  <meyering@lucent.com>
65647
65648         * lib/xreadlink.c: New file.
65649         * lib/xreadlink.h: New file.
65650         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
65651         xreadlink.h.
65652
65653         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
65654         doesn't conflict with sparc Solaris 7's definition in
65655         /usr/include/sys/int_types.h.
65656
65657         * lib/exclude.c: Use `""', not `<>' to #include non-system header
65658         files.
65659         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
65660         and strncasecmp as r-values.  Unixware didn't have declarations.
65661
65662 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65663
65664         * lib/xstrtol.h: Add copyright notice.
65665         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
65666         LONGINT_INVALID_SUFFIX_CHAR.
65667
65668 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65669
65670         * lib/xstrtol.c (strtoimax): New decl.
65671
65672 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65673
65674         * lib/xgetcwd.c: Don't include pathmax.h.
65675         Include stdlib.h and unistd.h if available.
65676         Include xalloc.h.
65677         (xmalloc, xstrdup, free): Remove decls.
65678         (xgetcwd): Don't assume sizes fit in unsigned.
65679         Check for overflow when computing sizes.
65680         Simplify reallocation code.
65681
65682 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65683
65684         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
65685         a directory's st_size can have an arbitrary value, so the old
65686         usage could waste an arbitrary amount of memory.  All uses
65687         changed.
65688         * lib/savedir.h: Update prototype.
65689
65690 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65691
65692         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
65693
65694         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
65695         old strtoimax.c.
65696
65697         Also, make the following further changes to make this file's
65698         configuration more similar to that of strtol.c:
65699         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
65700         (strtoumax, uintmax_t, strtoull, strtol): Remove.
65701         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
65702         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
65703         changed to signed values.
65704
65705         And make the following changes as well:
65706         Fix copyright notice, as 1999 was missing.
65707         (verify): New macro.
65708         (strtoimax): Check sizes at compile-time, not run-time.
65709         Prefer strtol to strtoll if both work.
65710         (main): Remove; it was not that useful and was a pain to maintain.
65711
65712         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
65713
65714 2001-08-31  Jim Meyering  <meyering@lucent.com>
65715
65716         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
65717         Use an initial, malloc'd, buffer of length 128 rather than
65718         a statically allocated one of length 1024.
65719
65720 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65721
65722         Simplify code, partly by assuming autoconf 2.52 semantics.
65723
65724         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
65725
65726         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
65727         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
65728         All uses removed.
65729         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
65730         Move AC_REQUIRE to next-to-top level, to avoid confusion.
65731         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
65732         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
65733         jm_AC_HEADER_INTTYPES_H.
65734         * m4/jm-macros.m4 (jm_MACROS): Likewise.
65735
65736         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
65737
65738         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65739         Quote first arg of AC_DEFUN.
65740         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
65741         since they are needed to parse the include file even if we need
65742         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
65743         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
65744         but with opposite signedness.
65745
65746 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65747
65748         Merge 'exclude' changes from tar 1.13.22.
65749         This fixes one or two unlikely storage allocation overflow bugs,
65750         but doesn't change user-visible behavior otherwise.
65751
65752 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65753
65754         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
65755         (jm_PREREQ_EXCLUDE): New macro.
65756
65757 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65758
65759         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
65760         tm to be declared.
65761
65762 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65763
65764         * lib/hash.c: Remove '2001' from copyright notice.
65765
65766 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65767
65768         * lib/full-write.h: New file.
65769         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
65770         * lib/full-write.c: Correct credits, as cccp.c no longer
65771         exists and anyway it was so heavily changed from the old cccp
65772         code as to be unrecognizable.  Include full-write.h.
65773         (full_write) Return size_t, with short writes meaning failure.
65774         All callers changed.  This fixes a bug with large buffers
65775         on 64-bit hosts.
65776         * lib/utime.c: Include full-write.h.
65777
65778 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65779
65780         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
65781         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
65782         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
65783         Include if available.
65784         (<xalloc.h>): Include
65785         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
65786         (verify): New macro.  Use it to verify that EXCLUDE macros do not
65787         collide with FNM macros.
65788         (struct patopts): New struct.
65789         (struct exclude): Use it, as exclude patterns now come with options.
65790         (new_exclude): Support above changes.
65791         (new_exclude, add_exclude_file):
65792         Initial size must now be a power of two to simplify overflow checking.
65793         (free_exclude, fnmatch_no_wildcards): New function.
65794         (excluded_filename): No longer requires options arg, as the options
65795         are determined by add_exclude.  Now returns bool, not int.
65796         (excluded_filename, add_exclude):
65797         Add support for the fancy new exclusion options.
65798         (add_exclude, add_exclude_file): Now takes int options arg.
65799         Check for arithmetic overflow when computing sizes.
65800         (add_exclude_file): xrealloc might modify errno, so don't
65801         realloc until after errno might be used.
65802
65803         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
65804         New macros.
65805         (free_exclude): New decl.
65806         (add_exclude, add_exclude_file): Now takes int options arg.
65807         (excluded_filename): No longer requires options arg, as the options
65808         are determined by add_exclude.  Now returns bool, not int.
65809
65810 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65811
65812         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
65813
65814 2001-08-27  Jim Meyering  <meyering@lucent.com>
65815
65816         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
65817
65818         * lib/version-etc.c (N_): Remove definition.
65819         Revert most of last change.
65820         Instead, simply don't mark the `Copyright...' string for translation.
65821         Based on advice from Paul Eggert.
65822
65823         * lib/strtoxmax.c: Tweak comment.
65824
65825 2001-08-26  Jim Meyering  <meyering@lucent.com>
65826
65827         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
65828
65829         * m4/xstrtoimax.m4: New file.
65830         * m4/xstrtoumax.m4: Add comments explaining why we
65831         AC_REPLACE_FUNCS(strtol).
65832
65833 2001-08-26  Jim Meyering  <meyering@lucent.com>
65834
65835         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
65836         of copyright with `%s' so translators don't get an untranslated
65837         message in 2002.
65838         (COPYRIGHT_YEAR): Define.
65839         (version_etc): Use fprintf rather than fputs.
65840         Suggestion from Ulrich Drepper.
65841
65842         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
65843
65844         * lib/strtoll.c: New file, from GNU libc.
65845         * lib/xstrtoimax.c: New file.
65846
65847         * lib/xstrtol.h: Add xstrtoimax.
65848         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
65849         * lib/strtoimax.c: New file.  Likewise, but first define
65850         STRTOUXMAX_SIGNED.
65851
65852         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
65853         ...
65854         * lib/strtoxmax.c: ... then renamed to this.
65855
65856 2001-08-18  Paul Eggert  <eggert@twinsun.com>
65857
65858         * m4/inttypes.m4: Add AC_PREREQ(2.13).
65859         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
65860         (jm_AC_TYPE_INTMAX_T): New macro.
65861         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
65862
65863         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
65864
65865         * m4/longlong.m4: Renamed from ulonglong.m4.
65866         * m4/inttypes.m4: Renamed from inttypes_h.m4.
65867         * m4/uintmax_t.m4: Removed.
65868
65869 2001-08-13  Paul Eggert  <eggert@twinsun.com>
65870
65871         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
65872         Port to Solaris 8, where 'sed' requires a space after the 'r'
65873         command, and where sh dislikes "$/".  Clean up the spacing a bit.
65874         Redirect output to $tmp just once.
65875
65876 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
65877
65878         * lib/addext.c (<errno.h>): Include.
65879         (errno): Declare if not defined.
65880         (addext): Work correctly when pathconf returns -1 and leaves
65881         errno alone because there is no limit.  Also, work even if
65882         pathconf returns a value greater than SIZE_MAX.
65883
65884 2001-08-12  Jim Meyering  <meyering@lucent.com>
65885
65886         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
65887         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
65888         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
65889         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
65890         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
65891         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
65892         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
65893         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
65894         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
65895         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
65896         utime.m4, utimes.m4, xstrtoumax.m4:
65897         Quote the first argument in each use of AC_DEFUN.
65898
65899 2001-08-12  Jim Meyering  <meyering@lucent.com>
65900
65901         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
65902         Simply `return getcwd (NULL, 0);'.
65903         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
65904         Use 1300 as initial value for length, not PATH_MAX.
65905
65906         * lib/pathmax.h: Clean up cpp syntax.
65907
65908 2001-08-12  Jim Meyering  <meyering@lucent.com>
65909
65910         * lib/gettimeofday.c: New file.
65911         * lib/gtod.h: New file.
65912         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
65913
65914 2001-08-05  Jim Meyering  <meyering@lucent.com>
65915
65916         * m4/jm-macros.m4: Require autoconf-2.52.
65917
65918 2001-08-04  Jim Meyering  <meyering@lucent.com>
65919
65920         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
65921         stmt, to get in sync with glibc.
65922
65923 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65924
65925         The following changes are from gettext 0.10.39 as maintained by
65926         Bruno Haible.
65927
65928         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
65929         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
65930         with inverted sense.  All uses changed.
65931
65932         * lib/mbswidth.c: Don't include <limits.h>.
65933         Include <stdlib.h> and <string.h> unconditionally.
65934         (iswcntrl, mbsinit, ISCNTRL): New macros.
65935         (mbsnwidth): Use K&R style function declarations.
65936         Don't bother checking for MB_LEN_MAX == 1, since the compiler
65937         can optimize it when MB_CUR_MAX == 1.
65938         The width of control characters is zero, not 1.
65939
65940 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65941
65942         The following changes are from gettext 0.10.39 as maintained by
65943         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
65944
65945         * m4/codeset.m4: Upgrade to serial AM1.
65946         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
65947         all uses changed.  Quote first arg of AC_DEFUN.
65948         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
65949
65950         * m4/iconv.m4: Upgrade to serial AM2.
65951         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
65952         Add --with-libconv-prefix.
65953         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
65954         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
65955         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
65956         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
65957         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
65958
65959         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
65960         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
65961         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
65962         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
65963         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
65964         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
65965         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65966         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
65967         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
65968
65969         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
65970         string.h any more.
65971
65972         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
65973         not the default value.
65974
65975         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
65976         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
65977         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
65978         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
65979         Also check for iswcntrl, used for wcwidth fallback.
65980         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
65981         to Autoconf 2.13.
65982
65983 2001-08-03  Jim Meyering  <meyering@lucent.com>
65984
65985         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
65986         as it was in the original.  Reported by Paul Eggert.
65987
65988 2001-07-16  Jim Meyering  <meyering@lucent.com>
65989
65990         * m4/gettimeofday.m4: New file.
65991         Prompted by a report from Bernhard Baehr.
65992
65993 2001-07-15  Jim Meyering  <meyering@lucent.com>
65994
65995         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
65996         stuff. Now it's in ../Makefile.cfg.
65997
65998 2001-07-15  Jim Meyering  <meyering@lucent.com>
65999
66000         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
66001         (BUILT_SOURCES): Add unlocked-io.h.
66002         (io_functions): Define.
66003         (unlocked-io.h): New rule.
66004         (DISTCLEANFILES): Add unlocked-io.h.
66005         (all-local): Depend on unlocked-io.h, to ensure it is created.
66006
66007         * lib/unlocked-io.hin: New file
66008
66009         * lib/regex.c: Update from glibc.
66010
66011 2001-07-05  Jim Meyering  <meyering@lucent.com>
66012
66013         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
66014         recommendation.
66015         (libfetish_a_SOURCES): Put all .h files here instead.
66016         Remove a thus-exposed (better checks in automake) duplicate and
66017         two unnecessary .h files.
66018
66019 2001-07-04  Jim Meyering  <meyering@lucent.com>
66020
66021         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
66022         that generates jm-glibc-io.m4 so that it doesn't trigger any make
66023         distcheck failure.
66024
66025 2001-07-02  Jim Meyering  <meyering@lucent.com>
66026
66027         The following changes were prompted by suggestions from Bruno Haible.
66028
66029         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
66030         is now generated.
66031         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
66032         definition of EXTRA_DIST.
66033         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
66034         ensure that the generated file is created/updated whenever the list
66035         of $(unlocked_functions) is changed.
66036         (jm-glibc-io.m4): New rule.
66037         (unlocked-io.h): New rule -- currently unused.
66038
66039 2001-06-24  Jim Meyering  <meyering@lucent.com>
66040
66041         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
66042         unmatched right bracket, rather than kludging it with an extra,
66043         falsely-matching quote in a comment.  Patch by Akim Demaille.
66044
66045 2001-06-11  Jim Meyering  <meyering@lucent.com>
66046
66047         * lib/regex.c: Update from GNU libc.
66048
66049 2001-05-27  Jim Meyering  <meyering@lucent.com>
66050
66051         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
66052         Check for ut_type in struct utmp.
66053
66054 2001-05-27  Jim Meyering  <meyering@lucent.com>
66055
66056         * lib/readutmp.h (UT_TYPE): Define.
66057
66058 2001-05-24  Jim Meyering  <meyering@lucent.com>
66059
66060         * lib/argmatch.c: Include "quote.h".
66061         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
66062         quote function.  Reported by Göran Uddeborg.
66063
66064 2001-05-22  Jim Meyering  <meyering@lucent.com>
66065
66066         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
66067         now that we use the package-supplied version unconditionally.
66068         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
66069
66070 2001-05-21  Jim Meyering  <meyering@lucent.com>
66071
66072         * m4/regex.m4: Change a couple backticks to single quotes to avoid
66073         shell syntax errors.
66074
66075 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66076
66077         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
66078
66079 2001-05-20  Paul Eggert  <eggert@twinsun.com>
66080
66081         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
66082         Don't bother to check library strftime, since
66083         we'll be using our own my_strftime function anyway.
66084         Define my_strftime instead of strftime.
66085
66086 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
66087
66088         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
66089         which is not yet declared.
66090
66091 2001-05-15  Jim Meyering  <meyering@lucent.com>
66092
66093         * m4/regex.m4: Use proper quoting so brackets appear in the test
66094         program.
66095         Reported by, and with help from, Bruno Haible.
66096
66097 2001-05-13  Jim Meyering  <meyering@lucent.com>
66098
66099         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
66100         undefined.
66101
66102 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66103
66104         dirname code cleanup.  base_name now behaves more compatibly
66105         with POSIX basename when given file names that have trailing
66106         slashes, and similarly for dir_name.  Add new primitives
66107         base_len and dir_len.  Put the directory-name-related decls
66108         into dirname.h.
66109
66110         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
66111         * lib/backupfile.c (base_name): Likewise.
66112         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
66113         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
66114         * lib/makepath.c (strip_trailing_slashes): Likewise.
66115         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
66116         ISSLASH): Likewise.
66117         * lib/rename.c (strip_trailing_slashes): Likewise.
66118         * lib/same.c (base_name): Likewise.
66119         * lib/stripslash.c (ISSLASH): Likewise.
66120
66121         * lib/addext.c: Include <dirname.h> after size_t is defined.
66122         * lib/backupfile.c: Likewise.
66123
66124         * lib/addext.c (addext): Use base_len to trim redundant
66125         trailing slashes instead of doing it ourselves.
66126         But do not trim the last slash if it is not redundant.
66127
66128         * lib/backupfile.c (find_backup_file_name,
66129         max_backup_version): Use base_len instead of rolling it ourselves.
66130         Handle the case of "" and (on DOS) "C:" correctly.
66131
66132         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
66133         needed. Include <string.h>, <dirname.h>.
66134         (base_name): Allow file names ending in slashes, other than names
66135         that are all slashes.  In this case, return the basename followed
66136         by the slashes.  This is more general, and can be used in places
66137         where the original base_name purposely had an assertion failure.
66138         (base_len): New function.
66139
66140         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
66141         Do not include <assert.h>; no longer needed.
66142         Include xalloc.h.
66143         (memrchr): Remove decl.
66144         (dir_name_r): Remove.
66145         (dir_len): Renamed from dirlen.  All callers changed.
66146         Rewrite in terms of base_name, for simplicity and consistency.
66147         (dir_name): Never return NULL.  All callers changed.
66148         Do not include <stdlib.h> in test program; no longer needed.
66149         return 0; is fine for test program.
66150
66151         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
66152         New macros.
66153         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
66154
66155         * lib/path-concat.c (path_concat): Use base_len to compute
66156         base length, not strlen; this means we cannot rely on memcpy
66157         to null-terminate.
66158
66159         * lib/same.c (STREQ): Remove.
66160         (same_name): Handle the case where the basename ends in trailing '/'.
66161
66162         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
66163         a slash was stripped.  Do not strip the last slash after a
66164         file system prefix.
66165
66166 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66167
66168         * lib/Makefile.am (libfetish_a_SOURCES):
66169         Add strftime.c, since we now compile it on all hosts.
66170
66171         * lib/strftime.c (my_strftime):
66172         Define to nstrftime if emacs, but only if my_strftime is not defined.
66173         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
66174         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
66175         Add one more extra argument: a nanoseconds value.
66176         All uses changed.
66177         (ns): New macro.
66178         (my_strftime function): Add %N format.
66179         (emacs_strftimeu): Renamed from emacs_strftime,
66180         with extra ut argument.
66181
66182 2001-05-09  Paul Eggert  <eggert@twinsun.com>
66183
66184         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
66185
66186 2001-04-21  Jim Meyering  <meyering@lucent.com>
66187
66188         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
66189         doesn't interfere.
66190
66191 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66192
66193         * m4/ftruncate.m4: Check for chsize.
66194         Link with ftruncate.o unconditionally if ftruncate is missing.
66195         This was required when cross-compiling to i586-mingw32msvc.
66196
66197 2001-04-08  Jim Meyering  <meyering@lucent.com>
66198
66199         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
66200         recomputed; that's necessary when the offset spans a DST transition.
66201         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
66202
66203 2001-04-02  Jim Meyering  <meyering@lucent.com>
66204
66205         * lib/regex.h, regex.c: Update from GNU libc.
66206
66207 2001-03-24  Jim Meyering  <meyering@lucent.com>
66208
66209         * m4/jm-macros.m4: Require autoconf-2.49d.
66210
66211 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
66212
66213         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
66214
66215 2001-03-19  Paul Eggert  <eggert@twinsun.com>
66216
66217         * lib/version-etc.c (version_etc_copyright): Update to 2001.
66218
66219 2001-03-17  Jim Meyering  <meyering@lucent.com>
66220
66221         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
66222         now that the version in autoconf is equivalent.
66223         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
66224
66225         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
66226         Suggestion from Akim Demaille.
66227
66228         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
66229         (jm_PREREQ_TEMPNAME): New function.
66230
66231 2001-03-16  Paul Eggert  <eggert@twinsun.com>
66232
66233         * lib/tempname.c (uint64_t): Define to uintmax_t if
66234         not defined, and if UINT64_MAX is not defined.
66235         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
66236         Reported by John David Anglin.
66237
66238 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
66239
66240         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
66241         resolve alias if codeset is empty.
66242         * lib/config.charset (BeOS): Use wildcard syntax.
66243
66244 2001-03-13  Jim Meyering  <meyering@lucent.com>
66245
66246         * lib/path-concat.c (path_concat)
66247         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
66248         concatenating e.g., `C:' and `foo'.
66249         From Bruno Haible.
66250
66251 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66252
66253         * lib/localcharset.c (locale_charset): Don't use
66254         setlocale(LC_CTYPE,NULL). Don't return NULL.
66255         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
66256
66257 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66258
66259         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
66260         support for DOS/DJGPP.
66261
66262 2001-03-01  Paul Eggert  <eggert@twinsun.com>
66263
66264         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
66265         lacks mkstemp.  Compile our own tempname.c if we compile our own
66266         mkstemp.c, as mkstemp relies on tempname.
66267
66268 2001-03-01  Jim Meyering  <meyering@lucent.com>
66269
66270         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
66271         AH_VERBATIM really does output its argument verbatim.
66272
66273 2001-02-28  Paul Eggert  <eggert@twinsun.com>
66274
66275         * lib/Makefile.am (libfetish_a_SOURCES):
66276         Add dup-safer.c, fopen-safer.c.
66277         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
66278
66279         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
66280         * lib/unistd-safer.h: New files.
66281
66282 2001-02-25  Paul Eggert  <eggert@twinsun.com>
66283
66284         The mkstemp replacement is taken from glibc 2.2.2, with some
66285         portability fixes for use outside glibc, as follows:
66286
66287         * lib/tempname.c (struct_stat64): New macro.
66288         (direxists, __gen_tempname): Use it.
66289         This avoids a portability problem with Solaris 8.
66290
66291         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
66292         (<stddef.h>, <stdint.h>, <string.h>):
66293         Include only if STDC_HEADERS || _LIBC.
66294         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
66295         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
66296         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
66297         (__set_errno): Define this macro if <errno.h> doesn't.
66298         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
66299         Define these macros if <stdio.h> doesn't.
66300         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
66301         Define these macros if <sys/stat.h>
66302         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
66303         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
66304         __xstat64): Define if not _LIBC.
66305         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
66306         (__gen_tempname): Invoke gettimeofday only if
66307         HAVE_GETTIMEOFDAY || _LIBC;
66308         otherwise, fall back on plain "time".
66309         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
66310
66311         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
66312
66313         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
66314
66315 2001-02-18  Paul Eggert  <eggert@twinsun.com>
66316
66317         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
66318
66319 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66320
66321         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
66322         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
66323         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
66324         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66325
66326 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66327
66328         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
66329         Remove workaround macros for hosts that have mbrtowc but not
66330         mbstate_t, as we now insist on proper declarations for both
66331         before using mbrtowc.
66332
66333 2001-02-17  Jim Meyering  <meyering@lucent.com>
66334
66335         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
66336         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
66337         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
66338         UnixWare 7.1.1.
66339
66340         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
66341         rather than AC_CACHE_VAL.
66342
66343 2001-02-17  Jim Meyering  <meyering@lucent.com>
66344
66345         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
66346         around included file name.
66347
66348         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
66349
66350         * lib/strftime.c: Update from GNU libc (the only changes were to
66351         comments).
66352
66353 2001-02-17  Jim Meyering  <meyering@lucent.com>
66354
66355         * lib/regex.c: Update from libc.
66356
66357 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
66358
66359         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
66360         clash.
66361
66362 2001-02-16  Paul Eggert  <eggert@twinsun.com>
66363
66364         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
66365         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
66366         Reported by Mark Hounschell via Paul Eggert.
66367
66368 2001-02-07  Jim Meyering  <meyering@lucent.com>
66369
66370         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
66371
66372 2001-02-05  Jim Meyering  <meyering@lucent.com>
66373
66374         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
66375         it includes the patch required for `large file' support with at least
66376         HP-UX's 10.20 /bin/cc.
66377
66378 2001-02-03  Jim Meyering  <meyering@lucent.com>
66379
66380         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
66381         AS_IF, now that it works once again (mysteriously).
66382         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66383
66384 2001-01-30  Jim Meyering  <meyering@lucent.com>
66385
66386         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
66387         * m4/chown.m4: Rename conftestchown to conftest.chown.
66388         * m4/rename.m4: s/conftestdir/conftest.d1/ and
66389         s/conftestdir2/conftest.d2/.
66390         * m4/utimes.m4: s/conftestdata/conftest.data/
66391         Inspired by Pavel Roskin's change in autoconf.
66392
66393 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
66394
66395         * lib/config.charset: Update for FreeBSD 4.2.
66396
66397 2001-01-27  Jim Meyering  <meyering@lucent.com>
66398
66399         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
66400         a use of AS_IF.
66401         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66402
66403 2001-01-26  Jim Meyering  <meyering@lucent.com>
66404
66405         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
66406         quotearg.c includes it.
66407
66408 2001-01-26  Jim Meyering  <meyering@lucent.com>
66409
66410         * lib/quotearg.c: Include stddef.h.
66411         * lib/quote.c: Include stddef.h.
66412         Reported by Axel Kittenberger.
66413
66414         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
66415         line in double quotes so that it evokes a better diagnostic.
66416         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
66417         Reported by Axel Kittenberger.
66418
66419 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
66420
66421         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
66422         as if it was a `charset'.
66423
66424 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66425
66426         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
66427         has const.
66428
66429 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66430
66431         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
66432         to avoid a warning.  Add back 'const' to inptr.
66433
66434 2001-01-20  Jim Meyering  <meyering@lucent.com>
66435
66436         Be sure that headers are checked before used in code compiled
66437         for the type checks.
66438         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
66439         In place of that, invoke jm_CHECK_ALL_TYPES.
66440         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
66441         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
66442         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
66443         The check for ssize_t was mistakenly run before the test for unistd.h.
66444
66445         The configure-time check for stdbool.h was missing.
66446         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
66447         (jm_PREREQ_HASH): New function.
66448
66449 2001-01-17  Jim Meyering  <meyering@lucent.com>
66450
66451         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
66452         for autoconf-2.49c.
66453         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
66454
66455 2001-01-16  Jim Meyering  <meyering@lucent.com>
66456
66457         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
66458         From Bruno Haible.
66459
66460 2001-01-14  Jim Meyering  <meyering@lucent.com>
66461
66462         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
66463         foo and bar.  Create conftestdir/ in the script, not in the C code.
66464         Remove directories in the script, not in the C code.
66465         Remove conftestdir{,2} before trying to create the directory.
66466         Make the entire configure script fail if the mkdir fails.
66467
66468 2001-01-14  Jim Meyering  <meyering@lucent.com>
66469
66470         * lib/rename.c: New file.  From Volker Borchert.
66471         Include stdlib.h, string.h or strings.h, and xalloc.h.
66472         Use strip_trailing_slashes rather than open-coding it.
66473
66474 2001-01-03  Paul Eggert  <eggert@twinsun.com>
66475
66476         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
66477
66478 2001-01-03  Jim Meyering  <meyering@lucent.com>
66479
66480         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
66481         of local `inptr' to avoid warning with some system declarations of
66482         iconv.
66483
66484 2001-01-02  Volker Borchert  <bt@teknon.de>
66485
66486         * m4/rename.m4: New file.
66487         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
66488
66489 2001-01-01  Jim Meyering  <meyering@lucent.com>
66490
66491         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
66492         even on systems with utmpx.h.  It's necessary for the declaration of
66493         utmp's ut_user member.  Reported by Andreas Jaeger.
66494
66495         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
66496         available. They are required for the declarations of getgrgid and
66497         getpwuid resp.
66498         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
66499         Reported by Andreas Jaeger.
66500
66501 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
66502
66503         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
66504         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
66505         so `make install' also works in VPATH builds.
66506
66507 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
66508
66509         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
66510         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
66511         can be used in subdirectories.
66512
66513 2000-12-29  Paul Eggert  <eggert@twinsun.com>
66514
66515         * lib/modechange.c: Do not assume that mode_t uses the
66516         traditional octal encoding.  E.g. "chmod 1 FOO" should set
66517         the other-execute bit of FOO even if S_IXOTH != 1.
66518
66519         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
66520         WOTH, XOTH, ALLM): New macros.
66521         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
66522          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
66523         Use them.
66524         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
66525         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
66526         (mode_compile):
66527         No need to use uintmax_t; unsigned long is long enough.
66528         Don't bother to get suffix since we don't use it.
66529
66530 2000-12-26  Jim Meyering  <meyering@lucent.com>
66531
66532         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
66533         better with autoheader.
66534
66535 2000-12-24  Jim Meyering  <meyering@lucent.com>
66536
66537         * lib/hash.c (is_prime): Return explicit boolean values.
66538         (hash_get_first): Return NULL to appease Irix5.6's 89.
66539         Reported by Nelson Beebe.
66540
66541 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
66542
66543         * lib/localcharset.c (locale_charset): Add support for Win32.
66544
66545 2000-12-18  Paul Eggert  <eggert@twinsun.com>
66546
66547         * lib/physmem.h, lib/physmem.c: New files.
66548
66549         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
66550         (noinst_HEADERS): Add physmem.h.
66551
66552         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
66553         't' for compatibility with Solaris 8 sort.
66554
66555 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
66556
66557         * lib/config.charset: Add support for BeOS.
66558
66559 2000-12-17  Jim Meyering  <meyering@lucent.com>
66560
66561         * m4/dos.m4 (jm_AC_DOS): New file and macro.
66562         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
66563
66564 2000-12-16  Jim Meyering  <meyering@lucent.com>
66565
66566         This bug had a serious impact on chown: `chown N:M FILE' (for integer
66567         N and M) would have treated it like `chown N:N FILE'.
66568
66569         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
66570
66571 2000-12-16  Jim Meyering  <meyering@lucent.com>
66572
66573         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
66574         SHELLS_FILE to a file name that's useful on djgpp systems.
66575         Include stdlib.h.
66576         (ADDITIONAL_DEFAULT_SHELLS): Define.
66577         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
66578         Based mostly on a patch from Prashant TR.
66579
66580 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
66581
66582         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
66583         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
66584         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
66585
66586 2000-12-08  Andreas Schwab  <schwab@suse.de>
66587
66588         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
66589         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
66590
66591 2000-12-07  Jim Meyering  <meyering@lucent.com>
66592
66593         * lib/stripslash.c (ISSLASH): Define.
66594         (strip_trailing_slashes): Use ISSLASH rather than comparing against
66595         `/'.
66596         From Prashant TR.
66597
66598         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
66599         (dir_name_r): Declare this function as static.
66600         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
66601         manifest itself on a name containing a mix of slashes and
66602         backslashes.
66603         Make this function work with names starting with a DOS-style
66604         drive letter and colon prefix.
66605         (dir_name): Append `.' if necessary.
66606         Based mostly on patches from Prashant TR and Eli Zaretskii.
66607
66608         * lib/dirname.h (dir_name_r): Remove prototype.
66609
66610 2000-12-06  Paul Eggert  <eggert@twinsun.com>
66611
66612         * m4/off_t-format.m4: Remove this file.
66613         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
66614
66615 2000-12-06  Jim Meyering  <meyering@lucent.com>
66616
66617         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
66618         replacement strtoull, we may well need the replacement strtoul, too.
66619         Check for declarations of strtoul and strtoull.
66620         Check for strtol.  Mainly as a cue to cause automake to include
66621         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
66622         Check for limits.h -- strtol.c needs it.
66623
66624 2000-12-05  Jim Meyering  <meyering@lucent.com>
66625
66626         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
66627
66628 2000-12-04  Jim Meyering  <meyering@lucent.com>
66629
66630         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
66631         Also include memory.h, stdlib.h, unistd.h if appropriate.
66632         Reported by Andreas Jaeger (conflicting declaration of malloc).
66633
66634 2000-12-02  Jim Meyering  <meyering@lucent.com>
66635
66636         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
66637         * m4/jm-macros.m4 (jm_MACROS): require it.
66638
66639 2000-12-02  Jim Meyering  <meyering@lucent.com>
66640
66641         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
66642
66643 2000-12-01  Paul Eggert  <eggert@twinsun.com>
66644
66645         * lib/memrchr.c: Include <config.h> before any system include file.
66646
66647 2000-11-30  Jim Meyering  <meyering@lucent.com>
66648
66649         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
66650
66651 2000-11-30  Jim Meyering  <meyering@lucent.com>
66652
66653         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
66654
66655 2000-11-29  Paul Eggert  <eggert@twinsun.com>
66656
66657         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
66658
66659 2000-11-26  Jim Meyering  <meyering@lucent.com>
66660
66661         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
66662
66663 2000-11-22  Paul Eggert  <eggert@twinsun.com>
66664
66665         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
66666         size of (size_t) -1; it's not portable.
66667
66668 2000-11-17  Jim Meyering  <meyering@lucent.com>
66669
66670         * lib/strstr.c: Update from GNU libc.
66671
66672 2000-11-17  Akim Demaille  <akim@epita.fr>
66673
66674         * lib/obstack.h: Formatting changes.
66675         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
66676         prevent type checking.
66677         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
66678         cast the value to (void *): assigning a `foo *' to a `void *'
66679         variable is valid.
66680         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
66681
66682 2000-11-16  Jim Meyering  <meyering@lucent.com>
66683
66684         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
66685
66686 2000-11-11  Jim Meyering  <meyering@lucent.com>
66687
66688         * lib/error.c: Add a couple #includes, merging from GNU libc version.
66689
66690 2000-11-10  Jim Meyering  <meyering@lucent.com>
66691
66692         * lib/obstack.h: Update from GNU libc.
66693         * lib/obstack.c: Likewise.
66694
66695 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
66696
66697         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
66698
66699 2000-11-06  Paul Eggert  <eggert@twinsun.com>
66700
66701         * lib/getusershell.c (setusershell): Use rewind rather than
66702         fseek/fseeko, to avoid configuration hassles with fseeko.
66703         Don't bother opening SHELLS_FILE if shellstream is NULL;
66704         it's not necessary.
66705
66706 2000-11-05  Jim Meyering  <meyering@lucent.com>
66707
66708         * lib/makepath.h (make_dir): Declare.
66709         * lib/makepath.c (make_dir): Remove `static' attribute.
66710         Tweak a comment.
66711
66712 2000-11-04  Jim Meyering  <meyering@lucent.com>
66713
66714         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
66715
66716 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
66717
66718         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
66719         last one in a bucket, advance to the next bucket.
66720
66721 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
66722
66723         * lib/fnmatch.c: Do not comment out all the code if we are using
66724         the GNU C library, because in some cases we are replacing buggy
66725         code in the GNU C library itself.
66726
66727 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
66728
66729         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
66730         (regex_compile): Catch bogus \(\1\).
66731
66732 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66733
66734         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
66735         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
66736         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
66737
66738 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66739
66740         * lib/error.h, getline.h, modechange.h:
66741         Remove "2000" from Copyright line, as the file hasn't been
66742         changed this year other than in the copyright notice.
66743
66744         * lib/xalloc.h: Add "2000" to Copyright line, as this file
66745         was changed this year.
66746
66747 2000-10-29  Jim Meyering  <meyering@lucent.com>
66748
66749         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
66750         renaming.
66751         * m4/ls-mntd-fs.m4: Likewise
66752
66753 2000-10-29  Jim Meyering  <meyering@lucent.com>
66754
66755         * lib/xstat.in: Fix grammar in comment.
66756
66757 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
66758
66759         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
66760         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
66761         doesn't define __restrict_arr.
66762
66763 2000-10-28  Jim Meyering  <meyering@lucent.com>
66764
66765         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
66766         (jm_PREREQ_MEMCHR): New function.
66767
66768 2000-10-28  Jim Meyering  <meyering@lucent.com>
66769
66770         * lib/memchr.c: Update from libc.
66771         Adjust for portability:
66772         [HAVE_STDLIB_H]: Include stdlib.h.
66773         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
66774         Undef __memchr, too.
66775         [!weak_alias]: Define __memchr to memchr.
66776
66777         * lib/regex.c: Update from libc.
66778         * lib/regex.h: Likewise.
66779         * lib/getopt1.c: Likewise.
66780         * lib/memcmp.c: Likewise.
66781
66782         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
66783         Avoid using fseek, when possible -- it's broken by design.
66784         Patch by Ulrich Drepper.
66785
66786 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
66787
66788         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
66789         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
66790         Giving in to popular pressure to shut up the compiler with casts.
66791
66792 2000-10-26  Jim Meyering  <meyering@lucent.com>
66793
66794         * lib/strftime.c: Update from libc.
66795
66796 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
66797
66798         * regex.c: More `unsigned char' -> `re_char' changes.
66799         Also change several `int' into `re_wchar_t'.
66800         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
66801         (PUSH_FAILURE_POINTER): Don't cast any more.
66802         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
66803         We want GCC to complain, since this piece of code makes
66804         re_match non-reentrant, which *should* be fixed.
66805         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
66806         (EXTEND_BUFFER): Use RETALLOC.
66807         (SET_LIST_BIT): Don't cast.
66808         (re_wchar_t): New type.
66809         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
66810         that those two functions will always properly return.
66811         (IMMEDIATE_QUIT_CHECK): Cast to void.
66812         (analyse_first): Use recursion rather than an explicit stack.
66813         (re_compile_fastmap): Can't fail anymore.
66814         (re_search_2): Don't check re_compile_fastmap for failure.
66815         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
66816         Now also sets the new value (passed in a new argument).
66817         (re_match_2_internal): Use it.
66818         Also, use a new var `reg' of type size_t when looping through regs
66819         rather than reuse the inappropriate `mcnt'.
66820
66821 2000-10-25  Jim Meyering  <meyering@lucent.com>
66822
66823         * lib/obstack.c: Update from libc.
66824
66825 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
66826
66827         * regex.c (regex_compile): Change the way of handling a range from
66828         a char less than 256 to a char not less than 256.
66829
66830 2000-10-24  Andrew Innes  <andrewi@gnu.org>
66831
66832         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
66833         NT-Emacs only.
66834         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
66835         so that re_search functions only quit when callers expect them to.
66836
66837 2000-10-23  Jim Meyering  <meyering@lucent.com>
66838
66839         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
66840         wrong.  That set_locale call must not have any side effects.
66841         From Paul Eggert.
66842
66843 2000-10-22  Jim Meyering  <meyering@lucent.com>
66844
66845         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
66846         [CYCLIC]: Remove now-unused definition.
66847
66848         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
66849         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
66850         Suggestion from Ulrich Drepper.
66851
66852 2000-10-21  Jim Meyering  <meyering@lucent.com>
66853
66854         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
66855         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
66856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
66857
66858 2000-10-21  Jim Meyering  <meyering@lucent.com>
66859
66860         * lib/dirname.c (memrchr): Declare if necessary.
66861         (dir_name): Remove the restriction that there be no
66862         trailing slashes.  Now, this code skips past them, effectively
66863         ignoring them.
66864         [TEST_DIRNAME] (main): New unit tests.
66865
66866         * lib/memrchr.c: New file from GNU libc.
66867         Undef __memrchr, too.
66868         [!weak_alias]: Define __memrchr to memrchr.
66869         Guard weak_alias use with `#ifdef weak_alias'.
66870
66871 2000-10-21  Jim Meyering  <meyering@lucent.com>
66872
66873         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
66874         (dir_name): Use dir_name_r.
66875         * lib/dirname.h (dir_name_r): Declare it.
66876
66877 2000-10-17  Jim Meyering  <meyering@lucent.com>
66878
66879         * lib/quote.h (PARAMS): Define and use.
66880         Reported by Akim Demaille.
66881
66882         * lib/getopt.c: Update from libc.
66883
66884 2000-10-16  Jim Meyering  <meyering@lucent.com>
66885
66886         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
66887         setlocale.
66888         From Jan Fedak.
66889
66890 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
66891
66892         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
66893
66894 2000-09-25  Jim Meyering  <meyering@lucent.com>
66895
66896         * lib/md5.h (rol): Define (from GnuPG).
66897
66898         * lib/sha.c: Give credit (GnuPG) where due.
66899         (M): Use rol rather than open-coding it.
66900         Add a FIXME comment.
66901
66902 2000-09-21  Jim Meyering  <meyering@lucent.com>
66903
66904         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
66905         Reported by Michael Stone.
66906
66907 2000-09-20  Jim Meyering  <meyering@lucent.com>
66908
66909         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
66910         (noinst_HEADERS): Add sha.h.
66911         Based on code from Scott G. Miller and from GnuPG.
66912
66913 2000-09-18  Jim Meyering  <meyering@lucent.com>
66914
66915         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
66916         LIBS. Otherwise, everyone ends up linking with -lelf for some
66917         configurations.
66918         Reported by Mike Stone.
66919
66920 2000-09-15  Jim Meyering  <meyering@lucent.com>
66921
66922         * lib/regex.c: Update from libc.
66923
66924 2000-09-10  Jim Meyering  <meyering@lucent.com>
66925
66926         * lib/getopt.c (_getopt_internal): Update from glibc.
66927
66928 2000-09-09  Jim Meyering  <meyering@lucent.com>
66929
66930         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
66931         think it should be used as a general replacement for isascii.
66932         * lib/fnmatch.c: Likewise.
66933         * lib/mbswidth.c: Likewise
66934         * lib/regex.c: Likewise.
66935
66936         Don't use atoi.
66937         * lib/userspec.c: Include sys/param.h and limits.h.
66938         Include xstrtol.h.
66939         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66940         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
66941         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
66942         UID, GID.  Check range.
66943
66944 2000-09-06  Jim Meyering  <meyering@lucent.com>
66945
66946         * lib/getopt.c (_getopt_internal): Update from glibc.
66947
66948 2000-08-30  Jim Meyering  <meyering@lucent.com>
66949
66950         * lib/strftime.c: Merge in changes from GNU libc.
66951
66952 2000-08-26  Jim Meyering  <meyering@lucent.com>
66953
66954         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
66955         * m4/fpending.m4: New file.
66956
66957 2000-08-26  Jim Meyering  <meyering@lucent.com>
66958
66959         * lib/closeout.c: Include "__fpending.h".
66960         (close_stdout_status): Return right away if there's nothing to flush.
66961
66962         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
66963         * lib/__fpending.c: New file.
66964         * lib/__fpending.h: New file.
66965
66966 2000-08-20  Jim Meyering  <meyering@lucent.com>
66967
66968         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
66969         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
66970         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
66971
66972 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
66973
66974         Improve fileutils installation on systems where running
66975         programs (like install) can't be unlinked.
66976         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
66977         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
66978
66979 2000-08-07  Paul Eggert  <eggert@twinsun.com>
66980
66981         Standardize on "memory exhausted" instead of "Memory exhausted"
66982         or "virtual memory exhausted".
66983         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
66984         "virtual memory exhausted".
66985         * lib/same.c (same_name): Invoke xalloc_die instead of printing
66986         our own message.
66987         * lib/userspec.c (parse_user_spec): Likewise.
66988         * lib/bumpalloc.h: comment fix
66989         * lib/same.c, userspec.c: Include xalloc.h.
66990
66991         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
66992         not char *const and pointing to a constant array.
66993         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
66994         (xrealloc): Comment fix.
66995
66996         * lib/userspec.c (parse_user_spec):
66997         Don't translate a message until just before returning,
66998         to avoid unnecessary translation.
66999
67000 2000-08-07  Jim Meyering  <meyering@lucent.com>
67001
67002         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
67003         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
67004         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
67005         getgroups.c, gethostname.c, getopt.h, group-member.c,
67006         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
67007         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
67008         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
67009         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
67010         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
67011         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
67012         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
67013         yesno.c: Back out Copyright date changes for each file with no change
67014         this year.  This eases coordination with other programs using the same
67015         source code modules.  From Paul Eggert.
67016
67017 2000-08-06  Paul Eggert  <eggert@twinsun.com>
67018
67019         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
67020         not char, for compatibility with glibc 2.1.3 strftime.c.
67021
67022 2000-08-03  Greg McGary  <greg@mcgary.org>
67023
67024         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
67025         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
67026         (EXTEND_BUFFER): Use them.
67027
67028 2000-08-01  Jim Meyering  <meyering@lucent.com>
67029
67030         * lib/dirname.c (ISSLASH): Define.
67031         (BACKSLASH_IS_PATH_SEPARATOR): Define.
67032         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
67033         both `\' and `/' may be use as path separators.
67034         Based on a patch from Prashant TR.
67035
67036 2000-07-31  Paul Eggert  <eggert@twinsun.com>
67037
67038         * lib/quotearg.c (quotearg_n_options): Don't make the initial
67039         slot vector a constant, since it might get modified.
67040
67041 2000-07-31  Jim Meyering  <meyering@lucent.com>
67042
67043         * lib/xmalloc.c: Use `virtual memory exhausted', not
67044         `Memory exhausted'.
67045         * lib/obstack.c (print_and_abort): Likewise.
67046
67047 2000-07-30  Paul Eggert  <eggert@twinsun.com>
67048
67049         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
67050         buffer, so that the caller can always quote one small
67051         component of a "memory exhausted" message in slot 0.
67052         From a suggestion by Jim Meyering.
67053
67054 2000-07-30  Jim Meyering  <meyering@lucent.com>
67055
67056         * lib/makepath.c (make_path): Quote the other instance, too.
67057
67058         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
67059         (STATIC_BUF_SIZE): Define.
67060         (quotearg_n_options): Use only statically allocated storage when
67061         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
67062         than STATIC_BUF_SIZE.
67063
67064 2000-07-29  Jim Meyering  <meyering@lucent.com>
67065
67066         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
67067         * lib/dirname.c (dir_name): Likewise.
67068
67069         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
67070         `/'.
67071
67072         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
67073         (dir_name): Assert that there are no trailing slashes.
67074
67075 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
67076
67077         * lib/mbswidth.h (mbswidth): Add a flags argument.
67078         (mbswidth): New declaration.
67079         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
67080         * lib/mbswidth.c (mbswidth): Add a flags argument.
67081         (mbsnwidth): New function.
67082
67083 2000-07-24  Jim Meyering  <meyering@lucent.com>
67084
67085         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
67086
67087 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67088
67089         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
67090
67091 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67092
67093         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
67094         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
67095         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
67096         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
67097         invoke multibyte primitives.
67098
67099 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67100
67101         * lib/quotearg.c:
67102         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
67103         so that mbstate_t is always defined.
67104
67105         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
67106         be 1 in at least one GCC installation, and this configuration
67107         error is likely to be common.  Ignoring MB_LEN_MAX hurts
67108         performance on hosts that have mbrtowc but have only unibyte
67109         locales, but I assume these hosts are rare.
67110
67111 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67112
67113         * lib/mbswidth.c (_XOPEN_SOURCE):
67114         Don't define; this causes problems on Solaris 7.
67115         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
67116
67117 2000-07-23  Jim Meyering  <meyering@lucent.com>
67118
67119         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
67120         too: getgrgid, getpwuid, getuid.
67121
67122 2000-07-23  Jim Meyering  <meyering@lucent.com>
67123
67124         * lib/basename.c (base_name): Add an assertion.
67125
67126 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
67127
67128         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
67129         shadow its mbsinit function.
67130
67131 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67132
67133         * lib/mbswidth.h: New file.
67134         * lib/mbswidth.c: New file.
67135         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
67136         (noinst_HEADERS): Add mbswidth.h.
67137
67138 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67139
67140         * lib/config.charset: Add support for FreeBSD. Improve support for
67141         HP-UX and IRIX 6.
67142
67143 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
67144
67145         * m4/mbswidth.m4: New file.
67146         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
67147
67148 2000-07-15  Jim Meyering  <meyering@lucent.com>
67149
67150         * lib/makepath.c: Include quote.h.
67151         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
67152         corresponding argument in a `quote (...)' call.
67153         Give better diagnostics.
67154
67155         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
67156         (noinst_HEADERS): Add quote.h.
67157
67158         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
67159         from tar's src/misc.c.
67160         * lib/quote.h: New file.  Prototypes for same.
67161
67162 2000-07-14  Paul Eggert  <eggert@twinsun.com>
67163
67164         From a suggestion by Bruno Haible.
67165         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
67166         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
67167         to decide whether to define the BeOS workaround macro;
67168         this adjusts to the change to AC_MBSTATE_T.
67169
67170 2000-07-14  Jim Meyering  <meyering@lucent.com>
67171
67172         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
67173         jm_AC_TYPE_UINTMAX_T.
67174
67175 2000-07-13  Paul Eggert  <eggert@twinsun.com>
67176
67177         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
67178
67179         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
67180         quotearg_buffer_restyled): Add support for
67181         clocale_quoting_style.  Undo previous change to
67182         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
67183         and "{RIGHT QUOTATION MARK}" msgids.
67184
67185 2000-07-10  Paul Eggert  <eggert@twinsun.com>
67186
67187         From a suggestion by Bruno Haible.
67188         * m4/mbstate_t.m4 (AC_MBSTATE_T):
67189         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
67190         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
67191         and mbstate_t, to a single-part test that simply defines mbstate_t.
67192         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
67193         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
67194
67195 2000-07-10  Jim Meyering  <meyering@lucent.com>
67196
67197         * m4/strerror_r.m4: Mirror the correction made in autoconf.
67198
67199         * m4/gnu-source.m4: Output to confdefs.h directly.
67200         Suggestion from Akim Demaille.
67201
67202 2000-07-09  Paul Eggert  <eggert@twinsun.com>
67203
67204         The old behavior of quoting `like this' doesn't look good with
67205         newer, ISO-style fonts.  See:
67206         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
67207
67208         Instead, quote "like this" by default.  Let the translator
67209         tailor the locale-specific quoting behavior by providing
67210         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
67211
67212         * lib/quotearg.c (N_): New macro.
67213         (gettext_default): New function.
67214         (quotearg_buffer_restyled): Use
67215         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
67216         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
67217
67218 2000-07-09  Jim Meyering  <meyering@lucent.com>
67219
67220         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
67221         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
67222
67223         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
67224         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
67225
67226 2000-07-09  Jim Meyering  <meyering@lucent.com>
67227
67228         * lib/Most files: Update copyright dates to include 2000.
67229
67230 2000-07-08  Jim Meyering  <meyering@lucent.com>
67231
67232         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
67233         if not defined.
67234         (xgethostname): Remove now-unnecessary #ifdef.
67235         Move declaration of `err' into loop where it's used.
67236
67237 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67238         and Bruno Haible  <haible@clisp.cons.org>
67239
67240         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
67241         only if the test for an object-type mbstate_t fails.  This
67242         prevents us from mistakenly reporting that mbstate_t is a
67243         system object type after we "#define mbstate_t int" to work
67244         around its lack.
67245
67246 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67247         and Bruno Haible  <haible@clisp.cons.org>
67248
67249         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
67250
67251 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67252
67253         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
67254         to strerror_r.
67255         Include <ctype.h> for use of isalpha.
67256
67257 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67258
67259         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
67260         by allocating a larger buffer. Test the gethostname return value for
67261         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
67262         returns an error and ENAMETOOLONG isn't defined.
67263
67264 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67265
67266         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
67267         dimension.
67268
67269 2000-07-04  Jim Meyering  <meyering@lucent.com>
67270
67271         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
67272         of the deprecated AC_CHECKING.
67273
67274 2000-07-04  Jim Meyering  <meyering@lucent.com>
67275
67276         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
67277         Reported by Bruno Haible.
67278
67279 2000-07-04  Jim Meyering  <meyering@lucent.com>
67280
67281         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
67282         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
67283         lacks mbrtowc.
67284
67285 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67286
67287         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
67288         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
67289
67290 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67291         and Bruno Haible  <haible@clisp.cons.org>
67292
67293         * lib/quotearg.c (mbrtowc):
67294         Assign to *pwc, and return 1 only if result is nonzero.
67295         (iswprint): Use ISPRINT when substituting our own mbrtowc.
67296
67297 2000-07-03  Jim Meyering  <meyering@lucent.com>
67298
67299         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
67300
67301 2000-07-03  Jim Meyering  <meyering@lucent.com>
67302
67303         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
67304         This is necessary to get a definition of e.g., UTMP_FILE on
67305         HP-UX 10.20.
67306         From Bob Proulx.
67307
67308 2000-07-02  Jim Meyering  <meyering@lucent.com>
67309
67310         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
67311
67312         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
67313         AC_LIBOBJ(function_name).
67314         * m4/chown.m4: Likewise.
67315         * m4/fnmatch.m4: Likewise.
67316         * m4/ftruncate.m4: Likewise.
67317         * m4/getgroups.m4: Likewise.
67318         * m4/getline.m4: Likewise.
67319         * m4/group-member.m4: Likewise.
67320         * m4/jm-macros.m4: Likewise.
67321         * m4/lstat.m4: Likewise.
67322         * m4/malloc.m4: Likewise.
67323         * m4/memcmp.m4: Likewise.
67324         * m4/nanosleep.m4: Likewise.
67325         * m4/putenv.m4: Likewise.
67326         * m4/realloc.m4: Likewise.
67327         * m4/regex.m4: Likewise.
67328         * m4/stat.m4: Likewise.
67329         * m4/strftime.m4: Likewise.
67330
67331 2000-07-02  Jim Meyering  <meyering@lucent.com>
67332
67333         * lib/quotearg.c (mbstate_t): Don't define here.
67334
67335 2000-07-02  Jim Meyering  <meyering@lucent.com>
67336
67337         * lib/nanosleep.c (SIGCONT): Define if not already defined.
67338
67339 2000-07-01  Jim Meyering  <meyering@lucent.com>
67340
67341         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
67342
67343 2000-07-01  Jim Meyering  <meyering@lucent.com>
67344
67345         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
67346         problem.
67347
67348 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67349
67350         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
67351         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
67352
67353 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67354
67355         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
67356         per change in ../m4/ls-mntd-fs.m4.
67357         (read_filesystem_list): Ignore symbolic links.
67358
67359 2000-06-29  Jim Meyering  <meyering@lucent.com>
67360
67361         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
67362         for declaration of strcmp.
67363
67364         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
67365
67366         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
67367         Avoid warning by casting result to `char *' to remove `const'.
67368
67369 2000-06-28  Jim Meyering  <meyering@lucent.com>
67370
67371         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
67372         included by quotearg.c, for which we perform this test.  From
67373         Bruno Haible.
67374
67375 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67376
67377         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
67378         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
67379         <utmpx.h> exists, put readutmp.o into LIBOBJS.
67380
67381 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67382
67383         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
67384
67385 2000-06-26  Paul Eggert  <eggert@twinsun.com>
67386
67387         savedir now sets errno on failure and invokes xmalloc to get memory.
67388         Fix a couple of other minor bugs while we're at it.
67389
67390         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
67391         (NAMLEN): Remove macro.
67392         (malloc, realloc): Remove decls.
67393         (stpcpy): Likewise.
67394         ("xalloc.h"): Include.
67395         (NAME_SIZE_DEFAULT): New macro.
67396         (savedir): Use xmalloc / xrealloc to allocate memory.
67397         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
67398         Skip "" directory entries.
67399         Use strlen to calculate directory entry length, since the old method
67400         is rarely used these days and isn't worth supporting.
67401         Don't use a pointer after freeing it.
67402         Check for integer overflow when calculating allocation size.
67403         Use memcpy to copy entries, instead of stpcpy.
67404         Set errno properly when returning NULL.
67405         Check for readdir error.
67406
67407 2000-06-26  Jim Meyering  <meyering@lucent.com>
67408
67409         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
67410
67411 2000-06-25  Jim Meyering  <meyering@lucent.com>
67412
67413         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
67414         Linux header bug when _XOPEN_SOURCE is defined to 500.
67415
67416 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67417
67418         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
67419         deficiency.
67420
67421 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67422
67423         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
67424         Include xalloc.h.
67425         Don't include <stdlib.h>.  Don't declare malloc, realloc.
67426
67427 2000-06-24  Jim Meyering  <meyering@lucent.com>
67428
67429         * m4/strerror_r.m4: Revive this file -- to try out an experimental
67430         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
67431         for which strerror does return char*, but which lacks a conveniently
67432         accessible declaration of the function.  If the compile-test says
67433         strerror_r doesn't work, then resort to a `run'-test that works on
67434         BeOS and segfaults on DEC Unix.
67435
67436 2000-06-24  Jim Meyering  <meyering@lucent.com>
67437
67438         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
67439
67440 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67441
67442         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
67443         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
67444
67445 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67446
67447         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
67448         (mbrtowc, mbstate_t): Define substitutes if
67449         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
67450         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
67451         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
67452
67453 2000-06-23  Jim Meyering  <meyering@lucent.com>
67454
67455         * m4/afs.m4: Add missing AC_MSG_RESULT.
67456         Reported by Bruno Haible.
67457
67458         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
67459         Suggestion from Bruno Haible.
67460
67461 2000-06-23  Jim Meyering  <meyering@lucent.com>
67462
67463         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
67464
67465 2000-06-21  Jim Meyering  <meyering@lucent.com>
67466
67467         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
67468
67469 2000-06-21  Jim Meyering  <meyering@lucent.com>
67470
67471         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
67472         (noinst_HEADERS): Add getstr.h.
67473
67474         * lib/getline.c (getstr): Move into a separate file.
67475         * lib/getstr.c (getstr): New file, extracted from getline.c, with
67476         the following changes: new parameter, delim2; both delim[12]
67477         parameters have type `int', not `char'.  The latter would lose
67478         with 8-bit delimiters.
67479         * lib/getstr.h: New file.
67480
67481 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67482
67483         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
67484         than 1024, return a memory chunk of least possible size, instead
67485         of size PATH_MAX + 2. In the loop, increment the size proportionally.
67486         Use free/xmalloc instead of xrealloc to avoid copying for very long
67487         paths.
67488
67489 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67490
67491         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
67492         the empty string.
67493
67494 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67495
67496         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
67497         address, not strdup.  Include <stdlib.h> and don't declare free().
67498
67499 2000-06-19  Jim Meyering  <meyering@lucent.com>
67500
67501         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
67502
67503 2000-06-18  Jim Meyering  <meyering@lucent.com>
67504
67505         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
67506
67507         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
67508         `checking whether...' message to be consistent with that of the
67509         lstat test.
67510
67511 2000-06-18  Jim Meyering  <meyering@lucent.com>
67512
67513         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
67514         Besides, these days every porting target provides a mkdir function.
67515
67516         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
67517         needed. (this snippet comes from src/system.h).
67518
67519 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
67520
67521         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
67522
67523 2000-06-15  Paul Eggert  <eggert@twinsun.com>
67524
67525         * lib/human.c (adjust_value): New function.
67526         (human_readable_inexact): Apply rounding style even when
67527         printing approximate values.
67528
67529 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67530
67531         * lib/human.c (human_readable_inexact): Allow an input block
67532         size that is not a multiple of the output block size, and vice versa.
67533         Reported by Piergiorgio Sartor.
67534
67535 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67536
67537         * lib/getdate.y (get_date): Apply relative times after time
67538         zone indicator, not before.  Reported by Todd A. Jacobs.
67539
67540 2000-06-13  Jim Meyering  <meyering@lucent.com>
67541
67542         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
67543
67544         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
67545
67546 2000-06-12  Paul Eggert  <eggert@twinsun.com>
67547
67548         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
67549
67550 2000-06-12  Jim Meyering  <meyering@lucent.com>
67551
67552         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
67553         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
67554         optional argument.
67555         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
67556         the optional argument, `lib'.
67557
67558 2000-06-08  Jim Meyering  <meyering@lucent.com>
67559
67560         * m4/largefile.m4: Remove file (now that it's part of autoconf).
67561
67562 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67563
67564         Rewrite largefile configuration so that we don't need to run
67565         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
67566         AC_CANONICAL_HOST in configure.in -- jmm]
67567
67568         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
67569         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
67570         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
67571         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
67572         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
67573         All uses changed.
67574         Instead of inspecting the output of getconf, try to compile the
67575         test program without and with the macro definition.
67576         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
67577         for getconf.  Instead, check for the needed flags by compiling
67578         test programs.
67579
67580 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67581
67582         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
67583
67584 2000-06-04  Jim Meyering  <meyering@lucent.com>
67585
67586         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
67587         SunOS 4.1.4 for which gid_t is an unsigned type.
67588
67589 2000-06-03  Jim Meyering  <meyering@lucent.com>
67590
67591         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
67592         now that autoconf requires that.
67593
67594         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
67595         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
67596         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
67597
67598 2000-06-03  Jim Meyering  <meyering@lucent.com>
67599
67600         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
67601
67602 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67603
67604         * m4/glibc21.m4: New file.
67605         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
67606
67607 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67608
67609         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
67610         newer, don't install charset.alias.
67611         * lib/config.charset: Change the Linux/glibc rules so they become empty
67612         on glibc-2.1 or newer.
67613
67614 2000-06-02  Jim Meyering  <meyering@lucent.com>
67615
67616         * lib/mountlist.c: Back out last change.  Instead, do this...
67617         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
67618         me_dummy member using the same `ignore'-testing code.
67619         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
67620         fs_type strings.
67621         From Mark D. Roth.
67622
67623 2000-05-29  Jim Meyering  <meyering@lucent.com>
67624
67625         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
67626         mounts with the `ignore' attribute.  Based on a patch from
67627         Mark D. Roth.
67628
67629 2000-05-28  Jim Meyering  <meyering@lucent.com>
67630
67631         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
67632         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67633         * m4/stat.m4: Likewise.
67634         * m4/lstat.m4: Likewise.
67635         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
67636
67637         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
67638         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
67639
67640 2000-05-26  Jim Meyering  <meyering@lucent.com>
67641
67642         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
67643
67644 2000-05-24  Jim Meyering  <meyering@lucent.com>
67645
67646         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
67647         autoconf requires that.
67648         * m4/lib-check.m4: Likewise.
67649         * m4/jm-macros.m4: Likewise.
67650         * m4/strftime.m4: Likewise.
67651
67652         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
67653         AC_CHECK_DECLS, now that autoconf requires that.
67654
67655 2000-05-22  Jim Meyering  <meyering@lucent.com>
67656
67657         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67658         * m4/lstat.m4: Likewise.
67659
67660 2000-05-22  Jim Meyering  <meyering@lucent.com>
67661
67662         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
67663
67664 2000-05-20  Jim Meyering  <meyering@lucent.com>
67665
67666         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
67667         (jm_PREREQ): Use it.
67668
67669 2000-05-18  Jim Meyering  <meyering@lucent.com>
67670
67671         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
67672         back, too, since it may have been modified by allocate_entry.
67673         (hash_delete): Rewrite to use neither the assignment operator
67674         nor the comma operator in an if-expression.
67675
67676 2000-05-15  Paul Eggert  <eggert@twinsun.com>
67677
67678         * lib/closeout.c:
67679         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
67680         Remove; no longer needed.
67681         "quotearg.h": Add include.
67682         (file_name): Do not bother to explicitly initialize to NULL; it's less
67683         efficient on some hosts.
67684         (close_stdout_status): Remove test as to whether stdout was already
67685         closed; it breaks for the case "echo x | sort >&-".
67686         Quote file name colons.
67687         Do not assume that _("write error") lacks format strings.
67688
67689 2000-05-15  Jim Meyering  <meyering@lucent.com>
67690
67691         * lib/version-etc.c (version_etc_copyright): Update the copyright
67692         string used in all --version output.
67693
67694 2000-05-14  Jim Meyering  <meyering@lucent.com>
67695
67696         * lib/closeout.c (close_stdout_set_file_name): New function.
67697         (close_stdout_status): Use new file-scoped global.
67698         Return right away if fstat says the stdout file descriptor is invalid.
67699         * lib/closeout.h (close_stdout_set_file_name): Declare.
67700
67701 2000-05-10  Jim Meyering  <meyering@lucent.com>
67702
67703         * lib/closeout.c [default_exit_status]: New file-scoped variable.
67704         (close_stdout_set_status): New function.
67705         * lib/closeout.h (close_stdout_set_status): Declare.
67706
67707 2000-05-09  Jim Meyering  <meyering@lucent.com>
67708
67709         * m4/gettext.m4: Rename this...
67710         * m4/libintl.m4: ...to this.
67711
67712 2000-05-08  Jim Meyering  <meyering@lucent.com>
67713
67714         * lib/long-options.c: Don't include closeout.h.
67715         (parse_long_options): Don't call close_stdout for --version.
67716
67717 2000-05-06  Paul Eggert  <eggert@twinsun.com>
67718
67719         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
67720         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
67721         2.1.3 bug.  This avoids a clash when files like regex.c define
67722         _GNU_SOURCE.
67723
67724 2000-05-06  Jim Meyering  <meyering@lucent.com>
67725
67726         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
67727         (AC_REPLACE_FUNCS): Add strnlen.
67728
67729         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
67730         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
67731
67732         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
67733         AC_SEARCH_LIBS call for nanosleep.
67734         (LIB_NANOSLEEP): Set and AC_SUBST.
67735
67736 2000-05-06  Jim Meyering  <meyering@lucent.com>
67737
67738         * lib/strnlen.c: Undefine __strnlen and strnlen.
67739         [!weak_alias]: Define __strnlen to strnlen.
67740
67741         * lib/atexit.c: New file, from libiberty.
67742
67743 2000-05-06  Jim Meyering  <meyering@lucent.com>
67744
67745         * lib/closeout.c (close_stdout_status): Also check for errors on the
67746         stderr stream.
67747
67748 2000-05-05  Jim Meyering  <meyering@lucent.com>
67749
67750         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
67751         AC_SEARCH_LIBS call for clock_gettime.
67752         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
67753
67754         * m4/search-libs.m4: Update from autoconf.
67755
67756         su doesn't work on Solaris 2.6.
67757         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
67758         <shadow.h>.  Reported by Dragos Harabor.
67759
67760 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
67761
67762         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
67763         memcpy instead of xmalloc, xrealloc, path_concat.
67764         (locale_charset): Treat empty environment variables as absent.
67765         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
67766
67767 2000-05-04  Jim Meyering  <meyering@lucent.com>
67768
67769         * lib/getopt.c: Update from glibc.
67770         * lib/obstack.c: Likewise.
67771         * lib/obstack.h: Likewise.
67772         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
67773         file
67774
67775         * lib/regex.h: Likewise.
67776         * lib/strndup.c: Likewise.
67777         * lib/strnlen.c: New file, from glibc.
67778
67779 2000-05-03  Jim Meyering  <meyering@lucent.com>
67780
67781         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
67782
67783 2000-05-02  Paul Eggert  <eggert@twinsun.com>
67784
67785         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
67786         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
67787         compile-time test, rather than inspecting host and OS, to
67788         decide whether to define _LARGEFILE_SOURCE.
67789
67790 2000-05-01  Jim Meyering  <meyering@lucent.com>
67791
67792         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
67793
67794         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
67795         Based on a patch from Bruno Haible.
67796
67797 2000-05-01  Jim Meyering  <meyering@lucent.com>
67798
67799         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
67800
67801 2000-04-29  Jim Meyering  <meyering@lucent.com>
67802
67803         * lib/path-concat.c: Declare strdup only if it's not defined.
67804         * lib/canon-host.c: Likewise.
67805
67806 2000-04-28  Jim Meyering  <meyering@lucent.com>
67807
67808         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
67809         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
67810         is included first, then limits.h is included by locale.h by libintl.h.
67811         From John David Anglin.
67812
67813 2000-04-25  Jim Meyering  <meyering@lucent.com>
67814
67815         * lib/makepath.c (S_IRWXUGO): Define.
67816         (make_path): Always perform explicit chmod if MODE specifies any
67817         of the `special' permission bits.  Prompted by a bug report against
67818         install from Mate Wierdl and Joost van Baal.
67819
67820 2000-04-18  Jim Meyering  <meyering@lucent.com>
67821
67822         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
67823         (jm_PREREQ): Use it.
67824
67825 2000-04-18  Jim Meyering  <meyering@lucent.com>
67826
67827         * lib/README: New file.
67828
67829         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
67830         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
67831
67832 2000-04-17  Jim Meyering  <meyering@lucent.com>
67833
67834         Get it right :-)
67835         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
67836         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
67837         Suggestion from Akim Demaille.
67838
67839 2000-04-17  Jim Meyering  <meyering@lucent.com>
67840
67841         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
67842         the definition of it to rpl_strftime also defined-away the system's
67843         declaration.
67844
67845 2000-04-15  Jim Meyering  <meyering@lucent.com>
67846
67847         Use `C' to denote so-called `contiguous' files, the same way
67848         that tar does.
67849         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
67850         (ftypelet): Use S_ISCTG.
67851         From Michael Deutschmann.
67852
67853 2000-04-14  Jim Meyering  <meyering@lucent.com>
67854
67855         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
67856         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
67857         clobbered.
67858
67859 2000-04-14  Jim Meyering  <meyering@lucent.com>
67860
67861         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
67862
67863 2000-04-13  Jim Meyering  <meyering@lucent.com>
67864
67865         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
67866         AH_VERBATIM to insert required #ifndef into config.h.in.
67867         Suggestion from Akim Demaille.
67868
67869 2000-04-12  Jim Meyering  <meyering@lucent.com>
67870
67871         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
67872         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
67873         Christian Krackowizer.
67874
67875         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
67876         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
67877         (AC_SYS_LARGEFILE): Require.
67878         (AM_C_PROTOTYPES): Require.
67879
67880 2000-04-08  Jim Meyering  <meyering@lucent.com>
67881
67882         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
67883         names don't conflict.  Reported by Eli Zaretskii.
67884
67885 2000-04-07  Jim Meyering  <meyering@lucent.com>
67886
67887         * lib/putenv.c: Move inclusion of errno.h so it follows that of
67888         sys/types.h, to work around system header problems on AIX 3.2.5.
67889         From Bruno Haible.
67890
67891 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
67892
67893         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
67894         bug.  Deal with the different error behavior of Irix iconv.
67895
67896 2000-04-05  Paul Eggert  <eggert@twinsun.com>
67897
67898         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
67899         IRIX if the installer said otherwise.
67900
67901 2000-04-05  Jim Meyering  <meyering@lucent.com>
67902
67903         Portability tweaks required for ultrix4.3.
67904         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
67905         (jm_CHECK_DECLS): Add getutent to the list of functions.
67906         (_jm_DECL_HEADERS): Add utmpx.h.
67907         From John David Anglin.
67908
67909         * m4/strftime.m4: Back out the 2000-04-02 change.
67910         Instead of that change, simply undefine putenv in the test program.
67911
67912 2000-04-05  Jim Meyering  <meyering@lucent.com>
67913
67914         Portability tweaks required for ultrix4.3.
67915         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
67916         getutent.
67917         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
67918         * lib/canon-host.c: Declare strdup.
67919         * lib/path-concat.c: Likewise.
67920         From John David Anglin.
67921
67922 2000-04-04  Jim Meyering  <meyering@lucent.com>
67923
67924         Be more DOS 8.3-friendly.
67925         * lib/ref-add.sin: Renamed from ref-add.sed.in.
67926         * lib/ref-del.sin: Renamed from ref-del.sed.in.
67927         * lib/Makefile.am: Reflect renaming.
67928         Reported by Eli Zaretskii.
67929
67930         Use a temporary file name that won't clash with `charset.alias'
67931         in the DOS 8.3 name space.
67932         * lib/Makefile.am (charset_tmp): Define.
67933         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
67934         (uninstall-local): Likewise.
67935         Reported by Eli Zaretskii.
67936
67937 2000-04-03  Jim Meyering  <meyering@lucent.com>
67938
67939         * m4/gettext.m4: Fix typo in comment.
67940
67941         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
67942         textutils/configure.in).  Suggestion from Paul Eggert.
67943         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
67944
67945 2000-04-02  Paul Eggert  <eggert@twinsun.com>
67946
67947         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
67948         variable in the shell rather than using putenv, which isn't
67949         portable.  This avoids the configure-time inter-test dependency
67950         on the potentially-renamed putenv function.
67951
67952 2000-03-30  Paul Eggert  <eggert@twinsun.com>
67953
67954         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
67955         before checking struct stat.st_blksize, so that
67956         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
67957
67958 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67959
67960         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
67961         since strftime.c uses HAVE_STRFTIME to decide whether to use
67962         the underlying strftime.
67963
67964 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67965
67966         * lib/time/strftime.c (my_strftime): Make sure we call the system
67967         strftime, not ourselves, when invoking the underlying strftime.
67968
67969 2000-03-24  Jim Meyering  <meyering@lucent.com>
67970
67971         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
67972         (charset_alias): Define.
67973         (install-exec-local): Factor out common code.
67974         (uninstall-local): Split lines longer than 80.
67975         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
67976         (SUFFIXES): Define.
67977         (.sed.in.sed): New rule.  Don't redirect directly to $@.
67978         (CLEANFILES): Add ref-add.sed and ref-del.sed.
67979
67980 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
67981
67982         * lib/config.charset: Output a line containing "Packages using this
67983         file".
67984         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
67985         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
67986         ref-del.sed): New rules.
67987
67988 2000-03-17  Jim Meyering  <meyering@lucent.com>
67989
67990         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
67991         Otherwise, include <strings.h>
67992
67993 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
67994
67995         * lib/unicodeio.c (utf8_wctomb): New function.
67996         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
67997         format instead of in UCS-4 with platform dependent endianness.
67998
67999 2000-03-10  Jim Meyering  <meyering@lucent.com>
68000
68001         * m4/lib-check.m4: Look for getspnam in -lgen, too.
68002         From Marco Franzen.
68003
68004 2000-03-07  Paul Eggert  <eggert@twinsun.com>
68005
68006         * lib/savedir.c (savedir): Work even if directory size is
68007         negative; this can happen with some screwy NFS configurations.
68008
68009 2000-03-06  Jim Meyering  <meyering@lucent.com>
68010
68011         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
68012         if it's NULL (because we ran out of memory).  From Bruno Haible.
68013
68014 2000-03-05  Jim Meyering  <meyering@lucent.com>
68015
68016         * lib/localcharset.c ("path-concat.h"): Include.
68017         (get_charset_aliases): Use path_concat instead of ANSI string
68018         concatenation.
68019
68020         * lib/unicodeio.h (PARAMS): Define.
68021         Use it to guard prototype.
68022
68023 2000-03-04  Jim Meyering  <meyering@lucent.com>
68024
68025         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
68026         for lib/localcharset.c.
68027
68028 2000-03-04  Jim Meyering  <meyering@lucent.com>
68029
68030         * lib/Makefile.am (install-exec-local): Create $(libdir) before
68031         installing into it.
68032         (uninstall-local): Uncomment this rule so `make distcheck' works
68033         once again.
68034
68035         * lib/unicodeio.c (<errno.h>): Include it.
68036         (errno): Declare if not defined.
68037
68038         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
68039
68040         * lib/config.charset: New version, incorporating remarks from a linux
68041         i18n mailing list.  From Bruno Haible.
68042
68043 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
68044
68045         * m4/codeset.m4: New file.
68046         * m4/iconv.m4: New file.
68047         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
68048
68049 2000-03-03  Jim Meyering  <meyering@lucent.com>
68050
68051         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
68052
68053 2000-03-02  Jim Meyering  <meyering@lucent.com>
68054
68055         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
68056         the messages come out on separate lines.
68057
68058         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
68059         rather than jm_CHECK_DECLARATIONS.
68060         * m4/decl.m4: Remove now-unused file.
68061
68062         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
68063         geteuid.
68064
68065 2000-03-02  Jim Meyering  <meyering@lucent.com>
68066
68067         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
68068
68069 2000-03-01  Jim Meyering  <meyering@lucent.com>
68070
68071         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
68072         * lib/unicodeio.c: Likewise.
68073
68074 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
68075
68076         * lib/config.charset: New file.
68077         * lib/localcharset.c: New file.
68078         * lib/unicodeio.h, lib/unicodeio.c: New files.
68079         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
68080         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
68081         (noinst_HEADERS): Add unicodeio.h.
68082         (all-local, install-exec-local, charset.alias): New targets.
68083
68084 2000-02-28  Paul Eggert  <eggert@twinsun.com>
68085
68086         * lib/quotearg.c (ALERT_CHAR): New macro.
68087         (quotearg_buffer_restyled): Use it.
68088
68089 2000-02-27  Jim Meyering  <meyering@lucent.com>
68090
68091         * m4/check-decl.m4: Add getenv to the list.
68092
68093 2000-02-27  Jim Meyering  <meyering@lucent.com>
68094
68095         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
68096         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
68097
68098         * lib/backupfile.c: Guard inclusion of stdlib.h with
68099         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
68100         Declare malloc if needed.
68101
68102         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
68103         `#ifndef HAVE_DECL..'
68104         now that autoconf always defines the HAVE_DECL_ symbols.
68105         * lib/human.c: Likewise.
68106         * lib/same.c: Likewise.
68107         * lib/strtoumax.c: Likewise.
68108
68109         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
68110         declaration check was not run.
68111         * lib/hash.c: Likewise.
68112         * lib/human.c: Likewise.
68113         * lib/same.c: Likewise.
68114         * lib/strtoumax.c: Likewise.
68115
68116         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
68117         `.', then first look up the entire `.'-containing string as a login
68118         name.
68119
68120 2000-02-23  Jim Meyering  <meyering@lucent.com>
68121
68122         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
68123         in place of my hack.
68124
68125 2000-02-18  Paul Eggert  <eggert@twinsun.com>
68126
68127         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
68128         (textint): New typedef.
68129         (parser_control): Member year changed from int to textint.
68130         All uses changed.
68131         (YYSTYPE): Removed; replaced by %union with int and textint members.
68132         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
68133         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
68134         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
68135         (tSNUMBER, tUNUMBER): Now of type <textintval>.
68136         (date, number, to_year): Use width of number in digits, not its value,
68137         to determine whether it's a 2-digit year, or a 2-digit time.
68138         (yylex): Store number of digits of numeric tokens.
68139         Reported by John Kendall.
68140
68141         (parser_control): Changed from struct parser_control to typedef (for
68142         consistency).  All uses changed.
68143
68144         (tID): Removed; not used.
68145         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
68146
68147 2000-02-14  Paul Eggert  <eggert@twinsun.com>
68148
68149         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
68150         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
68151
68152 2000-02-12  Jim Meyering  <meyering@lucent.com>
68153
68154         * lib/userspec.c (ISDIGIT): Define it.
68155         (isdigit): Remove definition.
68156         (is_number): Use ISDIGIT, not isdigit.
68157         <libintl.h>: Include.
68158         (_ and N_): Define.
68159         (parse_user_spec): Mark translatable strings.
68160
68161 2000-02-10  Jim Meyering  <meyering@lucent.com>
68162
68163         With these changes, nanosleep.[ch] are finally enough like the other
68164         lib/* replacement files to compile on a few more losing systems.
68165
68166         * lib/nanosleep.h: Don't include config.h.
68167         Remove prototype from declaration of nanosleep.
68168         (PARAMS): Remove now-unneeded definition.
68169         * lib/nanosleep.c: #undef nanosleep.
68170         (rpl_nanosleep): Rename from nanosleep.
68171
68172 2000-02-10  Jim Meyering  <meyering@lucent.com>
68173
68174         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
68175         gnu_nanosleep to rpl_nanosleep.
68176
68177 2000-02-09  Jim Meyering  <meyering@lucent.com>
68178
68179         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
68180         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
68181
68182 2000-02-08  Akim Demaille  <akim@epita.fr>
68183
68184         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
68185         `[' and `]' and remove uses of `changequote'.
68186         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
68187         (AC_SYS_LARGEFILE): Likewise.
68188         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
68189         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
68190         of changequote.
68191         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
68192         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
68193         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
68194         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
68195
68196 2000-02-05  Jim Meyering  <meyering@lucent.com>
68197
68198         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
68199         Remove explicit use of AC_HEADER_TIME.  It is required by
68200         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
68201         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
68202         in autoconf whereby the expansion of the latter ended up preceding
68203         the expansion of its prerequisite, AC_HEADER_TIME.
68204         Reported by Volker Borchert.
68205
68206 2000-02-03  Jim Meyering  <meyering@lucent.com>
68207
68208         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
68209
68210 2000-02-03  Jim Meyering  <meyering@lucent.com>
68211
68212         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
68213         rather than with `#if HAVE_UTMPNAME'.
68214
68215 2000-02-02  Jim Meyering  <meyering@lucent.com>
68216
68217         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
68218         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
68219         Reported by Eli Zaretskii.
68220
68221 2000-02-01  Jim Meyering  <meyering@lucent.com>
68222
68223         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
68224
68225 2000-01-31  Jim Meyering  <meyering@lucent.com>
68226
68227         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
68228         functions.  Add the time.h and sys/time.h headers along with the
68229         AC_REQUIRE'ment of AC_HEADER_TIME.
68230
68231 2000-01-31  Jim Meyering  <meyering@lucent.com>
68232
68233         * lib/nanosleep.h (nanosleep): Guard declaration with
68234         `#if ! HAVE_DECL_NANOSLEEP'.
68235         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
68236         the declaration in that vendor's sys/timers.h.
68237         Reported by Christian Krackowizer.
68238
68239         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
68240         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
68241         (ISPRINT): Likewise.
68242         Reported by Tom Tromey.
68243
68244 2000-01-30  Jim Meyering  <meyering@lucent.com>
68245
68246         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
68247
68248         * m4/prereq.m4 (utmp_includes): Define.
68249         Check for ut_user and ut_name members in both struct utmpx
68250         and struct utmp.
68251
68252 2000-01-30  Jim Meyering  <meyering@lucent.com>
68253
68254         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
68255         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
68256         header files where only utmpx.ut_user is declared.
68257
68258         * lib/readutmp.h (UT_USER): Define.
68259
68260 2000-01-29  Jim Meyering  <meyering@lucent.com>
68261
68262         * m4/lib-check.m4: New file containing library-related checks from
68263         fileutils and sh-utils (textutils had none).
68264
68265 2000-01-28  Jim Meyering  <meyering@lucent.com>
68266
68267         * m4/perl.m4: Change format of warning message to look more like that
68268         from the missing script.  Suggestion from François Pinard.
68269
68270 2000-01-25  Jim Meyering  <meyering@lucent.com>
68271
68272         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
68273         well as time.h in the compile check.
68274         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
68275         Fix typo in cross-compiling case: s/yes/no/.
68276
68277 2000-01-23  Jim Meyering  <meyering@lucent.com>
68278
68279         * m4/jm-macros.m4: Move df-related tests here from
68280         fileutils/configure.in
68281
68282         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
68283         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
68284
68285         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
68286         s/space/ac_fsusage_space/.
68287         (jm_FILE_SYSTEM_USAGE): Take two parameters.
68288
68289         * m4/ftruncate.m4: New file (derived from part of
68290         fileutils/configure.in).
68291         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
68292         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
68293
68294         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
68295         AC_SUBST these here, rather than just in sh-util/configure.in, so
68296         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
68297         all the same.
68298         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
68299         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
68300         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
68301         (AC_SUBST(POW_LIBM)): Likewise.
68302         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
68303
68304 2000-01-23  Jim Meyering  <meyering@lucent.com>
68305
68306         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
68307         obstack.c.
68308
68309 2000-01-22  Jim Meyering  <meyering@lucent.com>
68310
68311         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
68312
68313         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
68314
68315         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
68316         configure.in
68317         (AC_CHECK_HEADERS): Likewise for sh-utils.
68318         (AC_CHECK_HEADERS): Likewise for textutils.
68319         Merge the three lists of headers.
68320
68321         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
68322         from fileutils' configure.in.
68323
68324         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
68325         code. Moved tests into their own function (_jm_DECL_HEADERS) in
68326         check-decl.m4.
68327
68328         * m4/check-decl.m4: Use #if rather than #ifdef.
68329         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
68330         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
68331         (_jm_DECL_HEADERS): Define new function.
68332         (jm_CHECK_DECLARATIONS): Require it.
68333
68334 2000-01-22  Jim Meyering  <meyering@lucent.com>
68335
68336         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
68337         [! HAVE_DECL_STRTOULL]: Declare strtoull.
68338         Required for some AIX systems.  Reported by Christian Krackowizer.
68339         [TESTING] (main): New function.
68340
68341         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
68342         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
68343         letters.
68344
68345         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
68346         iswprint.
68347
68348         * lib/strverscmp.c (ISDIGIT): Define.
68349         (strverscmp): Use ISDIGIT, not isdigit.
68350
68351 2000-01-19  Jim Meyering  <meyering@lucent.com>
68352
68353         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
68354         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
68355         defines `struct timespec' in <sys/time.h>
68356
68357         * m4/c-bs-a.m4: Remove uses of changequote altogether.
68358         Thanks to Akim for explaining.
68359
68360 2000-01-17  Paul Eggert  <eggert@twinsun.com>
68361
68362         * lib/nanosleep.c (nanosleep):
68363         Don't use SA_INTERRUPT to decide whether to call sigaction, as
68364         POSIX.1 doesn't require SA_INTERRUPT and some systems
68365         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
68366         it's been part of POSIX.1 since day 1 (in 1988).
68367
68368 2000-01-17  Jim Meyering  <meyering@lucent.com>
68369
68370         * lib/interlock: Remove unused file.  Reported by François Pinard.
68371
68372 2000-01-16  Paul Eggert  <eggert@twinsun.com>
68373
68374         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
68375         alert, backslash, formfeed, and vertical tab unnecessarily in
68376         shell quoting style.
68377
68378 2000-01-16  Jim Meyering  <meyering@lucent.com>
68379
68380         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
68381         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
68382         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
68383         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
68384
68385 2000-01-16  Jim Meyering  <meyering@lucent.com>
68386
68387         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
68388         because the latter didn't work.
68389
68390 2000-01-15  Jim Meyering  <meyering@lucent.com>
68391
68392         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
68393         (AC_REPLACE_FUNCS): Add memcpy and memset.
68394         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
68395         Add strpbrk.
68396         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
68397
68398 2000-01-12  Jim Meyering  <meyering@lucent.com>
68399
68400         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
68401         (jm_PREREQ): Use it.
68402         (jm_PREREQ_READUTMP): New macro.
68403         (jm_PREREQ): Use it.
68404
68405 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68406
68407         Quote multibyte characters correctly.
68408         * m4/c-bs-a.m4: New file.
68409         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
68410         (jm_PREREQ): Use it.
68411
68412 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68413
68414         * m4/uintmax_t.m4: Port to autoconf 2.13.
68415
68416 2000-01-08  Jim Meyering  <meyering@ascend.com>
68417
68418         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
68419         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
68420
68421 2000-01-04  Jim Meyering  <meyering@ascend.com>
68422
68423         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
68424         jm_STRUCT_DIRENT_D_TYPE.
68425         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
68426         jm_STRUCT_DIRENT_D_INO.
68427         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
68428         jm_STRUCT_UTIMBUF.
68429         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
68430         renamings.
68431         * m4/utime.m4: Likewise.
68432
68433         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
68434         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
68435
68436 2000-01-03  Paul Eggert  <eggert@twinsun.com>
68437
68438         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
68439         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
68440
68441 2000-01-02  Jim Meyering  <meyering@ascend.com>
68442
68443         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
68444         remember if this is necessary.
68445
68446 1999-12-26  Jim Meyering  <meyering@ascend.com>
68447
68448         * m4/jm-macros.m4: Use it here.
68449         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
68450
68451 1999-12-23  Jim Meyering  <meyering@ascend.com>
68452
68453         * m4/jm-macros.m4: Check for clock_gettime (moved from
68454         fileutils/configure.in)
68455         Check for gettimeofday.
68456
68457 1999-12-20  Jim Meyering  <meyering@ascend.com>
68458
68459         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
68460         autoconf-2.14a-1999-12-20.
68461
68462 1999-12-19  Jim Meyering  <meyering@ascend.com>
68463
68464         * m4/lstat-slash.m4: New file.
68465         * m4/jm-macros.m4: Use the new macro:
68466         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68467
68468 1999-12-07  Jim Meyering  <meyering@ascend.com>
68469
68470         * m4/perl.m4: Require that File::Compare be available, too.
68471         Too many systems seem to lack it.
68472
68473         * m4/strftime.m4: Add checks for most of the cpp macros tested in
68474         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
68475
68476 1999-11-18  Paul Eggert  <eggert@twinsun.com>
68477
68478         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
68479         problem with the QNX 4.25 shell, which doesn't propagate exit
68480         status of failed commands inside shell assignments.
68481
68482 1999-11-17  Jim Meyering  <meyering@ascend.com>
68483
68484         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
68485
68486 1999-11-07  Jim Meyering  <meyering@ascend.com>
68487
68488         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
68489
68490 1999-11-06  Jim Meyering  <meyering@ascend.com>
68491
68492         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
68493         * m4/jm-macros.m4 (jm_MACROS): Use it here.
68494
68495 1999-11-05  Jim Meyering  <meyering@ascend.com>
68496
68497         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
68498         configure.in of textutils, fileutils, and sh-utils into this one
68499         (shared between those packages) file.
68500         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
68501         AC_STRUCT_ST_BLKSIZE.
68502
68503 1999-11-03  Jim Meyering  <meyering@ascend.com>
68504
68505         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
68506         of AC_CHECK_TYPE checks includes unistd.h.
68507         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
68508         Suggestion from Akim Demaille.
68509
68510 1999-10-30  Jim Meyering  <meyering@ascend.com>
68511
68512         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
68513         m4-quoted string.
68514         * m4/ls-mntd-fs.m4: Likewise.
68515         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
68516         * m4/jm-winsz1.m4: Likewise.
68517
68518         * m4/const.m4: Remove file, since the fix made it into the experimental
68519         version of autoconf.
68520         * m4/mktime.m4: Likewise.
68521
68522         * m4/check-type.m4: Remove file, now that the latest version of
68523         AC_CHECK_TYPE takes a third arg to specify additional #includes.
68524
68525         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
68526         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
68527         AC_CHECK_TYPE.
68528
68529 1999-10-04  Jim Meyering  <meyering@ascend.com>
68530
68531         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
68532
68533 1999-09-22  Paul Eggert  <eggert@twinsun.com>
68534
68535         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
68536         2.95.1 bug with HP-UX 10.20.
68537
68538 1999-09-17  Jim Meyering  <meyering@ascend.com>
68539
68540         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
68541         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
68542         due to missing strdup (against sh-utils-2.0).
68543
68544 1999-08-29  Jim Meyering  <meyering@ascend.com>
68545
68546         * m4/jm-macros.m4: Require jm_BISON.
68547         * m4/bison.m4: New file.
68548
68549 1999-08-17  Paul Eggert  <eggert@twinsun.com>
68550
68551         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
68552         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
68553
68554 1999-08-05  Jim Meyering  <meyering@ascend.com>
68555
68556         * m4/getline.m4: Rename test file from conftestdata to conftest.data
68557         to avoid conflicts with `conftest' on 8+3 filesystems.
68558         Suggestion from Eli Zaretskii.
68559
68560 1999-08-04  Jim Meyering  <meyering@ascend.com>
68561
68562         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
68563         fileutils and sh-utils (textutils's getline test was inadequate).
68564         (AM_FUNC_GETLINE): Run this test.
68565         (AC_CHECK_FUNCS): Check for getdelim.
68566         Reported by Bob Proulx.
68567
68568 1999-08-02  Jim Meyering  <meyering@ascend.com>
68569
68570         * m4/jm-macros.m4: Add a comment.
68571
68572 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68573
68574         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
68575         <inttypes.h> defines strtoumax as a macro (and not as a
68576         function).
68577
68578 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68579
68580         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
68581         that we can shift, multiply and divide unsigned long long
68582         values; Ultrix cc can't do it.
68583
68584 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68585
68586         * m4/mktime.m4: New file, which is a preview of what should appear
68587         in the next public autoconf release.
68588
68589 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68590
68591         * m4/lfs.m4: Remove this file.
68592         * m4/largefile.m4: New file.  It contains the old contents of
68593         lfs.m4, except that all names with prefix AC_LFS have been
68594         changed to use the prefix AC_SYS_LARGEFILE instead, to be
68595         compatible with future autoconf versions.  Also, some minor m4
68596         quoting problems have been fixed.
68597
68598 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68599
68600         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
68601         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
68602         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
68603         and simplify the shell code.
68604
68605 1999-08-01  Jim Meyering  <meyering@ascend.com>
68606
68607         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
68608         m4.
68609
68610 1999-07-20  Jim Meyering  <meyering@ascend.com>
68611
68612         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
68613
68614 1999-07-15  Jim Meyering  <meyering@ascend.com>
68615
68616         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
68617
68618 1999-05-22  Jim Meyering  <meyering@ascend.com>
68619
68620         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
68621
68622 1999-05-20  Jim Meyering  <meyering@ascend.com>
68623
68624         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
68625         Add a colon after each `then' in case $4 is empty.
68626
68627 1999-05-16  Jim Meyering  <meyering@ascend.com>
68628
68629         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
68630
68631 1999-05-10  Jim Meyering  <meyering@ascend.com>
68632
68633         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
68634
68635         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
68636         AC_FUNC_MKTIME.
68637
68638 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
68639
68640         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
68641
68642 1999-05-04  Paul Eggert  <eggert@twinsun.com>
68643
68644         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
68645         not CPPFLAGS, so that linking works correctly in IRIX.
68646
68647 1999-04-30  Paul Eggert  <eggert@twinsun.com>
68648
68649         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
68650
68651 1999-04-20  Paul Eggert  <eggert@twinsun.com>
68652
68653         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
68654         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
68655         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
68656         jm_AC_TYPE_UNSIGNED_LONG_LONG.
68657         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
68658
68659         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
68660
68661 1999-04-20  Jim Meyering  <meyering@ascend.com>
68662
68663         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
68664         AC_REPLACE xstroull if necessary.  From Paul Eggert.
68665         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
68666
68667 1999-04-18  Jim Meyering  <meyering@ascend.com>
68668
68669         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
68670         * m4/jm-macros.m4: Use it.
68671
68672 1999-04-06  Jim Meyering  <meyering@ascend.com>
68673
68674         * m4/strftime.m4: Remove test for %f.
68675
68676 1999-03-29  Jim Meyering  <meyering@ascend.com>
68677
68678         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
68679         superset of the AC_TYPE_* checks in the textutils, fileutils,
68680         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
68681         AC_TYPE_PID_T.
68682
68683 1999-03-28  Jim Meyering  <meyering@ascend.com>
68684
68685         * m4/jm-macros.m4: Define GNU_PACKAGE here.
68686         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
68687         replaced e.g., in the *.sh files of the sh-utils.
68688
68689 1999-03-20  Jim Meyering  <meyering@ascend.com>
68690
68691         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
68692         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
68693         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
68694
68695 1999-03-19  Jim Meyering  <meyering@ascend.com>
68696
68697         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
68698
68699 1999-03-12  Jim Meyering  <meyering@ascend.com>
68700
68701         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
68702
68703 1999-03-07  Jim Meyering  <meyering@ascend.com>
68704
68705         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
68706         declared.
68707
68708 1999-02-17  Jim Meyering  <meyering@ascend.com>
68709
68710         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
68711         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
68712
68713 1999-02-07  Jim Meyering  <meyering@ascend.com>
68714
68715         * m4/group-member.m4: New file -- extracted from sh-utils'
68716         configure.in.
68717
68718         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
68719         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
68720
68721 1999-02-06  Jim Meyering  <meyering@ascend.com>
68722
68723         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
68724         * m4/fnmatch.m4: Likewise.
68725         * m4/getgroups.m4: Likewise.
68726         * m4/lstat.m4: Likewise.
68727         * m4/malloc.m4: Likewise.
68728         * m4/putenv.m4: Likewise.
68729         * m4/realloc.m4: Likewise.
68730         * m4/regex.m4: Likewise.
68731         * m4/stat.m4: Likewise.
68732         * m4/strftime.m4: Likewise.
68733         Suggestion from Alain Magloire.
68734
68735         * m4/chown.m4: Use `.$ac_objext', not `.o'.
68736         * m4/fnmatch.m4: Likewise.
68737         * m4/getgroups.m4: Likewise.
68738         * m4/getline.m4: Likewise.
68739         * m4/lstat.m4: Likewise.
68740         * m4/malloc.m4: Likewise.
68741         * m4/memcmp.m4: Likewise.
68742         * m4/putenv.m4: Likewise.
68743         * m4/realloc.m4: Likewise.
68744         * m4/regex.m4: Likewise.
68745         * m4/stat.m4: Likewise.
68746         * m4/strftime.m4: Likewise.
68747         Suggestion from Alain Magloire.
68748
68749         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
68750         an argument.
68751
68752         * m4/regex.m4: Add a run-time Test for proper operation of
68753         re_compile_pattern.
68754
68755 1999-01-31  Jim Meyering  <meyering@ascend.com>
68756
68757         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
68758
68759 1999-01-30  Jim Meyering  <meyering@ascend.com>
68760
68761         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
68762
68763         * m4/jm-mktime.m4: Make this a wrapper around the official
68764         AM_FUNC_MKTIME rather than my private copy, now that the official one
68765         is up to date.
68766         * m4/mktime.m4: Remove file.
68767
68768         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
68769         * m4/uptime.m4: Likewise.
68770         * m4/uintmax_t.m4: Likewise.
68771
68772 1999-01-28  Jim Meyering  <meyering@ascend.com>
68773
68774         * m4/jm-macros.m4: Use jm_AFS.
68775         * m4/afs.m4: New file (from fileutils' configure.in).
68776
68777         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
68778         * m4/chown.m4: Likewise.
68779         * m4/d-ino.m4: Likewise.
68780         * m4/d-type.m4: Likewise.
68781         * m4/fnmatch.m4: Likewise.
68782         * m4/getgroups.m4: Likewise.
68783         * m4/gettext.m4: Likewise.
68784         * m4/jm-mktime.m4: Likewise.
68785         * m4/jm-winsz2.m4: Likewise.
68786         * m4/lcmessage.m4: Likewise.
68787         * m4/ls-mntd-fs.m4: Likewise.
68788         * m4/malloc.m4: Likewise.
68789         * m4/memcmp.m4: Likewise.
68790         * m4/putenv.m4: Likewise.
68791         * m4/realloc.m4: Likewise.
68792         * m4/st_mtim.m4: Likewise.
68793         * m4/strftime.m4: Likewise.
68794
68795 1999-01-16  Jim Meyering  <meyering@ascend.com>
68796
68797         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
68798         (ARGMATCH_DIE_DECL): Define.
68799
68800 1999-01-12  Jim Meyering  <meyering@ascend.com>
68801
68802         * m4/Makefile.am.in: Rewrite to avoid using fmt.
68803         Reported by Lars Hecking.
68804
68805 1999-01-10  Jim Meyering  <meyering@ascend.com>
68806
68807         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
68808         gross kludge.
68809         * m4/inttypes_h.m4: Likewise.
68810         * m4/lstat.m4: Likewise.
68811         * m4/malloc.m4: Likewise.
68812         * m4/readdir.m4: Likewise.
68813         * m4/realloc.m4: Likewise.
68814         * m4/st_dm_mode.m4: Likewise.
68815         * m4/stat.m4: Likewise.
68816         * m4/utimbuf.m4: Likewise.
68817         * m4/utimes.m4: Likewise.
68818
68819         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
68820         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
68821         comments in config.h.in are meaningful.
68822
68823         * m4/jm-macros.m4: Require autoconf-2.13 here.
68824
68825         * m4/regex.m4: By default, don't use the included regex.c on systems
68826         with glibc 2.  Suggestion from Uli Drepper.
68827
68828 1999-01-02  Jim Meyering  <meyering@ascend.com>
68829
68830         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
68831
68832 1998-12-18  Jim Meyering  <meyering@ascend.com>
68833
68834         * m4/Makefile.am.in (Makefile.am): Simplify rule.
68835         Based on a suggestion from Lars Hecking.
68836
68837 1998-11-16  Paul Eggert  <eggert@twinsun.com>
68838
68839         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
68840
68841 1998-11-16  Jim Meyering  <meyering@ascend.com>
68842
68843         * m4/lfs.m4: Double-quote the `uname...` expression.
68844
68845 1998-11-14  Jim Meyering  <meyering@ascend.com>
68846
68847         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
68848         * m4/stat.m4: Likewise.
68849
68850 1998-11-03  Jim Meyering  <meyering@ascend.com>
68851
68852         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
68853         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
68854
68855 1998-10-18  Jim Meyering  <meyering@ascend.com>
68856
68857         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
68858
68859 1998-10-17  Jim Meyering  <meyering@ascend.com>
68860
68861         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
68862         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
68863         calls for those previously hard-coded headers.  Instead, take a new
68864         parameter.
68865         (jm_CHECK_DECLARATIONS): Reflect interface change.
68866         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
68867         (jm_CHECK_DECL_LOCALTIME_R): New macro.
68868
68869         * m4/mktime.m4: Test for spring-forward gap before long-running test.
68870
68871 1998-10-14  Jim Meyering  <meyering@ascend.com>
68872
68873         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
68874         instead of "TZ=America/Vancouver".  From Paul Eggert.
68875
68876 1998-10-11  Jim Meyering  <meyering@ascend.com>
68877
68878         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
68879         This adds a test for a recently added compatibility fix for mktime.c.
68880         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
68881
68882 1998-09-27  Jim Meyering  <meyering@ascend.com>
68883
68884         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
68885
68886         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
68887         ../configure.in, including a change from Gordon Matzigkeit to allow
68888         cross-compiling for the Hurd.
68889
68890         * m4/glibc.m4: New file/macro to test for the GNU C Library
68891         versions 1 and 2.  From Gordon Matzigkeit.
68892         Indent.
68893
68894 1998-09-21  Jim Meyering  <meyering@ascend.com>
68895
68896         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
68897
68898 1998-08-18  Paul Eggert  <eggert@twinsun.com>
68899
68900         Port nanosecond-resolution times to UnixWare 2.1.2 and
68901         pedantic Solaris 2.6.
68902
68903         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
68904         AC_STRUCT_ST_MTIM.
68905         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
68906         Generate name of ns member, instead of just 1 or undef.
68907         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
68908
68909 1998-08-15  Jim Meyering  <meyering@ascend.com>
68910
68911         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
68912         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
68913         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
68914         instead of jm_TYPE_SSIZE_T.
68915
68916 1998-08-12  Jim Meyering  <meyering@ascend.com>
68917
68918         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
68919
68920 1998-08-02  Jim Meyering  <meyering@ascend.com>
68921
68922         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
68923         in acconfig.h manually.
68924
68925 1998-07-31  Paul Eggert  <eggert@twinsun.com>
68926
68927         * m4/st_mtim.m4: New file.
68928
68929 1998-07-28  Jim Meyering  <meyering@ascend.com>
68930
68931         * m4/utimes.m4: Undef stat.
68932
68933 1998-07-25  Jim Meyering  <meyering@ascend.com>
68934
68935         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
68936         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
68937
68938 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
68939
68940         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
68941         uid and gid actually remain unchanged.
68942
68943 1998-07-07  Jim Meyering  <meyering@ascend.com>
68944
68945         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
68946
68947 1998-07-04  Jim Meyering  <meyering@ascend.com>
68948
68949         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
68950         to prove that this macro can be used in packages without regex.c.
68951
68952 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
68953
68954         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
68955         is to be used.
68956
68957 1998-07-03  Jim Meyering  <meyering@ascend.com>
68958
68959         * m4/gettext.m4: Add -lintl if it's found to be necessary.
68960
68961         * m4/gettext.m4: New file -- from gettext-0.10.35.
68962         * m4/lcmessage.m4: Likewise.
68963         * m4/progtest.m4: Likewise.
68964
68965         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
68966         * m4/jm-macros.m4: Require the new macro.
68967
68968 1998-06-29  Jim Meyering  <meyering@ascend.com>
68969
68970         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
68971         for the definition of NGROUPS (used in a system header included
68972         by sys/mount.h).
68973
68974 1998-06-28  Jim Meyering  <meyering@ascend.com>
68975
68976         * m4/ls-mntd-fs.m4: New file.
68977         * m4/fstypename.m4: New file.
68978
68979         * m4/jm-macros.m4: Require the new macro.
68980         * m4/jm-glibc-io.m4: New file.
68981
68982 1998-05-19  Jim Meyering  <meyering@ascend.com>
68983
68984         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
68985         * m4/lchown.m4: New file.
68986
68987         * m4/Makefile.am.in: New file.
68988         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
68989
68990 1998-05-14  Jim Meyering  <meyering@ascend.com>
68991
68992         * m4/Makefile.am (EXTRA_DIST): Add them.
68993         * m4/jm-macros.m4: New file.
68994         * m4/utimbuf.m4: New file.
68995
68996 1998-05-12  Jim Meyering  <meyering@ascend.com>
68997
68998         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
68999
69000 1998-05-11  Jim Meyering  <meyering@ascend.com>
69001
69002         * m4/isc-posix.m4: New file.
69003
69004 1998-05-10  Jim Meyering  <meyering@ascend.com>
69005
69006         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
69007
69008 1998-05-09  Jim Meyering  <meyering@ascend.com>
69009
69010         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
69011         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
69012         with automake.
69013
69014         * m4/ssize_t.m4: New file.
69015         * m4/mktime.m4: Remove file -- the new automake has this now.
69016
69017 1998-04-26  Jim Meyering  <meyering@ascend.com>
69018
69019         * m4/assert.m4: New file.
69020         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
69021
69022 1998-04-05  Jim Meyering  <meyering@ascend.com>
69023
69024         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
69025         (jm_PREREQ): Use it here.
69026
69027 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
69028
69029         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
69030         in acconfig.h.
69031
69032 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
69033
69034         * m4/prereq.m4: New file.
69035         * m4/error.m4: New file.
69036         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
69037
69038 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
69039
69040         * m4/getline.m4: Don't set am_cv_func_working_getline before the
69041         cache-check for the same variable -- that defeated the purpose of
69042         the test; the test program was never run.  This was a problem only
69043         on systems with losing getline functions -- HP-UX 10.20 is one.
69044         Reported by Bjorn Helgaas.
69045
69046 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
69047
69048         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
69049
69050 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
69051
69052         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
69053
69054         * m4/const.m4: New file.  Use an initializer in this declaration
69055         typedef int charset[2]; const charset x;
69056         Reported by Bob Glickstein.
69057
69058 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
69059
69060         * m4/chown.m4: Fix reversed types on -1 args to chown.
69061         From Kaveh Ghazi.
69062
69063 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
69064
69065         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
69066         Add lseek and memchr.
69067
69068         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
69069         T.E.Dickey <dickey@clark.net> said that some older preprocessors
69070         have a 20-character limit on names.
69071
69072 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
69073
69074         * m4/inttypes_h.m4: New file.
69075         * m4/uintmax_t.m4: New file.
69076         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
69077
69078
69079         -----
69080
69081         Local Variables:
69082         coding: utf-8
69083         End:
69084
69085         Copyright (C) 1997-2010 Free Software Foundation, Inc.
69086
69087         Copying and distribution of this file, with or without
69088         modification, are permitted provided the copyright notice
69089         and this notice are preserved.