getpagesize: Move AC_LIBOBJ invocations to module description.
[gnulib.git] / ChangeLog
1 2011-05-08  Bruno Haible  <bruno@clisp.org>
2
3         getpagesize: Move AC_LIBOBJ invocations to module description.
4         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
5         from here...
6         * modules/getpagesize (configure.ac): ... to here.
7
8 2011-05-08  Bruno Haible  <bruno@clisp.org>
9
10         getopt: Move AC_LIBOBJ invocations to module description.
11         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13         invocations from here...
14         * modules/getopt-gnu (configure.ac): ... to here.
15         * modules/getopt-posix (configure.ac): ... and here.
16         (Depends-on): Update condition.
17
18 2011-05-08  Bruno Haible  <bruno@clisp.org>
19
20         getopt, argp: Respect rules for use of AC_LIBOBJ.
21         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
22         (gl_REPLACE_GETOPT_ALWAYS): New macro.
23         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
24         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
25
26 2011-05-08  Bruno Haible  <bruno@clisp.org>
27
28         getlogin_r: Move AC_LIBOBJ invocations to module description.
29         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
30         gl_PREREQ_GETLOGIN_R invocations from here...
31         * modules/getlogin_r (configure.ac): ... to here.
32
33 2011-05-08  Bruno Haible  <bruno@clisp.org>
34
35         getlogin: Move AC_LIBOBJ invocations to module description.
36         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37         here...
38         * modules/getlogin (configure.ac): ... to here.
39
40 2011-05-08  Bruno Haible  <bruno@clisp.org>
41
42         getloadavg: Move AC_LIBOBJ invocations to module description.
43         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
44         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
45         * modules/getloadavg (configure.ac): ... to here.
46
47 2011-05-08  Bruno Haible  <bruno@clisp.org>
48
49         gethrxtime: Move AC_LIBOBJ invocations to module description.
50         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
51         LIB_GETHRXTIME from here...
52         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
53         invocations from here...
54         * modules/gethrxtime (configure.ac): ... to here.
55
56 2011-05-08  Bruno Haible  <bruno@clisp.org>
57
58         gethostname: Move AC_LIBOBJ invocations to module description.
59         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
60         gl_PREREQ_GETHOSTNAME invocations from here...
61         * modules/gethostname (configure.ac): ... to here.
62
63 2011-05-08  Bruno Haible  <bruno@clisp.org>
64
65         getgroups: Move AC_LIBOBJ invocations to module description.
66         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
67         here...
68         * modules/getgroups (configure.ac): ... to here.
69
70 2011-05-08  Bruno Haible  <bruno@clisp.org>
71
72         getdtablesize: Move AC_LIBOBJ invocations to module description.
73         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
74         invocation from here...
75         * modules/getdtablesize (configure.ac): ... to here.
76
77 2011-05-08  Bruno Haible  <bruno@clisp.org>
78
79         getdomainname: Move AC_LIBOBJ invocations to module description.
80         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
81         gl_PREREQ_GETDOMAINNAME invocations from here...
82         * modules/getdomainname (configure.ac): ... to here.
83
84 2011-05-08  Bruno Haible  <bruno@clisp.org>
85
86         getline: Move AC_LIBOBJ invocations to module description.
87         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
88         invocations from here...
89         * modules/getline (configure.ac): ... to here.
90
91 2011-05-08  Bruno Haible  <bruno@clisp.org>
92
93         getline: Simplify.
94         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
95         It's already handled through the module dependency.
96
97 2011-05-08  Bruno Haible  <bruno@clisp.org>
98
99         getdelim: Move AC_LIBOBJ invocations to module description.
100         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
101         and gl_PREREQ_GETDELIM invocations from here...
102         * modules/getdelim (configure.ac): ... to here.
103         (Depends-on): Fix condition.
104
105 2011-05-08  Bruno Haible  <bruno@clisp.org>
106
107         getcwd: Move AC_LIBOBJ invocations to module description.
108         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
109         invocations from here...
110         * modules/getcwd (configure.ac): ... to here.
111
112 2011-05-08  Bruno Haible  <bruno@clisp.org>
113
114         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
115         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
116         here...
117         * modules/getcwd-lgpl (configure.ac): ... to here.
118
119 2011-05-07  Bruno Haible  <bruno@clisp.org>
120
121         crypto/gc: Move AC_LIBOBJ invocations to module description.
122         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
123         * modules/crypto/gc (configure.ac): ... to here.
124
125 2011-05-07  Bruno Haible  <bruno@clisp.org>
126
127         fwriting: Move AC_LIBOBJ invocations to module description.
128         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
129         here...
130         * modules/fwriting (configure.ac): ... to here.
131
132 2011-05-07  Bruno Haible  <bruno@clisp.org>
133
134         fwritable: Move AC_LIBOBJ invocations to module description.
135         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
136         here...
137         * modules/fwritable (configure.ac): ... to here.
138
139 2011-05-07  Bruno Haible  <bruno@clisp.org>
140
141         futimens: Move AC_LIBOBJ invocations to module description.
142         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
143         here...
144         * modules/futimens (configure.ac): ... to here.
145
146 2011-05-07  Bruno Haible  <bruno@clisp.org>
147
148         ftruncate: Move AC_LIBOBJ invocations to module description.
149         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
150         gl_PREREQ_FTRUNCATE invocations from here...
151         * modules/ftruncate (configure.ac): ... to here.
152
153 2011-05-07  Bruno Haible  <bruno@clisp.org>
154
155         fsync: Move AC_LIBOBJ invocations to module description.
156         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
157         invocations from here...
158         * modules/fsync (configure.ac): ... to here.
159
160 2011-05-07  Bruno Haible  <bruno@clisp.org>
161
162         fsusage: Move AC_LIBOBJ invocations to module description.
163         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
164         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
165         * modules/fsusage (configure.ac): ... to here.
166
167 2011-05-07  Bruno Haible  <bruno@clisp.org>
168
169         freopen: Move AC_LIBOBJ invocations to module description.
170         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
171         invocations from here...
172         * modules/freopen (configure.ac): ... to here.
173
174 2011-05-07  Bruno Haible  <bruno@clisp.org>
175
176         free: Move AC_LIBOBJ invocations to module description.
177         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
178         invocations from here...
179         * modules/free (configure.ac): ... to here.
180
181 2011-05-07  Bruno Haible  <bruno@clisp.org>
182
183         freadable: Move AC_LIBOBJ invocations to module description.
184         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
185         here...
186         * modules/freadable (configure.ac): ... to here.
187
188 2011-05-07  Bruno Haible  <bruno@clisp.org>
189
190         fpurge: Move AC_LIBOBJ invocations to module description.
191         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
192         invocations from here...
193         * modules/fpurge (configure.ac): ... to here.
194
195 2011-05-07  Bruno Haible  <bruno@clisp.org>
196
197         fpending: Move AC_LIBOBJ invocations to module description.
198         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
199         gl_FUNC_FPENDING.
200         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
201         invocations from here...
202         * modules/fpending (configure.ac): ... to here.
203
204 2011-05-07  Bruno Haible  <bruno@clisp.org>
205
206         fopen: Move AC_LIBOBJ invocations to module description.
207         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
208         invocations from here...
209         * modules/fopen (configure.ac): ... to here.
210
211 2011-05-07  Bruno Haible  <bruno@clisp.org>
212
213         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
214         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
215         gl_FUNC_FNMATCH_POSIX.
216         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
217         invocations from here...
218         * modules/fnmatch (configure.ac): ... to here.
219         * modules/fnmatch-gnu (configure.ac): ... and here.
220
221 2011-05-07  Bruno Haible  <bruno@clisp.org>
222
223         flock: Move AC_LIBOBJ invocations to module description.
224         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
225         invocations from here...
226         * modules/flock (configure.ac): ... to here.
227
228 2011-05-07  Bruno Haible  <bruno@clisp.org>
229
230         fileblocks: Move AC_LIBOBJ invocations to module description.
231         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
232         gl_PREREQ_FILEBLOCKS invocations from here...
233         * modules/fileblocks (configure.ac): ... to here.
234
235 2011-05-06  Bruno Haible  <bruno@clisp.org>
236
237         fflush: Move AC_LIBOBJ invocations to module description.
238         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
239         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
240         invocations from here...
241         * modules/fflush (configure.ac): ... to here.
242
243 2011-05-06  Bruno Haible  <bruno@clisp.org>
244
245         fdopendir: Move AC_LIBOBJ invocations to module description.
246         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
247         here...
248         * modules/fdopendir (configure.ac): ... to here.
249         (Depends-on): Improve conditions.
250
251 2011-05-06  Bruno Haible  <bruno@clisp.org>
252
253         _Exit: Move AC_LIBOBJ invocations to module description.
254         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
255         invocations from here...
256         * modules/_Exit (configure.ac): ... to here.
257
258 2011-05-21  Bruno Haible  <bruno@clisp.org>
259
260         euidaccess: Respect rules for use of AC_LIBOBJ.
261         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
262         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
263         from here...
264         * modules/euidaccess (configure.ac): ... to here.
265
266 2011-05-06  Bruno Haible  <bruno@clisp.org>
267
268         error: Move AC_LIBOBJ invocations to module description.
269         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
270         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
271         invocations from here...
272         * modules/error (configure.ac): ... to here.
273
274 2011-05-06  Bruno Haible  <bruno@clisp.org>
275
276         duplocale: Move AC_LIBOBJ invocations to module description.
277         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
278         gl_PREREQ_DUPLOCALE invocations from here...
279         * modules/duplocale (configure.ac): ... to here.
280
281 2011-05-05  Bruno Haible  <bruno@clisp.org>
282
283         dirfd: Move AC_LIBOBJ invocations to module description.
284         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
285         gl_FUNC_DIRFD.
286         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
287         here...
288         * modules/dirfd (configure.ac): ... to here.
289         (Depends-on): Fix condition.
290
291 2011-05-05  Bruno Haible  <bruno@clisp.org>
292
293         chown: Respect rules for use of AC_LIBOBJ.
294         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
295         * modules/chown (configure.ac): ... to here.
296
297 2011-05-05  Bruno Haible  <bruno@clisp.org>
298
299         chdir-long: Move AC_LIBOBJ invocations to module description.
300         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
301         gl_PREREQ_CHDIR_LONG invocations from here...
302         * modules/chdir-long (configure.ac): ... to here.
303
304 2011-05-05  Bruno Haible  <bruno@clisp.org>
305
306         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
307         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
308         from here...
309         * modules/canonicalize-lgpl (configure.ac): ... to here.
310
311 2011-05-05  Bruno Haible  <bruno@clisp.org>
312
313         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
314         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
315         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
316         REPLACE_CALLOC.
317         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
318         * modules/calloc-gnu (configure.ac): Likewise.
319
320 2011-05-05  Bruno Haible  <bruno@clisp.org>
321
322         btowc: Move AC_LIBOBJ invocations to module description.
323         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
324         invocations from here...
325         * modules/btowc (configure.ac): ... to here.
326
327 2011-05-21  Bruno Haible  <bruno@clisp.org>
328
329         atexit: Move AC_LIBOBJ invocations to module description.
330         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
331         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
332         here...
333         * modules/atexit (configure.ac): ... to here.
334
335 2011-05-05  Bruno Haible  <bruno@clisp.org>
336
337         atoll: Move AC_LIBOBJ invocations to module description.
338         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
339         invocations from here...
340         * modules/atoll (configure.ac): ... to here.
341
342 2011-05-05  Bruno Haible  <bruno@clisp.org>
343
344         argz: Move AC_LIBOBJ invocations to module description.
345         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
346         * modules/argz (configure.ac): ... to here.
347
348 2011-05-05  Bruno Haible  <bruno@clisp.org>
349
350         alphasort: Move AC_LIBOBJ invocations to module description.
351         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
352         gl_PREREQ_ALPHASORT invocations from here...
353         * modules/alphasort (configure.ac): ... to here.
354
355 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
356
357         verify: new macro verify_expr; verify_true deprecated
358         * NEWS: Mention this.
359         * doc/verify.texi (Compile-time Assertions): Document this.
360         * lib/verify.h (verify_true): Deprecate.
361         (verify_expr): New macro.
362         * tests/test-verify.c (function): Test verify_expr.
363
364 2011-06-14  Jim Meyering  <meyering@redhat.com>
365
366         init.sh: give more portable redirection-related advice in a comment
367         * tests/init.sh (stderr_fileno_): Update the advice in comments.
368         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
369         for lots of discussion.  Stefano Lattarini suggested the solution
370         of putting "9>&2" after the command.  Reported by Bruno Haible.
371
372 2011-06-13  Bruno Haible  <bruno@clisp.org>
373
374         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
375         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
376         'none'.
377
378 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
379
380         ftoastr: use strtof only if HAVE_STRTOF
381         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
383         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
384         * modules/ftoastr (configure.ac): Check for strtof.
385
386 2011-06-13  Bruno Haible  <bruno@clisp.org>
387
388         gnulib-tool: Addendum to 2011-06-08 commit.
389         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
390         and --witness-c-macro have been given, augment AM_CPPFLAGS.
391
392 2011-06-13  Bruno Haible  <bruno@clisp.org>
393
394         fseeko: Provide a non-inline replacement of fseek().
395         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
396         * modules/fseeko (Depends-on): Add fseek.
397         * modules/fseek (License): Change to LGPLv2+.
398
399 2011-06-13  Bruno Haible  <bruno@clisp.org>
400
401         ftello: Provide a non-inline replacement of ftell().
402         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
403         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
404         not have ftello() (such as on mingw).
405         * modules/ftello (Depends-on): Add ftell.
406         * modules/ftell (License): Change to LGPLv2+.
407
408 2011-05-07  Bruno Haible  <bruno@clisp.org>
409
410         ftell: Move AC_LIBOBJ invocations to module description.
411         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
412         * modules/ftell (configure.ac): ... to here.
413
414 2011-05-07  Bruno Haible  <bruno@clisp.org>
415
416         ftello: Respect rules for use of AC_LIBOBJ.
417         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
418         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
419         here...
420         * modules/ftello (configure.ac): ... to here.
421
422 2011-05-07  Bruno Haible  <bruno@clisp.org>
423
424         fseeko: Simplify.
425         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
426         (gl_FUNC_FSEEKO): Inline it here.
427
428 2011-05-07  Bruno Haible  <bruno@clisp.org>
429
430         fseek: Move AC_LIBOBJ invocations to module description.
431         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
432         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
433         * modules/fseek (configure.ac): ... to here.
434
435 2011-05-07  Bruno Haible  <bruno@clisp.org>
436
437         fseek: Respect rules for use of AC_LIBOBJ.
438         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
439         here...
440         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
441
442 2011-05-07  Bruno Haible  <bruno@clisp.org>
443
444         fseeko: Respect rules for use of AC_LIBOBJ.
445         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
446         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
447         here...
448         * modules/fseeko (configure.ac): ... to here.
449
450 2011-06-13  Bruno Haible  <bruno@clisp.org>
451
452         gnulib-tool: Allow comments in the 'Depends-on' section.
453         * doc/gnulib.texi (Module description): Mention comment syntax in the
454         Depends-on section.
455         * gnulib-tool (func_get_dependencies): Filter out comment lines.
456
457 2011-06-13  Bruno Haible  <bruno@clisp.org>
458
459         file-set.h: guard __attibute__ use, now that it's not always defined
460         * lib/file-set.h (record_file): Use __attribute__ only with compiler
461         versions that support it.  This fixes a coreutils build failure with
462         the vendor cc on HP-UX 11.31.
463
464 2011-06-12  Bruno Haible  <bruno@clisp.org>
465
466         acl: Add support for HP-UX >= 11.11 JFS ACLs.
467         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
468         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
469         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
470         (acl, aclsort): New declarations.
471         (aclv_nontrivial): New declaration.
472         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
473         (file_has_acl): Read also the second kind of HP-UX ACLs.
474         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
475         kind of HP-UX ACLs if the first kind fails.
476         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
477         second kind of HP-UX ACLs.
478         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
479         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
480         agree.
481         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
482         hpuxjfs.
483         Handle hpuxjfs.
484         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
485         hpuxjfs.
486         Handle hpuxjfs.
487         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
488         (func_test_same_acls): Use both lsacl and getacl.
489         Handle hpuxjfs.
490         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
491         (func_test_same_acls): Use both lsacl and getacl.
492         Handle hpuxjfs.
493
494 2011-06-12  Bruno Haible  <bruno@clisp.org>
495
496         acl: Complete the 2010-08-10 fix.
497         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
498         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
499         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
500         explicitly.
501         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
502         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
503
504 2011-06-12  Bruno Haible  <bruno@clisp.org>
505
506         spawn-pipe tests: Comments.
507         * tests/test-spawn-pipe-child.c (main): Update comment.
508         Reported by James Youngman <jay@gnu.org>.
509
510 2011-06-11  James Youngman  <jay@gnu.org>
511
512         New module 'stat-size'.
513         * modules/stat-size: New module.  Provides macros for accessing
514         file size information in instances of struct stat.  Depends on the
515         fileblocks module because it calls st_blocks.
516         * lib/stat-size.h: New file, adapted from coreutils' system.h.
517         * doc/gnulib.texi: Include stat-size.texi.
518         * doc/stat-size.texi: Documentation for this module.
519         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
520         * m4/fileblocks.m4: Mention that stat-size depends on the call to
521         AC_STRUCT_ST_BLOCKS.
522
523 2011-06-09  Bruno Haible  <bruno@clisp.org>
524
525         thread: Support pthreads-win32.
526         * lib/glthread/thread.h (gl_thread_self): Define differently on
527         pthreads-win32.
528         (gl_null_thread): New declaration.
529         (gl_thread_self_pointer): New macro.
530         * lib/glthread/thread.c (gl_null_thread): New constant.
531         * tests/test-lock.c: Use gl_thread_self_pointer instead of
532         gl_thread_self.
533         * tests/test-tls.c: Likewise.
534         Suggested by Paul Eggert. Reported by Eric Blake.
535
536 2011-06-09  Bruno Haible  <bruno@clisp.org>
537
538         thread: Fix confusion between NULL and 0.
539         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
540         Reported by Paul Eggert.
541
542 2011-06-09  Bruno Haible  <bruno@clisp.org>
543
544         spawn-pipe tests: Avoid test failure on HP-UX 11.
545         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
546         is closed.
547
548 2011-06-09  Bruno Haible  <bruno@clisp.org>
549
550         acl tests: Fix compilation error on HP-UX 11.
551         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
552
553 2011-06-09  Bruno Haible  <bruno@clisp.org>
554
555         rmdir: Avoid test failure on HP-UX 10.20.
556         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
557         EEXIST.
558
559 2011-06-08  Eric Blake  <eblake@redhat.com>
560
561         perror: fix test on mingw
562         * modules/perror-tests (Depends-on): Add dup2.
563
564         strerror_r-posix: fix on MacOS
565         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
566         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
567         logic bug.
568         * lib/strerror_r.c (strerror_r): Fix the bug.
569         * lib/strerror.c (strerror): Likewise.
570         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
571         problem.
572         * doc/posix-functions/strerror.texi (strerror): Likewise.
573         * doc/posix-functions/perror.texi (perror): Likewise.
574         * tests/test-strerror.c (main): Enhance test.
575         * tests/test-strerror_r.c (main): Likewise.
576
577 2011-06-08  Bruno Haible  <bruno@clisp.org>
578
579         gnulib-tool: Better isolation between different gnulib-tool invocations.
580         * gnulib-tool: New option --witness-c-macro.
581         (witness_c_macro): New variable.
582         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
583         AM_CPPFLAGS define it as a C macro.
584         (func_emit_tests_Makefile_am): Likewise.
585         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
586         read it from there.
587         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
588         m4_define, not AC_DEFUN.
589         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
590         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
591         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
592         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
593         s|...|...|, to substitute the values of the GNULIB_* module indicator
594         variables.
595         * modules/dirent (Makefile.am): Likewise.
596         * modules/fcntl-h (Makefile.am): Likewise.
597         * modules/iconv-h (Makefile.am): Likewise.
598         * modules/langinfo (Makefile.am): Likewise.
599         * modules/locale (Makefile.am): Likewise.
600         * modules/math (Makefile.am): Likewise.
601         * modules/netdb (Makefile.am): Likewise.
602         * modules/poll-h (Makefile.am): Likewise.
603         * modules/pty (Makefile.am): Likewise.
604         * modules/search (Makefile.am): Likewise.
605         * modules/signal (Makefile.am): Likewise.
606         * modules/spawn (Makefile.am): Likewise.
607         * modules/stdio (Makefile.am): Likewise.
608         * modules/stdlib (Makefile.am): Likewise.
609         * modules/string (Makefile.am): Likewise.
610         * modules/sys_ioctl (Makefile.am): Likewise.
611         * modules/sys_select (Makefile.am): Likewise.
612         * modules/sys_socket (Makefile.am): Likewise.
613         * modules/sys_stat (Makefile.am): Likewise.
614         * modules/sys_times (Makefile.am): Likewise.
615         * modules/sys_utsname (Makefile.am): Likewise.
616         * modules/sys_wait (Makefile.am): Likewise.
617         * modules/termios (Makefile.am): Likewise.
618         * modules/time (Makefile.am): Likewise.
619         * modules/unistd (Makefile.am): Likewise.
620         * modules/wchar (Makefile.am): Likewise.
621
622 2011-06-08  Eric Blake  <eblake@redhat.com>
623
624         strerror: simplify replacement
625         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
626         * modules/strerror (configure.ac): No prereqs needed here...
627         * modules/strerror-override (configure.ac): ...but this needs it.
628         (Files): Add file for needed prereq macro.
629
630 2011-06-08  Bruno Haible  <bruno@clisp.org>
631
632         strerror_r-posix: Tweaks.
633         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
634         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
635         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
636         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
637         (gl_FUNC_STRERROR_R): ... to here.
638         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
639
640 2011-06-07  Eric Blake  <eblake@redhat.com>
641
642         perror: document fixed bugs
643         * doc/posix-functions/perror.texi (perror): Document recent
644         patches.
645
646 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
647
648         stat-time: get_stat_birthtime failure is better-defined
649         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
650         return a timestamp whose tv_sec and tv_nsec values are both -1.
651         Previously, the spec said only that the tv_nsec value was negative.
652         This upward-compatible change simplifies GNU tar a bit.
653
654 2011-06-07  Eric Blake  <eblake@redhat.com>
655
656         strerror_r-posix: work around cygwin 1.7.9
657         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
658         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
659         bug without replacing strerror_r.
660         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
661         strerror_r is buggy, but without requiring strerror_r compilation.
662         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
663
664         test-perror: relax test to ignore cygwin bug
665         * tests/test-perror2.c (main): Relax test on requiring detection
666         of stream errors, and use unbuffered stream.
667         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
668         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
669         * doc/posix-functions/fputc.texi (fputc): Likewise.
670         * doc/posix-functions/fputs.texi (fputs): Likewise.
671         * doc/posix-functions/fputws.texi (fputws): Likewise.
672         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
673         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
674         * doc/posix-functions/getopt.texi (getopt): Likewise.
675         * doc/posix-functions/perror.texi (perror): Likewise.
676         * doc/posix-functions/printf.texi (printf): Likewise.
677         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
678         * doc/posix-functions/psignal.texi (psignal): Likewise.
679         * doc/posix-functions/putc.texi (putc): Likewise.
680         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
681         Likewise.
682         * doc/posix-functions/putchar.texi (putchar): Likewise.
683         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
684         Likewise.
685         * doc/posix-functions/puts.texi (puts): Likewise.
686         * doc/posix-functions/putwc.texi (putwc): Likewise.
687         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
688         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
689         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
690         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
691         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
692         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
693         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
694         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
695
696 2011-05-22  Bruno Haible  <bruno@clisp.org>
697
698         strerror: Move AC_LIBOBJ invocations to module description.
699         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
700         gl_PREREQ_STRERROR invocations from here...
701         * modules/strerror (configure.ac): ... to here.
702
703 2011-05-21  Bruno Haible  <bruno@clisp.org>
704
705         perror: Use common idiom.
706         * modules/perror (configure.ac): Reorder statements.
707
708 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
709
710         tests: fix usage message in 'mktempd_'
711         * tests/init.sh (mktempd_): In the usage message, use literal
712         'mktempd_', not '$ME' (which is even undefined), as the name of
713         the subroutine.
714
715 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
716
717         tests init: new function 'fatal_', for hard errors
718         Before this patch, the only way offered by tests/init.sh to
719         properly signal a hard error was the `framework_failure_'
720         function.  But the error message issued by that function,
721         as its name would suggest, refers to a set-up failure in the
722         testsuite, while hard errors can obviously also be due to
723         other reasons.  The best way to fix this inconsistency is to
724         introduce a new function with a more general error message.
725         * tests/init.sh (fatal_): New function.
726
727 2011-06-06  Eric Blake  <eblake@redhat.com>
728
729         canonicalize-lgpl: use common idiom
730         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
731         over newer POSIX -Rf.
732         Reported by Bruno Haible.
733
734         canonicalize-lgpl: work around AIX realpath bug
735         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
736         * doc/posix-functions/realpath.texi (realpath): Document it.
737         Reported by Bruno Haible.
738
739         strerror: work around FreeBSD bug
740         * lib/strerror.c (strerror): Special case 0.
741         Reported by Bruno Haible.
742
743         strerror-override: avoid bloating errno module
744         * modules/errno (Files, configure.ac): Move replacement strings...
745         * modules/strerror-override: ...to new module.
746         * modules/strerror (Depends-on): Add strerror-override.
747         * modules/strerror_r-posix (Depends-on): Likewise.
748         * MODULES.html.sh: Document new module.
749         Reported by Bruno Haible.
750
751 2011-06-06  Bruno Haible  <bruno@clisp.org>
752
753         spawn-pipe tests: Rename program.
754         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
755         * tests/test-spawn-pipe-child.c: Update comment.
756         * tests/test-spawn-pipe.sh: Update.
757         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
758
759         spawn-pipe tests: Link the child program only against libc.
760         * tests/test-spawn-pipe-child.c: New file, extracted from
761         tests/test-spawn-pipe.c.
762         (main): Expect only one argument.
763         (is_open): New function, copied from tests/test-pipe.c.
764         * tests/test-spawn-pipe.c: Don't include <errno.h>.
765         (child_main): Remove function.
766         (test_pipe): Pass only one argument to the child program.
767         (main): Remove child process code. Expect the child program's name as
768         first argument.
769         * tests/test-spawn-pipe.sh: Pass the child program's name as first
770         argument.
771         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
772         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
773         test-spawn-pipe-child against no libraries.
774
775 2011-06-06  Bruno Haible  <bruno@clisp.org>
776
777         careadlinkat: Avoid mismatch between ssize_t and int.
778         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
779         * lib/careadlinkat.c (careadlinkatcwd): Define always.
780
781 2011-06-06  Jim Meyering  <meyering@redhat.com>
782
783         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
784         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
785         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
786
787 2011-06-05  Bruno Haible  <bruno@clisp.org>
788
789         ansi-c++-opt: Interoperability with libtool.
790         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
791         set the variable to "no", not to ":".
792         * NEWS: Mention the change.
793
794 2011-06-05  Bruno Haible  <bruno@clisp.org>
795
796         acl: Fix test failure on AIX 7.
797         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
798         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
799
800 2011-06-05  Bruno Haible  <bruno@clisp.org>
801
802         pipe-filter-ii: Fix test failure on AIX and IRIX.
803         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
804         with EAGAIN, retry with a smaller buffer size.
805
806 2011-06-05  Bruno Haible  <bruno@clisp.org>
807
808         localename: Fix link dependencies.
809         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
810         * modules/localename-tests (Makefile.am): Link test-localename with
811         $(LIBTHREAD).
812
813 2011-06-05  Bruno Haible  <bruno@clisp.org>
814
815         error: Avoid gcc warning.
816         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
817
818 2011-06-05  Bruno Haible  <bruno@clisp.org>
819
820         unsetenv: Avoid gcc warning.
821         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
822
823 2011-06-05  Bruno Haible  <bruno@clisp.org>
824
825         setenv: Avoid gcc warning.
826         * lib/setenv.c (setenv): Provide declaration if system lacks it.
827
828 2011-06-05  Bruno Haible  <bruno@clisp.org>
829
830         sys_select: Ensure memset is declared also on AIX 7.
831         * lib/sys_select.in.h: Include <string.h> also on AIX.
832         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
833         self-contained also on AIX 7.1.
834
835 2011-06-04  Jim Meyering  <meyering@redhat.com>
836
837         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
838         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
839         function name, "error".
840         (_gl_translatable_diag_func_re): New configurable variable.
841
842 2011-06-04  Bruno Haible  <bruno@clisp.org>
843
844         getopt: Avoid gcc warning.
845         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
846
847 2011-06-04  Bruno Haible  <bruno@clisp.org>
848
849         strerror_r: Fix comments.
850         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
851         commit.
852
853 2011-06-04  Bruno Haible  <bruno@clisp.org>
854
855         perror: Fix compilation error.
856         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
857         Undefine fprintf, not sprintf.
858         * modules/perror (Depends-on): Remove intprops, verify.
859
860 2011-06-04  Bruno Haible  <bruno@clisp.org>
861
862         setlocale: Enable replacement on Cygwin 1.5.
863         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
864         Cygwin 1.5.x.
865         * doc/posix-functions/setlocale.texi: Mention that the problem with the
866         LC_CTYPE category also exists on Cygwin 1.5.x.
867
868 2011-06-04  Bruno Haible  <bruno@clisp.org>
869
870         strerror-override: Don't disable symbol renamings.
871         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
872         * lib/strerror-override.c: Include config.h.
873         (strerror_override): Don't undefine.
874
875 2011-06-03  Bruno Haible  <bruno@clisp.org>
876
877         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
878         * lib/localename.h: Update copyright header.
879         * lib/localename.c: Likewise.
880         * lib/relocatable.h: Likewise.
881         * lib/relocatable.c: Likewise.
882
883 2011-06-02  Bruno Haible  <bruno@clisp.org>
884
885         doc: Fix a module name.
886         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
887
888 2011-06-02  Bruno Haible  <bruno@clisp.org>
889
890         pipe2: Remove dependency on 'nonblocking' module.
891         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
892         O_NONBLOCK is defined by gnulib.
893         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
894         is zero.
895         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
896         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
897         defined by gnulib.
898         (get_nonblocking_flag): New function.
899         (main): Test O_NONBLOCK flag only if it is nonzero.
900         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
901
902 2011-06-03  Jim Meyering  <meyering@redhat.com>
903
904         maint: three new prohibit-header-without-use rules
905         Prohibit use of cloexec.h, posixver.h, same.h without use.
906         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
907         (sc_prohibit_posixver_without_use): Likewise.
908         (sc_prohibit_same_without_use): Likewise.
909
910 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
911
912         allocator: 'die' routine is now given requested size
913         * lib/allocator.h (struct allocator.die): New size arg.
914         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
915         If the actual problem is an ssize_t limitation, not a size_t or
916         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
917
918 2011-06-01  Eric Blake  <eblake@redhat.com>
919
920         strerror: drop strerror_r dependency
921         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
922         * lib/strerror-override.c (strerror_override): ...to new file.
923         * lib/strerror-override.h: Add prototype.
924         * lib/strerror-impl.h: Delete.
925         * lib/strerror.c (strerror): New implementation.
926         * modules/errno (Files): Add new files.
927         (configure.ac): Compile new file as appropriate.
928         * modules/strerror (Files): Drop unused file.
929         (Depends-on): Drop strerror_r-posix.
930         * MODULES.html.sh: Document strerror_r-posix.
931         Requested by Sam Steingold.
932
933         perror: call strerror_r directly
934         * modules/perror (Files): Drop strerror-impl.h.
935         * lib/perror.c (perror): Use our own stack buffer, rather than
936         calling a wrapper that uses static storage.
937         * doc/posix-functions/perror.texi (perror): Document a limitation
938         of our replacement.
939
940         strerror_r: fix includes for FreeBSD
941         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
942         since we use abort on some platforms.
943         Reported by Matthias Bolte.
944
945 2011-05-31  Bruno Haible  <bruno@clisp.org>
946
947         Fix link errors in tests: openat-die uses gettext-h.
948         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
949         against $(LIBINTL).
950         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
951         against $(LIBINTL).
952         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
953         $(LIBINTL).
954         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
955         against $(LIBINTL).
956         * modules/linkat-tests (Makefile.am): Link test-linkat against
957         $(LIBINTL).
958         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
959         $(LIBINTL).
960         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
961         against $(LIBINTL).
962         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
963         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
964         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
965         $(LIBINTL).
966         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
967         $(LIBINTL).
968         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
969         $(LIBINTL).
970         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
971
972 2011-05-31  Bruno Haible  <bruno@clisp.org>
973
974         Fix link errors in tests: wait-process uses gettext-h.
975         * modules/nonblocking-pipe-tests (Makefile.am): Set
976         test_nonblocking_pipe_main_LDADD.
977         * modules/nonblocking-socket-tests (Makefile.am): Link
978         test-nonblocking-socket-main against $(LIBINTL).
979         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
980
981 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
982
983         assert-h: work around 'verify' incompatibility
984         * lib/verify.h: Use @...@ directives, not ifdef.
985         * modules/assert-h (assert.h): Implement the directives.
986         (assert.h): Substitute the symbol-prefix more consistently.
987
988 2011-05-29  Jim Meyering  <meyering@redhat.com>
989
990         trim: remove three superfluous assignments
991         * lib/trim.c (trim2): Remove three superfluous assignments
992         and correct brace positioning.
993
994 2011-05-29  Bruno Haible  <bruno@clisp.org>
995
996         wctype-h: Avoid namespace pollution on Solaris 2.6.
997         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
998         identifiers.
999         * doc/posix-headers/wctype.texi: Mention the problem.
1000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1001
1002 2011-05-28  Jim Meyering  <meyering@redhat.com>
1003
1004         parse-datetime.y: accommodate -Wstrict-overflow
1005         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
1006         placate -Wstrict-overflow.
1007
1008         trim: avoid a warning from -O2 -Wstrict-overflow
1009         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
1010
1011 2011-05-29  Bruno Haible  <bruno@clisp.org>
1012
1013         gnulib-tool: Fix bug in yesterday's commit.
1014         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
1015         twice.
1016
1017 2011-05-29  Bruno Haible  <bruno@clisp.org>
1018
1019         Allow multiple gnulib generated include files to be combined.
1020         * gnulib-tool (func_compute_include_guard_prefix): New function.
1021         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
1022         ${gl_include_guard_prefix} references.
1023         (func_import, func_create_testdir): Invoke
1024         func_compute_include_guard_prefix.
1025         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
1026         * lib/ctype.in.h: Likewise.
1027         * lib/dirent.in.h: Likewise.
1028         * lib/errno.in.h: Likewise.
1029         * lib/fcntl.in.h: Likewise.
1030         * lib/float.in.h: Likewise.
1031         * lib/getopt.in.h: Likewise.
1032         * lib/iconv.in.h: Likewise.
1033         * lib/langinfo.in.h: Likewise.
1034         * lib/locale.in.h: Likewise.
1035         * lib/math.in.h: Likewise.
1036         * lib/netdb.in.h: Likewise.
1037         * lib/netinet_in.in.h: Likewise.
1038         * lib/poll.in.h: Likewise.
1039         * lib/pthread.in.h: Likewise.
1040         * lib/pty.in.h: Likewise.
1041         * lib/sched.in.h: Likewise.
1042         * lib/se-selinux.in.h: Likewise.
1043         * lib/search.in.h: Likewise.
1044         * lib/signal.in.h: Likewise.
1045         * lib/spawn.in.h: Likewise.
1046         * lib/stdarg.in.h: Likewise.
1047         * lib/stddef.in.h: Likewise.
1048         * lib/stdint.in.h: Likewise.
1049         * lib/stdio.in.h: Likewise.
1050         * lib/stdlib.in.h: Likewise.
1051         * lib/string.in.h: Likewise.
1052         * lib/strings.in.h: Likewise.
1053         * lib/sys_file.in.h: Likewise.
1054         * lib/sys_ioctl.in.h: Likewise.
1055         * lib/sys_select.in.h: Likewise.
1056         * lib/sys_socket.in.h: Likewise.
1057         * lib/sys_stat.in.h: Likewise.
1058         * lib/sys_time.in.h: Likewise.
1059         * lib/sys_times.in.h: Likewise.
1060         * lib/sys_uio.in.h: Likewise.
1061         * lib/sys_utsname.in.h: Likewise.
1062         * lib/sys_wait.in.h: Likewise.
1063         * lib/sysexits.in.h: Likewise.
1064         * lib/termios.in.h: Likewise.
1065         * lib/time.in.h: Likewise.
1066         * lib/unistd.in.h: Likewise.
1067         * lib/wchar.in.h: Likewise.
1068         * lib/wctype.in.h: Likewise.
1069         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
1070         * modules/ctype (Makefile.am): Likewise.
1071         * modules/dirent (Makefile.am): Likewise.
1072         * modules/errno (Makefile.am): Likewise.
1073         * modules/fcntl-h (Makefile.am): Likewise.
1074         * modules/float (Makefile.am): Likewise.
1075         * modules/getopt-posix (Makefile.am): Likewise.
1076         * modules/iconv-h (Makefile.am): Likewise.
1077         * modules/langinfo (Makefile.am): Likewise.
1078         * modules/locale (Makefile.am): Likewise.
1079         * modules/math (Makefile.am): Likewise.
1080         * modules/netdb (Makefile.am): Likewise.
1081         * modules/netinet_in (Makefile.am): Likewise.
1082         * modules/poll-h (Makefile.am): Likewise.
1083         * modules/pthread (Makefile.am): Likewise.
1084         * modules/pty (Makefile.am): Likewise.
1085         * modules/sched (Makefile.am): Likewise.
1086         * modules/search (Makefile.am): Likewise.
1087         * modules/selinux-h (Makefile.am): Likewise.
1088         * modules/signal (Makefile.am): Likewise.
1089         * modules/spawn (Makefile.am): Likewise.
1090         * modules/stdarg (Makefile.am): Likewise.
1091         * modules/stddef (Makefile.am): Likewise.
1092         * modules/stdint (Makefile.am): Likewise.
1093         * modules/stdio (Makefile.am): Likewise.
1094         * modules/stdlib (Makefile.am): Likewise.
1095         * modules/string (Makefile.am): Likewise.
1096         * modules/strings (Makefile.am): Likewise.
1097         * modules/sys_file (Makefile.am): Likewise.
1098         * modules/sys_ioctl (Makefile.am): Likewise.
1099         * modules/sys_select (Makefile.am): Likewise.
1100         * modules/sys_socket (Makefile.am): Likewise.
1101         * modules/sys_stat (Makefile.am): Likewise.
1102         * modules/sys_time (Makefile.am): Likewise.
1103         * modules/sys_times (Makefile.am): Likewise.
1104         * modules/sys_uio (Makefile.am): Likewise.
1105         * modules/sys_utsname (Makefile.am): Likewise.
1106         * modules/sys_wait (Makefile.am): Likewise.
1107         * modules/sysexits (Makefile.am): Likewise.
1108         * modules/termios (Makefile.am): Likewise.
1109         * modules/time (Makefile.am): Likewise.
1110         * modules/unistd (Makefile.am): Likewise.
1111         * modules/wchar (Makefile.am): Likewise.
1112         * modules/wctype-h (Makefile.am): Likewise.
1113         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
1114
1115 2011-05-29  Bruno Haible  <bruno@clisp.org>
1116
1117         assert-h: Allow multiple gnulib generated replacements to coexist.
1118         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
1119
1120 2011-05-29  Bruno Haible  <bruno@clisp.org>
1121
1122         argp: Allow coexistence with strerror_r-posix module.
1123         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
1124         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
1125         by gnulib's <string.h> replacement), assume it has the POSIX signature,
1126         not the glibc signature.
1127
1128 2011-05-28  Bruno Haible  <bruno@clisp.org>
1129
1130         gnulib-tool: Alternative structure of testdirs, similar to --import.
1131         * gnulib-tool: New option --single-configure.
1132         (func_usage): Document it.
1133         (single_configure): New variable.
1134         (func_modules_transitive_closure_separately,
1135         func_modules_transitive_closure_separately,
1136         func_determine_use_libtests, func_modules_add_dummy_separately,
1137         func_modules_to_filelist_separately): New functions, extracted from
1138         func_import.
1139         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
1140         (func_import): Use the new functions.
1141         (func_create_testdir): Set final_modules. Handle $single_configure =
1142         true case.
1143
1144 2011-05-28  Bruno Haible  <bruno@clisp.org>
1145
1146         getloadavg: Remove an unreliable safety check.
1147         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
1148         getloadavg.c is in place.
1149         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
1150         Reported by Sam Steingold <sds@gnu.org>.
1151
1152 2011-05-28  Bruno Haible  <bruno@clisp.org>
1153
1154         doc: Cleanup yet another file produced by texinfo.tex.
1155         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
1156
1157 2011-05-28  Bruno Haible  <bruno@clisp.org>
1158
1159         Finish the conditional dependencies mechanism.
1160         * gnulib-tool: New option --no-conditional-dependencies.
1161         (func_usage): Document it. Don't mark --conditional-dependencies as
1162         experimental.
1163         (cond_dependencies): The possible values can now be true, false, empty.
1164         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
1165         (func_import): Store setting in gnulib-cache.m4 and read it from there.
1166         * doc/gnulib-tool.texi (Conditional dependencies): New section.
1167
1168 2011-05-28  Bruno Haible  <bruno@clisp.org>
1169
1170         doc: Use a recent texinfo.tex.
1171         * doc/Makefile (tex_opts): New variable.
1172         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
1173
1174 2011-05-28  Jim Meyering  <meyering@redhat.com>
1175
1176         intprops.h: adjust comment to match code change
1177         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
1178         only once, it *may* have side effects.  Also fix an unrelated typo.
1179         (_GL_INT_SIGNED): Likewise.
1180
1181 2011-05-26  Simon Josefsson  <simon@josefsson.org>
1182
1183         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
1184
1185 2011-05-26  Bruno Haible  <bruno@clisp.org>
1186
1187         mbsrchr: Avoid collision with system function on Interix.
1188         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
1189         Reported by Markus Duft <mduft@gentoo.org>.
1190
1191 2011-05-15  James Youngman  <jay@gnu.org>
1192
1193         getopt: for ambiguous options, enumerate the possibilities.
1194         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
1195         the ambiguous options when an ambiguous prefix is given. This was
1196         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
1197         glibc change was
1198         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
1199
1200 2011-05-25  Eric Blake  <eblake@redhat.com>
1201
1202         getcwd: work around mingw bug
1203         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
1204         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1205         Reported by Matthias Bolte.
1206
1207 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1208
1209         test-intprops: disable -Wtype-limits diagnostics
1210         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
1211         diagnostics.  Otherwise, the integer overflow macros generate many
1212         diagnostics.  Reported by Jim Meyering in
1213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1214
1215         intprops: shorten, to pacify gcc -Woverlength-strings
1216         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
1217         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
1218         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
1219         likely to run afoul of C compiler limits for string constant lengths.
1220         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1221
1222 2011-05-24  Eric Blake  <eblake@redhat.com>
1223
1224         docs: document recently fixed glibc printf bug
1225         * doc/posix-functions/fprintf.texi (fprintf): Document it.
1226         * doc/posix-functions/printf.texi (printf): Likewise.
1227         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1228         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1229
1230         closein-tests: convert to init.sh
1231         * modules/closein-tests (Files): Add init.sh
1232         * tests/test-closein.sh Use it.
1233
1234         yesno-tests: convert to init.sh
1235         * modules/yesno-tests (Files): Add init.sh.
1236         * tests/test-yesno.sh: Use it.
1237
1238         atexit-tests: ensure reliable exit status
1239         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
1240         Reported by Bruno Haible.
1241
1242 2011-05-24  Bruno Haible  <bruno@clisp.org>
1243
1244         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
1245         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
1246         gl_PREREQ_STRERROR_R invocations from here...
1247         * modules/strerror_r-posix (configure.ac): ... to here.
1248
1249 2011-05-24  Eric Blake  <eblake@redhat.com>
1250
1251         strerror_r: fix missing header
1252         * lib/strerror_r.c: Avoid compiler warning about snprintf.
1253
1254         strerror_r: fix AIX test failures
1255         * lib/strerror_r.c (strerror_r): Convert silent truncation to
1256         ERANGE failure.
1257
1258         strerror_r: fix Solaris test failures
1259         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
1260         failures.
1261         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
1262
1263         strerror_r: enforce POSIX recommendations
1264         * lib/strerror_r.c (safe_copy): New helper method.
1265         (strerror_r): Guarantee a non-empty string.
1266         * tests/test-strerror_r.c (main): Enhance tests to incorporate
1267         recent POSIX rulings and to match our strerror guarantees.
1268         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
1269
1270 2011-05-24  Jim Meyering  <meyering@redhat.com>
1271
1272         test-perror2.c: avoid warning about unused variable
1273         * tests/test-perror2.c (main): Remove declaration of unused "fp".
1274
1275 2011-05-24  Eric Blake  <eblake@redhat.com>
1276
1277         perror: avoid spurious test failure on HP-UX
1278         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
1279
1280         tests: fix logic bug in init.sh
1281         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
1282         shell.
1283
1284 2011-05-24  Jim Meyering  <meyering@redhat.com>
1285
1286         utimensat: do not reference an out-of-scope buffer
1287         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
1288         declared in an inner scope, yet "times" would be dereferenced outside
1289         the scope in which "ts" was valid.
1290         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
1291         of ts[2] "out/up", so that the use of aliased "times" (via
1292         "times = ts;") does not end up referencing an out-of-scope "ts"
1293
1294         opendir-safer.c: don't clobber errno; don't close negative FD
1295         * lib/opendir-safer.c (opendir_safer):
1296         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
1297         file descriptor, and more importantly, don't clobber the
1298         offending errno value with EINVAL.  Before, upon failure
1299         of dup_safer, we would pass the negative file descriptor to
1300         fdopendir, which would clobber errno.
1301
1302 2011-05-23  Bruno Haible  <bruno@clisp.org>
1303
1304         idcache: Fix module description.
1305         * modules/idcache (Include): Set to "idcache.h".
1306
1307 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1308
1309         gnulib-tool: fix portability problem with MacOS sed
1310         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
1311         before the "}".  Problem reported by Leo in
1312         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
1313         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
1314         sed_extract_condition1, sed_extract_condition2.
1315
1316 2011-05-23  Bruno Haible  <bruno@clisp.org>
1317
1318         hash: Simplify autoconf macro.
1319         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
1320
1321 2011-05-23  Bruno Haible  <bruno@clisp.org>
1322
1323         getugroups: Fix module description.
1324         * modules/getugroups (Include): Set to "getugroups.h".
1325
1326 2011-05-23  Bruno Haible  <bruno@clisp.org>
1327
1328         linkat: Simplify autoconf macro.
1329         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
1330
1331 2011-05-23  Bruno Haible  <bruno@clisp.org>
1332             Eric Blake  <eblake@redhat.com>
1333
1334         linkat, renameat: Update dependencies.
1335         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
1336         * modules/linkat (Depends-on): Likewise. Remove also readlink,
1337         symlinkat.
1338
1339 2011-05-23  Jim Meyering  <meyering@redhat.com>
1340
1341         maint.mk: more tight_scope improvements
1342         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
1343         (_gl_TS_headers): Define only in if-0'd block.
1344         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
1345         sometimes we must *not* use it.  Adjust uses accordingly.
1346         (sc_tight_scope): Use much simpler grep-based test to determine
1347         whether we skip this rule.
1348
1349         maint.mk: generalize/improve the tight-scope rule
1350         * top/maint.mk: Emit a warning when the test is skipped.
1351         (_gl_TS_dir): Add $(srcdir)/ prefix.
1352         (_gl_TS_function_match): Simplify, rather than trying
1353         to enumerate common types.  Otherwise, it would fail to match an
1354         "extern unsigned char const *" declaration in idutils.
1355         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
1356         a way to support use of that type of macro.
1357         (_gl_TS_var_match): Simplify regexp.
1358         (_gl_TS_obj_files): New configurable variable.
1359         (_gl_TS_headers): Likewise.
1360
1361 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
1362
1363         verify: fix bug when gnulib <assert.h> is also included
1364         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
1365         is defined, not if _GL_STATIC_ASSERT_H is not defined.
1366         Perhaps there's a better way, but this fixes the immediate problem.
1367         Problem reported by Bruno Haible in
1368         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
1369
1370 2011-05-22  Bruno Haible  <bruno@clisp.org>
1371
1372         xgetcwd: Simplify autoconf macro.
1373         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
1374
1375 2011-05-22  Bruno Haible  <bruno@clisp.org>
1376
1377         New module 'mktime-internal'.
1378         * modules/mktime-internal: New file.
1379         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
1380         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
1381         mktime_internal as a C macro if libc has __mktime_internal.
1382         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
1383         conditions.
1384         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
1385
1386 2011-05-22  Bruno Haible  <bruno@clisp.org>
1387
1388         timegm: Correct mktime replacement statements.
1389         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
1390         defining mktime as a C macro. This completes a 2009-07-28 commit.
1391
1392 2011-05-22  Bruno Haible  <bruno@clisp.org>
1393
1394         timegm: Simplify autoconf macro.
1395         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
1396
1397 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1398
1399         clock-time: change to LGPLv2+.
1400         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
1401         BSD-like but we have no mark for that; this is good enough for now.
1402
1403 2011-05-21  Bruno Haible  <bruno@clisp.org>
1404
1405         strerror_r: Fix comments.
1406         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
1407
1408 2011-05-21  Bruno Haible  <bruno@clisp.org>
1409
1410         relocatable-prog-wrapper: Fix possible link error.
1411         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
1412         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
1413         (gl_FUNC_SETENV): ... to here.
1414         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
1415         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
1416
1417 2011-05-21  Bruno Haible  <bruno@clisp.org>
1418
1419         relocatable-prog-wrapper: Assume strerror() exists.
1420         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
1421         m4/strerror.m4.
1422         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
1423         * lib/relocwrapper.c: Remove mention of strerror module.
1424         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
1425         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
1426         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
1427         C macro.
1428
1429 2011-05-21  Bruno Haible  <bruno@clisp.org>
1430
1431         select: Simplify replacement idiom.
1432         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
1433         Win32 platforms.
1434         * lib/sys_select.in.h (select): Simplify accordingly.
1435         * modules/select (Depends-on): Likewise.
1436
1437 2011-05-21  Bruno Haible  <bruno@clisp.org>
1438
1439         mkdir-p: Simplify autoconf macro.
1440         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
1441         gl_FUNC_LCHOWN.
1442
1443 2011-05-21  Eric Blake  <eblake@redhat.com>
1444
1445         strerror_r: avoid clobbering strerror on cygwin
1446         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
1447         fall back instead to sys_errlist.
1448         * modules/strerror (configure.ac): Add witness.
1449         * tests/test-strerror_r.c (main): Enhance test.
1450         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1451         * tests/test-perror2.c (main): Free memory before exit.
1452
1453 2011-05-21  Bruno Haible  <bruno@clisp.org>
1454
1455         mkdtemp: Use gnulib naming conventions.
1456         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
1457         * modules/mkdtemp (configure.ac): Update.
1458
1459 2011-05-20  Eric Blake  <eblake@redhat.com>
1460
1461         strerror_r: avoid corrupting errno on Solaris
1462         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
1463         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1464
1465         strerror_r: avoid compiler warning
1466         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
1467
1468         strerror_r: simplify AIX code
1469         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
1470
1471         test-perror: avoid spurious failure on FreeBSD
1472         * modules/perror-tests (Depends-on): Add strerror, now that
1473         strerror_r no longer pulls it in.
1474
1475 2011-05-20  Bruno Haible  <bruno@clisp.org>
1476
1477         strerror_r-posix: Remove unused dependencies.
1478         * modules/strerror_r-posix (Depends-on): Remove strerror.
1479         Reported by Eric Blake.
1480
1481 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1482
1483         intprops: remove assumption about A|B representation
1484         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
1485         is a valid integer if both A and B are.  Although this is true for
1486         all known practical hosts, the C standard doesn't guarantee it,
1487         and the code need not assume it.  Also, this change may work around
1488         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
1489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
1490
1491 2011-05-20  Eric Blake  <eblake@redhat.com>
1492
1493         perror: work around FreeBSD bug
1494         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
1495         is broken.  Move AC_LIBOBJ...
1496         * modules/perror (configure.ac): Here.
1497         * doc/posix-functions/perror.texi (perror): Document this.
1498         * tests/test-perror2.c (main): Enhance test.
1499
1500         test-perror: check for strerror interactions
1501         * tests/macros.h (STREQ): Add macro.
1502         * modules/perror-tests (Files): Add second test.
1503         * tests/test-perror2.c (main): New file.
1504         * doc/posix-functions/perror.texi (perror): Document glibc bug.
1505
1506         test-perror: rewrite to use init script
1507         * modules/perror-tests (Files): Add init.sh.
1508         * tests/test-perror.sh: Use temporary directory.
1509
1510 2011-05-20  Jim Meyering  <meyering@redhat.com>
1511
1512         maint: replace misused "a" with "an"
1513         * doc/intprops.texi: "a integer"
1514         * doc/regex.texi: "a explanation"
1515         * lib/alignof.h: "a object"
1516         * lib/argmatch.h: "a explanation"
1517         * lib/argp-help.c: "a option" and "a OPTION_DOC"
1518         * lib/stdint.in.h: "a integer"
1519         * lib/userspec.c: "a owner"
1520         * doc/gnulib.texi: Fix "a idea", and reword.
1521
1522 2011-05-19  Jim Meyering  <meyering@redhat.com>
1523
1524         maint: correct misuse of "a" and "an"
1525         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
1526         * lib/argp-help.c: "an docum...": s/an/a/
1527         * lib/argp-parse.c: "An vector": s/An/A/
1528         * lib/execute.c: "an native": s/an/a/
1529         * lib/spawn-pipe.c: Likewise.
1530         * lib/gc.h: "an Gc_rc": s/an/a/
1531         * lib/unigbrk.in.h: "an grapheme": s/an/a/
1532         * lib/fts.c: "an stat.st_dev": s/an/a/
1533
1534 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1535
1536         intprops-tests: work around HP-UX 11.23 cc bug with constants
1537         * tests/test-intprops.c (VERIFY): New macro.
1538         (main): Use it, instead of verify, to work around the compiler bug; see
1539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1540
1541         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
1542         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
1543         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
1544         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
1545         (_GL_REMAINDER_OVERFLOW): Use it.
1546
1547         intprops-tests: revert unsigned part of previous change
1548         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
1549         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
1550         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
1551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
1552
1553 2011-05-19  Bruno Haible  <bruno@clisp.org>
1554
1555         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
1556         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
1557         strerror_r() returned without filling the buffer.
1558         Reported by Eric Blake.
1559
1560 2011-05-19  Eric Blake  <eblake@redhat.com>
1561
1562         strerror_r: guarantee unchanged errno
1563         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
1564         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
1565         failure.
1566         * tests/test-strerror_r.c (main): Enhance test.
1567
1568 2011-05-19  Bruno Haible  <bruno@clisp.org>
1569
1570         strerror_r: Reorder #if blocks.
1571         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
1572         for consistency with the previous commit.
1573
1574 2011-05-19  Bruno Haible  <bruno@clisp.org>
1575
1576         perror: Avoid clobbering the strerror buffer when possible.
1577         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
1578         * lib/strerror.c: Include it.
1579         * modules/strerror (Files): Add lib/strerror-impl.h.
1580         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
1581         (my_strerror): New function, defined through lib/strerror-impl.h.
1582         (perror): Use it instead of strerror.
1583         * modules/perror (Files): Add lib/strerror-impl.h.
1584         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
1585
1586 2011-05-19  Eric Blake  <eblake@redhat.com>
1587
1588         strerror_r: fix on newer cygwin
1589         * lib/strerror_r.c (strerror_r): Cygwin now has
1590         __xpg_strerror_r, use it.
1591
1592 2011-05-19  Bruno Haible  <bruno@clisp.org>
1593
1594         strerror_r: Avoid clobbering the strerror buffer when possible.
1595         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
1596         (sys_nerr, sys_errlist): New declarations.
1597         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
1598         HP-UX, native Win32, IRIX, and 32-bit Solaris.
1599         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
1600
1601 2011-05-19  Bruno Haible  <bruno@clisp.org>
1602
1603         strerror_r: Fix test failure on mingw.
1604         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
1605         EXTEND_STRERROR_R.
1606         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
1607         macros from errno.in.h instead.
1608
1609 2011-05-19  Eric Blake  <eblake@redhat.com>
1610
1611         strerror: relax test for Solaris
1612         * tests/test-strerror.c (main): Permit Solaris behavior.
1613         * tests/test-strerror_r.c (main): Likewise.
1614
1615         strerror: enforce POSIX ruling on strerror(0)
1616         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
1617         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1618         * lib/strerror_r.c (rpl_strerror_r): Work around it.
1619         * doc/posix-functions/strerror.texi (strerror): Document it.
1620         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
1621         * tests/test-strerror.c (main): Strengthen test.
1622         * tests/test-strerror_r.c (main): Likewise.
1623
1624 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1625
1626         intprop-tests: port to older and more-pedantic compilers
1627         * modules/intprops-tests (Files): Add tests/macros.h.
1628         * tests/test-intprops.c: Include macros.h.
1629         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
1630         it's no longer documented to expand to an integer constant expression.
1631         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
1632         argument is floating point, as it's no longer documented to expand
1633         to an integer constant expression in that case.
1634         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
1635         compiler bugs reported by Bruno Haible.  See
1636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1637         (U0, U1): New constants, to work around the same bugs.  Also,
1638         in tests, use e.g., "(unsigned int) 39" rather than "39u".
1639
1640         intprops: work around C compiler bugs
1641         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
1642         bug in Sun C 5.11 2010/08/13 and other compilers; see
1643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1644
1645         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
1646         * doc/intprops.texi (Integer Type Determination): Fix
1647         documentation for TYPE_IS_INTEGER: it returns an constant
1648         expression, not an integer constant expression.  Fix doc for
1649         TYPE_SIGNED: it returns an integer constant expression only if its
1650         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
1651         hardly worth documented that way....)
1652
1653 2011-05-18  Bruno Haible  <bruno@clisp.org>
1654
1655         strerror_r: Avoid clobbering the strerror buffer when possible.
1656         * lib/strerror_r.c (strerror_r): Merge the three implementations.
1657         Handle gnulib defined errno values here. When strerror() returns NULL
1658         or an empty string, return EINVAL.
1659         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
1660         gnulib defined errno values here.
1661         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
1662
1663 2011-05-18  Eric Blake  <eblake@redhat.com>
1664
1665         fnmatch: avoid compiler warning
1666         * lib/fnmatch_loop.c (FCT): Use correct type.
1667         Reported by Matthias Bolte.
1668
1669 2011-05-13  Jim Meyering  <meyering@redhat.com>
1670
1671         maint.mk: three new prohibit_<HDR>_without_use rules
1672         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
1673         (sc_prohibit_stdio-safer_without_use): Likewise.
1674         (sc_prohibit_xfreopen_without_use): Likewise.
1675
1676 2011-05-17  Jim Meyering  <meyering@redhat.com>
1677
1678         announce-gen: fail if the NEWS delta is empty
1679         If there's nothing noteworthy in NEWS, then either you forgot
1680         or you shouldn't be releasing.
1681         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
1682
1683 2011-05-17  Pádraig Brady <P@draigBrady.com>
1684
1685         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
1686         reserved symbols starting with double underscore from the check.
1687
1688 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1689
1690         intprops: add doc
1691         * doc/intprops.texi: New file, documenting intprops.
1692         * doc/gnulib.texi (Particular Modules): Include it.
1693
1694         verify: add doc to gnulib manual and fix example
1695         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
1696         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
1697         (Compile-time Assertions): Fix example so it can't overflow.
1698
1699 2011-05-17  Jim Meyering  <meyering@redhat.com>
1700
1701         warnings.m4: don't usurp save_CPPFLAGS variable name
1702         * m4/warnings.m4: Prefix local temporary variable name with gl_.
1703
1704         doc: fix typo
1705         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
1706
1707 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1708             Bruno Haible  <bruno@clisp.org>
1709
1710         doc: Tweak recent change.
1711         * README (Portability guidelines): Tweak new text.
1712         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
1713         Interix 6.1.
1714
1715 2011-05-16  Eric Blake  <eblake@redhat.com>
1716
1717         inttypes: avoid autoconf warning
1718         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
1719         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1720
1721 2011-05-16  Sam Steingold <sds@gnu.org>
1722         and Eric Blake  <eblake@redhat.com>
1723
1724         vc-list-files: accept multiple directory operands
1725         * build-aux/vc-list-files: Iterate over all remaining operands.
1726
1727 2011-05-16  Bruno Haible  <bruno@clisp.org>
1728
1729         Fix confusion regarding deprecated modules.
1730         * modules/calloc (Status, Notice): Mark module as deprecated, not
1731         obsolete.
1732         * modules/fnmatch-posix (Status, Notice): Likewise.
1733         * modules/getdate (Status, Notice): Likewise.
1734         * modules/getopt (Status, Notice): Likewise.
1735         * modules/malloc (Status, Notice): Likewise.
1736         * modules/pipe (Status, Notice): Likewise.
1737         * modules/realloc (Status, Notice): Likewise.
1738         * modules/rename-dest-slash (Status, Notice): Likewise.
1739         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
1740         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
1741         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
1742         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
1743         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
1744
1745 2011-05-16  Bruno Haible  <bruno@clisp.org>
1746
1747         doc: List the target platforms.
1748         * doc/gnulib-intro.texi (Target Platforms): New section.
1749         * doc/gnulib.texi (Introduction): Update menu.
1750         * README (Portability guidelines): Refer to the new section. Update
1751         statement about oldest supported environment. Remove rationale why
1752         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
1753         unportable C89 function.
1754         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
1755         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
1756
1757 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
1760
1761 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1762
1763         intprops-tests: new module
1764         * modules/intprops-tests, tests/test-intprops.c: New files.
1765
1766         intprops: add safe, portable integer overflow checking
1767         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
1768         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
1769         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
1770         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
1771         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
1772         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
1773         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
1774         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
1775         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
1776         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
1777         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
1778
1779 2011-05-12  James Youngman  <jay@gnu.org>
1780
1781         Add a test for glibc's Bugzilla bug #12378.
1782         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
1783         doesn't allow the literal matching of a lone "[" (which is
1784         required by POSIX).
1785         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
1786
1787 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
1788
1789         Sync glibc change fixing Bugzilla bug #12378.
1790         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
1791         beginning and fall back to matching as normal character if the
1792         string ends before the matching ']' is found.  This is what POSIX
1793         requires.
1794
1795 2011-05-13  Eric Blake  <eblake@redhat.com>
1796
1797         getcwd-lgpl: relax test for FreeBSD
1798         * doc/posix-functions/getcwd.texi (getcwd): Document portability
1799         issue.
1800         * tests/test-getcwd-lgpl.c (main): Relax test.
1801         Reported by Matthias Bolte.
1802
1803 2011-05-11  Eric Blake  <eblake@redhat.com>
1804
1805         test-fflush: silence compiler warning
1806         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
1807
1808 2011-05-11  Bruno Haible  <bruno@clisp.org>
1809
1810         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
1811         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
1812         * modules/canonicalize (Depends-on): Add 'nocrash'.
1813         * modules/canonicalize-lgpl (Depends-on): Likewise.
1814         * doc/posix-functions/realpath.texi: Update platforms list.
1815         Reported by Ryan Schmidt <ryandesign@macports.org>.
1816
1817 2011-05-11  Bruno Haible  <bruno@clisp.org>
1818
1819         group-member: Declare function in <unistd.h>.
1820         * lib/unistd.in.h (group_member): New declaration.
1821         * lib/group-member.h: Remove file.
1822         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
1823         * tests/test-unistd-c++.cc: Check signature of group_member.
1824         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
1825         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
1826         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
1827         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
1828         HAVE_GROUP_MEMBER.
1829         * modules/group-member (Files): Remove lib/group-member.h.
1830         (Depends-on): Add unistd. Specify conditions.
1831         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1832         (Include): Change to <unistd.h>.
1833         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
1834         HAVE_GROUP_MEMBER.
1835         * NEWS: Mention the change.
1836         * lib/euidaccess.c: Don't include group-member.h.
1837
1838 2011-05-11  Bruno Haible  <bruno@clisp.org>
1839
1840         group-member: Document module.
1841         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
1842         module.
1843
1844 2011-05-11  Bruno Haible  <bruno@clisp.org>
1845
1846         fclose: Fix mistake earlier today.
1847         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
1848
1849 2011-05-11  Eric Blake  <eblake@redhat.com>
1850
1851         fclose: preserve fflush errors
1852         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
1853         Reported by Jim Meyering.
1854
1855         bootstrap: support a prereq of 'rpcgen -' on RHEL5
1856         * build-aux/bootstrap (check_versions): When no specific version
1857         is required, merely check that the app produces an exit status
1858         that indicates its existence.
1859
1860         maint.mk: drop redundant check
1861         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
1862         the same but better.
1863
1864 2011-05-11  Bruno Haible  <bruno@clisp.org>
1865
1866         fclose: Fix possible link error.
1867         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
1868         unregister_shadow_fd. Improve comments.
1869         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
1870         Eric Blake.
1871
1872 2011-05-11  Jim Meyering  <meyering@redhat.com>
1873
1874         maint.mk: improve "can not" detection and generalize rule name
1875         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
1876         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
1877         Use the same technique as in sc_prohibit_doubled_word, so that
1878         we recognize "can not" also when the words are separated by a newline.
1879         Suggested by Eric Blake.
1880         (perl_filename_lineno_text_): Define.  Factored out of...
1881         (prohibit_doubled_word_): ...here.  Use the new definition.
1882         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
1883         (prohibit_undesirable_word_seq_RE_): New overridable variable.
1884         (ignore_undesirable_word_sequence_RE_): New overridable variable.
1885
1886 2011-05-10  Eric Blake  <eblake@redhat.com>
1887
1888         fclose: avoid double close race when possible
1889         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
1890         all but WINDOWS_SOCKETS.
1891
1892 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
1893
1894         openat: correct new comment
1895         * lib/openat-proc.c (openat_proc_name): Correct the comment.
1896
1897 2011-05-10  Jim Meyering  <meyering@redhat.com>
1898
1899         openat: add comments
1900         * lib/openat-proc.c (openat_proc_name): Add comments,
1901         mostly from Eric Blake.
1902
1903 2011-05-09  Eric Blake  <eblake@redhat.com>
1904
1905         openat: reduce syscalls in first probe of /proc
1906         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
1907         be a directory.  Simplify the probe for .. bugs.
1908         * modules/openat (Depends-on): Drop same-inode.
1909         Reported by Bastien ROUCARIES.
1910
1911 2011-05-09  Jim Meyering  <meyering@redhat.com>
1912
1913         maint.mk: change semantics/name of tight_scope variables
1914         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
1915         Rename variables to align with semantics that make them more useful.
1916
1917         maint.mk: tweak new rule's name not to impinge
1918         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
1919         (sc_tight_scope): Use new rule name rather than $@-0.
1920
1921         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
1922         * top/maint.mk (sc_tight_scope): New rule.
1923         (sc_tight_scope-0): New rule, ifdef'd out.
1924         (_gl_TS_dir): Default.
1925         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
1926         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
1927
1928 2011-05-09  Simon Josefsson  <simon@josefsson.org>
1929
1930         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
1931         Haible <bruno@clisp.org>.
1932
1933 2011-05-08  Bruno Haible  <bruno@clisp.org>
1934
1935         Comments.
1936         * m4/isnanf.m4: Add comment.
1937         * m4/isnanl.m4: Likewise.
1938
1939 2011-05-08  Bruno Haible  <bruno@clisp.org>
1940
1941         glob: Remove obsolete macro.
1942         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
1943
1944 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1945
1946         intprops: Sun C 5.11 supports __typeof__
1947         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
1948         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
1949         which is new.
1950         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
1951
1952         intprops: switch to usual gnulib indenting and naming
1953         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
1954         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
1955
1956         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
1957
1958 2011-05-08  Jim Meyering  <meyering@redhat.com>
1959
1960         maint.mk: suppress "Entering/Leaving directory" diag in announcement
1961         * top/maint.mk (release-prep): Use make's --no-print-directory
1962         option when generating the announcement.  This eliminates the
1963         pesky "make[2]: Entering/Leaving directory" diagnostics in the
1964         generated announcement template.
1965
1966 2011-05-08  Bruno Haible  <bruno@clisp.org>
1967
1968         tzset: Fix gettimeofday wrapper on Solaris 2.6.
1969         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
1970         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1971
1972 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1973
1974         ignore-value, verify: Omit include files from lib_SOURCES.
1975         * modules/ignore-value, modules/verify (Makefile.am):
1976         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1977         that leads Automake to duplicate use of am__objects_... variables
1978         in Makefile.in.  See
1979         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1980
1981 2011-05-07  Bruno Haible  <bruno@clisp.org>
1982
1983         fclose: Simplify autoconf macro.
1984         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1985         defined.
1986
1987 2011-05-07  Bruno Haible  <bruno@clisp.org>
1988
1989         canonicalize-lgpl: Fix autoconf macro ordering bug.
1990         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1991         gl_STDLIB_H_DEFAULTS.
1992
1993 2011-05-06  Eric Blake  <eblake@redhat.com>
1994
1995         maintainer-makefile: make sc_po_check easier to tune
1996         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1997         to probe for strings, such as an alternate location for gnulib.
1998
1999         fclose: guarantee behavior on seekable stdin
2000         * modules/fclose (Depends-on): Add fflush.
2001         * doc/posix-functions/fclose.texi (fclose): Document this.
2002         * tests/test-fclose.c (main): Make test for this unconditional.
2003
2004 2011-05-06  Bruno Haible  <bruno@clisp.org>
2005
2006         fflush, fpurge: Relicense under LGPLv2+.
2007         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
2008         * modules/fpurge (License): Likewise.
2009         With permission from Eric Blake and Jim Meyering.
2010         Suggested by Eric Blake.
2011
2012 2011-05-06  Karl Berry  <karl@gnu.org>
2013
2014         * MODULES.html.sh (func_all_modules): remove exit.
2015
2016 2011-05-06  Jim Meyering  <meyering@redhat.com>
2017
2018         maint.mk: use info-gnu@ as the default only for a stable release
2019         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
2020         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
2021         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
2022         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
2023
2024 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2025
2026         assert-h: new module, which supports C1X-style static_assert
2027         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
2028         * lib/verify.h: Revamp so that this can be copied into assert.h,
2029         while retaining the ability to use it standalone as before.
2030         Rename private identifiers so as not to encroach on the
2031         standard C namespace, since this is now used by assert.h.
2032         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
2033         the old verify_true.
2034         (_GL_VERIFY_TRUE): New macro, with much of the contents of
2035         the old verify_true.  Use _GL_VERIFY_TYPE.
2036         (_GL_VERIFY): New macro, with much of the contents of the old verify.
2037         (static_assert): New macro, if _GL_STATIC_ASSERT_H
2038         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
2039         defined when this file is copied into the replacement assert.h.
2040         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
2041         and _Static_assert is not built in.
2042         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
2043         defined, and use the new macros mentioned above.
2044         * doc/posix-headers/assert.texi: Document this.
2045
2046 2011-05-05  Bruno Haible  <bruno@clisp.org>
2047
2048         fclose, fflush: Respect rules for use of AC_LIBOBJ.
2049         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
2050         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
2051         gl_REPLACE_FCLOSE here.
2052         * modules/fflush (Depends-on): Remove fclose.
2053         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
2054         combination with module 'fclose'.
2055
2056 2011-05-05  Bruno Haible  <bruno@clisp.org>
2057
2058         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
2059         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
2060         gl_FUNC_FFLUSH.
2061         (gl_FUNC_FFLUSH): Use it.
2062         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
2063         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
2064         gl_REPLACE_FSEEKO here.
2065
2066 2011-05-05  Bruno Haible  <bruno@clisp.org>
2067
2068         tzset: Relicense under LGPL.
2069         * modules/tzset (License): Change to LGPL.
2070         No agreement needed; it's a no-op.
2071
2072         strtoimax, strtoumax: Relicense under LGPL.
2073         * modules/strtoimax (License): Change to LGPL.
2074         * modules/strtoumax (License): Likewise.
2075         With permission from Jim Meyering, Paul Eggert:
2076         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
2077         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
2078
2079         getgroups: Relicense under LGPL.
2080         * modules/getgroups (License): Change to LGPL.
2081         With permission from Jim Meyering, Paul Eggert, Eric Blake:
2082         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2083         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2085
2086         nanosleep: Relicense under LGPL.
2087         * modules/nanosleep (License): Change to LGPL.
2088         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
2089         Haible:
2090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2094
2095         futimens: Relicense under LGPL.
2096         * modules/futimens (License): Change to LGPL.
2097         With permission from Eric Blake:
2098         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2099
2100         fflush: Relicense under LGPL.
2101         * modules/fflush (License): Change to LGPL.
2102         With permission from Eric Blake, Bruno Haible, Jim Meyering:
2103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
2106
2107         tmpfile: Relicense under LGPL.
2108         * modules/tmpfile (License): Change to LGPL.
2109         With permission from Ben Pfaff:
2110         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2111
2112         isfinite: Relicense under LGPL.
2113         * modules/isfinite (License): Change to LGPL.
2114         With permission from Ben Pfaff, Bruno Haible:
2115         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
2117
2118         acosl..tanl: Relicense under LGPL.
2119         * modules/acosl (License): Change to LGPL.
2120         * modules/asinl (License): Likewise.
2121         * modules/atanl (License): Likewise.
2122         * modules/cosl (License): Likewise.
2123         * modules/expl (License): Likewise.
2124         * modules/logl (License): Likewise.
2125         * modules/sinl (License): Likewise.
2126         * modules/sqrtl (License): Likewise.
2127         * modules/tanl (License): Likewise.
2128         Source code originally from glibc and Paolo Bonzini. Agreements:
2129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
2130         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
2131
2132 2011-05-05  Bruno Haible  <bruno@clisp.org>
2133
2134         signal: Define sighandler_t.
2135         * lib/signal.in.h (sighandler_t): New type.
2136         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
2137         whether sighandler_t is defined.
2138         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
2139         * modules/signal (Depends-on): Add extensions.
2140         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
2141         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
2142         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
2143
2144 2011-05-05  Eric Blake  <eblake@redhat.com>
2145
2146         maint: remove useless REPLACE_*_H macros
2147         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
2148         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2149         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2150         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
2151         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2152         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2153         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
2154         * m4/btowc.m4: Update callers.
2155         * m4/dirfd.m4: Likewise.
2156         * m4/duplocale.m4: Likewise.
2157         * m4/fchdir.m4: Likewise.
2158         * m4/fdopendir.m4: Likewise.
2159         * m4/inet_ntop.m4: Likewise.
2160         * m4/inet_pton.m4: Likewise.
2161         * m4/ioctl.m4: Likewise.
2162         * m4/mbrlen.m4: Likewise.
2163         * m4/mbrtowc.m4: Likewise.
2164         * m4/mbsinit.m4: Likewise.
2165         * m4/mbsnrtowcs.m4: Likewise.
2166         * m4/mbsrtowcs.m4: Likewise.
2167         * m4/poll.m4: Likewise.
2168         * m4/setlocale.m4: Likewise.
2169         * m4/wcrtomb.m4: Likewise.
2170         * m4/wcsnrtombs.m4: Likewise.
2171         * m4/wcsrtombs.m4: Likewise.
2172         * m4/wctob.m4: Likewise.
2173         * m4/wcwidth.m4: Likewise.
2174         * modules/posix_spawn: Likewise.
2175         * modules/posix_spawn_file_actions_addclose: Likewise.
2176         * modules/posix_spawn_file_actions_adddup2: Likewise.
2177         * modules/posix_spawn_file_actions_addopen: Likewise.
2178         * modules/posix_spawn_file_actions_destroy: Likewise.
2179         * modules/posix_spawn_file_actions_init: Likewise.
2180         * modules/posix_spawnattr_destroy: Likewise.
2181         * modules/posix_spawnattr_getflags: Likewise.
2182         * modules/posix_spawnattr_getpgroup: Likewise.
2183         * modules/posix_spawnattr_getschedparam: Likewise.
2184         * modules/posix_spawnattr_getschedpolicy: Likewise.
2185         * modules/posix_spawnattr_getsigdefault: Likewise.
2186         * modules/posix_spawnattr_getsigmask: Likewise.
2187         * modules/posix_spawnattr_init: Likewise.
2188         * modules/posix_spawnattr_setflags: Likewise.
2189         * modules/posix_spawnattr_setpgroup: Likewise.
2190         * modules/posix_spawnattr_setschedparam: Likewise.
2191         * modules/posix_spawnattr_setschedpolicy: Likewise.
2192         * modules/posix_spawnattr_setsigdefault: Likewise.
2193         * modules/posix_spawnattr_setsigmask: Likewise.
2194         * modules/posix_spawnp: Likewise.
2195
2196 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
2197
2198         Add option to do-release-commit-and-tag to specify branch.
2199         * build-aux/do-release-commit-and-tag: Add --branch.
2200
2201 2011-05-03  Bruno Haible  <bruno@clisp.org>
2202
2203         Avoid unnecessary compilation units, through conditional dependencies.
2204         * modules/accept (Depends-on): Add conditions to the dependencies.
2205         * modules/acosl (Depends-on): Likewise.
2206         * modules/argz (Depends-on): Likewise.
2207         * modules/asinl (Depends-on): Likewise.
2208         * modules/atanl (Depends-on): Likewise.
2209         * modules/atoll (Depends-on): Likewise.
2210         * modules/bind (Depends-on): Likewise.
2211         * modules/btowc (Depends-on): Likewise.
2212         * modules/canonicalize-lgpl (Depends-on): Likewise.
2213         * modules/ceil (Depends-on): Likewise.
2214         * modules/ceilf (Depends-on): Likewise.
2215         * modules/ceill (Depends-on): Likewise.
2216         * modules/chdir-long (Depends-on): Likewise.
2217         * modules/chown (Depends-on): Likewise.
2218         * modules/close (Depends-on): Likewise.
2219         * modules/connect (Depends-on): Likewise.
2220         * modules/cosl (Depends-on): Likewise.
2221         * modules/dirfd (Depends-on): Likewise.
2222         * modules/dprintf (Depends-on): Likewise.
2223         * modules/dprintf-posix (Depends-on): Likewise.
2224         * modules/error (Depends-on): Likewise.
2225         * modules/euidaccess (Depends-on): Likewise.
2226         * modules/expl (Depends-on): Likewise.
2227         * modules/faccessat (Depends-on): Likewise.
2228         * modules/fchdir (Depends-on): Likewise.
2229         * modules/fclose (Depends-on): Likewise.
2230         * modules/fcntl (Depends-on): Likewise.
2231         * modules/fdopendir (Depends-on): Likewise.
2232         * modules/fflush (Depends-on): Likewise.
2233         * modules/floor (Depends-on): Likewise.
2234         * modules/floorf (Depends-on): Likewise.
2235         * modules/floorl (Depends-on): Likewise.
2236         * modules/fnmatch (Depends-on): Likewise.
2237         * modules/fopen (Depends-on): Likewise.
2238         * modules/fprintf-posix (Depends-on): Likewise.
2239         * modules/frexp (Depends-on): Likewise.
2240         * modules/frexp-nolibm (Depends-on): Likewise.
2241         * modules/frexpl (Depends-on): Likewise.
2242         * modules/frexpl-nolibm (Depends-on): Likewise.
2243         * modules/fseek (Depends-on): Likewise.
2244         * modules/fsusage (Depends-on): Likewise.
2245         * modules/ftell (Depends-on): Likewise.
2246         * modules/ftello (Depends-on): Likewise.
2247         * modules/futimens (Depends-on): Likewise.
2248         * modules/getcwd (Depends-on): Likewise.
2249         * modules/getcwd-lgpl (Depends-on): Likewise.
2250         * modules/getdelim (Depends-on): Likewise.
2251         * modules/getdomainname (Depends-on): Likewise.
2252         * modules/getgroups (Depends-on): Likewise.
2253         * modules/gethostname (Depends-on): Likewise.
2254         * modules/getline (Depends-on): Likewise.
2255         * modules/getlogin_r (Depends-on): Likewise.
2256         * modules/getopt-posix (Depends-on): Likewise.
2257         * modules/getpeername (Depends-on): Likewise.
2258         * modules/getsockname (Depends-on): Likewise.
2259         * modules/getsockopt (Depends-on): Likewise.
2260         * modules/getsubopt (Depends-on): Likewise.
2261         * modules/getusershell (Depends-on): Likewise.
2262         * modules/glob (Depends-on): Likewise.
2263         * modules/grantpt (Depends-on): Likewise.
2264         * modules/iconv_open (Depends-on): Likewise.
2265         * modules/iconv_open-utf (Depends-on): Likewise.
2266         * modules/inet_ntop (Depends-on): Likewise.
2267         * modules/inet_pton (Depends-on): Likewise.
2268         * modules/ioctl (Depends-on): Likewise.
2269         * modules/isapipe (Depends-on): Likewise.
2270         * modules/isfinite (Depends-on): Likewise.
2271         * modules/isinf (Depends-on): Likewise.
2272         * modules/lchown (Depends-on): Likewise.
2273         * modules/ldexpl (Depends-on): Likewise.
2274         * modules/link (Depends-on): Likewise.
2275         * modules/linkat (Depends-on): Likewise.
2276         * modules/listen (Depends-on): Likewise.
2277         * modules/logl (Depends-on): Likewise.
2278         * modules/lstat (Depends-on): Likewise.
2279         * modules/mbrlen (Depends-on): Likewise.
2280         * modules/mbrtowc (Depends-on): Likewise.
2281         * modules/mbsinit (Depends-on): Likewise.
2282         * modules/mbsnrtowcs (Depends-on): Likewise.
2283         * modules/mbsrtowcs (Depends-on): Likewise.
2284         * modules/mbtowc (Depends-on): Likewise.
2285         * modules/memcmp (Depends-on): Likewise.
2286         * modules/mkdir (Depends-on): Likewise.
2287         * modules/mkdtemp (Depends-on): Likewise.
2288         * modules/mkfifo (Depends-on): Likewise.
2289         * modules/mkfifoat (Depends-on): Likewise.
2290         * modules/mknod (Depends-on): Likewise.
2291         * modules/mkostemp (Depends-on): Likewise.
2292         * modules/mkostemps (Depends-on): Likewise.
2293         * modules/mkstemp (Depends-on): Likewise.
2294         * modules/mkstemps (Depends-on): Likewise.
2295         * modules/mktime (Depends-on): Likewise.
2296         * modules/nanosleep (Depends-on): Likewise.
2297         * modules/open (Depends-on): Likewise.
2298         * modules/openat (Depends-on): Likewise.
2299         * modules/perror (Depends-on): Likewise.
2300         * modules/poll (Depends-on): Likewise.
2301         * modules/popen (Depends-on): Likewise.
2302         * modules/posix_spawn (Depends-on): Likewise.
2303         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
2304         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
2305         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
2306         * modules/posix_spawnp (Depends-on): Likewise.
2307         * modules/pread (Depends-on): Likewise.
2308         * modules/printf-posix (Depends-on): Likewise.
2309         * modules/ptsname (Depends-on): Likewise.
2310         * modules/putenv (Depends-on): Likewise.
2311         * modules/pwrite (Depends-on): Likewise.
2312         * modules/readline (Depends-on): Likewise.
2313         * modules/readlink (Depends-on): Likewise.
2314         * modules/readlinkat (Depends-on): Likewise.
2315         * modules/recv (Depends-on): Likewise.
2316         * modules/recvfrom (Depends-on): Likewise.
2317         * modules/regex (Depends-on): Likewise.
2318         * modules/remove (Depends-on): Likewise.
2319         * modules/rename (Depends-on): Likewise.
2320         * modules/renameat (Depends-on): Likewise.
2321         * modules/rmdir (Depends-on): Likewise.
2322         * modules/round (Depends-on): Likewise.
2323         * modules/roundf (Depends-on): Likewise.
2324         * modules/roundl (Depends-on): Likewise.
2325         * modules/rpmatch (Depends-on): Likewise.
2326         * modules/select (Depends-on): Likewise.
2327         * modules/send (Depends-on): Likewise.
2328         * modules/sendto (Depends-on): Likewise.
2329         * modules/setenv (Depends-on): Likewise.
2330         * modules/setlocale (Depends-on): Likewise.
2331         * modules/setsockopt (Depends-on): Likewise.
2332         * modules/shutdown (Depends-on): Likewise.
2333         * modules/sigaction (Depends-on): Likewise.
2334         * modules/signbit (Depends-on): Likewise.
2335         * modules/sigprocmask (Depends-on): Likewise.
2336         * modules/sinl (Depends-on): Likewise.
2337         * modules/sleep (Depends-on): Likewise.
2338         * modules/snprintf (Depends-on): Likewise.
2339         * modules/snprintf-posix (Depends-on): Likewise.
2340         * modules/socket (Depends-on): Likewise.
2341         * modules/sprintf-posix (Depends-on): Likewise.
2342         * modules/sqrtl (Depends-on): Likewise.
2343         * modules/stat (Depends-on): Likewise.
2344         * modules/strchrnul (Depends-on): Likewise.
2345         * modules/strdup-posix (Depends-on): Likewise.
2346         * modules/strerror (Depends-on): Likewise.
2347         * modules/strerror_r-posix (Depends-on): Likewise.
2348         * modules/strndup (Depends-on): Likewise.
2349         * modules/strnlen (Depends-on): Likewise.
2350         * modules/strptime (Depends-on): Likewise.
2351         * modules/strsep (Depends-on): Likewise.
2352         * modules/strsignal (Depends-on): Likewise.
2353         * modules/strstr-simple (Depends-on): Likewise.
2354         * modules/strtod (Depends-on): Likewise.
2355         * modules/strtoimax (Depends-on): Likewise.
2356         * modules/strtok_r (Depends-on): Likewise.
2357         * modules/strtoumax (Depends-on): Likewise.
2358         * modules/symlink (Depends-on): Likewise.
2359         * modules/symlinkat (Depends-on): Likewise.
2360         * modules/tanl (Depends-on): Likewise.
2361         * modules/tcgetsid (Depends-on): Likewise.
2362         * modules/tmpfile (Depends-on): Likewise.
2363         * modules/trunc (Depends-on): Likewise.
2364         * modules/truncf (Depends-on): Likewise.
2365         * modules/truncl (Depends-on): Likewise.
2366         * modules/uname (Depends-on): Likewise.
2367         * modules/unlink (Depends-on): Likewise.
2368         * modules/unlockpt (Depends-on): Likewise.
2369         * modules/unsetenv (Depends-on): Likewise.
2370         * modules/usleep (Depends-on): Likewise.
2371         * modules/utimensat (Depends-on): Likewise.
2372         * modules/vasprintf (Depends-on): Likewise.
2373         * modules/vdprintf (Depends-on): Likewise.
2374         * modules/vdprintf-posix (Depends-on): Likewise.
2375         * modules/vfprintf-posix (Depends-on): Likewise.
2376         * modules/vprintf-posix (Depends-on): Likewise.
2377         * modules/vsnprintf (Depends-on): Likewise.
2378         * modules/vsnprintf-posix (Depends-on): Likewise.
2379         * modules/vsprintf-posix (Depends-on): Likewise.
2380         * modules/wcrtomb (Depends-on): Likewise.
2381         * modules/wcscasecmp (Depends-on): Likewise.
2382         * modules/wcscspn (Depends-on): Likewise.
2383         * modules/wcsdup (Depends-on): Likewise.
2384         * modules/wcsncasecmp (Depends-on): Likewise.
2385         * modules/wcsnrtombs (Depends-on): Likewise.
2386         * modules/wcspbrk (Depends-on): Likewise.
2387         * modules/wcsrtombs (Depends-on): Likewise.
2388         * modules/wcsspn (Depends-on): Likewise.
2389         * modules/wcsstr (Depends-on): Likewise.
2390         * modules/wcstok (Depends-on): Likewise.
2391         * modules/wcswidth (Depends-on): Likewise.
2392         * modules/wctob (Depends-on): Likewise.
2393         * modules/wctomb (Depends-on): Likewise.
2394         * modules/wctype (Depends-on): Likewise.
2395         * modules/wcwidth (Depends-on): Likewise.
2396         * modules/write (Depends-on): Likewise.
2397
2398 2011-05-03  Bruno Haible  <bruno@clisp.org>
2399
2400         Support for conditional dependencies.
2401         * doc/gnulib.texi (Module description): Document the syntax of
2402         conditional dependencies.
2403         * gnulib-tool: New option --conditional-dependencies.
2404         (func_usage): Document it.
2405         (cond_dependencies): New variable.
2406         (func_get_automake_snippet_conditional,
2407         func_get_automake_snippet_unconditional): New functions, extracted from
2408         func_get_automake_snippet.
2409         (func_get_automake_snippet): Use them.
2410         (sed_first_32_chars): New variable.
2411         (func_module_shellfunc_name): New function.
2412         (func_module_shellvar_name): New function.
2413         (func_module_conditional_name): New function.
2414         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
2415         func_cond_module_condition): New functions.
2416         (func_modules_transitive_closure): Add support for conditional
2417         dependencies.
2418         (func_emit_lib_Makefile_am): For a conditional module, enclose the
2419         conditional automake snippet in an automake conditional.
2420         (func_emit_autoconf_snippets): Emit shell functions that contain the
2421         code for conditional modules.
2422         (func_import, func_create_testdir): Update specification.
2423
2424 2011-05-03  Eric Blake  <eblake@redhat.com>
2425
2426         test-getaddrinfo: report error information
2427         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
2428
2429 2011-05-03  Jim Meyering  <meyering@redhat.com>
2430
2431         bootstrap: avoid build failure when $GZIP is set
2432         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
2433         program name.  If defined at all, it is supposed to list gzip options.
2434         Reported by Alan Curry in http://debbugs.gnu.org/8609
2435
2436 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
2437
2438         readme-release: new module with release instructions
2439         * modules/readme-release: New module.
2440         * top/README-release: New file, from coreutils, grep, diffutils.
2441         * MODULES.html.sh (Support for maintaining and releasing): Add it.
2442
2443 2011-05-02  Eric Blake  <eblake@redhat.com>
2444
2445         fflush: also replace fclose when fixing fflush
2446         * modules/fflush (Depends-on): Add fclose.
2447         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
2448         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
2449         memstreams with no backing fd.
2450         * doc/posix-functions/fclose.texi (fclose): Document the use of
2451         fflush module to fix the bug.
2452         * tests/test-fclose.c (main): Relax test when fclose is used in
2453         isolation.
2454
2455         fclose: add some tests
2456         * modules/fclose-tests: New test module.
2457         * tests/test-fclose.c: New file.
2458         * doc/posix-functions/fclose.texi (fclose): Document the bug.
2459
2460         fclose: reduced dependencies
2461         * modules/fclose (Depends-on): Switch from fflush/fseeko to
2462         simpler lseek.
2463         * lib/fclose.c (rpl_fclose): Likewise.
2464         Reported by Simon Josefsson.
2465
2466         exit: drop remaining clients
2467         * modules/argmatch (Depends-on): Replace exit with stdlib.
2468         * modules/copy-file (Depends-on): Likewise.
2469         * modules/execute (Depends-on): Likewise.
2470         * modules/exitfail (Depends-on): Likewise.
2471         * modules/obstack (Depends-on): Likewise.
2472         * modules/pagealign_alloc (Depends-on): Likewise.
2473         * modules/pipe-filter-gi (Depends-on): Likewise.
2474         * modules/pipe-filter-ii (Depends-on): Likewise.
2475         * modules/savewd (Depends-on): Likewise.
2476         * modules/spawn-pipe (Depends-on): Likewise.
2477         * modules/wait-process (Depends-on): Likewise.
2478         * modules/xsetenv (Depends-on): Likewise.
2479         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
2480         * modules/git-merge-changelog (Depends-on): Likewise.
2481         * modules/long-options (Depends-on): Likewise.
2482         * modules/pt_chown (Depends-on): Likewise.
2483         * modules/sysexits (Depends-on): Likewise.
2484
2485         freading: relax license from LGPLv3+ to LGPLv2+
2486         * modules/freading (License): Relax LGPL version.
2487
2488 2011-05-02  Bruno Haible  <bruno@clisp.org>
2489
2490         fchdir: Remove unused dependencies.
2491         * modules/fchdir (Depends-on): Remove include_next.
2492
2493 2011-05-02  Bruno Haible  <bruno@clisp.org>
2494
2495         gnulib-tool: Refactor.
2496         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
2497         from func_emit_autoconf_snippets.
2498         (func_emit_autoconf_snippets): Use it.
2499
2500 2011-05-02  Simon Josefsson  <simon@josefsson.org>
2501
2502         * NEWS: Document removal of 'exit'.
2503         * modules/exit: Remove file.
2504
2505 2011-05-01  Bruno Haible  <bruno@clisp.org>
2506
2507         Update DEPENDENCIES.
2508         * DEPENDENCIES (gettext): Recommend the newest release.
2509         Reported by Simon Josefsson.
2510
2511 2011-05-01  Bruno Haible  <bruno@clisp.org>
2512
2513         gnulib-tool: Reduce code duplication.
2514         * gnulib-tool (func_emit_autoconf_snippets): New function.
2515         (func_import, func_create_testdir): Use it.
2516
2517 2011-04-30  Eric Blake  <eblake@redhat.com>
2518
2519         fclose: don't fail on non-seekable input stream
2520         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
2521         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
2522         since fflush is allowed to fail in that case.
2523
2524 2011-04-30  Bruno Haible  <bruno@clisp.org>
2525
2526         dup3: cleanup
2527         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
2528
2529 2011-04-30  Bruno Haible  <bruno@clisp.org>
2530
2531         netdb: Make it work in C++ mode.
2532         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
2533         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
2534         module.
2535         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
2536         gl_MODULE_INDICATOR_FOR_TESTS.
2537         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
2538         * modules/netdb-c++-tests: New file.
2539         * tests/test-netdb-c++.cc: New file.
2540
2541 2011-04-30  Bruno Haible  <bruno@clisp.org>
2542
2543         New modules 'vfscanf', 'vscanf'.
2544         * modules/vfscanf: New file.
2545         * modules/vscanf: New file.
2546         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
2547         here.
2548         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
2549         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
2550
2551 2011-04-30  Bruno Haible  <bruno@clisp.org>
2552
2553         passfd: Add comments.
2554         * lib/passfd.c: Add comments about platforms.
2555
2556 2011-04-30  Bruno Haible  <bruno@clisp.org>
2557
2558         sys_uio: Make <sys/uio.h> self-contained.
2559         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
2560         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
2561
2562 2011-04-30  Bruno Haible  <bruno@clisp.org>
2563
2564         sys_socket: Ensure 'struct iovec' definition.
2565         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
2566         <sys/socket.h>.
2567         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2568
2569 2011-04-30  Bruno Haible  <bruno@clisp.org>
2570
2571         sys_uio: Protect definition of 'struct iovec'.
2572         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
2573         it as a C struct.
2574
2575 2011-04-30  Bruno Haible  <bruno@clisp.org>
2576
2577         manywarnings: fix indentation
2578         * m4/manywarnings.m4: Indent by 2 spaces consistently.
2579
2580 2011-04-30  Pádraig Brady <P@draigBrady.com>
2581
2582         manywarnings: add -Wno-missing-field-initializers if needed.
2583         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
2584         option if it's needed to allow initialization with { 0, }
2585
2586 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
2587
2588         announce-gen: cosmetic improvement
2589         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
2590
2591 2011-04-29  Jim Meyering  <meyering@redhat.com>
2592
2593         vc-list-files: indent with spaces, not TABs
2594         * build-aux/vc-list-files: Convert leading TABs to spaces,
2595         to match the style of most other files in gnulib.
2596
2597         announce-gen: indent with spaces, not TABs
2598         * build-aux/announce-gen: Convert all TABs to spaces, to match
2599         the style of most other files in gnulib.
2600
2601 2011-04-29  Eric Blake  <eblake@redhat.com>
2602
2603         quotearg: avoid uninitialized variable use
2604         * lib/quotearg.c (quoting_options_from_style): Initialize
2605         remaining fields, and ensure that custom styles are only used via
2606         quoting_options rather than quoting_style.
2607
2608 2011-04-29  Jim Meyering  <meyering@redhat.com>
2609
2610         maint.mk: remove unused VC-tag variable
2611         * top/maint.mk (VC-tag): Remove unused variable.
2612
2613 2011-04-29  Bruno Haible  <bruno@clisp.org>
2614
2615         netdb: fix gai_strerror replacements
2616         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
2617         * modules/netdb: Substitute it.
2618
2619 2011-04-29  Jim Meyering  <meyering@redhat.com>
2620
2621         test-getcwd.c: avoid new set-but-not-used warning
2622         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
2623         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
2624         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
2625         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
2626
2627         test-hash.c: avoid a new shadowing warning
2628         * tests/test-hash.c (main): Don't shadow "dup".
2629
2630 2011-04-28  Eric Blake  <eblake@redhat.com>
2631
2632         getaddrinfo: fix gai_strerror signature
2633         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
2634         and work around mingw with UNICODE defined.
2635         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
2636         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
2637         * modules/netdb (Makefile.am): Substitute it.
2638         * lib/netdb.in.h (gai_strerror): Declare replacement.
2639         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
2640         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
2641         the fix.
2642
2643         getsockopt: avoid compiler warning
2644         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
2645         Reported by Matthias Bolte.
2646
2647         tests: drop unused link dependency
2648         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
2649         * modules/dirent-safer-tests (Makefile.am): Likewise.
2650         * modules/fdopendir-tests (Makefile.am): Likewise.
2651         * modules/mkfifoat-tests (Makefile.am): Likewise.
2652         * modules/openat-safer-tests (Makefile.am): Likewise.
2653         * modules/openat-tests (Makefile.am): Likewise.
2654         * modules/readlinkat-tests (Makefile.am): Likewise.
2655         * modules/symlinkat-tests (Makefile.am): Likewise.
2656         * modules/linkat-tests (Makefile.am): Likewise.
2657         (Depends-on): Switch to filenamecat-lgpl.
2658         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
2659         LIBINTL.
2660         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
2661         * tests/test-linkat.c (main): Don't require xalloc.
2662
2663         hash, mgetgroups: drop xalloc dependency
2664         * lib/hash.c (includes): Adjust includes.
2665         * lib/mgetgroups.c (includes): Likewise.
2666         (xgetgroups): Move...
2667         * lib/xgetgroups.c: ...to new file.
2668         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
2669         * modules/xgetgroups: New file, split from...
2670         * modules/mgetgroups: ...here.
2671         (Depends-on): Add xalloc-oversized.
2672         * modules/hash (Depends-on): Likewise.
2673         * modules/hash-tests (Depends-on): Drop xalloc.
2674         (test_hash_LDADD): Drop unused library.
2675         * tests/test-hash.c (main): Break xalloc dependency.
2676         (includes): Drop unused include.
2677
2678         xalloc-oversized: new module
2679         * modules/xalloc-oversized: New module.
2680         * modules/xalloc (Depends-on): Add it.
2681         * lib/xalloc.h (xalloc_oversized): Move...
2682         * lib/xalloc-oversized.h: ...into new file.
2683
2684         utimecmp: drop dependency on xmalloc
2685         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
2686         due to memory pressure.
2687         * modules/utimecmp (Depends-on): Drop xalloc.
2688
2689 2011-04-27  Eric Blake  <eblake@redhat.com>
2690
2691         getcwd: fix mingw bugs
2692         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
2693         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
2694         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
2695
2696 2011-04-27  Bruno Haible  <bruno@clisp.org>
2697
2698         mkstemps: Ensure declaration on MacOS X 10.5.
2699         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
2700         * doc/glibc-functions/mkstemps.texi: Document header file problem on
2701         MacOS X.
2702
2703 2011-04-27  Bruno Haible  <bruno@clisp.org>
2704
2705         mkstemp: More documentation.
2706         * doc/posix-functions/mkstemp.texi: Document header file problem on
2707         MacOS X.
2708
2709 2011-04-27  Bruno Haible  <bruno@clisp.org>
2710
2711         mkstemp: Tweak configure message when cross-compiling.
2712         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
2713         result as a guess.
2714
2715 2011-04-27  Bruno Haible  <bruno@clisp.org>
2716
2717         clean-temp: Clarify what it does.
2718         * lib/clean-temp.h: Add more comments.
2719         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
2720         module.
2721         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
2722         * doc/glibc-functions/mkstemps.texi: Likewise.
2723         * doc/glibc-functions/mkostemps.texi: Likewise.
2724
2725 2011-04-27  Eric Blake  <eblake@redhat.com>
2726
2727         fchdir: avoid extra chdir and fix test
2728         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
2729         getcwd-lgpl.
2730         * lib/fchdir.c (get_name): Any absolute name will do; it does not
2731         have to be canonical.
2732         (canonicalize_file_name): Drop unused macro.
2733         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
2734
2735         filenamecat-lgpl: fix licence
2736         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
2737         when it was first created.
2738
2739         linkat, renameat: add missing dependency
2740         * modules/linkat (Depends-on): Require getcwd-lgpl.
2741         * modules/renameat (Depends-on): Likewise.
2742
2743         tests: reduce dependencies
2744         * tests/test-linkat.c (main): Use lighter-weight getcwd.
2745         * tests/test-renameat.c (main): Likewise.
2746         * modules/linkat-tests (Depends-on): Relax dependency.
2747         * modules/renameat-tests (Depends-on): Likewise.
2748         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
2749         dependency explicit.
2750
2751         save-cwd: reduce default dependency
2752         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
2753         * lib/save-cwd.c: Update comments.
2754         * NEWS: Document the semantic change.
2755
2756         getcwd: enhance tests
2757         * tests/test-getcwd-lgpl.c: New file, taken from...
2758         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
2759         repeat long path stress tests from m4 probe.
2760         * modules/getcwd-lgpl-tests: New module.
2761         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
2762         * m4/getcwd-abort-bug.m4: Update comment.
2763         * m4/getcwd-path-max.m4: Likewise.
2764
2765         getcwd-lgpl: new module
2766         * modules/getcwd-lgpl: New module.
2767         * lib/getcwd-lgpl.c: New file.
2768         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2769         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2770         * modules/getcwd (configure.ac): Set C witness.
2771         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
2772
2773         getcwd: tweak comments
2774         * m4/getcwd-abort-bug.m4: Fix comments.
2775         * m4/getcwd-path-max.m4: Likewise.
2776         * m4/getcwd.m4: Likewise.
2777
2778 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2779         and Eric Blake  <eblake@redhat.com>
2780
2781         mkstemp: replace if system version uses wrong permissions
2782         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
2783         read/write mode bits set in file created by mkstemp.
2784         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
2785
2786 2011-04-27  Eric Blake  <eblake@redhat.com>
2787
2788         passfd: avoid compiler warning
2789         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
2790         Reported by Laine Stump.
2791
2792 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
2793
2794         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
2795         required by the NetBSD (and perhaps other 4.4BSD derived) join.
2796
2797 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2798         and Eric Blake  <eblake@redhat.com>
2799
2800         mkstemp: mention clean-temp module
2801         * lib/mkstemp.c: Add comment.
2802         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
2803
2804 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         inttypes: also provide default values for 32-bit tests
2807         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
2808         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
2809
2810 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2811
2812         strtoumax: remove dependency on strtoimax
2813         This is like the strtoull change of yesterday.
2814         * modules/strtoumax (Files): Add lib/strtoimax.c.
2815         (Depends-on): Remove strtoimax and add verify.
2816
2817         inttypes-incomplete: new module
2818         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
2819         all but the PRI* and SCN* parts of gl_INTTYPES_H.
2820         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
2821         of gl_INTTYPES_H.
2822         (gl_INTTYPES_H): Rewrite in terms of these new macros.
2823         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
2824         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
2825         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
2826         * modules/strtoumax, modules/xstrtol (Depends-on):
2827         Depend on inttypes-incomplete, not inttypes.
2828         * modules/inttypes-incomplete: New module, containing the contents
2829         of the old modules/inttypes module, except that the Files: section
2830         omits m4/inttypes-pri.m4, and the configure.ac section invokes
2831         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
2832         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
2833         (Depends-on): Depend only on inttypes-incomplete.
2834         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
2835
2836         inttypes: omit now-redundant strtoimax and strtoumax work
2837         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
2838         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
2839
2840         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
2841         This supports apps that need pointers to strtoimax and strtoumax,
2842         and ports to HP-UX 11.00 64.bit, which has macros that expand to
2843         nonexistent functions.  See
2844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
2845         et seq.
2846         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
2847         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
2848         a macro.
2849         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2850
2851 2011-04-25  Simon Josefsson  <simon@josefsson.org>
2852
2853         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
2854
2855 2011-04-25  Bruno Haible  <bruno@clisp.org>
2856
2857         strtol, strtoul: Mark modules as obsolete.
2858         * modules/strtol (Status, Notice): New sections.
2859         * modules/strtoul (Status, Notice): New sections.
2860
2861 2011-04-25  Bruno Haible  <bruno@clisp.org>
2862
2863         strtod: Remove check for strtod, unless supporting old platforms.
2864         * modules/strtod-obsolete: New file.
2865         * m4/strtod-obsolete.m4: New file.
2866         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
2867         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
2868         * modules/strtod (Depends-on): Add strtod-obsolete.
2869         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2870
2871 2011-04-25  Bruno Haible  <bruno@clisp.org>
2872
2873         strcase: Make module obsolete.
2874         * modules/strcase (Status, Notice): New sections.
2875
2876 2011-04-25  Bruno Haible  <bruno@clisp.org>
2877
2878         dup2: Remove check for dup2, unless supporting old obsolete platforms.
2879         * modules/dup2-obsolete: New file.
2880         * m4/dup2-obsolete.m4: New file.
2881         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
2882         gl_FUNC_DUP2_OBSOLETE is not also defined.
2883         * modules/dup2 (Depends-on): Add dup2-obsolete.
2884         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
2885
2886 2011-04-25  Bruno Haible  <bruno@clisp.org>
2887
2888         strnlen: Avoid memchr related link error on old obsolete platforms.
2889         * modules/memchr-obsolete: New file.
2890         * m4/memchr-obsolete.m4: New file.
2891         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
2892         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
2893         * modules/memchr (Depends-on): Add memchr-obsolete.
2894         * modules/strnlen (Depends-on): Likewise.
2895         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
2896
2897 2011-04-25  Jim Meyering  <meyering@redhat.com>
2898
2899         maint.mk: makefile_at_at_check extend and clean up
2900         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
2901         in addition to */Makefile.am.
2902         Exempt legitimate uses of @VAR@ notation, e.g.,
2903         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
2904         Remove obsolete coreutils-specific comment.
2905         Prompted by discussion here:
2906         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
2907
2908 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
2909
2910         strtoul: remove dependency on strtol
2911         This is so that 'configure' need not check for strtol merely because
2912         the application needs strtoul.
2913         * modules/strtoul (Files): Add lib/strtol.c.
2914         (Depends-on): Remove strtol.
2915
2916         strtoull: remove dependency on strtoul
2917         This is like the strtoll change.
2918         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
2919         (Depends-on): Remove strtoul.
2920
2921         strtoll: remove dependency on strtol
2922         This is so that 'configure' need not check for strtol merely because
2923         the application needs strtoll.
2924         * modules/strtoll (Files): Add lib/strtol.c.
2925         (Depends-on): Remove strtol.
2926
2927 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2928
2929         inttypes: Move some configure check to module 'imaxdiv'.
2930         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
2931         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
2932         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
2933
2934 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2935
2936         inttypes: Move some configure check to module 'imaxabs'.
2937         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
2938         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
2939         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
2940
2941 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2942
2943         inttypes: Remove configure tests that are not needed since 2009-12-31.
2944         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
2945         gl_cv_header_working_inttypes_h.
2946
2947 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2948
2949         * modules/strnlen (Depends-on): Remove memchr.
2950         The strnlen implementation doesn't need the memchr module's fixes; see
2951         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
2952
2953         strtol: remove dependency on wchar
2954         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
2955         * modules/strtol (Depends-on): Remove wchar.
2956
2957 2011-04-21  Eric Blake  <eblake@redhat.com>
2958
2959         passfd: fix test regression on Linux
2960         * modules/passfd-tests (configure.ac): Correct socketpair check.
2961
2962         passfd: speed up configure and drop unused code
2963         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
2964         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
2965         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
2966         Instead of probing at configure for unix_scm_rights_bsd44_way,
2967         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
2968         check to a struct member probe.
2969         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
2970         (sendfd, recvfd): Update preprocessor checks.
2971         * modules/passfd (Files): Reflect rename, and drop unused file.
2972         (Depends-on): Drop unused dependency.
2973
2974         passfd: allow compilation on mingw
2975         * modules/sys_socket (Depends-on): Add sys_uio.
2976         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2977         iovec and a minimal struct msghdr.
2978         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2979         * tests/test-sys_socket.c (main): Enhance test.
2980         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2981         guaranteed to provide what we need.
2982         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2983         * modules/passfd-tests (Depends-on): Add sys_wait.
2984         * tests/test-passfd.c (main): Skip test on mingw, for now.
2985         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2986         partial 'struct msghdr' implementation.
2987
2988         sys_uio: new module
2989         * modules/sys_uio: New module.
2990         * modules/sys_uio-tests: Likewise.
2991         * lib/sys_uio.in.h: New file.
2992         * m4/sys_uio_h.m4: Likewise.
2993         * tests/test-sys_uio.c: Likewise.
2994         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2995         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2996
2997 2011-04-20  Jim Meyering  <meyering@redhat.com>
2998
2999         useless-if-before-free: avoid false-positive
3000         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
3001         disjunct so that it too requires a terminating ";".  Without that,
3002         this script would identify as useless one statement from gcc that
3003         was not:
3004           if (aligned_ptr)
3005             free (((void **) aligned_ptr) [-1]);
3006
3007 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
3008
3009         doc: update users.txt.
3010         * users.txt: Add barcode.
3011
3012 2011-04-19  Bruno Haible  <bruno@clisp.org>
3013
3014         ioctl: Remove link dependency on native Windows.
3015         * lib/fd-hook.h: Renamed from lib/close-hook.h.
3016         (gl_close_fn, gl_ioctl_fn): New types.
3017         (struct fd_hook): Renamed from struct close_hook. Change type of
3018         private_close_fn field. Add private_ioctl_fn field.
3019         (close_hook_fn): Add parameter for primary close method.
3020         (execute_close_hooks, execute_all_close_hooks): Likewise.
3021         (ioctl_hook_fn): New type.
3022         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
3023         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3024         argument.
3025         (unregister_fd_hook): Renamed from unregister_close_hook.
3026         * lib/fd-hook.c: Renamed from lib/close-hook.c.
3027         Don't include <unistd.h>.
3028         (close): Remove undef.
3029         (anchor): Update.
3030         (execute_close_hooks): Add argument for primary close method.
3031         (execute_all_close_hooks): Likewise.
3032         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
3033         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3034         argument. Allow each argument to be NULL.
3035         (unregister_fd_hook): Renamed from unregister_close_hook.
3036         * lib/close.c (rpl_close): Pass 'close' function pointer to
3037         execute_all_close_hooks.
3038         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
3039         (primary_ioctl): New function.
3040         (ioctl): Don't call ioctlsocket here. Instead, call
3041         execute_all_ioctl_hooks.
3042         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
3043         close method.
3044         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
3045         (fd_sockets_hook): Renamed from close_sockets_hook.
3046         (gl_sockets_startup, gl_sockets_cleanup): Update.
3047         * modules/fd-hook: Renamed from modules/close-hook. Update.
3048         * modules/close (Depends-on): Add fd-hook, remove close-hook.
3049         * modules/sockets (Depends-on): Likewise.
3050         * modules/ioctl (Depends-on): Add fd-hook.
3051         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
3052         GNULIB_SOCKET.
3053
3054 2011-04-19  Bruno Haible  <bruno@clisp.org>
3055
3056         Move the support of O_NONBLOCK in open() to the 'open' module.
3057         * modules/nonblocking (Depends-on): Remove 'open'.
3058         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
3059         gl_cv_have_open_O_NONBLOCK.
3060         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
3061         O_NONBLOCK support.
3062         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
3063
3064 2011-04-17  Bruno Haible  <bruno@clisp.org>
3065
3066         pipe2: Simplify code.
3067         * lib/pipe2.c (pipe2): Reduce code duplication.
3068
3069 2011-04-17  Bruno Haible  <bruno@clisp.org>
3070
3071         nonblocking: Add comment.
3072         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
3073
3074 2011-04-17  Bruno Haible  <bruno@clisp.org>
3075
3076         nonblocking: Add tests for sockets.
3077         * tests/test-nonblocking-socket.sh: New file.
3078         * tests/test-nonblocking-socket-main.c: New file.
3079         * tests/test-nonblocking-socket-child.c: New file.
3080         * tests/test-nonblocking-socket.h: New file.
3081         * tests/socket-server.h: New file.
3082         * tests/socket-client.h: New file.
3083         * modules/nonblocking-socket-tests: New file.
3084         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
3085
3086 2011-04-17  Bruno Haible  <bruno@clisp.org>
3087
3088         nonblocking: Add tests for pipes.
3089         * tests/test-nonblocking-pipe.sh: New file.
3090         * tests/test-nonblocking-pipe-main.c: New file.
3091         * tests/test-nonblocking-pipe-child.c: New file.
3092         * tests/test-nonblocking-pipe.h: New file.
3093         * tests/test-nonblocking-writer.h: New file.
3094         * tests/test-nonblocking-reader.h: New file.
3095         * tests/test-nonblocking-misc.h: New file.
3096         * modules/nonblocking-pipe-tests: New file.
3097         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
3098
3099 2011-04-16  Bruno Haible  <bruno@clisp.org>
3100
3101         gettext: Clarify the needed programmer actions.
3102         * modules/gettext (Notice): New field.
3103         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
3104
3105 2011-04-16  Bruno Haible  <bruno@clisp.org>
3106
3107         strchrnul: Tweak last commit.
3108         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
3109         bug.
3110         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
3111         as in _GL_FUNCDECL_SYS.
3112         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
3113         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
3114
3115 2011-04-15  Eric Blake  <eblake@redhat.com>
3116
3117         strchrnul: work around cygwin bug
3118         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
3119         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
3120         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
3121         * modules/string (Makefile.am): Substitute it.
3122         * lib/string.in.h (strchrnul): Use it.
3123
3124 2011-04-15  Bruno Haible  <bruno@clisp.org>
3125
3126         Don't require lib/stdio-write.c when only module 'stdio' is used.
3127         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
3128         invocation.
3129         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
3130
3131 2011-04-14  Bruno Haible  <bruno@clisp.org>
3132
3133         Support non-blocking pipe I/O in read() on native Windows.
3134         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
3135         (read): New declaration.
3136         * lib/read.c: New file.
3137         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
3138         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
3139         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
3140         vscanf): New declarations.
3141         * lib/stdio-read.c: New file.
3142         * m4/read.m4: New file.
3143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
3144         REPLACE_READ.
3145         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
3146         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3147         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
3148         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
3149         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
3150         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3151         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3152         * modules/read: New file.
3153         * modules/nonblocking (Files): Add lib/stdio-read.c.
3154         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
3155         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
3156         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3157         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3158         * modules/pread (Depends-on): Add read.
3159         * modules/safe-read (Depends-on): Likewise.
3160         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
3161         gets, scanf, vfscanf, vscanf): Verify signatures.
3162         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
3163         problem with non-blocking pipes.
3164         * doc/posix-functions/fgetc.texi: Likewise.
3165         * doc/posix-functions/fgets.texi: Likewise.
3166         * doc/posix-functions/fread.texi: Likewise.
3167         * doc/posix-functions/fscanf.texi: Likewise.
3168         * doc/posix-functions/getc.texi: Likewise.
3169         * doc/posix-functions/getchar.texi: Likewise.
3170         * doc/posix-functions/gets.texi: Likewise.
3171         * doc/posix-functions/scanf.texi: Likewise.
3172         * doc/posix-functions/vfscanf.texi: Likewise.
3173         * doc/posix-functions/vscanf.texi: Likewise.
3174
3175 2011-04-14  Bruno Haible  <bruno@clisp.org>
3176
3177         Support non-blocking pipe I/O in write() on native Windows.
3178         * lib/write.c (rpl_write): Split a write request that failed merely
3179         because the byte count was larger than the pipe buffer's size.
3180         * doc/posix-functions/write.texi: Mention the problem with large byte
3181         counts.
3182
3183 2011-04-14  Bruno Haible  <bruno@clisp.org>
3184
3185         wchar: Ensure that wchar_t gets defined on uClibc.
3186         * lib/wchar.in.h: On uClibc, include <stddef.h>.
3187         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
3188
3189 2011-04-13  Bruno Haible  <bruno@clisp.org>
3190
3191         safe-write, full-read: Avoid unnecessary compilation units.
3192         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
3193         (Depends-on): Remove safe-read. Add ssize_t.
3194         * modules/full-read (Files): Add lib/full-write.c.
3195         (Depends-on): Add full-write.
3196
3197 2011-04-13  Bruno Haible  <bruno@clisp.org>
3198
3199         Support non-blocking pipe I/O and SIGPIPE in pwrite().
3200         * modules/pwrite (Depends-on): Add 'write'.
3201
3202 2011-04-13  Bruno Haible  <bruno@clisp.org>
3203
3204         Support non-blocking pipe I/O in write() on native Windows.
3205         * lib/unistd.in.h (write): Enable replacement also if
3206         GNULIB_UNISTD_H_NONBLOCKING is 1.
3207         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
3208         (rpl_write): When failing to write on a non-blocking pipe, change
3209         errno from ENOSPC to EAGAIN.
3210         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
3211         putchar, puts, vfprintf, vprintf): Enable replacement also if
3212         GNULIB_STDIO_H_NONBLOCKING is 1.
3213         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
3214         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
3215         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
3216         CALL_WITH_SIGPIPE_EMULATION.
3217         (CALL_WITH_SIGPIPE_EMULATION): Use them.
3218         * m4/nonblocking.m4: New file.
3219         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
3220         for non-blocking I/O support.
3221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3222         GNULIB_UNISTD_H_NONBLOCKING.
3223         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
3224         required for non-blocking I/O support.
3225         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
3226         * modules/nonblocking (Files): Add m4/nonblocking.m4,
3227         lib/stdio-write.c, m4/asm-underscore.m4.
3228         (Depends-on): Add stdio, unistd.
3229         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
3230         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
3231         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
3232         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
3233         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
3234         problem with non-blocking pipes.
3235         * doc/posix-functions/fputc.texi: Likewise.
3236         * doc/posix-functions/fputs.texi: Likewise.
3237         * doc/posix-functions/fwrite.texi: Likewise.
3238         * doc/posix-functions/printf.texi: Likewise.
3239         * doc/posix-functions/putc.texi: Likewise.
3240         * doc/posix-functions/putchar.texi: Likewise.
3241         * doc/posix-functions/puts.texi: Likewise.
3242         * doc/posix-functions/vfprintf.texi: Likewise.
3243         * doc/posix-functions/vprintf.texi: Likewise.
3244         * doc/posix-functions/write.texi: Likewise.
3245
3246 2011-04-10  Jim Meyering  <meyering@redhat.com>
3247
3248         maint.mk: prohibit doubled words
3249         Detect them also when they're separated by a newline.
3250         There are 3 ways to customize it:
3251           - disable the test on a per file basis, as usual with rules using
3252             $(VC_LIST_EXCEPT)
3253           - replace the default doubled-word-selecting regexp (affects all files)
3254           - ignore a particular file-vs-doubled-word match
3255         I nearly used that last one to ignore the "is is" match in
3256         coreutils' NEWS file, since the text was "ls -is is ..."
3257         To do that, I would have added this line to cfg.mk:
3258           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
3259         but it would have ignored any "is is" match in NEWS.
3260         Low probability, but still...
3261         Instead, I changed the text, slightly:
3262           -  ls -is is now consistent with ls -lis in ignoring values returned
3263           +  "ls -is" is now consistent with ls -lis in ignoring values returned
3264         * top/maint.mk (prohibit_double_word_RE_): Provide default.
3265         (prohibit_doubled_word_): Define.
3266         (sc_prohibit_doubled_word): New rule.
3267         (sc_prohibit_the_the): Remove.  Subsumed by the above.
3268
3269 2011-04-10  Jim Meyering  <meyering@redhat.com>
3270
3271         maint: fix doubled-word typo in comment
3272         * m4/gethostname.m4: s/is is/it is/
3273         * m4/getdomainname.m4: Likewise.
3274
3275 2011-04-10  Jim Meyering  <meyering@redhat.com>
3276
3277         maint: remove doubled word: s/it it/it/
3278         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
3279
3280 2011-04-10  Jim Meyering  <meyering@redhat.com>
3281
3282         maint.mk: remove useless semicolon and backslash
3283         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
3284         semicolon and backslash.
3285
3286 2011-04-10  Bruno Haible  <bruno@clisp.org>
3287
3288         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
3289         * modules/stdint-tests (Depends-on): Add wchar.
3290
3291 2011-04-10  Jim Meyering  <meyering@redhat.com>
3292
3293         maint: remove doubled words in comments, e.g., s/a a/a/
3294         * lib/strptime.c (day_of_the_week): s/the the/the/
3295         * tests/test-chown.h (test_chown): s/a a/a/
3296
3297         test-chown.h: correct a cast
3298         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
3299         when the destination is a stat.st_gid.
3300
3301 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
3302
3303         getaddrinfo: Fix test for sa_len member.
3304         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
3305         include <sys/types.h> before <sys/socket.h>.
3306
3307 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
3308
3309         maint: change "can not" to "cannot"
3310         * doc/posix-functions/iconv.texi (iconv): This one crossed line
3311         boundaries.
3312
3313 2011-04-09  Jim Meyering  <meyering@redhat.com>
3314
3315         maint: change "a a" to "a"
3316         * tests/test-lchown.h (test_lchown): s/a a/a/
3317
3318         maint.mk: prohibit \<the the\>
3319         * top/maint.mk (sc_prohibit_the_the): New rule.
3320
3321         maint: fix "the the" in comment
3322         * lib/count-one-bits.h: s/the the/the/
3323
3324         maint: change "can not" to "cannot"
3325         But do not change the occurrences in maintain.texi or in
3326         build-aux/po/Makefile.in.in, which I presume comes from gettext.
3327         * doc/gnulib-tool.texi: s/can not/cannot/
3328         * doc/posix-functions/accept.texi (accept): Likewise.
3329         * doc/posix-functions/socket.texi (socket): Likewise.
3330         * lib/mbrtowc.c: Likewise.
3331
3332         maint.mk: prohibit use of "can not"
3333         * top/maint.mk (sc_prohibit_can_not): New rule.
3334         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
3335
3336 2011-04-09  Bruno Haible  <bruno@clisp.org>
3337
3338         careadlinkat: Guard against misuse of careadlinkatcwd.
3339         * lib/careadlinkat.c: Include <stdlib.h>.
3340         (careadlinkatcwd): Check that the fd argument is as expected.
3341
3342 2011-04-09  Bruno Haible  <bruno@clisp.org>
3343
3344         careadlinkat: Use common coding style.
3345         * lib/careadlinkat.c: Move gnulib includes after system includes.
3346
3347 2011-04-09  Bruno Haible  <bruno@clisp.org>
3348
3349         careadlinkat: Clarify specification.
3350         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
3351         (careadlinkatcwd): Add comment.
3352         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
3353
3354 2011-04-09  Bruno Haible  <bruno@clisp.org>
3355
3356         areadlinkat: Avoid link error on many platforms.
3357         * modules/areadlinkat (Depends-on): Add areadlink.
3358
3359 2011-04-09  Bruno Haible  <bruno@clisp.org>
3360
3361         allocator, careadlinkat: Fix double-inclusion guard.
3362         * lib/allocator.h: Fix double-inclusion guard.
3363         * lib/careadlinkat.h: Likewise.
3364
3365 2011-04-09  Bruno Haible  <bruno@clisp.org>
3366
3367         relocatable-prog-wrapper: Update after module 'areadlink' changed.
3368         * lib/relocwrapper.c: Update dependencies hierarchy.
3369         * build-aux/install-reloc: Update list of files to be compiled.
3370         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
3371         lib/allocator.[hc].
3372
3373 2011-04-08  Eric Blake  <eblake@redhat.com>
3374
3375         strftime: silence gnulib-tool warning
3376         * modules/strftime-tests (Depends-on): Drop automatic dependency.
3377
3378 2011-04-08  Bruno Haible  <bruno@clisp.org>
3379
3380         verify: Fix syntax error with GCC 4.6 in C++ mode.
3381         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
3382         (HAVE_STATIC_ASSERT): New macro.
3383         (verify_true, verify): Use 'static_assert' if it is supported and
3384         '_Static_assert' is not supported.
3385
3386 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
3387
3388         allocator: New module.
3389         * modules/allocator, lib/allocator.c: New files.
3390         * lib/allocator.h (stdlib_allocator): New decl.
3391         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
3392         Remove.  Do not include <stdlib.h>.
3393         (careadlinkat): Use stdlib_allocator instead of rolling our own.
3394         * modules/careadlinkat (Files): Remove lib/allocator.h.
3395         (Depends-on): Add allocator.
3396
3397         stdlib: let modules use system malloc, realloc
3398         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
3399         if !_GL_USE_STDLIB_ALLOC.
3400         (malloc, realloc): Limit this change to a smaller scope.
3401
3402         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
3403         (malloc, realloc): Don't #undef; no longer needed.
3404         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3405         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3406         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3407         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3408         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3409         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3410         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3411         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3412
3413         careadlinkat: rename members to avoid problem
3414         * lib/allocator.h (struct allocator): Rename members from
3415         malloc/realloc to allocate/reallocate, to avoid problems if malloc
3416         and realloc are #define'd.  Reported by Eric Blake in
3417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
3418         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
3419
3420 2011-04-08  Eric Blake  <eblake@redhat.com>
3421
3422         nonblocking: reduce dependency
3423         * tests/test-nonblocking.c: Only test sockets when in use.
3424         * modules/nonblocking-tests (Depends-on): Drop socket.
3425         (Makefile.am): Link even if sockets are not present.
3426         * modules/pipe2-tests (Makefile.am): Likewise.
3427         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
3428
3429         pipe2: fix O_NONBLOCK support on mingw
3430         * modules/pipe2 (Depends-on): Add nonblocking.
3431         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
3432         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
3433         * tests/test-nonblocking.c (main): Likewise.
3434         * modules/pipe2-tests (Makefile.am): Avoid link failure.
3435
3436         fcntl-h: fix O_ACCMODE on cygwin
3437         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
3438         * lib/fcntl.in.h (O_ACCMODE): Fix it.
3439
3440         pipe-filter: drop O_NONBLOCK workarounds
3441         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
3442         * modules/pipe-filter-ii (Depends-on): Likewise.
3443         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
3444
3445         nonblocking: provide O_NONBLOCK for mingw
3446         * modules/nonblocking (Depends-on): Add open.
3447         (configure.ac): Set new witness macro.
3448         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
3449         * modules/fcntl-h (Makefile.am): Substitute it.
3450         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
3451         nonblocking module is in use.
3452         * lib/nonblocking.c: Adjust portability test.
3453         * lib/open.c (open): Don't let native open see gnulib flag.
3454         * tests/test-fcntl-h.c (main): Enhance test.
3455         * tests/test-open.h (test_open): Likewise.
3456         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
3457
3458         careadlinkat: fix compilation error on mingw
3459         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
3460         within struct allocator.
3461
3462 2011-04-06  Eric Blake  <eblake@redhat.com>
3463
3464         binary-io: relicense under LGPLv2+
3465         * modules/binary-io (License): Relax to LGPLv2+.
3466         Requested for libvirt, and required by pipe2.
3467
3468 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
3469
3470         verify: use _Static_assert if available
3471         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
3472         (verify_true, verify): Use it if available.  This generates better
3473         diagnostics with GCC 4.6.0 and later.
3474
3475 2011-04-05  Bruno Haible  <bruno@clisp.org>
3476
3477         Remove leftover generated .h files after config.status changed.
3478
3479         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
3480         GL_GENERATE_ALLOCA_H.
3481         * modules/alloca-opt (Makefile.am): Remove alloca.h if
3482         GL_GENERATE_ALLOCA_H evaluates to false.
3483
3484         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
3485         GL_GENERATE_ARGZ_H.
3486         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
3487         evaluates to false.
3488
3489         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
3490         GL_GENERATE_BYTESWAP_H.
3491         * modules/byteswap (Makefile.am): Remove byteswap.h if
3492         GL_GENERATE_BYTESWAP_H evaluates to false.
3493
3494         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
3495         GL_GENERATE_ERRNO_H.
3496         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
3497         evaluates to false.
3498
3499         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
3500         GL_GENERATE_FLOAT_H.
3501         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
3502         evaluates to false.
3503
3504         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
3505         GL_GENERATE_FNMATCH_H.
3506         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
3507         GL_GENERATE_FNMATCH_H evaluates to false.
3508
3509         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
3510         GL_GENERATE_GLOB_H.
3511         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
3512         evaluates to false.
3513
3514         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
3515         automake conditional GL_GENERATE_ICONV_H.
3516         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
3517         evaluates to false.
3518
3519         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
3520         GL_GENERATE_NETINET_IN_H.
3521         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
3522         GL_GENERATE_NETINET_IN_H evaluates to false.
3523
3524         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
3525         conditional GL_GENERATE_PTHREAD_H.
3526         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
3527         * modules/pthread (Makefile.am): Remove pthread.h if
3528         GL_GENERATE_PTHREAD_H evaluates to false.
3529
3530         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
3531         GL_GENERATE_SCHED_H.
3532         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
3533         evaluates to false.
3534
3535         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
3536         conditional GL_GENERATE_SELINUX_CONTEXT_H.
3537         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
3538         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
3539
3540         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
3541         GL_GENERATE_STDARG_H.
3542         * modules/stdarg (Makefile.am): Remove stdarg.h if
3543         GL_GENERATE_STDARG_H evaluates to false.
3544
3545         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
3546         GL_GENERATE_STDBOOL_H.
3547         * modules/stdbool (Makefile.am): Remove stdbool.h if
3548         GL_GENERATE_STDBOOL_H evaluates to false.
3549
3550         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
3551         conditional GL_GENERATE_STDDEF_H.
3552         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
3553         * modules/stddef (Makefile.am): Remove stddef.h if
3554         GL_GENERATE_STDDEF_H evaluates to false.
3555
3556         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
3557         GL_GENERATE_STDINT_H.
3558         * modules/stdint (Makefile.am): Remove stdint.h if
3559         GL_GENERATE_STDINT_H evaluates to false.
3560
3561         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
3562         GL_GENERATE_SYSEXITS_H.
3563         * modules/sysexits (Makefile.am): Remove sysexits.h if
3564         GL_GENERATE_SYSEXITS_H evaluates to false.
3565
3566         Reported by Karl Berry and Ralf Wildenhues.
3567
3568 2011-04-05  Bruno Haible  <bruno@clisp.org>
3569
3570         Ensure to rebuild generated .h files when config.status has changed.
3571         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
3572         config.status.
3573         * modules/ctype (Makefile.am): Likewise.
3574         * modules/dirent (Makefile.am): Likewise.
3575         * modules/errno (Makefile.am): Likewise.
3576         * modules/fcntl-h (Makefile.am): Likewise.
3577         * modules/float (Makefile.am): Likewise.
3578         * modules/getopt-posix (Makefile.am): Likewise.
3579         * modules/glob (Makefile.am): Likewise.
3580         * modules/iconv-h (Makefile.am): Likewise.
3581         * modules/inttypes (Makefile.am): Likewise.
3582         * modules/langinfo (Makefile.am): Likewise.
3583         * modules/locale (Makefile.am): Likewise.
3584         * modules/math (Makefile.am): Likewise.
3585         * modules/netdb (Makefile.am): Likewise.
3586         * modules/netinet_in (Makefile.am): Likewise.
3587         * modules/poll-h (Makefile.am): Likewise.
3588         * modules/pthread (Makefile.am): Likewise.
3589         * modules/pty (Makefile.am): Likewise.
3590         * modules/sched (Makefile.am): Likewise.
3591         * modules/search (Makefile.am): Likewise.
3592         * modules/selinux-h (Makefile.am): Likewise.
3593         * modules/signal (Makefile.am): Likewise.
3594         * modules/spawn (Makefile.am): Likewise.
3595         * modules/stdarg (Makefile.am): Likewise.
3596         * modules/stdbool (Makefile.am): Likewise.
3597         * modules/stddef (Makefile.am): Likewise.
3598         * modules/stdint (Makefile.am): Likewise.
3599         * modules/stdio (Makefile.am): Likewise.
3600         * modules/stdlib (Makefile.am): Likewise.
3601         * modules/string (Makefile.am): Likewise.
3602         * modules/strings (Makefile.am): Likewise.
3603         * modules/sys_file (Makefile.am): Likewise.
3604         * modules/sys_ioctl (Makefile.am): Likewise.
3605         * modules/sys_select (Makefile.am): Likewise.
3606         * modules/sys_socket (Makefile.am): Likewise.
3607         * modules/sys_stat (Makefile.am): Likewise.
3608         * modules/sys_time (Makefile.am): Likewise.
3609         * modules/sys_times (Makefile.am): Likewise.
3610         * modules/sys_utsname (Makefile.am): Likewise.
3611         * modules/sys_wait (Makefile.am): Likewise.
3612         * modules/sysexits (Makefile.am): Likewise.
3613         * modules/termios (Makefile.am): Likewise.
3614         * modules/time (Makefile.am): Likewise.
3615         * modules/unistd (Makefile.am): Likewise.
3616         * modules/wchar (Makefile.am): Likewise.
3617         * modules/wctype-h (Makefile.am): Likewise.
3618         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
3619
3620 2011-04-05  Bruno Haible  <bruno@clisp.org>
3621
3622         pipe2: Relicense under LGPLv2+.
3623         * modules/pipe2 (License): Change to LGPLv2+.
3624         Requested by Eric Blake, for libvirt.
3625
3626 2011-04-05  Bruce Korb  <bkorb@gnu.org>
3627
3628         bootstrap: compute gnulib_extra_files after updating build_aux
3629         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
3630         change build_aux or also supply gnulib_extra_files.  Handle correctly.
3631
3632 2011-04-05  Eric Blake  <eblake@redhat.com>
3633
3634         bootstrap: preserve git whitelist item sorting
3635         * build-aux/bootstrap (sort_patterns): New function.
3636         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
3637
3638 2011-04-05  Simon Josefsson  <simon@josefsson.org>
3639
3640         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
3641         sc_space_tab check.
3642
3643 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3644
3645         areadlink, areadlinkat: rewrite in terms of careadlinkat
3646         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
3647         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
3648         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
3649         (malloc, realloc): Remove #undefs.
3650         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
3651         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
3652         readlink, ssize_t, stdint, unistd.
3653         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
3654         areadlink, stdint.
3655
3656         careadlinkat: new module
3657         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
3658         * modules/careadlinkat: New files, written by me with
3659         a review and feedback from Ben Pfaff in
3660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
3661
3662 2011-04-01  Bruno Haible  <bruno@clisp.org>
3663
3664         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
3665         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
3666         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
3667         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3668         Reported by Bruce Korb <bruce.korb@gmail.com>.
3669
3670 2011-04-01  Bruno Haible  <bruno@clisp.org>
3671
3672         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
3673         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
3674         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
3675         * modules/wcpcpy (Depends-on): Add extensions.
3676         * modules/wcpncpy (Depends-on): Likewise.
3677         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
3678         systems.
3679         * doc/posix-functions/wcpncpy.texi: Likewise.
3680         * doc/posix-functions/wcwidth.texi: Likewise.
3681
3682 2011-03-31  Eric Blake  <eblake@redhat.com>
3683
3684         nonblocking: fix mingw test failures
3685         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
3686         non-blocking flag on regular file.
3687         (get_nonblocking_flag): Set errno on invalid fd.
3688         * tests/test-nonblocking.c (main): Avoid test failure on
3689         directories if fchdir is not active.
3690         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
3691
3692 2011-03-31  Bruno Haible  <bruno@clisp.org>
3693
3694         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
3695         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
3696         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
3697         Reported by Simon Josefsson <simon@josefsson.org>.
3698
3699 2011-03-31  Bruno Haible  <bruno@clisp.org>
3700         and Eric Blake  <eblake@redhat.com>
3701
3702         nonblocking: new module
3703         * modules/nonblocking: New module.
3704         * modules/nonblocking-tests: Likewise.
3705         * lib/nonblocking.h: New file.
3706         * lib/nonblocking.c: Likewise.
3707         * tests/test-nonblocking.c: New test.
3708         * lib/ioctl.c (ioctl) [mingw]: Update comment.
3709
3710 2011-03-30  Bruno Haible  <bruno@clisp.org>
3711
3712         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
3713         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
3714         instead of 'printf' format for GCC >= 4.4.
3715         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
3716         (fprintf, printf, vfprintf, vprintf): Declare with
3717         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
3718         the system's vfprintf() function.
3719         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
3720
3721 2011-03-30  Eric Blake  <eblake@redhat.com>
3722
3723         passfd: fix scoping bug
3724         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
3725         before sendmsg/recvmsg.
3726
3727         passfd: standardize coding conventions
3728         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
3729         can be learned at compile time.
3730         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
3731         ifdefs.
3732         (sendfd, recvfd): Follow gnulib code conventions.
3733
3734         passfd: fix incorrect sendmsg arguments
3735         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
3736         incorrect msg_controllen value.
3737         * modules/passfd-tests (Depends-on): Check for alarm.
3738         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
3739         Reported by Bastien ROUCARIES.
3740
3741 2011-03-30  Bruno Haible  <bruno@clisp.org>
3742
3743         c-strcasestr: Relicense under LGPLv2+.
3744         * modules/c-strcasestr (License): Change to LGPLv2+.
3745         Requested by Eric Blake, for libvirt.
3746
3747 2011-03-30  Simon Josefsson  <simon@josefsson.org>
3748
3749         * users.txt: Add libidn2.  Fix libtasn1 link.
3750
3751 2011-03-30  Jim Meyering  <meyering@redhat.com>
3752
3753         tests: readlink* ("",... fails with EINVAL on newer kernels
3754         readlink and readlinkat have typically failed with ENOENT for
3755         the invalid, empty file name,  "".  However, with the advent
3756         of linux-2.6.39, they fail with EINVAL.
3757         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
3758         when operating on the empty file name.
3759         * tests/test-readlink.h (test_readlink): Likewise.
3760
3761 2011-03-29  Bruno Haible  <bruno@clisp.org>
3762
3763         Relicense some modules under LGPLv2+, for libidn2.
3764         * modules/array-mergesort (License): Change to LGPLv2+.
3765         * modules/c-strcaseeq (License): Likewise.
3766         * modules/striconveh (License): Likewise.
3767         * modules/striconveha (License): Likewise.
3768         * modules/uniconv/base (License): Likewise.
3769         * modules/uniconv/u8-conv-from-enc (License): Likewise.
3770         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
3771         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
3772         * modules/unictype/base (License): Likewise.
3773         * modules/unictype/bidiclass-of (License): Likewise.
3774         * modules/unictype/category-M (License): Likewise.
3775         * modules/unictype/category-none (License): Likewise.
3776         * modules/unictype/category-of (License): Likewise.
3777         * modules/unictype/category-test (License): Likewise.
3778         * modules/unictype/category-test-withtable (License): Likewise.
3779         * modules/unictype/combining-class (License): Likewise.
3780         * modules/unictype/joiningtype-of (License): Likewise.
3781         * modules/unictype/scripts (License): Likewise.
3782         * modules/uninorm/base (License): Likewise.
3783         * modules/uninorm/canonical-decomposition (License): Likewise.
3784         * modules/uninorm/composition (License): Likewise.
3785         * modules/uninorm/decompose-internal (License): Likewise.
3786         * modules/uninorm/decomposition-table (License): Likewise.
3787         * modules/uninorm/nfc (License): Likewise.
3788         * modules/uninorm/nfd (License): Likewise.
3789         * modules/uninorm/u32-normalize (License): Likewise.
3790         * modules/unistr/base (License): Likewise.
3791         * modules/unistr/u32-cpy (License): Likewise.
3792         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
3793         * modules/unistr/u32-to-u8 (License): Likewise.
3794         * modules/unistr/u32-uctomb (License): Likewise.
3795         * modules/unistr/u8-check (License): Likewise.
3796         * modules/unistr/u8-mblen (License): Likewise.
3797         * modules/unistr/u8-mbtouc (License): Likewise.
3798         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
3799         * modules/unistr/u8-mbtoucr (License): Likewise.
3800         * modules/unistr/u8-prev (License): Likewise.
3801         * modules/unistr/u8-strlen (License): Likewise.
3802         * modules/unistr/u8-to-u32 (License): Likewise.
3803         * modules/unistr/u8-uctomb (License): Likewise.
3804         * modules/unitypes (License): Likewise.
3805         Requested by Simon Josefsson.
3806
3807 2011-03-29  Simon Josefsson  <simon@josefsson.org>
3808
3809         lib-symbol-visibility: Add a notice.
3810         * modules/lib-symbol-visibility (Notice): New field.
3811
3812 2011-03-29  Bruno Haible  <bruno@clisp.org>
3813
3814         getaddrinfo: Doc fix.
3815         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
3816         section "fixed in Gnulib".
3817
3818 2011-03-28  Simon Josefsson  <simon@josefsson.org>
3819
3820         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
3821         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
3822
3823 2011-03-26  Bruno Haible  <bruno@clisp.org>
3824
3825         unictype/property-byname: Reduce the number of load-time relocations.
3826         * lib/unictype/pr_byname.c: Include <stdlib.h>.
3827         (UC_PROPERTY_INDEX_*): New enumeration values.
3828         (uc_property_byname): Convert an index from the lookup table to an
3829         uc_property_t.
3830         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
3831         values.
3832
3833 2011-03-26  Bruno Haible  <bruno@clisp.org>
3834
3835         unictype/property-byname: Allow omitted word separators and aliases.
3836         * lib/unictype/pr_byname.gperf: Add property names without word
3837         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
3838         for 'space'.
3839
3840 2011-03-26  Bruno Haible  <bruno@clisp.org>
3841
3842         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
3843         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
3844         also hyphens to space.
3845         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
3846         without spaces.
3847         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
3848
3849 2011-03-26  Bruno Haible  <bruno@clisp.org>
3850
3851         unictype/joiningtype-byname: Recognize long names as well.
3852         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
3853         a long name.
3854         * lib/unictype/joiningtype_byname.c: Include <string.h>,
3855         unictype/joiningtype_byname.h.
3856         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
3857         * lib/unictype/joiningtype_byname.gperf: New file.
3858         * modules/unictype/joiningtype-byname (Files): Add
3859         lib/unictype/joiningtype_byname.gperf.
3860         (Depends-on): Add gperf.
3861         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
3862         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
3863         long names.
3864
3865         Tests for module 'unictype/joiningtype-longname'.
3866         * modules/unictype/joiningtype-longname-tests: New file.
3867         * tests/unictype/test-joiningtype_longname.c: New file.
3868
3869         New module 'unictype/joiningtype-longname'.
3870         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
3871         * lib/unictype/joiningtype_longname.c: New file.
3872         * modules/unictype/joiningtype-longname: New file.
3873         * modules/unictype/joiningtype-all (Depends-on): Add
3874         unictype/joiningtype-longname.
3875
3876 2011-03-26  Bruno Haible  <bruno@clisp.org>
3877
3878         unictype/bidiclass-byname: Recognize long names as well.
3879         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
3880         name.
3881         * lib/unictype/bidi_byname.c: Include <string.h>,
3882         unictype/bidi_byname.h.
3883         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
3884         * lib/unictype/bidi_byname.gperf: New file.
3885         * modules/unictype/bidiclass-byname (Files): Add
3886         lib/unictype/bidi_byname.gperf.
3887         (Depends-on): Add gperf.
3888         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
3889         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
3890         long names.
3891
3892         Tests for module 'unictype/bidiclass-longname'.
3893         * modules/unictype/bidiclass-longname-tests: New file.
3894         * tests/unictype/test-bidi_longname.c: New file.
3895
3896         New module 'unictype/bidiclass-longname'.
3897         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
3898         * lib/unictype/bidi_longname.c: New file.
3899         * modules/unictype/bidiclass-longname: New file.
3900         * modules/unictype/bidiclass-all (Depends-on): Add
3901         unictype/bidiclass-longname.
3902
3903 2011-03-26  Bruno Haible  <bruno@clisp.org>
3904
3905         unictype/bidi*: Rename modules.
3906         * modules/unictype/bidiclass-all: Renamed from
3907         modules/unictype/bidicategory-all.
3908         * modules/unictype/bidiclass-name: Renamed from
3909         modules/unictype/bidiclass-name.
3910         (Description): Update.
3911         * modules/unictype/bidiclass-name-tests: Renamed from
3912         modules/unictype/bidicategory-name-tests.
3913         * modules/unictype/bidiclass-byname: Renamed from
3914         modules/unictype/bidicategory-byname.
3915         (Description): Update.
3916         * modules/unictype/bidiclass-byname-tests: Renamed from
3917         modules/unictype/bidicategory-byname-tests.
3918         * modules/unictype/bidiclass-of: Renamed from
3919         modules/unictype/bidicategory-of.
3920         (Description): Update.
3921         * modules/unictype/bidiclass-of-tests: Renamed from
3922         modules/unictype/bidicategory-of-tests.
3923         * modules/unictype/bidiclass-test: Renamed from
3924         modules/unictype/bidicategory-test.
3925         (Description): Update.
3926         * modules/unictype/bidiclass-test-tests: Renamed from
3927         modules/unictype/bidicategory-test-tests.
3928         * modules/unictype/bidicategory-all: New file, a simple redirection.
3929         * modules/unictype/bidicategory-name: Likewise.
3930         * modules/unictype/bidicategory-byname: Likewise.
3931         * modules/unictype/bidicategory-of: Likewise.
3932         * modules/unictype/bidicategory-test: Likewise.
3933         * modules/unictype/property-bidi-* (Dependencies): Update.
3934         * lib/unictype/bidi_*.c: Update comment.
3935
3936 2011-03-26  Bruno Haible  <bruno@clisp.org>
3937
3938         unictype/bidi*: Rename functions, part 2.
3939         * modules/unictype/bidicategory-name (configure.ac): Update required
3940         libunistring version.
3941         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
3942
3943 2011-03-25  Bruno Haible  <bruno@clisp.org>
3944
3945         New module 'unictype/combining-class-all'.
3946         * modules/unictype/combining-class-all: New file.
3947
3948         Tests for module 'unictype/combining-class-byname'.
3949         * modules/unictype/combining-class-byname-tests: New file.
3950         * tests/unictype/test-combiningclass_byname.c: New file.
3951
3952         New module 'unictype/combining-class-byname'.
3953         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
3954         * lib/unictype/combiningclass_byname.c: New file.
3955         * lib/unictype/combiningclass_byname.gperf: New file.
3956         * modules/unictype/combining-class-byname: New file.
3957
3958         Tests for module 'unictype/combining-class-longname'.
3959         * modules/unictype/combining-class-longname-tests: New file.
3960         * tests/unictype/test-combiningclass_longname.c: New file.
3961
3962         New module 'unictype/combining-class-longname'.
3963         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
3964         * lib/unictype/combiningclass_longname.c: New file.
3965         * modules/unictype/combining-class-longname: New file.
3966
3967         Tests for module 'unictype/combining-class-name'.
3968         * modules/unictype/combining-class-name-tests: New file.
3969         * tests/unictype/test-combiningclass_name.c: New file.
3970
3971         New module 'unictype/combining-class-name'.
3972         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3973         * lib/unictype/combiningclass_name.c: New file.
3974         * modules/unictype/combining-class-name: New file.
3975
3976 2011-03-25  Bruno Haible  <bruno@clisp.org>
3977
3978         unictype/combining-class: Rename source files.
3979         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3980         of unictype/combining.h.
3981         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3982         Update.
3983         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3984         * modules/unictype/combining-class (Description): Fix.
3985         (Files, Makefile.am): Update.
3986         * tests/unictype/test-combiningclass.c: Renamed from
3987         tests/unictype/test-combining.c.
3988         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3989
3990 2011-03-25  Bruno Haible  <bruno@clisp.org>
3991
3992         unictype: Update list of canonical combining classes.
3993         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3994
3995 2011-03-25  Bruno Haible  <bruno@clisp.org>
3996
3997         unictype/category-byname: Recognize long names as well.
3998         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3999         a long name.
4000         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
4001         unictype/categ_byname.h.
4002         (UC_CATEGORY_INDEX_*): New enumeration values.
4003         (uc_general_category_byname): Use uc_general_category_lookup and
4004         convert from index to value.
4005         * lib/unictype/categ_byname.gperf: New file.
4006         * modules/unictype/category-byname (Files): Add
4007         lib/unictype/categ_byname.gperf.
4008         (Depends-on): Add gperf.
4009         (Makefile.am): Add rule for generating unictype/categ_byname.h.
4010         * tests/unictype/test-categ_byname.c (main): Test the recognition of
4011         long names.
4012
4013         Tests for module 'unictype/category-longname'.
4014         * modules/unictype/category-longname-tests: New file.
4015         * tests/unictype/test-categ_longname.c: New file.
4016
4017         New module 'unictype/category-longname'.
4018         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
4019         * lib/unictype/categ_longname.c: New file.
4020         * modules/unictype/category-longname: New file.
4021         * modules/unictype/category-all (Depends-on): Add it.
4022
4023 2011-03-25  Bruno Haible  <bruno@clisp.org>
4024
4025         Tests for module 'unictype/category-LC'.
4026         * modules/unictype/category-LC-tests: New file.
4027         * tests/unictype/test-categ_LC.c: New file, automatically generated.
4028
4029         New module 'unictype/category-LC'.
4030         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
4031         (UC_CATEGORY_LC): New declaration.
4032         (UC_CASED_LETTER): New macro.
4033         * lib/gen-uni-tables.c (is_category_LC): New function.
4034         (output_categories): Also handle category LC.
4035         (UC_CATEGORY_MASK_LC): New enumeration value.
4036         (general_category_byname): Also handle category LC.
4037         * lib/unictype/categ_LC.c: New file.
4038         * lib/unictype/categ_LC.h: New file, automatically generated.
4039         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
4040         category LC.
4041         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
4042         * modules/unictype/category-LC: New file.
4043         * modules/unictype/category-byname (Depends-on): Add
4044         unictype/category-LC.
4045         * modules/unictype/category-all (Depends-on): Likewise.
4046
4047 2011-03-25  Eric Blake  <eblake@redhat.com>
4048
4049         xmalloc: revert yesterday's regression
4050         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
4051         realloc's underlying behavior (allowing allocation of zero-size
4052         objects, especially if malloc-gnu is also in use).
4053
4054 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
4055
4056         maint.mk: add missing version to VC-tag
4057         * top/maint.mk: git tag was missing actual tag name; add it.
4058
4059         valgrind: do leak checking, and exit with code 1 on error (not 0)
4060         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
4061         to VALGRIND.
4062
4063 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
4064
4065         posix-modules: say what it does.
4066         * posix-modules: Add a line to the --help output saying what it does.
4067
4068 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
4069
4070         xmalloc: Do not leak if underlying realloc is C99 compatible.
4071         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
4072         This avoids a leak on C99-based systems.  See
4073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
4074
4075 2011-03-24  Eric Blake  <eblake@redhat.com>
4076
4077         realloc: document portability problem
4078         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
4079         passing 0 size to realloc.
4080
4081 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
4082
4083         doc: update users.txt
4084         * users.txt: Add cvsps, tmpwatch
4085
4086 2011-03-23  Matt Rice  <ratmice@gmail.com>
4087
4088         doc: update users.txt
4089         * users.txt: Add gdb.
4090
4091 2011-03-23  Jim Meyering  <meyering@redhat.com>
4092
4093         doc: update users.txt
4094         Looking through matches up to the following URL (there are still
4095         several more pages), I found several projects that use gnulib:
4096         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
4097         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
4098         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
4099
4100 2011-03-22  Bruno Haible  <bruno@clisp.org>
4101
4102         unictype/bidi*: Rename functions.
4103         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
4104         uc_bidi_class, uc_is_bidi_class): New declarations.
4105         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
4106         uc_bidi_category_byname.
4107         (uc_bidi_category_byname): New function.
4108         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
4109         u_bidi_category_name.
4110         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
4111         (uc_bidi_category_name): New function.
4112         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
4113         uc_bidi_category.
4114         (uc_bidi_category): New function.
4115         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
4116         uc_is_bidi_category. Invoke uc_bidi_class.
4117         (uc_is_bidi_category): New function.
4118         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
4119         instead of uc_bidi_category_byname.
4120         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
4121         instead of uc_bidi_category_name.
4122         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
4123         uc_bidi_category.
4124         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
4125         instead of uc_is_bidi_category.
4126
4127 2011-03-21  Bruno Haible  <bruno@clisp.org>
4128
4129         New module 'unictype/joininggroup-all'.
4130         * modules/unictype/joininggroup-all: New file.
4131
4132         Tests for module 'unictype/joininggroup-of'.
4133         * modules/unictype/joininggroup-of-tests: New file.
4134         * tests/unictype/test-joininggroup_of.c: New file.
4135         * tests/unictype/test-joininggroup_of.h: New file, automatically
4136         generated by gen-uni-tables.
4137
4138         New module 'unictype/joininggroup-of'.
4139         * modules/unictype/joininggroup-of: New file.
4140         * lib/unictype/joininggroup_of.c: New file.
4141         * lib/unictype/joininggroup_of.h: New file, automatically generated by
4142         gen-uni-tables.
4143
4144         Tests for module 'unictype/joininggroup-byname'.
4145         * modules/unictype/joininggroup-byname-tests: New file.
4146         * tests/unictype/test-joininggroup_byname.c: New file.
4147
4148         New module 'unictype/joininggroup-byname'.
4149         * modules/unictype/joininggroup-byname: New file.
4150         * lib/unictype/joininggroup_byname.c: New file.
4151         * lib/unictype/joininggroup_byname.gperf: New file.
4152
4153         Tests for module 'unictype/joininggroup-name'.
4154         * modules/unictype/joininggroup-name-tests: New file.
4155         * tests/unictype/test-joininggroup_name.c: New file.
4156
4157         New module 'unictype/joininggroup-name'.
4158         * modules/unictype/joininggroup-name: New file.
4159         * lib/unictype/joininggroup_name.c: New file.
4160         * lib/unictype/joininggroup_name.h: New file.
4161
4162         New module 'unictype/joiningtype-all'.
4163         * modules/unictype/joiningtype-all: New file.
4164
4165         Tests for module 'unictype/joiningtype-of'.
4166         * modules/unictype/joiningtype-of-tests: New file.
4167         * tests/unictype/test-joiningtype_of.c: New file.
4168         * tests/unictype/test-joiningtype_of.h: New file, automatically
4169         generated by gen-uni-tables.
4170
4171         New module 'unictype/joiningtype-of'.
4172         * modules/unictype/joiningtype-of: New file.
4173         * lib/unictype/joiningtype_of.c: New file.
4174         * lib/unictype/joiningtype_of.h: New file, automatically generated by
4175         gen-uni-tables.
4176
4177         Tests for module 'unictype/joiningtype-byname'.
4178         * modules/unictype/joiningtype-byname-tests: New file.
4179         * tests/unictype/test-joiningtype_byname.c: New file.
4180
4181         New module 'unictype/joiningtype-byname'.
4182         * modules/unictype/joiningtype-byname: New file.
4183         * lib/unictype/joiningtype_byname.c: New file.
4184
4185         Tests for module 'unictype/joiningtype-name'.
4186         * modules/unictype/joiningtype-name-tests: New file.
4187         * tests/unictype/test-joiningtype_name.c: New file.
4188
4189         New module 'unictype/joiningtype-name'.
4190         * modules/unictype/joiningtype-name: New file.
4191         * lib/unictype/joiningtype_name.c: New file.
4192
4193         unictype: Add support for Arabic shaping properties.
4194         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
4195         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
4196         declarations.
4197         (UC_JOINING_GROUP_*): New enumeration values.
4198         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
4199         declarations.
4200         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
4201         (unicode_joining_type): New variable.
4202         (UC_JOINING_GROUP_*): New enumeration values.
4203         (unicode_joining_group): New variable.
4204         (fill_arabicshaping, joining_type_as_c_identifier,
4205         output_joining_type_test, output_joining_type,
4206         joining_group_as_c_identifier, output_joining_group_test,
4207         output_joining_group): New functions.
4208         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
4209         fill_arabicshaping and output_joining_type_test, output_joining_type,
4210         output_joining_group_test, output_joining_group.
4211         Reported by Simon Josefsson.
4212
4213 2011-03-21  Jim Meyering  <meyering@redhat.com>
4214
4215         strftime: fix a bug in yesterday's change
4216         * lib/strftime.c (add): Accommodate width's initial value of -1.
4217         Otherwise, nstrftime would copy uninitialized data into
4218         the result buffer.
4219
4220 2011-03-21  Jim Meyering  <meyering@redhat.com>
4221
4222         tests: add strftime-tests module
4223         * tests/test-strftime.c: New file.
4224         * modules/strftime-tests: New module.
4225
4226 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4227
4228         strftime: don't assume a byte count fits in 'int'
4229         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
4230         found this problem by static analysis, using gcc -Wstrict-overflow
4231         (GCC 4.5.2, x86-64).  This reported an optimization that depended
4232         on an integer overflow having undefined behavior, but it turns out
4233         that the argument is a size, which might not fit in 'int' anyway,
4234
4235 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4236
4237         stdio: don't require ignore_value around fwrite
4238
4239         This patch works around libc bug 11959
4240         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
4241         Without this patch, applications must often write
4242         ignore_value (fwrite (...)) even though the ignore_value is
4243         not helpful here.  It's common to write many objects, using
4244         fwrite/printf/etc., and then use ferror to detect output error.
4245
4246         I considered making this patch optional, but decided against it,
4247         because libc is obviously being inconsistent here: there is no
4248         reason libc should insist that user code must inspect fwrite
4249         return's value without also insisting that it inspect printf's,
4250         putchar's, etc.  If user code wants to have a strict style where
4251         all these functions' values are checked (so that ferror need not
4252         be checked), we could add support for that style in a new gnulib
4253         module, but in the meantime it's better to be consistent and to
4254         support common usage.
4255
4256         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
4257         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
4258         that we are compiling in checking mode, and if not C++, and
4259         if not already wrapping fwrite for some other reason.
4260         (fwrite): #define to rpl_fwrite if the latter is defined.
4261
4262 2011-03-20  Bruno Haible  <bruno@clisp.org>
4263
4264         verror: Fix compilation error introduced on 2011-02-13.
4265         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
4266         instead of __attribute__.
4267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4268
4269 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4270             Bruno Haible  <bruno@clisp.org>
4271
4272         socklen: do not depend on sys_socket
4273         While trying to modify Emacs to use gnulib's socklen module,
4274         I discovered a circular dependency: socklen depends on sys_socket
4275         and vice versa.  Emacs can use socklen, but it does not need
4276         sys_socket because it has its own substitute for sys/socket.h.
4277         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
4278         gl_TYPE_SOCKLEN_T.
4279         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
4280         gl_PREREQ_SYS_H_SOCKET.
4281         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
4282         gl_PREREQ_SYS_H_SOCKET.
4283         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
4284         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
4285         * modules/socklen (Depends-on): Do not depend on sys_socket.
4286         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
4287
4288 2011-03-20  Jim Meyering  <meyering@redhat.com>
4289
4290         maint.mk: sort file names *after* new transformation
4291         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
4292         prefix would have led to an unwarranted failure in GNU parted.
4293         Sort after that transformation.
4294
4295 2011-03-19  Jim Meyering  <meyering@redhat.com>
4296
4297         maint.mk: fix po-file syntax-check rule
4298         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
4299         Patch by Bruno Haible.
4300
4301 2011-03-19  Bruno Haible  <bruno@clisp.org>
4302
4303         socklen: Update comment.
4304         * m4/socklen.m4: Update comment about platforms.
4305
4306 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4307             Bruno Haible  <bruno@clisp.org>
4308
4309         inet_ntop, inet_pton: Simplify.
4310         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
4311         documented to provide socklen_t and we already depend on sys_socket.
4312         * modules/inet_pton (Depends-on): Likewise.
4313         * lib/arpa_inet.in.h: Adjust comment.
4314
4315 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4316             Bruno Haible  <bruno@clisp.org>
4317
4318         netdb: Simplify.
4319         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
4320         documented to provide socklen_t and we already depend on sys_socket.
4321         * lib/netdb.in.h: Adjust comment.
4322
4323 2011-03-19  Bruno Haible  <bruno@clisp.org>
4324
4325         sys_socket, netdb: Document problem with socklen_t.
4326         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
4327         platforms.
4328         * doc/posix-headers/netdb.texi: Likewise.
4329
4330 2011-03-18  Eric Blake  <eblake@redhat.com>
4331
4332         maint.mk: let po check work in VPATH build
4333         * top/maint.mk (po_file): Allow cfg.mk override.
4334         (sc_po_check): Allow VPATH use.
4335         Reported by Jiri Denemark.
4336
4337 2011-03-16  Jim Meyering  <meyering@redhat.com>
4338
4339         maint.mk: allow fine-grained syntax-check exclusion via Make variables
4340         Before, you would have had to create one .x-sc_ file per rule in order
4341         to exempt offending files.  Now, you may instead use a Make variable --
4342         usually defined in cfg.mk -- whose name identifies the affected rule.
4343         * top/maint.mk (_sc_excl): Define.
4344         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
4345         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
4346
4347 2011-03-13  Bruno Haible  <bruno@clisp.org>
4348
4349         ignore-value tests: Avoid warnings.
4350         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
4351         empty for gcc < 3.4.
4352
4353 2011-03-13  Bruno Haible  <bruno@clisp.org>
4354
4355         passfd: Fix link error on Solaris.
4356         * modules/passfd (Description): Correct.
4357         (Depends-on): Add socketlib.
4358         (Link): New section.
4359         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
4360
4361 2011-03-13  Bruno Haible  <bruno@clisp.org>
4362
4363         passfd: Fix link error on AIX 5.2.
4364         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
4365
4366 2011-03-13  Bruno Haible  <bruno@clisp.org>
4367
4368         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
4369         * lib/sys_socket.in.h: Include <stddef.h>.
4370         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
4371         CMSG_FIRSTHDR. Remove unused variable.
4372
4373 2011-03-13  Bruno Haible  <bruno@clisp.org>
4374
4375         passfd: Fix compilation error on OpenBSD.
4376         * lib/passfd.c: Include <sys/uio.h>.
4377
4378 2011-03-13  Bruno Haible  <bruno@clisp.org>
4379
4380         passfd test: Fix warnings.
4381         * tests/test-passfd.c: Include <sys/wait.h>.
4382         (main): Fix typo.
4383
4384 2011-03-13  Bruno Haible  <bruno@clisp.org>
4385
4386         passfd module, part 4, tweaks.
4387         * tests/test-passfd.c: Reorder includes.
4388         (main): Fix perror and printf calls.
4389
4390 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4391
4392         passfd module, part 4.
4393         * modules/passfd-tests: New file.
4394         * tests/test-passfd.c: New file.
4395
4396 2011-03-13  Jim Meyering  <meyering@redhat.com>
4397
4398         Makefile: rely on GNU make; derive syntax-check rule names
4399         Rather than requiring that each sc_ rule be listed as a dependent
4400         of "check", use features of GNU make to derive the list.
4401         * Makefile (syntax-check-rules): Define.
4402         (check): Depend on the new variable, not the hard-coded list.
4403
4404 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
4405             Bruno Haible  <bruno@clisp.org>
4406
4407         passfd module, part 3.
4408         * lib/passfd.h (recvfd): Add a flags argument.
4409         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
4410         (recvfd): Add a flags argument.
4411         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
4412         exists.
4413         * modules/passfd (Depends-on): Add cloexec.
4414         Suggested by Eric Blake.
4415
4416 2011-03-13  Bruno Haible  <bruno@clisp.org>
4417
4418         passfd module, part 2, tweaks.
4419         * modules/passfd (Files): Reorder.
4420         (Depends-on): Remove errno.
4421         (Include): Remove <sys/socket.h>, <sys/un.h>.
4422         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
4423         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
4424         specification header. Include <sys/socket.h> always. Don't include
4425         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
4426         (sendfd): Clarify that it sets errno when it fails.
4427         (recvfd): Fix specification.
4428
4429 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4430
4431         passfd module, part 2.
4432         * modules/passfd: New file.
4433         * lib/passfd.h: New file.
4434         * lib/passfd.c: New file.
4435
4436 2011-03-12  Bruno Haible  <bruno@clisp.org>
4437
4438         wcswidth, mbswidth: Avoid integer overflow.
4439         * lib/wcswidth.c: Include <limits.h>.
4440         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
4441         * lib/mbswidth.c: Include <limits.h>.
4442         (mbsnwidth): Avoid 'int' overflow.
4443         Reported by Jim Meyering.
4444
4445 2011-03-12  Bruno Haible  <bruno@clisp.org>
4446
4447         futimens, utimensat: Avoid endless recursion on Solaris 10.
4448         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
4449         Solaris.
4450         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
4451         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
4452
4453 2011-03-11  Jim Meyering  <meyering@redhat.com>
4454
4455         maint.mk: relax a regexp to accommodate other formatting styles
4456         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
4457         between "ngettext" and the following "(".
4458
4459 2011-03-11  Pádraig Brady <P@draigBrady.com>
4460
4461         maint.mk: suppress a false positive warning
4462         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
4463         diagnostics are marked with ngettext.
4464
4465 2011-03-10  Eric Blake  <eblake@redhat.com>
4466
4467         wchar: add explicit dependencies, for Tru64
4468         * modules/mbmemcasecoll (Depends-on): Add wchar.
4469         * modules/mbtowc (Depends-on): Likewise.
4470         * modules/vasnprintf (Depends-on): Likewise.
4471         * modules/unistdio/u-printf-args (Depends-on): Likewise.
4472         * modules/wctomb (Depends-on): Likewise.
4473         Reported by Peter O'Gorman.
4474
4475 2011-03-08  Bruno Haible  <bruno@clisp.org>
4476
4477         passfd module, part 1, tweaks.
4478         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
4479         Improve indentation. Improve AC_MSG_CHECKING messages.
4480         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
4481         gl_SOCKET_FAMILIES.
4482
4483 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4484
4485         passfd module, part 1.
4486         * m4/afunix.m4: New file.
4487         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
4488         sockets.
4489
4490 2011-03-08  Bruno Haible  <bruno@clisp.org>
4491
4492         regex-quote: New API.
4493         * lib/regex-quote.h: Include <stdbool.h>.
4494         (struct regex_quote_spec): New type.
4495         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4496         New declarations.
4497         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4498         'const struct regex_quote_spec *' argument.
4499         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
4500         (pcre_special): New constant.
4501         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4502         New functions.
4503         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4504         'const struct regex_quote_spec *' argument.
4505         * modules/regex-quote (Depends-on): Add stdbool.
4506         * tests/test-regex-quote.c (check): Update for new API. Add test for
4507         anchored results.
4508         * NEWS: Mention the API change.
4509         Reported by Reuben Thomas and Eric Blake.
4510
4511 2011-03-06  Bruno Haible  <bruno@clisp.org>
4512
4513         regex-quote: Fix creation of POSIX extended regular expressions.
4514         * lib/regex-quote.c (ere_special): Add grouping and alternation
4515         operators.
4516
4517 2011-03-05  Bruno Haible  <bruno@clisp.org>
4518
4519         doc: Improve doc regarding autopoint vs. gnulib.
4520         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
4521         disable autopoint while running autoreconf.
4522         Suggested by Ralf Wildenhues.
4523
4524 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4525
4526         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
4527         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
4528
4529 2011-03-03  Bruce Korb  <bkorb@gnu.org>
4530
4531         parse-duration: remove xalloc.h dependency
4532         * lib/parse-duration.c (parse_period): handle NULL return from
4533         strdup instead of calling xstrdup().
4534         * modules/parse-duration: remove "xalloc" dependency
4535
4536 2011-03-03  Matthew Booth  <mbooth@redhat.com>
4537
4538         bootstrap: honor m4_base when running aclocal
4539         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
4540
4541 2011-03-02  Jim Meyering  <meyering@redhat.com>
4542
4543         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
4544         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
4545         on request from Matt Booth.
4546
4547 2011-03-01  Eric Blake  <eblake@redhat.com>
4548
4549         test-link: work on Hurd
4550         * tests/test-link.h (test_link): Hurd rejects linking directories
4551         with EISDIR instead of the POSIX-mandated EPERM.
4552
4553 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
4554
4555         stdio: simplify by moving files to printf-posix, sigpipe
4556         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
4557         since this symbol is needed only if printf is replaced.
4558         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
4559         Require gl_ASM_SYMBOL_PREFIX.
4560         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
4561         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
4562         (Depends-on): Add 'raise'.
4563         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
4564         * modules/stdio (Files): Remove lib/stdio-write.c,
4565         m4/asm-underscore.m4.
4566         (Depends-on): Remove 'raise'.
4567
4568         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
4569         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
4570         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
4571         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
4572
4573 2011-02-28  Bruno Haible  <bruno@clisp.org>
4574
4575         localcharset: Assume ANSI C behaviour of free().
4576         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
4577         calling free().
4578         Suggested by Simon Josefsson <simon@josefsson.org>.
4579
4580 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
4581             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
4582             Bruno Haible  <bruno@clisp.org>  (tiny change)
4583
4584         On Cygwin, use /proc file system instead of win32 API.
4585         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
4586         Win32 file names.
4587         (DllMain): Simplify by removing Cygwin specific code.
4588         (find_shared_library_fullname): Use Linux specific implementation also
4589         for Cygwin.
4590         (get_shared_library_fullname): Update accordingly.
4591         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
4592         Win32 file names.
4593         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
4594         Cygwin specific code.
4595
4596 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
4597             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
4598
4599         Fix OpenMP flag detection for various Fortran compilers.
4600         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
4601         OpenMP-conditional compilation construct, to force compile
4602         failure with missing OpenMP flag.
4603         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
4604
4605 2011-02-25  Eric Blake  <eblake@redhat.com>
4606
4607         strstr: expand test coverage
4608         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
4609         compilation.
4610         * tests/test-memmem.c (main): Duplicate tests.
4611         * tests/test-strcasestr.c (main): Likewise.
4612         * tests/test-c-strcasestr.c (main): Likewise.
4613
4614 2011-02-25  Jim Meyering  <meyering@redhat.com>
4615
4616         maint.mk: detect missing-NL-at-EOF, too
4617         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
4618         it also detects when a file lacks a newline at EOF.
4619         (require_exactly_one_NL_at_EOF_): Renamed from
4620         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
4621         since people may well have .x-sc_... file names tied to the
4622         existing name.  Suggested by Eric Blake.
4623
4624 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4625
4626         dirname: move m4/dos.m4 functionality into lib/dosname.h
4627
4628         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
4629         extracts symbols from it, puts them into config.h; but it's much
4630         easier to use the symbols directly.  filename.h already does this,
4631         but it disagrees with dos.m4 in some respects.  This patch
4632         introduces a different include file dosname.h that packages up
4633         dos.m4, and then later we can work on merging filename.h and
4634         dosname.h.  Applications that need only the easy-to-configure
4635         symbols should consider including dosname.h rather than dirname.h.
4636         * NEWS: Mention incompatible changes.
4637         * m4/dos.m4: Remove.
4638         * lib/dosname.h, modules/dosname: New files.
4639         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
4640         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
4641         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
4642         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
4643         Include dosname.h, not dirname.h.
4644         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
4645         Include dosname.h, for definitions of symbols like ISSLASH
4646         that used to be in config.h.
4647         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
4648         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4649         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4650         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4651         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
4652         * modules/rmdir (Files): Likewise.
4653         * modules/stat (Files): Likewise.
4654         * modules/unlink (Files): Likewise.
4655         * modules/dirname-lgpl (Depends-on): Add dosname.
4656         * modules/lstat (Depends-on): Likewise.
4657         * modules/openat (Depends-on): Likewise.
4658         * modules/rmdir (Depends-on): Likewise.
4659         * modules/savewd (Depends-on): Likewise.
4660         * modules/stat (Depends-on): Likewise.
4661         * modules/unlink (Depends-on): Likewise.
4662         * modules/openat (Depends-on): Remove dirname-lgpl.
4663         * modules/savewd (Depends-on): Likewise.
4664         * tests/test-dirname.c: Do not use removed symbols like
4665         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
4666         the remaining symbols, e.g., ISSLASH ('\\').
4667
4668 2011-02-25  Eric Blake  <eblake@redhat.com>
4669
4670         strstr: revert patches that introduced bug and pessimization
4671         * lib/str-two-way.h: Add another reference.
4672         (two_way_short_needle, two_way_long_needle): Revert changes from
4673         2011-02-24; they pessimize search speed.
4674         (critical_factorization): Partially revert changes from
4675         2010-06-22; they violate the requirement that the left half of the
4676         needle be smaller than the period of the needle.
4677
4678 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4679
4680         filenamecat: remove unnecessary dependency on dirname-lgpl
4681         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
4682         is no direct dependency, just an indirect one via filenamecat-lgpl.
4683
4684         remove: remove unnecessary use of m4/dos.m4
4685         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
4686         * modules/remove (FILES): Remove m4/dos.m4.
4687
4688         * lib/openat-proc.c: Don't include dirname.h; not needed.
4689
4690         backupfile: remove unnecessary use of m4/dos.m4
4691         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
4692         of its symbols are used by the backupfile code.  backupfile.c does
4693         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
4694         for the rare case of programs that want all their backup file
4695         names to live within 8+3 limits, and dos.m4 doesn't address that.
4696         * modules/backupfile (Files): Remove m4/dos.m4.
4697
4698 2011-02-24  Jim Meyering  <meyering@redhat.com>
4699
4700         strstr: fix a bug whereby strstr would mistakenly return NULL
4701         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
4702         in period calculation.
4703         (two_way_long_needle): Likewise.
4704         The original problem was reported by Mike Stump in
4705         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
4706         Ralf Wildenhues provided the short needle and haystack.
4707         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
4708         Add a more involved test to trigger the bug in two_way_long_needle.
4709
4710 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4711
4712         gnulib-tool: remove use of bold display in help screen
4713         * gnulib-tool (func_usage): Do not use bold display anymore in the
4714         help screen.  That was just meant to be a temporary emphasis for a
4715         backward-incompatible change.
4716
4717 2011-02-23  Bruno Haible  <bruno@clisp.org>
4718
4719         Fix misindentation of preprocessor directives.
4720         * lib/argp-namefrob.h: Reindent preprocessor directives.
4721         * lib/getopt_int.h (struct _getopt_data): Likewise.
4722         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
4723         * lib/vasnprintf.c (decode_long_double): Likewise.
4724         * tests/test-argmatch.c: Insert blank lines, for clarity.
4725         * tests/test-exclude.c: Likewise.
4726
4727 2011-02-22  Bruno Haible  <bruno@clisp.org>
4728
4729         ioctl: Fix for MacOS X in 64-bit mode.
4730         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
4731         value.
4732         Suggested by Eric Blake.
4733         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
4734
4735 2011-02-22  Jim Meyering  <meyering@redhat.com>
4736
4737         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
4738         * Makefile (sc_cpp_indent_check): Don't limit the check to files
4739         in lib/.
4740
4741 2011-02-22  Eric Blake  <eblake@redhat.com>
4742
4743         maint: avoid any CDPATH issue
4744         * Makefile (sc_cpp_indent_check): Anchor cd argument.
4745
4746         maint: adjust cpp indentation for my modules, as well
4747         * Makefile (sc_cpp_indent_check): Add my name.
4748         * lib/fbufmode.c: Filter through cppi.
4749         * lib/fpurge.c: Likewise.
4750         * lib/freadable.c: Likewise.
4751         * lib/freading.c: Likewise.
4752         * lib/fwritable.c: Likewise.
4753         * lib/fwriting.c: Likewise.
4754         * lib/sigaction.c: Likewise.
4755
4756 2011-02-22  Jim Meyering  <meyering@redhat.com>
4757
4758         maint: adjust cpp indentation to reflect nesting depth
4759         I.e., in a block of code that begins with an unnested "#if",
4760         put one space between the "#" in column 1 and following token.
4761         For example,
4762         -#include <sys/vfs.h>
4763         +# include <sys/vfs.h>
4764         Do this only in .c files that are part of a module I maintain.
4765         * lib/linkat.c: Filter through cppi.
4766         * lib/nanosleep.c: Likewise.
4767         * lib/openat.c: Likewise.
4768         * lib/openat-die.c: Likewise.
4769         * lib/dup3.c: Likewise.
4770         * lib/fchownat.c: Likewise.
4771         * lib/flock.c: Likewise.
4772         * lib/fsync.c: Likewise.
4773         * lib/fts.c: Likewise.
4774         * lib/getpass.c: Likewise.
4775         * lib/gettimeofday.c: Likewise.
4776         * lib/userspec.c: Likewise.
4777         * Makefile (sc_cpp_indent_check): New rule, to check this.
4778
4779 2011-02-22  Bruno Haible  <bruno@clisp.org>
4780
4781         New module 'wctomb'.
4782         * lib/stdlib.in.h (wctomb): New declaration.
4783         * lib/wctomb.c: New file.
4784         * lib/wctomb-impl.h: New file.
4785         * m4/wctomb.m4: New file.
4786         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
4787         REPLACE_WCTOMB.
4788         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
4789         REPLACE_WCTOMB.
4790         * modules/wctomb: New file.
4791         * tests/test-stdlib-c++.cc: Test signature of wctomb.
4792         * doc/posix-functions/wctomb.texi: Mention the new module.
4793         * modules/wctob (Depends-on): Add wctomb.
4794
4795 2011-02-22  Bruno Haible  <bruno@clisp.org>
4796
4797         New module 'mbtowc'.
4798         * lib/stdlib.in.h (mbtowc): New declaration.
4799         * lib/mbtowc.c: New file.
4800         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
4801         * m4/mbtowc.m4: New file.
4802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
4803         REPLACE_MBTOWC.
4804         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
4805         REPLACE_MBTOWC.
4806         * modules/mbtowc: New file.
4807         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
4808         * doc/posix-functions/mbtowc.texi: Mention the new module.
4809         * modules/btowc (Depends-on): Add mbtowc.
4810
4811 2011-02-22  Bruno Haible  <bruno@clisp.org>
4812
4813         wcrtomb: Add more tests for native Windows platforms.
4814         * tests/test-wcrtomb-w32-1.sh: New file.
4815         * tests/test-wcrtomb-w32-2.sh: New file.
4816         * tests/test-wcrtomb-w32-3.sh: New file.
4817         * tests/test-wcrtomb-w32-4.sh: New file.
4818         * tests/test-wcrtomb-w32-5.sh: New file.
4819         * tests/test-wcrtomb-w32.c: New file.
4820         * modules/wcrtomb-tests (Files): Add them.
4821         (Makefile.am): Arrange to run these tests.
4822         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
4823         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
4824
4825 2011-02-20  Bruno Haible  <bruno@clisp.org>
4826
4827         wcrtomb: Enhance test.
4828         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
4829
4830 2011-02-20  Bruno Haible  <bruno@clisp.org>
4831
4832         mbrtowc: Tiny optimization.
4833         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
4834
4835 2011-02-20  Jim Meyering  <meyering@redhat.com>
4836
4837         test-exclude.c: remove unmatched #endif
4838         * tests/test-exclude.c: Remove stray #endif, left over from
4839         the change of a week ago.
4840
4841 2011-02-19  Jim Meyering  <meyering@redhat.com>
4842
4843         git-version-gen: skip "-dirty" check when appropriate
4844         * build-aux/git-version-gen: Don't run any git commands when the
4845         version string comes from .tarball-version.  Prior to this, we
4846         would run git update-index --refresh even from a just-unpacked
4847         tarball directory, and that could affect a .git/ directory in a
4848         parent of the build directory.  Reported by Mike Frysinger.
4849
4850 2011-02-19  Bruno Haible  <bruno@clisp.org>
4851
4852         unictype/property-byname: Reduce the size of the 'data' segment.
4853         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
4854
4855 2011-02-19  Bruno Haible  <bruno@clisp.org>
4856
4857         unictype/scripts: Reduce the size of the 'data' segment.
4858         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
4859         '%pic'.
4860         * lib/unictype/scripts_byname.gperf: Regenerated.
4861
4862 2011-02-19  Bruno Haible  <bruno@clisp.org>
4863
4864         stdint: Update documentation.
4865         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
4866
4867 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
4868
4869         stdint: omit redundant check for wchar.h
4870         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
4871         always tests whether wchar.h exists, so remove the now-redundant test.
4872
4873 2011-02-18  Bruno Haible  <bruno@clisp.org>
4874
4875         stdint: Cut dependency to module 'wchar'.
4876         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
4877         include the necessary prerequisites.
4878         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
4879         * modules/stdint (Depends-on): Remove wchar.
4880         (Makefile.am): Substitute HAVE_WCHAR_H.
4881         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
4882
4883 2011-02-18  Eric Blake  <eblake@redhat.com>
4884
4885         longlong: skip, rather than fail, on cross-compilation
4886         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
4887         when cross-compiling; regression from 2011-02-16.
4888
4889 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4890
4891         * NEWS: Mention 2011-02-08 change to stdlib.
4892
4893 2011-02-17  Bruno Haible  <bruno@clisp.org>
4894
4895         getloadavg: Add comments about platforms.
4896         * m4/getloadavg.m4: Add comment.
4897         * lib/getloadavg.c: Likewise.
4898
4899 2011-02-17  Bruno Haible  <bruno@clisp.org>
4900
4901         getloadavg: Fix link error on Solaris 2.6.
4902         * modules/getloadavg (Link): New section.
4903         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
4904         linking test-getloadavg.
4905         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
4906         getloadavg.
4907
4908 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4909
4910         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
4911         It was 'int', but this doesn't match the IRIX 6.5 manual.
4912         Suggested by Bruno Haible in
4913         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
4914
4915 2011-02-17  Bruno Haible  <bruno@clisp.org>
4916
4917         havelib: Fix comments.
4918         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
4919         change.
4920
4921 2011-02-17  Bruno Haible  <bruno@clisp.org>
4922
4923         havelib: Update config.rpath.
4924         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
4925
4926 2011-02-17  Bruno Haible  <bruno@clisp.org>
4927
4928         getloadavg test: Add some plausibility checks.
4929         * tests/test-getloadavg.c (check_avg): Print a warning when the value
4930         is improbable.
4931
4932 2011-02-16  Eric Blake  <eblake@redhat.com>
4933
4934         maintainer-makefile: make syntax-check a no-op from tarballs
4935         * top/maint.mk (no-vc-detected): New rule.
4936         (local-checks-available): Use it to avoid hanging if someone tries
4937         'make syntax-check' from a tarball.  Also append to any non-syntax
4938         checks already defined in cfg.mk.
4939
4940 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
4941
4942         longlong: tune, particularly for common case of c99
4943
4944         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
4945         or running anything if c99, or if unsigned long long int does not
4946         work.  In either case, we know the answer without further tests.
4947         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
4948         it at most once, and use its results for both long long int and
4949         unsigned long long int.  This is more likely to be efficient in
4950         the common case where the program wants to check for both long
4951         long int and unsigned long long int.
4952         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
4953         since the answer is already known.
4954
4955 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
4956
4957         getloadavg: set errno
4958         * lib/getloadavg.c: Set errno when returning -1.  If no other
4959         error number looks appropriate, set it to ENOSYS if the getloadavg
4960         looks like it can't possibly ever work, ENOTSUP otherwise.
4961         Suggested by Bruno Haible in
4962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
4963
4964         getloadavg: trim unused parts and speed up 'configure'
4965         * NEWS: Document this.
4966         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
4967         always compiled if getloadavg is absent.
4968         Move test code to ...
4969         * tests/test-getloadavg.c: New file, containing previous
4970         contents of test from lib/getloadavg.c.  It also contains
4971         suggestions by Bruno Haible in
4972         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4973         * modules/getloadavg-tests: New file.
4974         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4975         Do tests in the same order as they're needed for getloadavg.c.
4976         Omit setgid-related tests that generate symbols KMEM_GROUP,
4977         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4978         Do only the tests that are needed to see whether the system has
4979         getloadavg, moving the other tests into ...
4980         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4981         NLIST_NAME_UNION; nobody should be using it.  Do not define
4982         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4983         relevant, as the user of this module shouldn't care how getloadavg
4984         is implemented.
4985
4986         getloadavg: omit unused var
4987         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4988
4989 2011-02-15  Jim Meyering  <meyering@redhat.com>
4990
4991         doc: update users.txt
4992         * users.txt: Update iwhd's URL.
4993
4994 2011-02-13  Bruno Haible  <bruno@clisp.org>
4995
4996         Consistent macro naming for macros that use GCC __attribute__.
4997         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4998         _ATTRIBUTE_NONNULL_.
4999         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
5000         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
5001         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
5002         ATTRIBUTE_DEPRECATED.
5003         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
5004         ATTRIBUTE_NORETURN.
5005         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5006         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5007         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5008         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5009         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
5010         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
5011         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
5012         ATTRIBUTE_SENTINEL.
5013         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
5014         ATTRIBUTE_RETURN_CHECK.
5015         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
5016         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
5017         ATTRIBUTE_NORETURN.
5018         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
5019         Reported by Paul Eggert.
5020
5021 2011-02-13  Bruno Haible  <bruno@clisp.org>
5022
5023         Don't interfere with a program's definition of __attribute__.
5024         * lib/argp.h (__attribute__): Remove definition.
5025         (_GL_ATTRIBUTE_FORMAT): New macro.
5026         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
5027         * lib/argp-fmtstream.h (__attribute__): Remove definition.
5028         (_GL_ATTRIBUTE_FORMAT): New macro.
5029         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
5030         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
5031         GCC 3 or newer.
5032         * lib/error.h (__attribute__): Remove definition.
5033         (_GL_ATTRIBUTE_FORMAT): New macro.
5034         (error, error_at_line): Use it.
5035         * lib/hash.h (__attribute__): Remove definition.
5036         (ATTRIBUTE_WUR): Update definition. Define always.
5037         * lib/openat.h (__attribute__): Remove definition.
5038         (ATTRIBUTE_NORETURN): Update definition. Define always.
5039         * lib/sigpipe-die.h (__attribute__): Remove definition.
5040         (ATTRIBUTE_NORETURN): Update definition. Define always.
5041         * lib/vasnprintf.h (__attribute__): Remove definition.
5042         (_GL_ATTRIBUTE_FORMAT): New macro.
5043         (asnprintf, vasnprintf): Use it.
5044         * lib/xalloc.h (__attribute__): Remove definition.
5045         (ATTRIBUTE_NORETURN): Update definition. Define always.
5046         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
5047         * lib/xmemdup0.h (__attribute__): Remove definition.
5048         (ATTRIBUTE_NORETURN): Update definition. Define always.
5049         * lib/xprintf.h (__attribute__): Remove definition.
5050         (_GL_ATTRIBUTE_FORMAT): New macro.
5051         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
5052         * lib/xstrtol.h (__attribute__): Remove definition.
5053         (ATTRIBUTE_NORETURN): Update definition. Define always.
5054         * lib/xvasprintf.h (__attribute__): Remove definition.
5055         (_GL_ATTRIBUTE_FORMAT): New macro.
5056         (xasprintf, xvasprintf): Use it.
5057         * tests/test-argmatch.c (__attribute__): Remove definition.
5058         (ATTRIBUTE_NORETURN): Update definition. Define always.
5059         * tests/test-exclude.c (__attribute__): Remove definition.
5060         (ATTRIBUTE_NORETURN): Update definition. Define always.
5061         Reported by Paul Eggert.
5062
5063 2011-02-13  Bruno Haible  <bruno@clisp.org>
5064
5065         mbrtowc: Add more tests for native Windows platforms.
5066         * tests/test-mbrtowc-w32-1.sh: New file.
5067         * tests/test-mbrtowc-w32-2.sh: New file.
5068         * tests/test-mbrtowc-w32-3.sh: New file.
5069         * tests/test-mbrtowc-w32-4.sh: New file.
5070         * tests/test-mbrtowc-w32-5.sh: New file.
5071         * tests/test-mbrtowc-w32.c: New file.
5072         * modules/mbrtowc-tests (Files): Add them.
5073         (Makefile.am): Arrange to run these tests.
5074         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
5075         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
5076
5077 2011-02-13  Bruno Haible  <bruno@clisp.org>
5078
5079         mbrtowc: Work around native Windows bug.
5080         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
5081         guess when no suitable locale for testing was found.
5082         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
5083
5084 2011-02-13  Bruno Haible  <bruno@clisp.org>
5085
5086         mbsinit: Work around mingw bug.
5087         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
5088         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
5089         Windows.
5090         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
5091
5092 2011-02-13  Bruno Haible  <bruno@clisp.org>
5093
5094         mbsinit: Don't crash for a NULL argument.
5095         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
5096         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
5097
5098 2011-02-13  Bruno Haible  <bruno@clisp.org>
5099
5100         Don't interfere with a program's definition of __attribute__.
5101         * lib/stdio.in.h (__attribute__): Remove definition.
5102         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
5103         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
5104         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
5105         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
5106         * lib/string.in.h (__attribute__): Remove definition.
5107         Reported by Paul Eggert.
5108
5109 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5110
5111         stdlib: don't get in the way of non-GCC __attribute__
5112         See thread starting at
5113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
5114         Revert previous stdlib change, installing the following instead:
5115         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
5116         to get in the way of a non-GCC compiler that supports __attribute__.
5117         (_GL_ATTRIBUTE_RETURN): New macro.
5118         (_Exit): Use it instead of __attribute__.
5119
5120 2011-02-12  Bruno Haible  <bruno@clisp.org>
5121
5122         quotearg test: Avoid test failure on mingw.
5123         * tests/test-quotearg.sh: Convert the locale identifier from native
5124         Windows syntax to Unix syntax.
5125
5126 2011-02-12  Bruno Haible  <bruno@clisp.org>
5127
5128         setlocale: Prefer gnulib's override over libintl's override.
5129         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
5130         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
5131         GNULIB_defined_setlocale is set.
5132
5133 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5134
5135         stdlib: support non-GCC __attribute__
5136
5137         Fix a serious and tricky problem encountered when attempting to
5138         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
5139         5.5, but it crashed due to memory corruption on Solaris 10 with
5140         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
5141         bits that are otherwise zero.  This tagging is optional inside
5142         Emacs but is preferred and is used when __attribute__ ((__aligned
5143         (8))) works, as it does with both recent-enough GCC and with Sun C
5144         5.11.  However, Sun C 5.11 is not GCC and does not #define
5145         __GNUC__ and __GNUC_MINOR__.
5146
5147         When I added the getloadavg module to Emacs, it brought in
5148         stdlib.in.h, which contained this fragment:
5149
5150            #ifndef __attribute__
5151            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
5152            #  define __attribute__(Spec)   /* empty */
5153            # endif
5154            #endif
5155
5156         When files that include <stdlib.h> were compiled with Sun C 5.11,
5157         the above code disabled __attribute__ ((__aligned (8))), which
5158         caused variables to not be properly aligned, which eventually led
5159         to the pointer corruption mentioned above.  (This was a bit hard
5160         to diagnose, unfortunately.)
5161
5162         Several "#define __attribute__(X) /* empty */" code snippets need
5163         to be eradicated from Gnulib to work with non-GCC compilers that
5164         support __attribute__.  The Autoconf way to do this is to test for
5165         each kind of attribute that we want support for, and selectively
5166         enable that in source code.
5167
5168         Fix this problem just for stdlib.h, by adding a test for the
5169         __noreturn__ attribute, and change stdlib.in.h to use that test
5170         when needed.  This technique can be easily generalized to the
5171         other *.in.h files and attributes, and a similar technique can be
5172         used for *.h and *.c files.  This patch is enough to solve the
5173         problem for Emacs + getloadavg, and I thought I'd publish it for
5174         feedback before undertaking further, similar fixes in other
5175         modules.
5176
5177         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
5178         because it's not needed for stdlib.h.  It merely substitutes the
5179         value directly into stdlib.h.  We may well need to #define it, or
5180         similar symbols, for other modules, but it's nice to also have an
5181         option to not #define it for applications like Emacs that do not
5182         need it.
5183
5184         * lib/stdlib.in.h (__attribute__): Do not #define.
5185         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
5186         be defined only if the _Exit module is also used.
5187         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
5188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
5189         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
5190         platforms.
5191         * modules/_Exit (Files): Add m4/attribute.m4.
5192         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
5193         * m4/attribute.m4: New file.
5194
5195 2011-02-12  Bruno Haible  <bruno@clisp.org>
5196
5197         wcsrtombs: Work around bug on native Windows.
5198         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
5199         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
5200         instead of len.
5201         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
5202
5203 2011-02-12  Bruno Haible  <bruno@clisp.org>
5204
5205         mbsrtowcs: Work around bug on native Windows.
5206         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
5207         against mingw bug.
5208         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
5209
5210 2011-02-12  Bruno Haible  <bruno@clisp.org>
5211
5212         Avoid setlocale bugs in tests.
5213         * modules/btowc (Dependencies): Add setlocale.
5214         * modules/c-strcase (Dependencies): Likewise.
5215         * modules/mbmemcasecmp (Dependencies): Likewise.
5216         * modules/mbmemcasecoll (Dependencies): Likewise.
5217         * modules/mbrtowc (Dependencies): Likewise.
5218         * modules/mbscasecmp (Dependencies): Likewise.
5219         * modules/mbscasestr (Dependencies): Likewise.
5220         * modules/mbschr (Dependencies): Likewise.
5221         * modules/mbscspn (Dependencies): Likewise.
5222         * modules/mbsinit (Dependencies): Likewise.
5223         * modules/mbsncasecmp (Dependencies): Likewise.
5224         * modules/mbsnrtowcs (Dependencies): Likewise.
5225         * modules/mbspbrk (Dependencies): Likewise.
5226         * modules/mbspcasecmp (Dependencies): Likewise.
5227         * modules/mbsrchr (Dependencies): Likewise.
5228         * modules/mbsrtowcs (Dependencies): Likewise.
5229         * modules/mbsspn (Dependencies): Likewise.
5230         * modules/mbsstr (Dependencies): Likewise.
5231         * modules/nl_langinfo (Dependencies): Likewise.
5232         * modules/quotearg (Dependencies): Likewise.
5233         * modules/unicase/locale-language (Dependencies): Likewise.
5234         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
5235         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
5236         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
5237         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
5238         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
5239         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
5240         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
5241         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
5242         * modules/vasnprintf-posix (Dependencies): Likewise.
5243         * modules/wcrtomb (Dependencies): Likewise.
5244         * modules/wcsnrtombs (Dependencies): Likewise.
5245         * modules/wcsrtombs (Dependencies): Likewise.
5246
5247 2011-02-12  Bruno Haible  <bruno@clisp.org>
5248
5249         setlocale: Workaround native Windows bug.
5250         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
5251         succeeds but sets LC_CTYPE to "C", report a failure.
5252         * tests/test-setlocale2.sh: New file.
5253         * tests/test-setlocale2.c: New file.
5254         * modules/setlocale-tests (Files): Add the new files.
5255         (Makefile.am): Enable test-setlocale2.sh test.
5256         * doc/posix-functions/setlocale.texi: Mention workaround.
5257
5258 2011-02-11  Bruno Haible  <bruno@clisp.org>
5259
5260         Tests for module 'setlocale'.
5261         * modules/setlocale-tests: New file.
5262         * tests/test-setlocale1.sh: New file.
5263         * tests/test-setlocale1.c: New file.
5264
5265         New module 'setlocale'.
5266         * lib/locale.in.h (setlocale): New declaration.
5267         * lib/setlocale.c: New file, based on
5268         gettext/gettext-runtime/intl/setlocale.c.
5269         * m4/setlocale.m4: New file.
5270         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
5271         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
5272         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
5273         REPLACE_SETLOCALE.
5274         * modules/setlocale: New file.
5275         * tests/test-locale-c++.cc: Test the declaration of setlocale.
5276         * doc/posix-functions/setlocale.texi: Mention the new module.
5277
5278 2011-02-11  Bruno Haible  <bruno@clisp.org>
5279
5280         Prepare for locale dependent tests on mingw.
5281         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
5282         because it has the wrong locale encoding.
5283         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
5284         French_France.1252 instead of "fr".
5285         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
5286         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
5287         because it has the wrong locale encoding.
5288         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
5289         native Windows, try Turkish_Turkey.65001.
5290         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
5291         Chinese_China.54936.
5292
5293         Prepare for locale dependent tests on mingw.
5294         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
5295         differently.
5296         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5297         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5298         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5299         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5300
5301 2011-02-11  Eric Blake  <eblake@redhat.com>
5302
5303         strptime: avoid compiler warnings
5304         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
5305         compiler warnings about dead code.
5306         Reported by Daniel P. Berrange.
5307
5308 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
5309
5310         doc: update users.txt
5311         * users.txt: Add rcs.
5312
5313 2011-02-10  John W. Eaton  <jwe@gnu.org>
5314
5315         doc: update users.txt
5316         * users.txt: Add octave.
5317
5318 2011-02-10  Jim Meyering  <meyering@redhat.com>
5319
5320         doc: update users.txt
5321         * users.txt: Add iwhd.
5322
5323 2011-02-09  Bruno Haible  <bruno@clisp.org>
5324
5325         gnulib-tool: Make copyright notice adjustment more robust.
5326         * gnulib-tool (func_import): In sed_transform_main_lib_file,
5327         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
5328         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
5329         License".
5330         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
5331
5332 2011-02-06  Bruno Haible  <bruno@clisp.org>
5333
5334         New module 'towctrans'.
5335         * modules/towctrans: New file.
5336         * lib/wctype.in.h (towctrans): New declaration.
5337         * lib/towctrans.c: New file.
5338         * lib/towctrans-impl.h: New file.
5339         * m4/towctrans.m4: New file.
5340         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
5341         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
5342         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
5343         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
5344         * doc/posix-functions/towctrans.texi: Mention the new module.
5345
5346 2011-02-06  Bruno Haible  <bruno@clisp.org>
5347
5348         New module 'wctrans'.
5349         * modules/wctrans: New file.
5350         * lib/wctype.in.h (wctrans): New declaration.
5351         * lib/wctrans.c: New file.
5352         * lib/wctrans-impl.h: New file.
5353         * m4/wctrans.m4: New file.
5354         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
5355         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
5356         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
5357         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
5358         * doc/posix-functions/wctrans.texi: Mention the new module.
5359
5360 2011-02-06  Bruno Haible  <bruno@clisp.org>
5361
5362         New module 'iswctype'.
5363         * modules/iswctype: New file.
5364         * lib/wctype.in.h (iswctype): New declaration.
5365         * lib/iswctype.c: New file.
5366         * lib/iswctype-impl.h: New file.
5367         * m4/iswctype.m4: New file.
5368         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
5369         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
5370         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
5371         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
5372         * doc/posix-functions/iswctype.texi: Mention the new module and the
5373         HP-UX 11.00 problem.
5374
5375 2011-02-06  Bruno Haible  <bruno@clisp.org>
5376
5377         New module 'wctype'.
5378         * modules/wctype: Change to represent the wctype() substitute.
5379         * lib/wctype.in.h (wctype): New declaration.
5380         * lib/wctype.c: New file.
5381         * lib/wctype-impl.h: New file.
5382         * m4/wctype.m4: New file.
5383         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
5384         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
5385         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
5386         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
5387         * doc/posix-functions/wctype.texi: Mention the new module and the
5388         HP-UX 11.00 problem.
5389
5390 2011-02-06  Bruno Haible  <bruno@clisp.org>
5391
5392         wctype-h: Ensure wctype_t and wctrans_t are defined.
5393         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
5394         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5395         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5396         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
5397         HAVE_WCTRANS_T.
5398         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
5399
5400 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5401
5402         flock: fix license typo
5403
5404         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
5405         omitted.
5406
5407 2011-02-08  Bruno Haible  <bruno@clisp.org>
5408
5409         Split large sed scripts, for HP-UX sed.
5410         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
5411         to avoid HP-UX limit of 99 commands, in the near future.
5412         * modules/stdlib (Makefile.am): Likewise.
5413         * modules/unistd (Makefile.am): Likewise.
5414         * modules/wchar (Makefile.am): Likewise.
5415         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5416         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
5417         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
5418
5419 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5420             Bruno Haible  <bruno@clisp.org>
5421
5422         stdlib: improve random_r modularization
5423         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
5424         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
5425         you also need the random_r module to get this material right.
5426         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
5427         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
5428         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
5429
5430 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5431
5432         stdlib: don't depend on stdint
5433         * lib/stdlib.in.h: Don't include <stdint.h> merely because
5434         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
5435         be independent of whether stdint.h is needed.
5436         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
5437         here, instead of ...
5438         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
5439         struct random_data should be using the random_r module, not just
5440         the stdlib module (which wouldn't make sense: what package needs
5441         just struct random_data without also needing random_r?).
5442         * modules/stdlib (Depends-on): Remove stdint.
5443
5444         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
5445         See the thread rooted at
5446         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
5447         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
5448         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
5449         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
5450         __VMS)); previously it was always included (via fcntl--.h).
5451         (getloadavg): Do not use c_strtod.  Instead, approximate it by
5452         hand; this is good enough for load averages.  Also, do not use
5453         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
5454         flags directly if available and don't bother otherwise.  (Packages
5455         that need the extra reliability should use the modules that define
5456         these flags on older platforms that lack them.)
5457         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
5458         fcntl-safer.
5459
5460 2011-02-08  Jim Meyering  <meyering@redhat.com>
5461
5462         di-set.h, ino-map.h: add multiple-inclusion guard
5463         Technically, the guard is required only for ino-map.h, due to its
5464         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
5465         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
5466         * lib/ino-map.h: Likewise.
5467
5468 2011-02-06  Bruno Haible  <bruno@clisp.org>
5469
5470         iswblank: Ensure declaration on glibc systems.
5471         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
5472         * modules/iswblank (Dependencies): Add 'extensions'.
5473         * doc/posix-functions/iswblank.texi: Document the glibc problem.
5474
5475 2011-02-06  Bruno Haible  <bruno@clisp.org>
5476
5477         New module 'iswblank'.
5478         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
5479         * modules/iswblank: New file.
5480         * modules/wctype-h (Files): Remove lib/iswblank.c.
5481         (Makefile.am): Substitute GNULIB_ISWBLANK.
5482         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
5483         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
5484         (gl_WCTYPE_H_DEFAULTS): New macro.
5485         (gl_WCTYPE_H): Require it. Remove iswblank related code.
5486         * modules/iswblank-tests: New file.
5487         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
5488         * tests/test-wctype-h.c (main): Remove iswblank tests.
5489         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
5490         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
5491         of 'wctype-h'.
5492         * NEWS: Mention the change.
5493         * modules/mbchar (Depends-on): Add iswblank.
5494
5495 2011-02-08  Bruno Haible  <bruno@clisp.org>
5496
5497         di-set tests: Refactor.
5498         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
5499         unnecessary includes.
5500         (ASSERT): Remove macro.
5501         (main): Make C90 compliant by avoiding variable declaration after
5502         statement.
5503         * modules/di-set-tests (Files): Add tests/macros.h.
5504
5505 2011-02-08  Bruno Haible  <bruno@clisp.org>
5506
5507         ino-map tests: Refactor.
5508         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
5509         unnecessary includes.
5510         (ASSERT): Remove macro.
5511         (main): Make C90 compliant by avoiding variable declaration after
5512         statement.
5513         * modules/ino-map-tests (Files): Add tests/macros.h.
5514
5515 2011-02-08  Jim Meyering  <meyering@redhat.com>
5516
5517         di-set: add "const" to a cast
5518         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
5519         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
5520
5521 2011-02-06  Bruno Haible  <bruno@clisp.org>
5522
5523         Rename module 'wctype' to 'wctype-h'.
5524         * modules/wctype-h: Renamed from modules/wctype.
5525         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
5526         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
5527         (Files, Depends-on, Makefile.am): Update.
5528         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
5529         (Files, Makefile.am): Update.
5530         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
5531         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
5532         * doc/posix-headers/wctype.texi: Update.
5533         * doc/posix-functions/iswalnum.texi: Update.
5534         * doc/posix-functions/iswalpha.texi: Update.
5535         * doc/posix-functions/iswblank.texi: Update.
5536         * doc/posix-functions/iswcntrl.texi: Update.
5537         * doc/posix-functions/iswdigit.texi: Update.
5538         * doc/posix-functions/iswgraph.texi: Update.
5539         * doc/posix-functions/iswlower.texi: Update.
5540         * doc/posix-functions/iswprint.texi: Update.
5541         * doc/posix-functions/iswpunct.texi: Update.
5542         * doc/posix-functions/iswspace.texi: Update.
5543         * doc/posix-functions/iswupper.texi: Update.
5544         * doc/posix-functions/iswxdigit.texi: Update.
5545         * doc/posix-functions/towlower.texi: Update.
5546         * doc/posix-functions/towupper.texi: Update.
5547         * NEWS: Mention the change.
5548         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
5549         * modules/mbchar (Dependencies): Likewise.
5550         * modules/mbswidth (Dependencies): Likewise.
5551         * modules/quotearg (Dependencies): Likewise.
5552         * modules/regex (Dependencies): Likewise.
5553         * modules/wcscasecmp (Dependencies): Likewise.
5554         * modules/wcsncasecmp (Dependencies): Likewise.
5555         * modules/wcwidth (Dependencies): Likewise.
5556
5557 2011-02-06  Bruno Haible  <bruno@clisp.org>
5558
5559         New module 'wcswidth'.
5560         * modules/wcswidth: New file.
5561         * lib/wchar.in.h (wcswidth): New declaration.
5562         * lib/wcswidth.c: New file.
5563         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
5564         * m4/wcswidth.m4: New file.
5565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
5566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
5567         REPLACE_WCSWIDTH.
5568         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
5569         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
5570         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
5571         * doc/posix-functions/wcswidth.texi: Mention the new module.
5572
5573 2011-02-06  Bruno Haible  <bruno@clisp.org>
5574
5575         New module 'wcstok'.
5576         * modules/wcstok: New file.
5577         * lib/wchar.in.h (wcstok): New declaration.
5578         * lib/wcstok.c: New file.
5579         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
5580         * m4/wcstok.m4: New file.
5581         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
5582         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
5583         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
5584         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
5585         * doc/posix-functions/wcstok.texi: Mention the new module.
5586
5587 2011-02-06  Bruno Haible  <bruno@clisp.org>
5588
5589         New module 'wcsstr'.
5590         * modules/wcsstr: New file.
5591         * lib/wchar.in.h (wcsstr): New declaration.
5592         * lib/wcsstr.c: New file.
5593         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
5594         * m4/wcsstr.m4: New file.
5595         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
5596         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
5597         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
5598         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
5599         * doc/posix-functions/wcsstr.texi: Mention the new module.
5600
5601 2011-02-06  Bruno Haible  <bruno@clisp.org>
5602
5603         New module 'wcspbrk'.
5604         * modules/wcspbrk: New file.
5605         * lib/wchar.in.h (wcspbrk): New declaration.
5606         * lib/wcspbrk.c: New file.
5607         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
5608         * m4/wcspbrk.m4: New file.
5609         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
5610         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
5611         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
5612         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
5613         * doc/posix-functions/wcspbrk.texi: Mention the new module.
5614
5615 2011-02-06  Bruno Haible  <bruno@clisp.org>
5616
5617         New module 'wcsspn'.
5618         * modules/wcsspn: New file.
5619         * lib/wchar.in.h (wcsspn): New declaration.
5620         * lib/wcsspn.c: New file.
5621         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
5622         * m4/wcsspn.m4: New file.
5623         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
5624         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
5625         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
5626         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
5627         * doc/posix-functions/wcsspn.texi: Mention the new module.
5628
5629 2011-02-06  Bruno Haible  <bruno@clisp.org>
5630
5631         New module 'wcscspn'.
5632         * modules/wcscspn: New file.
5633         * lib/wchar.in.h (wcscspn): New declaration.
5634         * lib/wcscspn.c: New file.
5635         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
5636         * m4/wcscspn.m4: New file.
5637         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
5638         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
5639         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
5640         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
5641         * doc/posix-functions/wcscspn.texi: Mention the new module.
5642
5643 2011-02-06  Bruno Haible  <bruno@clisp.org>
5644
5645         New module 'wcsrchr'.
5646         * modules/wcsrchr: New file.
5647         * lib/wchar.in.h (wcsrchr): New declaration.
5648         * lib/wcsrchr.c: New file.
5649         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
5650         * m4/wcsrchr.m4: New file.
5651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
5652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
5653         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
5654         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
5655         * doc/posix-functions/wcsrchr.texi: Mention the new module.
5656
5657 2011-02-06  Bruno Haible  <bruno@clisp.org>
5658
5659         New module 'wcschr'.
5660         * modules/wcschr: New file.
5661         * lib/wchar.in.h (wcschr): New declaration.
5662         * lib/wcschr.c: New file.
5663         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
5664         * m4/wcschr.m4: New file.
5665         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
5666         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
5667         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
5668         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
5669         * doc/posix-functions/wcschr.texi: Mention the new module.
5670
5671 2011-02-06  Bruno Haible  <bruno@clisp.org>
5672
5673         New module 'wcsdup'.
5674         * modules/wcsdup: New file.
5675         * lib/wchar.in.h (wcsdup): New declaration.
5676         * lib/wcsdup.c: New file.
5677         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
5678         * m4/wcsdup.m4: New file.
5679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
5680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
5681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
5682         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
5683         * doc/posix-functions/wcsdup.texi: Mention the new module.
5684
5685 2011-02-06  Bruno Haible  <bruno@clisp.org>
5686
5687         New module 'wcsxfrm'.
5688         * modules/wcsxfrm: New file.
5689         * lib/wchar.in.h (wcsxfrm): New declaration.
5690         * lib/wcsxfrm.c: New file.
5691         * lib/wcsxfrm-impl.h: New file.
5692         * m4/wcsxfrm.m4: New file.
5693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
5694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
5695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
5696         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
5697         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
5698
5699 2011-02-06  Bruno Haible  <bruno@clisp.org>
5700
5701         New module 'wcscoll'.
5702         * modules/wcscoll: New file.
5703         * lib/wchar.in.h (wcscoll): New declaration.
5704         * lib/wcscoll.c: New file.
5705         * lib/wcscoll-impl.h: New file.
5706         * m4/wcscoll.m4: New file.
5707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
5708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
5709         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
5710         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
5711         * doc/posix-functions/wcscoll.texi: Mention the new module.
5712
5713 2011-02-06  Bruno Haible  <bruno@clisp.org>
5714
5715         New module 'wcsncasecmp'.
5716         * modules/wcsncasecmp: New file.
5717         * lib/wchar.in.h (wcsncasecmp): New declaration.
5718         * lib/wcsncasecmp.c: New file.
5719         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
5720         * m4/wcsncasecmp.m4: New file.
5721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
5722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
5723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
5724         HAVE_WCSNCASECMP.
5725         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
5726         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
5727
5728 2011-02-06  Bruno Haible  <bruno@clisp.org>
5729
5730         New module 'wcscasecmp'.
5731         * modules/wcscasecmp: New file.
5732         * lib/wchar.in.h (wcscasecmp): New declaration.
5733         * lib/wcscasecmp.c: New file.
5734         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
5735         * m4/wcscasecmp.m4: New file.
5736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
5737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
5738         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
5739         HAVE_WCSCASECMP.
5740         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
5741         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
5742
5743 2011-02-05  Bruno Haible  <bruno@clisp.org>
5744
5745         New module 'wcsncmp'.
5746         * modules/wcsncmp: New file.
5747         * lib/wchar.in.h (wcsncmp): New declaration.
5748         * lib/wcsncmp.c: New file.
5749         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
5750         * m4/wcsncmp.m4: New file.
5751         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
5752         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
5753         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
5754         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
5755         * doc/posix-functions/wcsncmp.texi: Mention the new module.
5756
5757 2011-02-05  Bruno Haible  <bruno@clisp.org>
5758
5759         New module 'wcscmp'.
5760         * modules/wcscmp: New file.
5761         * lib/wchar.in.h (wcscmp): New declaration.
5762         * lib/wcscmp.c: New file.
5763         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
5764         * m4/wcscmp.m4: New file.
5765         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
5766         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
5767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
5768         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
5769         * doc/posix-functions/wcscmp.texi: Mention the new module.
5770
5771 2011-02-05  Bruno Haible  <bruno@clisp.org>
5772
5773         New module 'wcsncat'.
5774         * modules/wcsncat: New file.
5775         * lib/wchar.in.h (wcsncat): New declaration.
5776         * lib/wcsncat.c: New file.
5777         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
5778         * m4/wcsncat.m4: New file.
5779         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
5780         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
5781         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
5782         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
5783         * doc/posix-functions/wcsncat.texi: Mention the new module.
5784
5785 2011-02-05  Bruno Haible  <bruno@clisp.org>
5786
5787         New module 'wcscat'.
5788         * modules/wcscat: New file.
5789         * lib/wchar.in.h (wcscat): New declaration.
5790         * lib/wcscat.c: New file.
5791         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
5792         * m4/wcscat.m4: New file.
5793         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
5794         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
5795         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
5796         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
5797         * doc/posix-functions/wcscat.texi: Mention the new module.
5798
5799 2011-02-05  Bruno Haible  <bruno@clisp.org>
5800
5801         New module 'wcpncpy'.
5802         * modules/wcpncpy: New file.
5803         * lib/wchar.in.h (wcpncpy): New declaration.
5804         * lib/wcpncpy.c: New file.
5805         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
5806         * m4/wcpncpy.m4: New file.
5807         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
5808         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
5809         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
5810         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
5811         * doc/posix-functions/wcpncpy.texi: Mention the new module.
5812
5813 2011-02-05  Bruno Haible  <bruno@clisp.org>
5814
5815         New module 'wcsncpy'.
5816         * modules/wcsncpy: New file.
5817         * lib/wchar.in.h (wcsncpy): New declaration.
5818         * lib/wcsncpy.c: New file.
5819         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
5820         * m4/wcsncpy.m4: New file.
5821         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
5822         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
5823         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
5824         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
5825         * doc/posix-functions/wcsncpy.texi: Mention the new module.
5826
5827 2011-02-05  Bruno Haible  <bruno@clisp.org>
5828
5829         New module 'wcpcpy'.
5830         * modules/wcpcpy: New file.
5831         * lib/wchar.in.h (wcpcpy): New declaration.
5832         * lib/wcpcpy.c: New file.
5833         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
5834         * m4/wcpcpy.m4: New file.
5835         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
5836         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
5837         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
5838         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
5839         * doc/posix-functions/wcpcpy.texi: Mention the new module.
5840
5841 2011-02-05  Bruno Haible  <bruno@clisp.org>
5842
5843         New module 'wcscpy'.
5844         * modules/wcscpy: New file.
5845         * lib/wchar.in.h (wcscpy): New declaration.
5846         * lib/wcscpy.c: New file.
5847         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
5848         * m4/wcscpy.m4: New file.
5849         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
5850         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
5851         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
5852         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
5853         * doc/posix-functions/wcscpy.texi: Mention the new module.
5854
5855 2011-02-05  Bruno Haible  <bruno@clisp.org>
5856
5857         New module 'wcsnlen'.
5858         * modules/wcsnlen: New file.
5859         * lib/wchar.in.h (wcsnlen): New declaration.
5860         * lib/wcsnlen.c: New file.
5861         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
5862         * m4/wcsnlen.m4: New file.
5863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
5864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
5865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
5866         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
5867         * doc/posix-functions/wcsnlen.texi: Mention the new module.
5868
5869 2011-02-05  Bruno Haible  <bruno@clisp.org>
5870
5871         New module 'wcslen'.
5872         * modules/wcslen: New file.
5873         * lib/wchar.in.h (wcslen): New declaration.
5874         * lib/wcslen.c: New file.
5875         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
5876         * m4/wcslen.m4: New file.
5877         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
5878         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
5879         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
5880         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
5881         * doc/posix-functions/wcslen.texi: Mention the new module.
5882
5883 2011-02-05  Bruno Haible  <bruno@clisp.org>
5884
5885         New module 'wmemset'.
5886         * modules/wmemset: New file.
5887         * lib/wchar.in.h (wmemset): New declaration.
5888         * lib/wmemset.c: New file.
5889         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
5890         * m4/wmemset.m4: New file.
5891         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
5892         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
5893         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
5894         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
5895         * doc/posix-functions/wmemset.texi: Mention the new module.
5896
5897 2011-02-05  Bruno Haible  <bruno@clisp.org>
5898
5899         New module 'wmemmove'.
5900         * modules/wmemmove: New file.
5901         * lib/wchar.in.h (wmemmove): New declaration.
5902         * lib/wmemmove.c: New file.
5903         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
5904         * m4/wmemmove.m4: New file.
5905         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
5906         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
5907         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
5908         HAVE_WMEMMOVE.
5909         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
5910         * doc/posix-functions/wmemmove.texi: Mention the new module.
5911
5912 2011-02-05  Bruno Haible  <bruno@clisp.org>
5913
5914         New module 'wmemcpy'.
5915         * modules/wmemcpy: New file.
5916         * lib/wchar.in.h (wmemcpy): New declaration.
5917         * lib/wmemcpy.c: New file.
5918         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
5919         * m4/wmemcpy.m4: New file.
5920         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
5921         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
5922         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
5923         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
5924         * doc/posix-functions/wmemcpy.texi: Mention the new module.
5925
5926 2011-02-05  Bruno Haible  <bruno@clisp.org>
5927
5928         New module 'wmemcmp'.
5929         * modules/wmemcmp: New file.
5930         * lib/wchar.in.h (wmemcmp): New declaration.
5931         * lib/wmemcmp.c: New file.
5932         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
5933         * m4/wmemcmp.m4: New file.
5934         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
5935         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
5936         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
5937         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
5938         * doc/posix-functions/wmemcmp.texi: Mention the new module.
5939
5940 2011-02-07  Jim Meyering  <meyering@redhat.com>
5941
5942         di-set, ino-map: new modules, from coreutils
5943         * lib/di-set.c: New file.
5944         * lib/di-set.h: Likewise.
5945         * lib/ino-map.c: Likewise.
5946         * lib/ino-map.h: Likewise.
5947         * modules/di-set: Likewise.
5948         * modules/di-set-tests: Likewise.
5949         * modules/ino-map: Likewise.
5950         * modules/ino-map-tests: Likewise.
5951         * tests/test-di-set.c: Likewise.
5952         * tests/test-ino-map.c: Likewise.
5953
5954 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
5955
5956         getloadavg: merge minor changes from Emacs
5957
5958         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
5959         (getloadavg): Use memset, not bzero.
5960
5961         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
5962         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5963         clash (bug#86).
5964
5965 2010-11-14  Bruno Haible  <bruno@clisp.org>
5966
5967         Allow multiple gnulib generated replacements to coexist.
5968         * lib/getopt.in.h (struct option): Avoid identical redefinition.
5969         * lib/inttypes.in.h (imaxdiv_t): Likewise.
5970         * lib/langinfo.in.h (nl_item): Likewise.
5971         * lib/math.in.h (_NaN, NAN): Likewise.
5972         * lib/netdb.in.h (struct addrinfo): Likewise.
5973         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5974         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5975         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5976         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5977         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5978         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5979         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5980         pthread_mutexattr_init, pthread_mutexattr_settype,
5981         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5982         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5983         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5984         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5985         * lib/sched.in.h (struct sched_param): Likewise.
5986         * lib/se-selinux.in.h (security_class_t, security_context_t,
5987         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5988         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5989         lsetfilecon, fsetfilecon, security_check_context,
5990         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5991         Likewise.
5992         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5993         Likewise.
5994         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5995         _gl_function_taking_int_returning_void_t, union sigval,
5996         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5997         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5998         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5999         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
6000         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
6001         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
6002         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
6003         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
6004         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
6005         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
6006         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
6007         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
6008         socklen_t, rpl_fd_isset): Likewise.
6009         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
6010         * lib/sys_time.in.h (struct timeval): Likewise.
6011         * lib/sys_times.in.h (struct tms): Likewise.
6012         * lib/sys_utsname.in.h (struct utsname):
6013         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
6014         * lib/unistd.in.h (getpagesize): Likewise.
6015         * lib/wchar.in.h (mbstate_t): Likewise.
6016         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6017         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
6018         towlower, towupper): Likewise.
6019         Reported by Sam Steingold <sds@gnu.org>.
6020
6021 2011-02-05  Eric Blake  <eblake@redhat.com>
6022
6023         unsetenv: work around Haiku issues
6024         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
6025         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
6026
6027 2010-12-30  Bruce Korb  <bkorb@gnu.org>
6028
6029         libposix: avoid calling error() within libposix
6030         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
6031         is defined.
6032
6033 2011-02-05  Eric Blake  <eblake@redhat.com>
6034
6035         strerror_r-posix: port to cygwin
6036         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
6037         implementation.
6038         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
6039         * tests/test-strerror_r.c (main): Fix test.
6040         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
6041         issue.
6042
6043 2011-02-05  Bruno Haible  <bruno@clisp.org>
6044
6045         New module 'wmemchr'.
6046         * modules/wmemchr: New file.
6047         * lib/wchar.in.h (wmemchr): New declaration.
6048         * lib/wmemchr.c: New file.
6049         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
6050         * m4/wmemchr.m4: New file.
6051         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
6052         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
6053         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
6054         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
6055         * doc/posix-functions/wmemchr.texi: Mention the new module.
6056
6057 2011-02-04  Eric Blake  <eblake@redhat.com>
6058
6059         fdopendir: detect FreeBSD bug
6060         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
6061         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
6062
6063 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6064
6065         stdbool: do not define HAVE_STDBOOL_H
6066         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
6067         AC_HEADER_STDBOOL.  All uses changed.  Do not define
6068         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
6069         imported from the latest Autoconf git.  It was motivated by Emacs,
6070         which uses gnulib but does not need HAVE_STDBOOL_H.
6071
6072 2011-02-04  Bruno Haible  <bruno@clisp.org>
6073
6074         wcsnrtombs: Prepare for new module wwcsnrtombs.
6075         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
6076         * lib/wcsnrtombs.c: Include it.
6077         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
6078
6079         wcsrtombs: Prepare for new module wwcsrtombs.
6080         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
6081         * lib/wcsrtombs.c: Include it.
6082         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
6083
6084         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
6085         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
6086         * lib/mbsnrtowcs.c: Include it.
6087         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
6088
6089         mbsrtowcs: Prepare for new module mbsrtowwcs.
6090         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
6091         * lib/mbsrtowcs.c: Include it.
6092         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
6093
6094 2011-02-04  Bruno Haible  <bruno@clisp.org>
6095
6096         vasnprintf: Reduce use of malloc for small format strings.
6097         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
6098         (arguments): Add room for the first 7 arguments.
6099         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
6100         (char_directives, u8_directives, u16_directives, u32_directives): Add
6101         room for the first 7 directives.
6102         * lib/printf-parse.c: Include <string.h>.
6103         (PRINTF_PARSE): Change memory handling code so that it uses the first
6104         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
6105         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
6106         Reported by Pádraig Brady <P@draigbrady.com>.
6107
6108 2011-01-31  Eric Blake  <eblake@redhat.com>
6109
6110         dup2: work around Haiku bug
6111         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
6112         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
6113         * doc/posix-functions/dup2.texi (dup2): Document the bug.
6114         * tests/test-dup2.c (main): Enhance test.
6115
6116 2011-01-31  Simon Josefsson  <simon@josefsson.org>
6117
6118         doc: off_t is not available in eglibc 2.11.2 stdio.h.
6119         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
6120         declared by eglibc 2.11.2.
6121         * lib/stdio.in.h: Likewise.
6122
6123 2011-01-31  Eric Blake  <eblake@redhat.com>
6124
6125         ignore-value: add missing test dependency
6126         * tests/test-ignore-value.c: Revert previous change; stdio.h
6127         provides off_t.
6128         * modules/ignore-value-tests (Depends-on): Add missing dependency.
6129
6130 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
6131
6132         mktime: clarify long_int width checking
6133         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
6134         the top level, to make it clearer that the assumption about
6135         long_int width is being checked.  See
6136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
6137
6138 2011-01-30  Simon Josefsson  <simon@josefsson.org>
6139
6140         ignore-value: Fix self-test.
6141         * tests/test-ignore-value.c: Include sys/types.h for off_t.
6142
6143 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6144
6145         TYPE_MAXIMUM: avoid theoretically undefined behavior
6146         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
6147         negative number, which the C Standard says has undefined behavior.
6148         In practice this is not a problem, but might as well do it by the book.
6149         Reported by Rich Felker and Eric Blake; see
6150         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
6151         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
6152         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6154         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
6155         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6156         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
6157
6158         mktime: #undef mktime before #defining it
6159         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
6160
6161         mktime: systematically normalize tm_isdst comparisons
6162         * lib/mktime.c (isdst_differ): New function.
6163         (__mktime_internal): Use it systematically for all isdst comparisons.
6164         This completes the fix for libc BZ #6723, and removes the need for
6165         normalizing tm_isdst.  See
6166         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
6167         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
6168
6169         mktime: fix some integer overflow issues and sidestep the rest
6170
6171         This was prompted by a bug report by Benjamin Lindner for MinGW
6172         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
6173         His bug is due to signed integer overflow (0 - INT_MIN), and I
6174         I scanned through mktime.c looking for other integer overflow
6175         problems, fixing all the bugs I found.
6176
6177         Although the C Standard says the resulting code is still not safe
6178         in the presence of integer overflow, in practice it should be good
6179         enough for all real-world two's-complement implementations, except
6180         for debugging environments that deliberately trap on integer
6181         overflow (e.g., gcc -ftrapv).
6182
6183         * lib/mktime.c (WRAPV): New macro.
6184         (SHR): Also check that long_int and time_t shift right in the
6185         usual way, before using the fast-but-unportable method.
6186         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
6187         used.  The code already assumed two's complement, so there's
6188         no need to test for alternatives.  All uses removed.
6189         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
6190         the C standard.  Problem reported by Rich Felker in
6191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
6192         (twos_complement_arithmetic): Also check long_int and time_t.
6193         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
6194         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
6195         (__mktime_internal): Avoid integer overflow with unary subtraction
6196         in two instances where -1 - X is an adequate replacement for -X,
6197         since the calculations are approximate.
6198
6199 2011-01-29  Eric Blake  <eblake@redhat.com>
6200
6201         mktime: avoid infinite loop
6202         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
6203         type; behavior is still undefined but portable to all known targets.
6204         Reported by Rich Felker.
6205
6206 2011-01-29  Simon Josefsson  <simon@josefsson.org>
6207
6208         rename, unlink, same-inode: Relicense.
6209         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
6210         * modules/unlink (License): Likewise.
6211         * modules/same-inode (License): Likewise.
6212
6213 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6214
6215         mktime: avoid problems on NetBSD 5 / i386
6216         * lib/mktime.c (long_int): New type.  This works around a problem
6217         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
6218         but time_t is 64 bits, and where I expect the existing code is
6219         wrong in some cases.
6220         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
6221         (ydhms_diff): Bring back the compile-time check for wide-enough
6222         year and yday.
6223
6224         mktime: fix misspelling in comment
6225         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
6226         This merges all recent glibc changes of importance.
6227
6228 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6229
6230         move-if-change: cope with concurrent mv of identical file.
6231         * build-aux/move-if-change (CMPPROG): Accept environment
6232         variable as an override for `cmp'.
6233         (usage): Document CMPPROG.
6234         Adjust comparison to drop stdout.  Cope with failure of mv if
6235         the target file exists and is identical to the source, for
6236         parallel builds.
6237         Report from H.J. Lu against binutils in PR binutils/12283.
6238
6239 2011-01-28  Bruce Korb  <bkorb@gnu.org>
6240
6241         * users.txt: Mention sharutils.
6242
6243 2011-01-28  Simon Josefsson  <simon@josefsson.org>
6244
6245         * users.txt: Mention OATH Toolkit.
6246
6247 2011-01-27  Bruno Haible  <bruno@clisp.org>
6248
6249         Prepare for supporting FreeBSD 10.
6250         * build-aux/config.libpath: Remove handling of freebsd1*.
6251
6252 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
6253
6254         Prepare for supporting FreeBSD 10.
6255         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
6256         match FreeBSD 10.0.
6257
6258 2011-01-27  Bruno Haible  <bruno@clisp.org>
6259
6260         vma-iter, get-rusage-as: Add OpenBSD support.
6261         * modules/vma-iter (configure.ac): Test for mquery.
6262         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
6263         * lib/vma-iter.c: Include <sys/mman.h>.
6264         (vma_iterate): Add an implementation based on mquery().
6265         * lib/resource-ext.h (get_rusage_as): Update comments.
6266         * lib/get-rusage-as.c: Likewise.
6267         * lib/get-rusage-data.c: Likewise.
6268
6269 2011-01-26  Karl Berry  <karl@gnu.org>
6270
6271         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
6272         variables to make it easier to override the makeinfo program used.
6273
6274 2011-01-26  Eric Blake  <eblake@redhat.com>
6275
6276         fcntl: work around Haiku F_DUPFD bugs
6277         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
6278         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
6279         cloexec bit on duplication.
6280         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
6281
6282 2011-01-26  Bruno Haible  <bruno@clisp.org>
6283
6284         Enable memory leak tests on AIX.
6285         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
6286         * tests/test-fprintf-posix3.c (main): Likewise.
6287
6288 2011-01-26  Bruno Haible  <bruno@clisp.org>
6289
6290         Tests for module 'get-rusage-data'.
6291         * modules/get-rusage-data-tests: New file.
6292         * tests/test-get-rusage-data.c: New file.
6293
6294         New module 'get-rusage-data'.
6295         * lib/resource-ext.h (get_rusage_data): New declaration.
6296         * lib/get-rusage-data.c: New file.
6297         * modules/get-rusage-data: New file.
6298
6299 2011-01-25  Bruno Haible  <bruno@clisp.org>
6300
6301         get-rusage-as: Allow for easier testing.
6302         * lib/resource-ext.h (get_rusage_as): Add comment.
6303         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
6304         (main): New function for interactive testing.
6305
6306 2011-01-25  Bruno Haible  <bruno@clisp.org>
6307
6308         vma-iter: Treat Haiku like BeOS.
6309         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
6310         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
6311
6312 2011-01-25  Eric Blake  <eblake@redhat.com>
6313
6314         c-stack: fix regression on cygwin when libsigsegv is present
6315         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
6316
6317 2011-01-24  Bruno Haible  <bruno@clisp.org>
6318
6319         vma-iter: Avoid empty intervals.
6320         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
6321         on an empty interval.
6322
6323 2011-01-24  Jim Meyering  <meyering@redhat.com>
6324
6325         u64: remove unnecessary #include
6326         * lib/u64.h: Don't include <stddef.h>.  It was not used.
6327
6328 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6329
6330         Allow the user to avoid the HAVE_RAW_DECL_* macros.
6331         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
6332
6333 2011-01-23  Bruno Haible  <bruno@clisp.org>
6334
6335         New module 'vma-iter'.
6336         * lib/vma-iter.h: New file.
6337         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
6338         * modules/vma-iter: New file.
6339         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
6340         for get_rusage_as_via_iterator.
6341         (vma_iterate_callback): New function.
6342         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
6343         * modules/get-rusage-as (Depends-on): Add vma-iter.
6344
6345 2011-01-23  Bruno Haible  <bruno@clisp.org>
6346
6347         uninorm: Tweak includes.
6348         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
6349         Reported by Jim Meyering.
6350
6351 2011-01-23  Bruno Haible  <bruno@clisp.org>
6352
6353         get-rusage-as: Improve on NetBSD.
6354         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
6355         /proc, like on FreeBSD.
6356
6357 2011-01-23  Jim Meyering  <meyering@redhat.com>
6358
6359         xreadlink.h: remove unnecessary #include
6360         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
6361
6362         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
6363         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
6364
6365 2011-01-23  Bruno Haible  <bruno@clisp.org>
6366
6367         get-rusage-as: Fix bug.
6368         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
6369         original limit when aborting the first loop.
6370
6371 2011-01-23  Bruno Haible  <bruno@clisp.org>
6372
6373         wctype: Ensure valid C syntax.
6374         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
6375         unconditionally, instead of gl_NEXT_HEADERS conditionally.
6376
6377 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
6378
6379         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
6380         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
6381         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
6382         as they are needed only for configure's test case.
6383         This removes two unnecessary symbols from config.h.
6384
6385         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
6386         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
6387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
6388         AC_CHECK_HEADERS_ONCE on a header that we also invoke
6389         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
6390         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
6391         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
6392         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6393         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6394         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6395         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6396         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6397         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6399         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6400         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6401         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6402         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6403
6404 2011-01-21  Eric Blake  <eblake@redhat.com>
6405
6406         maintainer-makefile: work with older git for submodule check
6407         * top/maint.mk (public-submodule-commit): Rewrite to avoid
6408         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
6409         Reported by Matthias Bolte.
6410
6411         bootstrap: minor portability fixes
6412         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
6413         (usage): Omit leading capital and trailing . on help phrases, per
6414         GNU Coding Standards.
6415         (check_versions, top level): Prefix messages with script name.
6416
6417 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
6418
6419         bootstrap: support --no-git option
6420         * build-aux/bootstrap: Add --no-git option, to be used when
6421         --gnulib-srcdir points to the exact desired checkout.
6422
6423 2011-01-21  Eric Blake  <eblake@redhat.com>
6424
6425         strerror_r-posix: work with glibc 2.13
6426         * lib/strerror_r.c (strerror_r): Fix return type.
6427
6428 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6429             Bruno Haible  <bruno@clisp.org>
6430
6431         uN_strstr: New unit tests.
6432         * modules/unistr/u8-strstr-tests: New file.
6433         * modules/unistr/u16-strstr-tests: New file.
6434         * modules/unistr/u32-strstr-tests: New file.
6435         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
6436         * tests/unistr/test-u8-strstr.c: New file.
6437         * tests/unistr/test-u16-strstr.c: New file.
6438         * tests/unistr/test-u32-strstr.c: New file.
6439
6440 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6441             Bruno Haible  <bruno@clisp.org>
6442
6443         Make uN_strstr functions O(n) worst-case.
6444         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
6445         16-bit and 32-bit unit cases, use the unibyte algorithm from
6446         lib/mbsstr.c.
6447         * lib/unistr/u8-strstr.c: Include <string.h>.
6448         (UNIT_IS_UINT8_T): New macro.
6449         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
6450         (U_STRLEN, U_STRNLEN): New macros.
6451         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
6452         (U_STRLEN, U_STRNLEN): New macros.
6453         * modules/unistr/u8-strstr (Depends-on): Add strstr.
6454         (configure.ac): Update required libunistring version.
6455         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
6456         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
6457         malloca.
6458         (configure.ac): Update required libunistring version.
6459         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
6460         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
6461         malloca.
6462         (configure.ac): Update required libunistring version.
6463
6464 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6465             Bruno Haible  <bruno@clisp.org>
6466
6467         Prepare for faster uN_strstr functions.
6468         * lib/str-kmp.h: Support definable UNITs.
6469         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
6470         needle_len argument.
6471         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
6472         * lib/mbscasestr.c (mbscasestr): Likewise.
6473
6474 2011-01-21  Pádraig Brady <P@draigBrady.com>
6475
6476         malloca-tests: make faster by unsetting MALLOC_PERTURB_
6477         * tests/test-malloca.c (main): Unset the environment variable
6478         to greatly speed up the test.
6479         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
6480         * modules/malloca-tests: Depend on unsetenv.
6481
6482 2011-01-21  Pádraig Brady <P@draigBrady.com>
6483
6484         ignore-value: remove stdint dependency
6485         * lib/ignore-value.h: Remove <stdint.h>
6486         * modules/ignore-value: Remove stdint dependency.
6487
6488 2011-01-21  Jim Meyering  <meyering@redhat.com>
6489
6490         maint.mk: adjust variable name to be consistent with other gl_ vars
6491         * top/maint.mk (gl_public_submodule_commit): Rename the variable
6492         to be lower case.
6493
6494 2011-01-20  Jim Meyering  <meyering@redhat.com>
6495
6496         maint.mk: make "check" depend on public-submodule-commit by default
6497         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
6498
6499 2011-01-20  Bruno Haible  <bruno@clisp.org>
6500
6501         mbfile, mbiter: Complete change from 2008-12-21.
6502         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
6503         * m4/mbiter.m4 (gl_MBITER): Likewise.
6504
6505 2011-01-20  Jim Meyering  <meyering@redhat.com>
6506
6507         init.sh: insert space between each function name and "()"
6508         * tests/init.sh: Make it a little easier to see that a function's
6509         name is "warn_", and not "warn" when looking at the first part of
6510         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
6511
6512 2011-01-20  Jim Meyering  <meyering@redhat.com>
6513
6514         mountlist: clean up code formatting
6515         * lib/mountlist.c (read_file_system_list): Split a long line,
6516         correct bracing style, use NULL in place of "(struct statfs *)0",
6517         don't parenthesize return value, add spaces around "=" and after
6518         ";-in-for-stmt".
6519
6520 2011-01-14  Markus Duft <mduft@gentoo.org>
6521
6522         mountlist: add support for Interix
6523         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
6524         Apply statvfs to all entries of /dev/fs.
6525         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
6526         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
6527
6528 2011-01-20  Jim Meyering  <meyering@redhat.com>
6529
6530         maint.mk: improve the public-submodule-commit rule
6531         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
6532         to suppress printing of its commands... unless V=1.
6533         Add git submodule's --quiet option to suppress printing of e.g.,
6534         "Entering gnulib" output.
6535         "cd" into $(srcdir) before running git submodule.
6536
6537 2011-01-20  Bruno Haible  <bruno@clisp.org>
6538
6539         include_next: Fix bug introduced on 2011-01-18.
6540         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
6541         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
6542         ac_cv_header_... variable if the second argument is not 'check'.
6543         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
6544         gl_NEXT_HEADERS_INTERNAL.
6545
6546 2011-01-20  Bruno Haible  <bruno@clisp.org>
6547
6548         Allow the user to avoid the GNULIB_TEST_* macros.
6549         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
6550         Suggested by Paul Eggert.
6551
6552 2011-01-14  Jim Meyering  <meyering@redhat.com>
6553
6554         bootstrap: avoid failure when there is no .gitmodules file
6555         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
6556         has been assigned to, even when its value is the empty string.
6557         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
6558         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
6559         Reported by John W. Eaton <jwe@gnu.org>.
6560
6561 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6562
6563         assume <ctype.h>, ..., <time.h> exist
6564         For years gnulib has been assuming the existence of the headers
6565         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
6566         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
6567         them, since they don't appear to be needed.
6568         * README (Portability guidelines): Document this.
6569         * lib/flock.c: Assume <fcntl.h> exists.
6570         * lib/regex_internal.h: Assume <locale.h> exists.
6571         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
6572         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
6573         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
6574         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
6575         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
6576         * m4/regex.m4 (gl_REGEX): Likewise.
6577         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
6578         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
6579         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
6580         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
6581         * tests/test-argp.c: Likewise.
6582         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
6583
6584         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
6585         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
6586         AA_APPLE_UNIVERSAL_BUILD.  See
6587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
6588         * NEWS: Document this.
6589
6590 2011-01-19  Eric Blake  <eblake@redhat.com>
6591
6592         c-stack: assume stack overflow if SA_SIGINFO unsupported
6593         * lib/c-stack.c (SIGACTION_WORKS): Rename...
6594         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
6595         sigaction will work.
6596         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
6597         behavior match Linux.
6598         * tests/test-c-stack.c (main): Prefer NULL for pointers.
6599
6600         stdbool-tests: accomodate Haiku
6601         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
6602
6603         binary-io: fix O_TEXT on Haiku
6604         * modules/binary-io (Depends-on): Add fcntl-h.
6605         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
6606         than blindly undefining O_TEXT.
6607         Reported by Scott McCreary.
6608
6609 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6610
6611         include_next: do not check for standard headers like stddef.h
6612
6613         I found this problem when modifying Emacs to use gnulib.
6614         I noticed that it added HAVE_STDDEF_H to config.h, even though
6615         gnulib always assumes <stddef.h> exists as per README and this
6616         symbol is unnecessary.
6617         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
6618         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
6619         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
6620         faster for headers like stddef.h that are known to exist.
6621         (gl_CHECK_NEXT_HEADERS): Use it.
6622         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
6623         rather than gl_CHECK_NEXT_HEADERS.
6624         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
6625         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
6626
6627 2011-01-18  Eric Blake  <eblake@redhat.com>
6628
6629         ansi-c++-opt: skip C++ dependency style if C++ is unused
6630         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
6631         tests when we know C++ compilation is not desired.
6632         Reported by Scott McCreary.
6633
6634 2011-01-18  Bruno Haible  <bruno@clisp.org>
6635
6636         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
6637         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
6638         (main): Perform test also when getrlimit and setrlimit don't exist or
6639         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
6640         limiting the address space size using setrlimit, compare the address
6641         space size before and after the the test.
6642         * tests/test-dprintf-posix2.c: Likewise.
6643         * tests/test-fprintf-posix3.sh: Update skip messages.
6644         * tests/test-dprintf-posix2.sh: Likewise.
6645         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
6646         * modules/dprintf-posix-tests (Depends-on): Likewise.
6647         Reported by Bruce Korb <bkorb@gnu.org> and
6648         Gary V. Vaughan <gary@gnu.org>.
6649
6650 2011-01-18  Bruno Haible  <bruno@clisp.org>
6651
6652         get-rusage-as: Improvement for Cygwin.
6653         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
6654         areas that are merely reserved.
6655
6656 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6657
6658         strftime: remove dependencies on multibyte modules
6659
6660         strftime depended on mbrlen, mbsinit, and wchar, but these modules
6661         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
6662         only if __osf__ is defined, and I suspect OSF doesn't need these
6663         other modules.  If my guess is wrong, we'll need to come up with a
6664         variant of strftime that doesn't need the multibyte modules.
6665
6666         I discovered this problem when attempting modify Emacs to use the
6667         strftime module.  With the previous gnulib, this caused Emacs to
6668         need 31 new files, ranging from lib/config.charset to
6669         m4/wint_t.m4.  This was overkill and I expect would be offputting
6670         to the Emacs maintainers.  After this change, only 6 new files are
6671         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
6672         stdbool.m4, and tm_gmtoff.m4.
6673
6674         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
6675         Suggested by Bruno Haible in
6676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
6677         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
6678         and do not check for wchar.h.
6679         * modules/strftime (Files): Remove m4/mbstate_t.m4.
6680         (Depends-on): Remove mbrlen, mbsinit, wchar.
6681
6682 2011-01-18  Bruno Haible  <bruno@clisp.org>
6683
6684         Tests for module 'get-rusage-as'.
6685         * modules/get-rusage-as-tests: New file.
6686         * tests/test-get-rusage-as.c: New file.
6687
6688         New module 'get-rusage-as'.
6689         * modules/get-rusage-as: New file.
6690         * lib/resource-ext.h: New file.
6691         * lib/get-rusage-as.c: New file.
6692
6693 2011-01-17  Eric Blake  <eblake@redhat.com>
6694
6695         sigaction: relax license from LGPLv3+ to LGPLv2+
6696         * modules/sigaction (License): Relax to LGPLv2+.
6697
6698 2011-01-14  Bruno Haible  <bruno@clisp.org>
6699
6700         filemode: Make function declarations usable in C++ mode.
6701         * lib/filemode.h: Enclose function declarations in extern "C" block.
6702         Reported by John W. Eaton <jwe@gnu.org>.
6703
6704 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
6705
6706         save-cwd: no longer include "xgetcwd.h"
6707         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
6708         This avoids a compilation failure in projects that use save-cwd
6709         without also using the xgetcwd module.
6710
6711 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6712
6713         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
6714         This is so that a program like Emacs, which needs only dtoastr,
6715         does not have to bother with distributing and compiling ftoastr
6716         and ldtoastr.
6717         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
6718         * modules/dtoastr, modules/ldtoastr: New files.
6719         * modules/ftoastr: Now works just for 'float'.
6720         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
6721         (Makefile.am): Remove ftoastr.h (not needed and no effect),
6722         dtoastr.c, ldtoastr.c.
6723
6724 2011-01-11  Jim Meyering  <meyering@redhat.com>
6725
6726         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
6727         There is no need to work around the lack of the fchdir function,
6728         since gnulib can now provide a replacement when required.
6729         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
6730         * modules/save-cwd (Depends-on): Add fchdir.
6731
6732 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6733
6734         openat, save-cwd: avoid xmalloc
6735
6736         This removes a direct (but undocumented) dependency of openat on
6737         xalloc, along with an indirect dependency via save-cwd.  It also
6738         removes a dependency of save-cwd on xgetcwd, and thereby
6739         indirectly on xalloc.  This change causes the openat substitute
6740         to fall back on save_cwd when memory is tight, and for save_cwd to
6741         fail instead of dying when memory is tight, but that's good enough.
6742         Problem and initial idea for fix reported by Bastien Roucaries in
6743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
6744
6745         * lib/openat-proc.c: Include stdlib.h (for malloc), not
6746         xalloc.h (for xmalloc).
6747         (openat_proc_name): Use malloc, not xmalloc.
6748         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
6749         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
6750
6751         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
6752         This avoids heap allocation for file names whose lengths are in
6753         the range 512..1023, with the upper bound increasing to at most
6754         4031 depending on the platform's PATH_MAX.  (We do not want
6755         pathmax.h here as it might supply a non-constant PATH_MAX.)
6756         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
6757         Perhaps they should be moved to malloca.h?
6758         (OPENAT_BUFFER_SIZE): Use them.
6759
6760 2011-01-10  Bruno Haible  <bruno@clisp.org>
6761
6762         doc: Update users.txt.
6763         * users.txt: Add recutils.
6764
6765 2011-01-09  Karl Berry  <karl@gnu.org>
6766
6767         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
6768
6769         * doc/configmake.texi: New file.
6770         * doc/gnulib.texi: Include it.
6771         * modules/configmake: Move documentation from here.
6772
6773 2011-01-09  Bruno Haible  <bruno@clisp.org>
6774
6775         Update to Unicode 6.0.0.
6776         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
6777         (get_lbp): Update for Unicode 6.0.0.
6778         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
6779         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
6780         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
6781         U+11001, U+11038..U+11046. Remove U+06DE.
6782         (uc_width): Fix bounds of planes.
6783         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6784         lib/uniwidth/width.c.
6785         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
6786         trailing whitespace removed.
6787         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
6788         without comments, but with the original copyright notice.
6789         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
6790         * lib/unicase/ignorable.h: Likewise.
6791         * lib/unicase/tocasefold.h: Likewise.
6792         * lib/unicase/tolower.h: Likewise.
6793         * lib/unicase/totitle.h: Likewise.
6794         * lib/unicase/toupper.h: Likewise.
6795         * lib/unictype/bidi_of.h: Likewise.
6796         * lib/unictype/blocks.h: Likewise.
6797         * lib/unictype/categ_C.h: Likewise.
6798         * lib/unictype/categ_Cn.h: Likewise.
6799         * lib/unictype/categ_L.h: Likewise.
6800         * lib/unictype/categ_Ll.h: Likewise.
6801         * lib/unictype/categ_Lm.h: Likewise.
6802         * lib/unictype/categ_Lo.h: Likewise.
6803         * lib/unictype/categ_Lu.h: Likewise.
6804         * lib/unictype/categ_M.h: Likewise.
6805         * lib/unictype/categ_Mc.h: Likewise.
6806         * lib/unictype/categ_Me.h: Likewise.
6807         * lib/unictype/categ_Mn.h: Likewise.
6808         * lib/unictype/categ_N.h: Likewise.
6809         * lib/unictype/categ_Nd.h: Likewise.
6810         * lib/unictype/categ_No.h: Likewise.
6811         * lib/unictype/categ_P.h: Likewise.
6812         * lib/unictype/categ_Po.h: Likewise.
6813         * lib/unictype/categ_S.h: Likewise.
6814         * lib/unictype/categ_Sc.h: Likewise.
6815         * lib/unictype/categ_Sk.h: Likewise.
6816         * lib/unictype/categ_Sm.h: Likewise.
6817         * lib/unictype/categ_So.h: Likewise.
6818         * lib/unictype/categ_of.h: Likewise.
6819         * lib/unictype/combining.h: Likewise.
6820         * lib/unictype/ctype_alnum.h: Likewise.
6821         * lib/unictype/ctype_alpha.h: Likewise.
6822         * lib/unictype/ctype_graph.h: Likewise.
6823         * lib/unictype/ctype_lower.h: Likewise.
6824         * lib/unictype/ctype_print.h: Likewise.
6825         * lib/unictype/ctype_punct.h: Likewise.
6826         * lib/unictype/ctype_upper.h: Likewise.
6827         * lib/unictype/decdigit.h: Likewise.
6828         * lib/unictype/digit.h: Likewise.
6829         * lib/unictype/numeric.h: Likewise.
6830         * lib/unictype/pr_alphabetic.h: Likewise.
6831         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6832         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6833         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6834         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6835         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6836         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6837         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6838         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6839         * lib/unictype/pr_case_ignorable.h: Likewise.
6840         * lib/unictype/pr_cased.h: Likewise.
6841         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
6842         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
6843         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
6844         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
6845         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
6846         * lib/unictype/pr_combining.h: Likewise.
6847         * lib/unictype/pr_composite.h: Likewise.
6848         * lib/unictype/pr_currency_symbol.h: Likewise.
6849         * lib/unictype/pr_decimal_digit.h: Likewise.
6850         * lib/unictype/pr_deprecated.h: Likewise.
6851         * lib/unictype/pr_format_control.h: Likewise.
6852         * lib/unictype/pr_grapheme_base.h: Likewise.
6853         * lib/unictype/pr_grapheme_extend.h: Likewise.
6854         * lib/unictype/pr_grapheme_link.h: Likewise.
6855         * lib/unictype/pr_id_continue.h: Likewise.
6856         * lib/unictype/pr_id_start.h: Likewise.
6857         * lib/unictype/pr_ideographic.h: Likewise.
6858         * lib/unictype/pr_lowercase.h: Likewise.
6859         * lib/unictype/pr_math.h: Likewise.
6860         * lib/unictype/pr_numeric.h: Likewise.
6861         * lib/unictype/pr_other_alphabetic.h: Likewise.
6862         * lib/unictype/pr_other_id_continue.h: Likewise.
6863         * lib/unictype/pr_other_math.h: Likewise.
6864         * lib/unictype/pr_punctuation.h: Likewise.
6865         * lib/unictype/pr_sentence_terminal.h: Likewise.
6866         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6867         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6868         * lib/unictype/pr_unified_ideograph.h: Likewise.
6869         * lib/unictype/pr_uppercase.h: Likewise.
6870         * lib/unictype/pr_xid_continue.h: Likewise.
6871         * lib/unictype/pr_xid_start.h: Likewise.
6872         * lib/unictype/scripts.h: Likewise.
6873         * lib/unictype/scripts_byname.gperf: Likewise.
6874         * lib/unictype/sy_java_ident.h: Likewise.
6875         * lib/unigbrk/gbrkprop.h: Likewise.
6876         * lib/unilbrk/lbrkprop1.h: Likewise.
6877         * lib/unilbrk/lbrkprop2.h: Likewise.
6878         * lib/uninorm/decomposition-table2.h: Likewise.
6879         * lib/uniwbrk/wbrkprop.h: Likewise.
6880         * tests/unicase/test-cased.c: Likewise.
6881         * tests/unicase/test-ignorable.c: Likewise.
6882         * tests/unicase/test-uc_tolower.c: Likewise.
6883         * tests/unicase/test-uc_totitle.c: Likewise.
6884         * tests/unicase/test-uc_toupper.c: Likewise.
6885         * tests/unictype/test-categ_C.c: Likewise.
6886         * tests/unictype/test-categ_Cn.c: Likewise.
6887         * tests/unictype/test-categ_L.c: Likewise.
6888         * tests/unictype/test-categ_Ll.c: Likewise.
6889         * tests/unictype/test-categ_Lm.c: Likewise.
6890         * tests/unictype/test-categ_Lo.c: Likewise.
6891         * tests/unictype/test-categ_Lu.c: Likewise.
6892         * tests/unictype/test-categ_M.c: Likewise.
6893         * tests/unictype/test-categ_Mc.c: Likewise.
6894         * tests/unictype/test-categ_Me.c: Likewise.
6895         * tests/unictype/test-categ_Mn.c: Likewise.
6896         * tests/unictype/test-categ_N.c: Likewise.
6897         * tests/unictype/test-categ_Nd.c: Likewise.
6898         * tests/unictype/test-categ_No.c: Likewise.
6899         * tests/unictype/test-categ_P.c: Likewise.
6900         * tests/unictype/test-categ_Po.c: Likewise.
6901         * tests/unictype/test-categ_S.c: Likewise.
6902         * tests/unictype/test-categ_Sc.c: Likewise.
6903         * tests/unictype/test-categ_Sk.c: Likewise.
6904         * tests/unictype/test-categ_Sm.c: Likewise.
6905         * tests/unictype/test-categ_So.c: Likewise.
6906         * tests/unictype/test-ctype_alnum.c: Likewise.
6907         * tests/unictype/test-ctype_alpha.c: Likewise.
6908         * tests/unictype/test-ctype_graph.c: Likewise.
6909         * tests/unictype/test-ctype_lower.c: Likewise.
6910         * tests/unictype/test-ctype_print.c: Likewise.
6911         * tests/unictype/test-ctype_punct.c: Likewise.
6912         * tests/unictype/test-ctype_upper.c: Likewise.
6913         * tests/unictype/test-decdigit.h: Likewise.
6914         * tests/unictype/test-digit.h: Likewise.
6915         * tests/unictype/test-numeric.h: Likewise.
6916         * tests/unictype/test-pr_alphabetic.c: Likewise.
6917         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6918         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
6919         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
6920         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6921         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6922         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6923         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6924         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6925         * tests/unictype/test-pr_case_ignorable.c: Likewise.
6926         * tests/unictype/test-pr_cased.c: Likewise.
6927         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
6928         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
6929         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
6930         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
6931         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
6932         * tests/unictype/test-pr_combining.c: Likewise.
6933         * tests/unictype/test-pr_composite.c: Likewise.
6934         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6935         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6936         * tests/unictype/test-pr_deprecated.c: Likewise.
6937         * tests/unictype/test-pr_format_control.c: Likewise.
6938         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6939         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6940         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6941         * tests/unictype/test-pr_id_continue.c: Likewise.
6942         * tests/unictype/test-pr_id_start.c: Likewise.
6943         * tests/unictype/test-pr_ideographic.c: Likewise.
6944         * tests/unictype/test-pr_lowercase.c: Likewise.
6945         * tests/unictype/test-pr_math.c: Likewise.
6946         * tests/unictype/test-pr_numeric.c: Likewise.
6947         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6948         * tests/unictype/test-pr_other_id_continue.c: Likewise.
6949         * tests/unictype/test-pr_other_math.c: Likewise.
6950         * tests/unictype/test-pr_punctuation.c: Likewise.
6951         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6952         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6953         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6954         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6955         * tests/unictype/test-pr_uppercase.c: Likewise.
6956         * tests/unictype/test-pr_xid_continue.c: Likewise.
6957         * tests/unictype/test-pr_xid_start.c: Likewise.
6958         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6959         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6960         changes.
6961         * lib/unictype/categ_Cc.h: Likewise.
6962         * lib/unictype/categ_Cf.h: Likewise.
6963         * lib/unictype/categ_Co.h: Likewise.
6964         * lib/unictype/categ_Cs.h: Likewise.
6965         * lib/unictype/categ_Lt.h: Likewise.
6966         * lib/unictype/categ_Nl.h: Likewise.
6967         * lib/unictype/categ_Pc.h: Likewise.
6968         * lib/unictype/categ_Pd.h: Likewise.
6969         * lib/unictype/categ_Pe.h: Likewise.
6970         * lib/unictype/categ_Pf.h: Likewise.
6971         * lib/unictype/categ_Pi.h: Likewise.
6972         * lib/unictype/categ_Ps.h: Likewise.
6973         * lib/unictype/categ_Z.h: Likewise.
6974         * lib/unictype/categ_Zl.h: Likewise.
6975         * lib/unictype/categ_Zp.h: Likewise.
6976         * lib/unictype/categ_Zs.h: Likewise.
6977         * lib/unictype/ctype_blank.h: Likewise.
6978         * lib/unictype/ctype_cntrl.h: Likewise.
6979         * lib/unictype/ctype_digit.h: Likewise.
6980         * lib/unictype/ctype_space.h: Likewise.
6981         * lib/unictype/ctype_xdigit.h: Likewise.
6982         * lib/unictype/mirror.h: Likewise.
6983         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6984         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6985         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6986         * lib/unictype/pr_bidi_control.h: Likewise.
6987         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6988         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6989         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6990         * lib/unictype/pr_bidi_pdf.h: Likewise.
6991         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6992         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6993         * lib/unictype/pr_dash.h: Likewise.
6994         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6995         * lib/unictype/pr_diacritic.h: Likewise.
6996         * lib/unictype/pr_extender.h: Likewise.
6997         * lib/unictype/pr_hex_digit.h: Likewise.
6998         * lib/unictype/pr_hyphen.h: Likewise.
6999         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7000         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7001         * lib/unictype/pr_ignorable_control.h: Likewise.
7002         * lib/unictype/pr_iso_control.h: Likewise.
7003         * lib/unictype/pr_join_control.h: Likewise.
7004         * lib/unictype/pr_left_of_pair.h: Likewise.
7005         * lib/unictype/pr_line_separator.h: Likewise.
7006         * lib/unictype/pr_logical_order_exception.h: Likewise.
7007         * lib/unictype/pr_non_break.h: Likewise.
7008         * lib/unictype/pr_not_a_character.h: Likewise.
7009         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7010         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7011         * lib/unictype/pr_other_id_start.h: Likewise.
7012         * lib/unictype/pr_other_lowercase.h: Likewise.
7013         * lib/unictype/pr_other_uppercase.h: Likewise.
7014         * lib/unictype/pr_paired_punctuation.h: Likewise.
7015         * lib/unictype/pr_paragraph_separator.h: Likewise.
7016         * lib/unictype/pr_pattern_syntax.h: Likewise.
7017         * lib/unictype/pr_pattern_white_space.h: Likewise.
7018         * lib/unictype/pr_private_use.h: Likewise.
7019         * lib/unictype/pr_quotation_mark.h: Likewise.
7020         * lib/unictype/pr_radical.h: Likewise.
7021         * lib/unictype/pr_soft_dotted.h: Likewise.
7022         * lib/unictype/pr_space.h: Likewise.
7023         * lib/unictype/pr_titlecase.h: Likewise.
7024         * lib/unictype/pr_variation_selector.h: Likewise.
7025         * lib/unictype/pr_white_space.h: Likewise.
7026         * lib/unictype/pr_zero_width.h: Likewise.
7027         * lib/unictype/sy_c_ident.h: Likewise.
7028         * lib/unictype/sy_c_whitespace.h: Likewise.
7029         * lib/unictype/sy_java_whitespace.h: Likewise.
7030         * lib/uninorm/composition-table.gperf: Likewise.
7031         * lib/uninorm/decomposition-table1.h: Likewise.
7032         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
7033         LB8.
7034         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7035         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7036         * modules/unictype/*: Bump version number of expected libunistring
7037         version.
7038
7039 2011-01-09  Bruno Haible  <bruno@clisp.org>
7040
7041         Update to Unicode 5.2.0.
7042         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
7043         trailing whitespace removed.
7044
7045 2011-01-09  Bruno Haible  <bruno@clisp.org>
7046
7047         New Unicode character properties, from Unicode 5.2.0.
7048         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
7049         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
7050         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
7051         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
7052         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
7053         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
7054         uc_is_property_cased, uc_is_property_case_ignorable,
7055         uc_is_property_changes_when_lowercased,
7056         uc_is_property_changes_when_uppercased,
7057         uc_is_property_changes_when_titlecased,
7058         uc_is_property_changes_when_casefolded,
7059         uc_is_property_changes_when_casemapped): New declarations.
7060         * lib/unictype/pr_byname.gperf: Add the new properties.
7061         * modules/unictype/property-byname (Depends-on): Depend on the new
7062         properties modules.
7063         * modules/unictype/property-all (Depends-on): Likewise.
7064         * MODULES.html.sh (Unicode string functions): Add
7065         unictype/property-case-ignorable, unictype/property-cased,
7066         unictype/property-changes-when-casefolded,
7067         unictype/property-changes-when-casemapped,
7068         unictype/property-changes-when-lowercased,
7069         unictype/property-changes-when-titlecased,
7070         unictype/property-changes-when-uppercased.
7071
7072         New module 'unictype/property-changes-when-casemapped'.
7073         * modules/unictype/property-changes-when-casemapped: New file.
7074         * lib/unictype/pr_changes_when_casemapped.c: New file.
7075         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
7076         generated by gen-uni-tables.
7077         * modules/unictype/property-changes-when-casemapped-tests: New file.
7078         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
7079         automatically generated by gen-uni-tables.
7080
7081         New module 'unictype/property-changes-when-casefolded'.
7082         * modules/unictype/property-changes-when-casefolded: New file.
7083         * lib/unictype/pr_changes_when_casefolded.c: New file.
7084         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
7085         generated by gen-uni-tables.
7086         * modules/unictype/property-changes-when-casefolded-tests: New file.
7087         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
7088         automatically generated by gen-uni-tables.
7089
7090         New module 'unictype/property-changes-when-titlecased'.
7091         * modules/unictype/property-changes-when-titlecased: New file.
7092         * lib/unictype/pr_changes_when_titlecased.c: New file.
7093         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
7094         generated by gen-uni-tables.
7095         * modules/unictype/property-changes-when-titlecased-tests: New file.
7096         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
7097         automatically generated by gen-uni-tables.
7098
7099         New module 'unictype/property-changes-when-uppercased'.
7100         * modules/unictype/property-changes-when-uppercased: New file.
7101         * lib/unictype/pr_changes_when_uppercased.c: New file.
7102         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
7103         generated by gen-uni-tables.
7104         * modules/unictype/property-changes-when-uppercased-tests: New file.
7105         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
7106         automatically generated by gen-uni-tables.
7107
7108         New module 'unictype/property-changes-when-lowercased'.
7109         * modules/unictype/property-changes-when-lowercased: New file.
7110         * lib/unictype/pr_changes_when_lowercased.c: New file.
7111         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
7112         generated by gen-uni-tables.
7113         * modules/unictype/property-changes-when-lowercased-tests: New file.
7114         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
7115         automatically generated by gen-uni-tables.
7116
7117         New module 'unictype/property-case-ignorable'.
7118         * modules/unictype/property-case-ignorable: New file.
7119         * lib/unictype/pr_case_ignorable.c: New file.
7120         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
7121         by gen-uni-tables.
7122         * modules/unictype/property-case-ignorable-tests: New file.
7123         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
7124         generated by gen-uni-tables.
7125
7126         New module 'unictype/property-cased'.
7127         * modules/unictype/property-cased: New file.
7128         * lib/unictype/pr_cased.c: New file.
7129         * lib/unictype/pr_cased.h: New file, automatically generated by
7130         gen-uni-tables.
7131         * modules/unictype/property-cased-tests: New file.
7132         * tests/unictype/test-pr_cased.c: New file, automatically generated by
7133         gen-uni-tables.
7134
7135 2011-01-09  Bruno Haible  <bruno@clisp.org>
7136
7137         Update to Unicode 5.2.0.
7138         * lib/gen-uni-tables.c (output_predicate, output_category,
7139         output_combclass, output_bidi_category, output_decimal_digit_test,
7140         output_decimal_digit, output_digit_test, output_digit,
7141         output_numeric_test, output_numeric, output_mirror, output_scripts,
7142         output_scripts_byname, output_blocks, output_ident_category): Fix
7143         comment header.
7144         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
7145         get_wbp.
7146         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
7147         items.
7148         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
7149         Changes_When_Lowercased, Changes_When_Uppercased,
7150         Changes_When_Titlecased, Changes_When_Casefolded,
7151         Changes_When_Casemapped.
7152         (is_property_alphabetic, is_property_default_ignorable_code_point):
7153         Update for Unicode 5.2.0.
7154         (is_property_cased, is_property_case_ignorable,
7155         is_property_changes_when_lowercased,
7156         is_property_changes_when_uppercased,
7157         is_property_changes_when_titlecased,
7158         is_property_changes_when_casefolded,
7159         is_property_changes_when_casemapped): New functions.
7160         (output_properties): Output also the properties cased, case_ignorable,
7161         changes_when_lowercased, changes_when_uppercased,
7162         changes_when_titlecased, changes_when_casefolded,
7163         changes_when_casemapped.
7164         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
7165         Unicode TR#11 revision 17 -> 19.
7166         (LBP_CP): New enumeration value.
7167         (LBP_*): Adjust values accordingly.
7168         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7169         TR#14 revision 22 -> 24.
7170         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
7171         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
7172         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7173         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
7174         is_WBP_MIDLETTER.
7175         (output_composition_tables): Allow for 24 bits instead of 16 bits in
7176         the code1 and code2 of each composition rule.
7177         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
7178         * lib/unicase/ignorable.h: Likewise.
7179         * lib/unicase/tocasefold.h: Likewise.
7180         * lib/unicase/tolower.h: Likewise.
7181         * lib/unicase/totitle.h: Likewise.
7182         * lib/unicase/toupper.h: Likewise.
7183         * lib/unictype/bidi_of.h: Likewise.
7184         * lib/unictype/blocks.h: Likewise.
7185         * lib/unictype/categ_C.h: Likewise.
7186         * lib/unictype/categ_Cf.h: Likewise.
7187         * lib/unictype/categ_Cn.h: Likewise.
7188         * lib/unictype/categ_L.h: Likewise.
7189         * lib/unictype/categ_Ll.h: Likewise.
7190         * lib/unictype/categ_Lm.h: Likewise.
7191         * lib/unictype/categ_Lo.h: Likewise.
7192         * lib/unictype/categ_Lu.h: Likewise.
7193         * lib/unictype/categ_M.h: Likewise.
7194         * lib/unictype/categ_Mc.h: Likewise.
7195         * lib/unictype/categ_Mn.h: Likewise.
7196         * lib/unictype/categ_N.h: Likewise.
7197         * lib/unictype/categ_Nd.h: Likewise.
7198         * lib/unictype/categ_Nl.h: Likewise.
7199         * lib/unictype/categ_No.h: Likewise.
7200         * lib/unictype/categ_P.h: Likewise.
7201         * lib/unictype/categ_Pd.h: Likewise.
7202         * lib/unictype/categ_Po.h: Likewise.
7203         * lib/unictype/categ_S.h: Likewise.
7204         * lib/unictype/categ_Sc.h: Likewise.
7205         * lib/unictype/categ_So.h: Likewise.
7206         * lib/unictype/categ_of.h: Likewise.
7207         * lib/unictype/combining.h: Likewise.
7208         * lib/unictype/ctype_alnum.h: Likewise.
7209         * lib/unictype/ctype_alpha.h: Likewise.
7210         * lib/unictype/ctype_graph.h: Likewise.
7211         * lib/unictype/ctype_lower.h: Likewise.
7212         * lib/unictype/ctype_print.h: Likewise.
7213         * lib/unictype/ctype_punct.h: Likewise.
7214         * lib/unictype/ctype_upper.h: Likewise.
7215         * lib/unictype/decdigit.h: Likewise.
7216         * lib/unictype/digit.h: Likewise.
7217         * lib/unictype/numeric.h: Likewise.
7218         * lib/unictype/pr_alphabetic.h: Likewise.
7219         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
7220         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
7221         * lib/unictype/pr_bidi_european_digit.h: Likewise.
7222         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
7223         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
7224         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
7225         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
7226         * lib/unictype/pr_combining.h: Likewise.
7227         * lib/unictype/pr_composite.h: Likewise.
7228         * lib/unictype/pr_currency_symbol.h: Likewise.
7229         * lib/unictype/pr_dash.h: Likewise.
7230         * lib/unictype/pr_decimal_digit.h: Likewise.
7231         * lib/unictype/pr_deprecated.h: Likewise.
7232         * lib/unictype/pr_diacritic.h: Likewise.
7233         * lib/unictype/pr_extender.h: Likewise.
7234         * lib/unictype/pr_grapheme_base.h: Likewise.
7235         * lib/unictype/pr_grapheme_extend.h: Likewise.
7236         * lib/unictype/pr_grapheme_link.h: Likewise.
7237         * lib/unictype/pr_id_continue.h: Likewise.
7238         * lib/unictype/pr_id_start.h: Likewise.
7239         * lib/unictype/pr_ideographic.h: Likewise.
7240         * lib/unictype/pr_ignorable_control.h: Likewise.
7241         * lib/unictype/pr_logical_order_exception.h: Likewise.
7242         * lib/unictype/pr_lowercase.h: Likewise.
7243         * lib/unictype/pr_numeric.h: Likewise.
7244         * lib/unictype/pr_other_alphabetic.h: Likewise.
7245         * lib/unictype/pr_punctuation.h: Likewise.
7246         * lib/unictype/pr_sentence_terminal.h: Likewise.
7247         * lib/unictype/pr_terminal_punctuation.h: Likewise.
7248         * lib/unictype/pr_unassigned_code_value.h: Likewise.
7249         * lib/unictype/pr_unified_ideograph.h: Likewise.
7250         * lib/unictype/pr_uppercase.h: Likewise.
7251         * lib/unictype/pr_xid_continue.h: Likewise.
7252         * lib/unictype/pr_xid_start.h: Likewise.
7253         * lib/unictype/pr_zero_width.h: Likewise.
7254         * lib/unictype/scripts.h: Likewise.
7255         * lib/unictype/scripts_byname.gperf: Likewise.
7256         * lib/unictype/sy_java_ident.h: Likewise.
7257         * lib/unigbrk/gbrkprop.h: Likewise.
7258         * lib/unilbrk/lbrkprop1.h: Likewise.
7259         * lib/unilbrk/lbrkprop2.h: Likewise.
7260         * lib/unilbrk/lbrktables.h: Likewise.
7261         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
7262         LBP_CP. Implement rule LB30.
7263         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
7264         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
7265         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
7266         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
7267         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
7268         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
7269         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
7270         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
7271         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
7272         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
7273         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
7274         bits instead of 16 bits in the code1 and code2 of each composition
7275         rule.
7276         (uc_composition): Update for Unicode 5.2.0.
7277         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
7278         * lib/uninorm/decomposition-table2.h: Likewise.
7279         * lib/uniwbrk/wbrkprop.h: Likewise.
7280         * tests/unicase/test-cased.c: Likewise.
7281         * tests/unicase/test-ignorable.c: Likewise.
7282         * tests/unicase/test-uc_tolower.c: Likewise.
7283         * tests/unicase/test-uc_totitle.c: Likewise.
7284         * tests/unicase/test-uc_toupper.c: Likewise.
7285         * tests/unictype/test-categ_C.c: Likewise.
7286         * tests/unictype/test-categ_Cf.c: Likewise.
7287         * tests/unictype/test-categ_Cn.c: Likewise.
7288         * tests/unictype/test-categ_L.c: Likewise.
7289         * tests/unictype/test-categ_Ll.c: Likewise.
7290         * tests/unictype/test-categ_Lm.c: Likewise.
7291         * tests/unictype/test-categ_Lo.c: Likewise.
7292         * tests/unictype/test-categ_Lu.c: Likewise.
7293         * tests/unictype/test-categ_M.c: Likewise.
7294         * tests/unictype/test-categ_Mc.c: Likewise.
7295         * tests/unictype/test-categ_Mn.c: Likewise.
7296         * tests/unictype/test-categ_N.c: Likewise.
7297         * tests/unictype/test-categ_Nd.c: Likewise.
7298         * tests/unictype/test-categ_Nl.c: Likewise.
7299         * tests/unictype/test-categ_No.c: Likewise.
7300         * tests/unictype/test-categ_P.c: Likewise.
7301         * tests/unictype/test-categ_Pd.c: Likewise.
7302         * tests/unictype/test-categ_Po.c: Likewise.
7303         * tests/unictype/test-categ_S.c: Likewise.
7304         * tests/unictype/test-categ_Sc.c: Likewise.
7305         * tests/unictype/test-categ_So.c: Likewise.
7306         * tests/unictype/test-ctype_alnum.c: Likewise.
7307         * tests/unictype/test-ctype_alpha.c: Likewise.
7308         * tests/unictype/test-ctype_graph.c: Likewise.
7309         * tests/unictype/test-ctype_lower.c: Likewise.
7310         * tests/unictype/test-ctype_print.c: Likewise.
7311         * tests/unictype/test-ctype_punct.c: Likewise.
7312         * tests/unictype/test-ctype_upper.c: Likewise.
7313         * tests/unictype/test-decdigit.h: Likewise.
7314         * tests/unictype/test-digit.h: Likewise.
7315         * tests/unictype/test-numeric.h: Likewise.
7316         * tests/unictype/test-pr_alphabetic.c: Likewise.
7317         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
7318         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
7319         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
7320         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
7321         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
7322         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
7323         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
7324         * tests/unictype/test-pr_combining.c: Likewise.
7325         * tests/unictype/test-pr_composite.c: Likewise.
7326         * tests/unictype/test-pr_currency_symbol.c: Likewise.
7327         * tests/unictype/test-pr_dash.c: Likewise.
7328         * tests/unictype/test-pr_decimal_digit.c: Likewise.
7329         * tests/unictype/test-pr_deprecated.c: Likewise.
7330         * tests/unictype/test-pr_diacritic.c: Likewise.
7331         * tests/unictype/test-pr_extender.c: Likewise.
7332         * tests/unictype/test-pr_grapheme_base.c: Likewise.
7333         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
7334         * tests/unictype/test-pr_grapheme_link.c: Likewise.
7335         * tests/unictype/test-pr_id_continue.c: Likewise.
7336         * tests/unictype/test-pr_id_start.c: Likewise.
7337         * tests/unictype/test-pr_ideographic.c: Likewise.
7338         * tests/unictype/test-pr_ignorable_control.c: Likewise.
7339         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
7340         * tests/unictype/test-pr_lowercase.c: Likewise.
7341         * tests/unictype/test-pr_numeric.c: Likewise.
7342         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
7343         * tests/unictype/test-pr_punctuation.c: Likewise.
7344         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
7345         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
7346         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
7347         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
7348         * tests/unictype/test-pr_uppercase.c: Likewise.
7349         * tests/unictype/test-pr_xid_continue.c: Likewise.
7350         * tests/unictype/test-pr_xid_start.c: Likewise.
7351         * tests/unictype/test-pr_zero_width.c: Likewise.
7352         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
7353         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
7354         changed behaviour: line breaking is now disallowed between a letter
7355         or '=' and '('.
7356         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7357         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7358         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
7359         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
7360         * tests/uniwidth/test-uc_width2.sh: Same updates as in
7361         lib/uniwidth/width.c.
7362         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
7363         without comments, but with the original copyright notice.
7364         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
7365         changes.
7366         * lib/unictype/categ_Cc.h: Likewise.
7367         * lib/unictype/categ_Co.h: Likewise.
7368         * lib/unictype/categ_Cs.h: Likewise.
7369         * lib/unictype/categ_Lt.h: Likewise.
7370         * lib/unictype/categ_Me.h: Likewise.
7371         * lib/unictype/categ_Pc.h: Likewise.
7372         * lib/unictype/categ_Pe.h: Likewise.
7373         * lib/unictype/categ_Pf.h: Likewise.
7374         * lib/unictype/categ_Pi.h: Likewise.
7375         * lib/unictype/categ_Ps.h: Likewise.
7376         * lib/unictype/categ_Sk.h: Likewise.
7377         * lib/unictype/categ_Sm.h: Likewise.
7378         * lib/unictype/categ_Z.h: Likewise.
7379         * lib/unictype/categ_Zl.h: Likewise.
7380         * lib/unictype/categ_Zp.h: Likewise.
7381         * lib/unictype/categ_Zs.h: Likewise.
7382         * lib/unictype/ctype_blank.h: Likewise.
7383         * lib/unictype/ctype_cntrl.h: Likewise.
7384         * lib/unictype/ctype_digit.h: Likewise.
7385         * lib/unictype/ctype_space.h: Likewise.
7386         * lib/unictype/ctype_xdigit.h: Likewise.
7387         * lib/unictype/mirror.h: Likewise.
7388         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7389         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7390         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7391         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7392         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7393         * lib/unictype/pr_bidi_control.h: Likewise.
7394         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7395         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7396         * lib/unictype/pr_bidi_pdf.h: Likewise.
7397         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7398         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7399         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7400         * lib/unictype/pr_format_control.h: Likewise.
7401         * lib/unictype/pr_hex_digit.h: Likewise.
7402         * lib/unictype/pr_hyphen.h: Likewise.
7403         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7404         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7405         * lib/unictype/pr_iso_control.h: Likewise.
7406         * lib/unictype/pr_join_control.h: Likewise.
7407         * lib/unictype/pr_left_of_pair.h: Likewise.
7408         * lib/unictype/pr_line_separator.h: Likewise.
7409         * lib/unictype/pr_math.h: Likewise.
7410         * lib/unictype/pr_non_break.h: Likewise.
7411         * lib/unictype/pr_not_a_character.h: Likewise.
7412         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7413         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7414         * lib/unictype/pr_other_id_continue.h: Likewise.
7415         * lib/unictype/pr_other_id_start.h: Likewise.
7416         * lib/unictype/pr_other_lowercase.h: Likewise.
7417         * lib/unictype/pr_other_math.h: Likewise.
7418         * lib/unictype/pr_other_uppercase.h: Likewise.
7419         * lib/unictype/pr_paired_punctuation.h: Likewise.
7420         * lib/unictype/pr_paragraph_separator.h: Likewise.
7421         * lib/unictype/pr_pattern_syntax.h: Likewise.
7422         * lib/unictype/pr_pattern_white_space.h: Likewise.
7423         * lib/unictype/pr_private_use.h: Likewise.
7424         * lib/unictype/pr_quotation_mark.h: Likewise.
7425         * lib/unictype/pr_radical.h: Likewise.
7426         * lib/unictype/pr_soft_dotted.h: Likewise.
7427         * lib/unictype/pr_space.h: Likewise.
7428         * lib/unictype/pr_titlecase.h: Likewise.
7429         * lib/unictype/pr_variation_selector.h: Likewise.
7430         * lib/unictype/pr_white_space.h: Likewise.
7431         * lib/unictype/sy_c_ident.h: Likewise.
7432         * lib/unictype/sy_c_whitespace.h: Likewise.
7433         * lib/unictype/sy_java_whitespace.h: Likewise.
7434         * modules/uni*/*: Bump version number of expected libunistring version.
7435         Reported by Simon Josefsson.
7436
7437 2011-01-09  Karl Heuer  <kwzh@gnu.org>
7438
7439         useless-if-before-free: fix typo in --help and make the internal,
7440         automatic version date update process work once again.
7441         --help output contained a NUL character instead of the
7442         backslash-zero that was intended.  Also, the "must lie within
7443         the first 8 lines" line is on line 9, and hence not getting
7444         automatically updated.
7445         * build-aux/useless-if-before-free: Fix the former by adding a
7446         backslash, and the latter by condensing the three lines of what-it-does
7447         to a single line, leaving one line of slack for the future.
7448
7449 2011-01-09  Bruno Haible  <bruno@clisp.org>
7450
7451         uniwidth/width: Fix width of U+1D173..U+1D17A.
7452         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
7453         symbolic_width, output_width_property_test): New functions.
7454         (main): Invoke output_nonspacing_property, output_width_property_test.
7455         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
7456         U+1D173..U+1D17A.
7457         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
7458         1.
7459         * modules/uniwidth/*: Bump version number of expected libunistring
7460         version.
7461         * modules/unilbrk/*: Likewise.
7462
7463 2011-01-08  Bruno Haible  <bruno@clisp.org>
7464
7465         uninorm tests: Preserve copyright of Unicode data file.
7466         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
7467         Mention modifications.
7468
7469 2011-01-08  Bruno Haible  <bruno@clisp.org>
7470
7471         gen-uni-tables: Prepare for Unicode 5.2.0.
7472         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
7473         (debug_output_lbp, output_lbp): Update.
7474
7475 2011-01-08  Bruno Haible  <bruno@clisp.org>
7476
7477         unilbrk: Clarify gen-uni-tables.c code.
7478         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
7479         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
7480         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
7481
7482 2011-01-07  Bruno Haible  <bruno@clisp.org>
7483
7484         strtod: Restore errno when successfully parsing Infinity or NaN.
7485         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
7486         restore the original errno.
7487
7488 2011-01-07  Bruno Haible  <bruno@clisp.org>
7489
7490         remove test: Avoid failure on HP-UX 11.
7491         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
7492
7493 2011-01-07  Bruno Haible  <bruno@clisp.org>
7494
7495         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
7496         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
7497         error code.
7498
7499 2011-01-07  Pádraig Brady <P@draigBrady.com>
7500
7501         ignore-value: fixup comments, and add Eric Blake
7502         as an author since he rewrote the macros.
7503         * lib/ignore-value.h (ignore_value):  State that
7504         we now support aggregates.  Also specify exactly
7505         when the GCC warn_unused_result feature was added.
7506
7507 2011-01-06  Eric Blake  <eblake@redhat.com>
7508
7509         ignore-value: support aggregate types
7510         * lib/ignore-value.h (ignore_value): Provide separate gcc
7511         definition.
7512         * modules/ignore-value-tests: New test module.
7513         * tests/test-ignore-value.c: New test.
7514
7515         maint.mk: improve sc_prohibit_strcmp regex
7516         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
7517         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
7518         definition of STRNEQ.
7519
7520         signal: work around Haiku issue with SIGBUS
7521         * lib/siglist.h: Add comment.
7522         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
7523         strsignal's favoring of SIGSEGV.
7524         * tests/test-signal.c (main): Avoid test failure.
7525         * doc/posix-headers/signal.texi (signal.h): Document the issue.
7526         Reported by Scott McCreary.
7527
7528         maint.mk: add pre-release check to ensure submodule commits are public
7529         * top/maint.mk (public-submodule-commit): New rule.
7530         (submodule-checks): New variable.
7531         (alpha beta stable): Depend on the variable.
7532
7533 2011-01-05  Pádraig Brady <P@draigBrady.com>
7534         and Jim Meyering  <meyering@redhat.com>
7535
7536         ignore-value: make ignore_value more generic; deprecate ignore_ptr
7537         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
7538         (ATTRIBUTE_DEPRECATED): Define.
7539         (_ignore_case): New function.
7540         (ignore_value): New macro, to replace the old function.
7541         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
7542         * modules/ignore-value (Depends-on): Add stdint.
7543
7544 2011-01-04  Eric Blake  <eblake@redhat.com>
7545
7546         doc: regenerate INSTALL
7547         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
7548         @firstparagraphindent support, now that autoconf dropped it.
7549         (INSTALL_PRELUDE): Reinstate old macro.
7550         * doc/install.texi: Resync from autoconf.
7551         * doc/INSTALL: Reflect recent autoconf update.
7552         * doc/INSTALL.ISO: Likewise.
7553         * doc/INSTALL.UTF-8: Likewise.
7554         Reported by Karl Berry.
7555
7556 2011-01-04  Bruce Korb  <address@hidden>
7557
7558         git-version-gen: avoid a sub-shell
7559         * build-aux/git-version-gen: Redirect stderr in `...` via
7560         "exec 2>...", rather than via an added sub-shell.
7561
7562 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
7563
7564         git-version-gen: use (...) rather than sh -c '...'
7565         * build-aux/git-version-gen: Rather than hard-coding a shell's name
7566         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
7567
7568 2011-01-03  Jim Meyering  <meyering@redhat.com>
7569
7570         git-version-gen: convert leading TABs to spaces
7571         * build-aux/git-version-gen: Expand leading TABs.
7572
7573         git-version-gen: handle failed "git rev-list"
7574         * build-aux/git-version-gen: Rather than leaking a "fatal" error
7575         from git and proceeding as if it had succeeded but printed no SHA1
7576         checksums, suppress the diagnostic and handle the failure.
7577         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
7578
7579         git-version-gen: include command name in one more diagnostic
7580         * build-aux/git-version-gen: When the required .tarball-version file
7581         was missing or unreadable, you might see the diagnostic from "cat",
7582         but no trace of the name of the invoking script.  Now, you still see
7583         the diagnostic from cat, but also get one from "git-version-gen: ".
7584         Inspired by a patch from Bruce Korb.
7585
7586         update-copyright: adjust test to match changed code
7587         * tests/test-update-copyright.sh: Change test's expected output
7588         to match new actual output.
7589
7590 2011-01-02  Bruno Haible  <bruno@clisp.org>
7591
7592         getlogin_r: Avoid test failure on HP-UX 11.
7593         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
7594         ERANGE when the second argument is zero.
7595         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
7596         portability problem.
7597
7598 2011-01-02  Bruce Korb  <bkorb@gnu.org>
7599
7600         * build-aux/update-copyright: doc Simon's changes
7601
7602 2011-01-02  Simon Josefsson  <simon@josefsson.org>
7603
7604         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
7605         environment variable.
7606
7607 2011-01-02  Bruno Haible  <bruno@clisp.org>
7608
7609         unigbrk: Avoid gcc warnings.
7610         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
7611         unused variable.
7612         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
7613         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
7614         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
7615         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
7616         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
7617         Change type of first argument to 'const char *'.
7618         (main): Remove unused variable.
7619         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
7620         type of first argument to 'const char *'.
7621         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
7622         Likewise.
7623         (main): Change type of variable 's'.
7624         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
7625         to 'int'.
7626
7627 2011-01-02  Bruno Haible  <bruno@clisp.org>
7628
7629         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
7630         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
7631         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
7632         bug.
7633         * lib/pwrite.c: Undo 2010-12-31 patch.
7634         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
7635
7636 2011-01-02  Bruno Haible  <bruno@clisp.org>
7637
7638         pread: Fix test whether it works.
7639         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
7640
7641 2011-01-02  Bruno Haible  <bruno@clisp.org>
7642
7643         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
7644         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
7645         ends in "6". Don't require a specific month name. Try also the locale
7646         names found on HP-UX 11 and Solaris 7.
7647
7648 2011-01-02  Bruno Haible  <bruno@clisp.org>
7649
7650         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
7651         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
7652         C linkage.
7653         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
7654
7655 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7656
7657         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
7658         for consistency, since the "cluster" term is not used elsewhere.
7659         * lib/unigbrk.in.h: Update name.
7660         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
7661         * lib/unigbrk/u16-grapheme-next.c: Update name.
7662         * lib/unigbrk/u16-grapheme-prev.c: Update name.
7663         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
7664         * lib/unigbrk/u32-grapheme-next.c: Update name.
7665         * lib/unigbrk/u32-grapheme-prev.c: Update name.
7666         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
7667         * lib/unigbrk/u8-grapheme-next.c: Update name.
7668         * lib/unigbrk/u8-grapheme-prev.c: Update name.
7669         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
7670         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
7671         Suggested by Bruno Haible.
7672
7673 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7674
7675         Remove module 'u8-grapheme-len' as too redundant with
7676         'u8-grapheme-next'.
7677         * modules/unigbrk/u8-grapheme-len: Delete file.
7678         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
7679         * lib/unigbrk.in.h: Remove prototype for deleted function.
7680         * lib/unigbrk/u8-grapheme-len.c: Delete file.
7681         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
7682
7683         Remove module 'u16-grapheme-len' as too redundant with
7684         'u16-grapheme-next'.
7685         * modules/unigbrk/u16-grapheme-len: Delete file.
7686         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
7687         * lib/unigbrk.in.h: Remove prototype for deleted function.
7688         * lib/unigbrk/u16-grapheme-len.c: Delete file.
7689         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
7690
7691         Remove module 'u32-grapheme-len' as too redundant with
7692         'u32-grapheme-next'.
7693         * modules/unigbrk/u32-grapheme-len: Delete file.
7694         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
7695         * lib/unigbrk.in.h: Remove prototype for deleted function.
7696         * lib/unigbrk/u32-grapheme-len.c: Delete file.
7697         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
7698
7699         Suggested by Bruno Haible.
7700
7701 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7702
7703         * unigbrk.in.h: Fix typo: "ben" => "been".
7704         Reported by Bruno Haible.
7705
7706 2011-01-01  Jim Meyering  <meyering@redhat.com>
7707
7708         maint: update almost all copyright ranges to include 2011
7709         Run the new "make update-copyright" rule.
7710
7711 2011-01-01  Jim Meyering  <meyering@redhat.com>
7712
7713         maint: update-copyright: exempt doc/INSTALL*
7714         * Makefile (update-copyright): Also exclude doc/INSTALL*,
7715         since they are generated.  Suggested by Bruno Haible.
7716
7717 2011-01-01  Jim Meyering  <meyering@redhat.com>
7718
7719         maint: refine the update-copyright rule
7720         * Makefile (update-copyright): Also exclude any file that includes
7721         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
7722         code that merely generates the comment.
7723
7724 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7725
7726         New module 'u8-grapheme-len'.
7727         * modules/unigbrk/u8-grapheme-len: New file.
7728         * modules/unigbrk/u8-grapheme-len-tests: New file.
7729         * lib/unigbrk.in.h: Add prototype for new function.
7730         * lib/unigbrk/u8-grapheme-len.c: New file.
7731         * tests/unigbrk/test-u8-grapheme-len.c: New file.
7732
7733         New module 'u16-grapheme-len'.
7734         * modules/unigbrk/u16-grapheme-len: New file.
7735         * modules/unigbrk/u16-grapheme-len-tests: New file.
7736         * lib/unigbrk.in.h: Add prototype for new function.
7737         * lib/unigbrk/u16-grapheme-len.c: New file.
7738         * tests/unigbrk/test-u16-grapheme-len.c: New file.
7739
7740         New module 'u32-grapheme-len'.
7741         * modules/unigbrk/u32-grapheme-len: New file.
7742         * modules/unigbrk/u32-grapheme-len-tests: New file.
7743         * lib/unigbrk.in.h: Add prototype for new function.
7744         * lib/unigbrk/u32-grapheme-len.c: New file.
7745         * tests/unigbrk/test-u32-grapheme-len.c: New file.
7746
7747         New module 'u8-grapheme-next'.
7748         * modules/unigbrk/u8-grapheme-next: New file.
7749         * modules/unigbrk/u8-grapheme-next-tests: New file.
7750         * lib/unigbrk.in.h: Add prototype for new function.
7751         * lib/unigbrk/u8-grapheme-next.c: New file.
7752         * tests/unigbrk/test-u8-grapheme-next.c: New file.
7753
7754         New module 'u16-grapheme-next'.
7755         * modules/unigbrk/u16-grapheme-next: New file.
7756         * modules/unigbrk/u16-grapheme-next-tests: New file.
7757         * lib/unigbrk.in.h: Add prototype for new function.
7758         * lib/unigbrk/u16-grapheme-next.c: New file.
7759         * tests/unigbrk/test-u16-grapheme-next.c: New file.
7760
7761         New module 'u32-grapheme-next'.
7762         * modules/unigbrk/u32-grapheme-next: New file.
7763         * modules/unigbrk/u32-grapheme-next-tests: New file.
7764         * lib/unigbrk.in.h: Add prototype for new function.
7765         * lib/unigbrk/u32-grapheme-next.c: New file.
7766         * tests/unigbrk/test-u32-grapheme-next.c: New file.
7767
7768         New module 'u8-grapheme-prev'.
7769         * modules/unigbrk/u8-grapheme-prev: New file.
7770         * modules/unigbrk/u8-grapheme-prev-tests: New file.
7771         * lib/unigbrk.in.h: Add prototype for new function.
7772         * lib/unigbrk/u8-grapheme-prev.c: New file.
7773         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
7774
7775         New module 'u16-grapheme-prev'.
7776         * modules/unigbrk/u16-grapheme-prev: New file.
7777         * modules/unigbrk/u16-grapheme-prev-tests: New file.
7778         * lib/unigbrk.in.h: Add prototype for new function.
7779         * lib/unigbrk/u16-grapheme-prev.c: New file.
7780         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
7781
7782         New module 'u32-grapheme-prev'.
7783         * modules/unigbrk/u32-grapheme-prev: New file.
7784         * modules/unigbrk/u32-grapheme-prev-tests: New file.
7785         * lib/unigbrk.in.h: Add prototype for new function.
7786         * lib/unigbrk/u32-grapheme-prev.c: New file.
7787         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
7788
7789         New module 'u8-grapheme-breaks'.
7790         * modules/unigbrk/u8-grapheme-breaks: New file.
7791         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
7792         * lib/unigbrk.in.h: Add prototype for new function.
7793         * lib/unigbrk/u8-grapheme-breaks.c: New file.
7794         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
7795
7796         New module 'u16-grapheme-breaks'.
7797         * modules/unigbrk/u16-grapheme-breaks: New file.
7798         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
7799         * lib/unigbrk.in.h: Add prototype for new function.
7800         * lib/unigbrk/u16-grapheme-breaks.c: New file.
7801         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
7802
7803         New module 'u32-grapheme-breaks'.
7804         * modules/unigbrk/u32-grapheme-breaks: New file.
7805         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
7806         * lib/unigbrk.in.h: Add prototype for new function.
7807         * lib/unigbrk/u32-grapheme-breaks.c: New file.
7808         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
7809
7810         New module 'ulc-grapheme-breaks'.
7811         * modules/unigbrk/ulc-grapheme-breaks: New file.
7812         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
7813         * m4/locale-ar.m4: New file.
7814         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
7815         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
7816         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
7817
7818 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7819
7820         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
7821         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
7822         modified how this file was generated before I initially submitted
7823         the module, but failed to regenerate it.  This meant that several
7824         of the level2 entries were wrong.
7825         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
7826         Remove the division-by-2 that is folded into the table now that
7827         gbrkprop.h has been regenerated properly.  Now -1 entries are
7828         handled correctly.
7829
7830         New module 'unigbrk/uc-gbrk-prop-tests'.
7831         * modules/unigbrk/uc-gbrk-prop-tests: New file.
7832         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
7833         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
7834         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
7835
7836 2011-01-01  Bruno Haible  <bruno@clisp.org>
7837
7838         Avoid use of hexadecimal escapes.
7839         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
7840         instead of hexadecimal escapes.
7841
7842 2011-01-01  Jim Meyering  <meyering@redhat.com>
7843
7844         maint: new rule to update copyright year ranges
7845         * Makefile (update-copyright): New rule.
7846
7847         maint: indent with TABs in Makefile
7848         * Makefile: Expand leading sequences of spaces to TABs
7849
7850         version-etc: update the copyright year it reports
7851         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
7852
7853 2010-12-31  Bruno Haible  <bruno@clisp.org>
7854
7855         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
7856         * lib/isfinite.c (zerof, zerod, zerol): New variables.
7857         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
7858         zero.
7859
7860 2010-12-31  Bruno Haible  <bruno@clisp.org>
7861
7862         pwrite: Work around HP-UX 11.11 bug.
7863         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
7864         works and set REPLACE_PWRITE if not.
7865         * lib/pwrite.c (pwrite): Add an implementation that uses the system
7866         function.
7867         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
7868
7869 2010-12-31  Bruno Haible  <bruno@clisp.org>
7870
7871         pread: Work around HP-UX 11 bugs.
7872         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
7873         and set REPLACE_PREAD if not.
7874         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
7875
7876 2010-12-31  Eric Blake  <eblake@redhat.com>
7877
7878         nl_langinfo: fix YESEXPR on Irix 6.5
7879         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
7880         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
7881         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
7882         it.
7883
7884 2010-12-31  Bruno Haible  <bruno@clisp.org>
7885
7886         iconv: Document HP-UX 11 bug.
7887         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
7888
7889 2010-12-31  Bruno Haible  <bruno@clisp.org>
7890
7891         ldexpl: Fix link error on HP-UX 11.
7892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
7893         LDEXPL_LIBM, using $ISNANL_LIBM.
7894
7895 2010-12-31  Eric Blake  <eblake@redhat.com>
7896
7897         ftello: avoid compilation failure with SunStudio c89
7898         * lib/ftello.c (ftello): Use lseek, not llseek.
7899
7900         tests: avoid failing coreutils tests on cygwin
7901         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
7902         (create_exe_shims_): Return 0 when skipping.
7903
7904 2010-12-31  Bruno Haible  <bruno@clisp.org>
7905
7906         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
7907         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
7908
7909 2010-12-31  Bruno Haible  <bruno@clisp.org>
7910
7911         waitpid: Fix link error in C++ mode.
7912         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
7913
7914 2010-12-31  Bruno Haible  <bruno@clisp.org>
7915
7916         isnan: Use GCC built-ins when possible.
7917         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
7918         __builtin_isnan.
7919         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
7920         (isnan): Define using GCC built-ins for GCC >= 4.0.
7921
7922 2010-12-31  Bruno Haible  <bruno@clisp.org>
7923
7924         isnand: Fix mistake.
7925         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
7926         __builtin_isnand.
7927
7928 2010-12-31  Bruno Haible  <bruno@clisp.org>
7929
7930         open: Avoid C++ error on HP-UX 11.
7931         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
7932
7933 2010-12-31  Bruno Haible  <bruno@clisp.org>
7934
7935         time_r: Add missing declarations on HP-UX 11.
7936         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
7937         instead of HAVE_LOCALTIME_R.
7938         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
7939         HAVE_LOCALTIME_R always.
7940         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
7941         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
7942         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
7943         HAVE_LOCALTIME_R.
7944         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
7945         * doc/posix-functions/localtime_r.texi: Likewise.
7946
7947 2010-12-29  Eric Blake  <eblake@redhat.com>
7948
7949         mountlist: tweak previous commit
7950         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
7951         Reported by Paul Eggert.
7952
7953         mountlist: fix local drive detection on cygwin
7954         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
7955         that works for cygwin.
7956
7957 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7958
7959         ftoastr, snprintf: ftoastr + snprintf module
7960         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
7961         since the snprintf module now should be good enough here.
7962         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
7963         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
7964         and gl_MODULE_INDICATOR([snprintf]), but the former enables
7965         GNULIB_SNPRINTF only for the test directory, and the latter
7966         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
7967         seems to suffice by itself.
7968
7969 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7970
7971         alloca: one step towards thread-safety
7972         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7973         need for a static variable.  All callers changed.  This does not
7974         make the alloca replacement thread-safe, but it's one step.
7975
7976         tests: minor indenting change
7977         * tests/init.sh: Sync from coreutils housekeeping patch
7978         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7979         to keep lines within 80 columns.
7980
7981 2010-12-28  Jim Meyering  <meyering@redhat.com>
7982
7983         regex: don't infloop on persistent failing calloc
7984         * lib/regexec.c (build_trtable): Return failure indication upon
7985         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7986         In glibc, this was fixed for version 2.13:
7987         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7988
7989 2010-12-28  Bruno Haible  <bruno@clisp.org>
7990             Paul Eggert <eggert@cs.ucla.edu>
7991
7992         linkat: Make implementation robust against system behaviour variations.
7993         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7994         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7995         way, and to -2 if it needs a generic runtime test.
7996         * lib/linkat.c (solaris_optimized_link_immediate,
7997         solaris_optimized_link_follow): New functions.
7998         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7999         (check_same_link): Use it.
8000
8001 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
8002
8003         New module 'unigbrk/base'.
8004         * modules/unigbrk/base: New file.
8005         * lib/unigbrk.in.h: New file.
8006
8007         New module 'unigbrk/uc-gbrk-prop'.
8008         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
8009         * modules/unigbrk/uc-gbrk-prop: New file.
8010         * lib/unigbrk/gbrkprop.h: New file.
8011         * lib/unigbrk/uc-gbrk-prop.c: New file.
8012
8013         New module 'unigbrk/uc-is-grapheme-break'.
8014         * modules/unigbrk/uc-is-grapheme-break: New file.
8015         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
8016         * lib/unigbrk/uc-is-grapheme-break.c: New file.
8017         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
8018         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
8019         * tests/unigbrk/GraphemeBreakTest.txt: New file.
8020
8021         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
8022
8023 2010-12-27  Bruno Haible  <bruno@clisp.org>
8024
8025         linkat test: Avoid failure on Solaris 11 2010-11.
8026         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
8027
8028 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8029
8030         utimens: work around glibc rounding bug on more platforms
8031         * lib/utimens.c (fdutimens): Work around rounding bug even if
8032         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
8033         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
8034
8035 2010-12-27  Bruno Haible  <bruno@clisp.org>
8036
8037         select tests: Improve comments.
8038         * tests/test-select.c (do_select): Add comments.
8039
8040 2010-12-27  Bruno Haible  <bruno@clisp.org>
8041
8042         select tests: Safer way of handling timeout.
8043         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
8044         at every invocation.
8045
8046 2010-12-27  Bruno Haible  <bruno@clisp.org>
8047
8048         select tests: Use 'bool' where appropriate.
8049         * tests/test-select.c (connect_to_socket): Change argument type to
8050         'bool'.
8051
8052 2010-12-27  Bruno Haible  <bruno@clisp.org>
8053
8054         select tests: Use existing modules.
8055         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
8056         (configure.ac): Don't test for unistd.h.
8057         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
8058         declared in <unistd.h>.
8059
8060 2010-12-27  Bruno Haible  <bruno@clisp.org>
8061
8062         mbrtowc: Work around a Solaris 7 bug.
8063         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
8064         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
8065         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
8066         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
8067         MBRTOWC_NULL_ARG1_BUG.
8068         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
8069         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
8070         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
8071         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
8072
8073 2010-12-27  Jim Meyering  <meyering@redhat.com>
8074
8075         read-file.c: tweak syntax
8076         * lib/read-file.c (fread_file): Remove space after "*" in function
8077         definitions.
8078
8079 2010-12-27  Bruno Haible  <bruno@clisp.org>
8080
8081         times test: Avoid gcc warnings on OSF/1.
8082         * tests/test-times.c (main): Cast printf arguments from clock_t to
8083         'long int'.
8084
8085 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8086
8087         utimens: work around glibc rounding bug on older Linux kernels
8088         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
8089         on Linux with a glibc whose utimes might not work, then work
8090         around a longstanding glibc bug involving rounding rather than
8091         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
8092         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8093
8094 2010-12-26  Bruno Haible  <bruno@clisp.org>
8095
8096         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
8097         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
8098         _GL_CXXALIAS_SYS.
8099         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8100
8101 2010-12-26  Bruno Haible  <bruno@clisp.org>
8102
8103         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
8104         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
8105         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8106         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
8107         looking for the declaration.
8108         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
8109         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
8110         problem.
8111         * doc/posix-functions/inet_pton.texi: Likewise.
8112
8113 2010-12-26  Bruno Haible  <bruno@clisp.org>
8114
8115         arpa_inet: Use the common idioms with C++ support.
8116         * lib/arpa_inet.in.h: Include c++defs.h.
8117         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
8118         support.
8119         * modules/arpa_inet (Depends-on): Add c++defs.
8120         (Makefile.am): Substitute the contents of c++defs.h.
8121         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
8122         * modules/arpa_inet-c++-tests: New file.
8123         * tests/test-arpa_inet-c++.cc: New file.
8124
8125 2010-12-25  Bruno Haible  <bruno@clisp.org>
8126
8127         Fix more C++ link errors on Solaris 8.
8128         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
8129         $(LIB_EACCESS).
8130         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
8131         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
8132         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
8133         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
8134         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
8135
8136 2010-12-25  Bruno Haible  <bruno@clisp.org>
8137
8138         printf-posix: Fix link error when a non-GCC compiler is used.
8139         * lib/stdio.in.h (printf): When not using GCC, override printf
8140         correctly.
8141         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8142
8143 2010-12-25  Bruno Haible  <bruno@clisp.org>
8144
8145         strerror_r-posix: Update doc.
8146         * doc/posix-functions/strerror_r.texi: Update doc about the return
8147         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
8148
8149 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8150
8151         utimens: simplify the logic of the previous change
8152         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
8153         This should not affect whether the test succeeds or fails.
8154
8155         utimens: configure better on hosts with NFS clock skew
8156         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
8157         uses the clock of the local host.  It might use the clock of the
8158         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
8159         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8160
8161 2010-12-25  Bruno Haible  <bruno@clisp.org>
8162
8163         ptsname test: Avoid failure on Solaris.
8164         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
8165         open a pseudo-terminal; don't use BSD-style ptys.
8166         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
8167
8168 2010-12-25  Bruno Haible  <bruno@clisp.org>
8169
8170         ptsname: Avoid ERANGE failure on some systems.
8171         * lib/ptsname.c (buffer): Increase size.
8172
8173 2010-12-25  Bruno Haible  <bruno@clisp.org>
8174
8175         rename, renameat: Avoid test failures at NFS mounted locations.
8176         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
8177         so that subsequent mkdir calls succeed.
8178
8179 2010-12-25  Bruno Haible  <bruno@clisp.org>
8180
8181         iswblank: Fix C++ link error on Solaris 8.
8182         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
8183         _GL_FUNCDECL_SYS.
8184
8185 2010-12-25  Bruno Haible  <bruno@clisp.org>
8186
8187         unistd: Fix C++ link error on Solaris 8.
8188         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
8189
8190 2010-12-25  Bruno Haible  <bruno@clisp.org>
8191
8192         readlink doc: Mention an old glibc bug.
8193         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
8194
8195 2010-12-25  Bruno Haible  <bruno@clisp.org>
8196
8197         fcntl-h: Fix for use of C++ on glibc systems.
8198         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8199         also on glibc systems in C++ mode.
8200         Reported by Gary V. Vaughan <gary@gnu.org>.
8201
8202 2010-12-25  Bruno Haible  <bruno@clisp.org>
8203
8204         roundl-ieee: Make it work on OSF/1 5.1 with cc.
8205         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
8206
8207 2010-12-25  Bruno Haible  <bruno@clisp.org>
8208
8209         truncl-ieee: Make it work on OSF/1 5.1 with cc.
8210         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
8211         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
8212         test whether truncl works according to ISO C 99 with IEC 60559.
8213         * m4/truncl-ieee.m4: New file.
8214         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
8215         m4/signbit.m4.
8216         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
8217
8218 2010-12-25  Bruno Haible  <bruno@clisp.org>
8219
8220         ceill-ieee: Make it work on OSF/1 5.1 with cc.
8221         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
8222         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
8223         test whether ceill works according to ISO C 99 with IEC 60559.
8224         * m4/ceill-ieee.m4: New file.
8225         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
8226         m4/signbit.m4.
8227         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
8228
8229 2010-12-25  Bruno Haible  <bruno@clisp.org>
8230
8231         Ensure all prerequisites of <wchar.h> are included.
8232         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
8233         before <wchar.h>.
8234         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8235         gl_MBRLEN_NUL_RETVAL): Likewise.
8236         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8237         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
8238         AC_FUNC_MBRTOWC): Likewise.
8239         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8240         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
8241         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8242         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
8243         Likewise.
8244         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8245         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
8246         (gl_WCHAR_H): Improve comments.
8247         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8248
8249 2010-12-25  Bruno Haible  <bruno@clisp.org>
8250
8251         strtok_r: Fix C syntax error in autoconf macro.
8252         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
8253         characters in test program.
8254
8255 2010-12-24  Bruno Haible  <bruno@clisp.org>
8256
8257         ceil, trunc, round: Fix gcc warnings.
8258         * lib/ceil.c (MIN): Undefine before redefining.
8259         * lib/trunc.c (MIN): Likewise.
8260         * lib/round.c (MIN): Likewise.
8261         Include <math.h> first.
8262
8263 2010-12-24  Bruno Haible  <bruno@clisp.org>
8264
8265         select tests: Avoid failures on OSF/1 5.1.
8266         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
8267         failure of closing the last socket; it may fail with ECONNRESET.
8268
8269 2010-12-24  Eric Blake  <eblake@redhat.com>
8270
8271         stdint: avoid HP-UX 10.20 preprocessor bug
8272         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
8273         than #if.
8274         * tests/test-floor2.c (main): Likewise.
8275         Reported by Peter O'Gorman.
8276
8277         pipe: make obsoletion transition easier
8278         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
8279         * modules/pipe (Files): Include revived file.
8280         (Include): Drop reference, to mirror getdate's behavior.
8281
8282 2010-12-24  Bruno Haible  <bruno@clisp.org>
8283
8284         sys_socket: Hide mismatch of declarations on NonStop Kernel.
8285         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
8286         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
8287         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8288
8289 2010-12-24  Bruno Haible  <bruno@clisp.org>
8290
8291         gethostname: Ensure declaration on NonStop Kernel.
8292         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
8293         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8294
8295 2010-12-24  Bruno Haible  <bruno@clisp.org>
8296
8297         sys_select: Ensure all necessary types on NonStop Kernel.
8298         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
8299         include <sys/time.h>.
8300         * doc/posix-headers/sys_select.texi: Mention that it's missing on
8301         NonStop Kernel.
8302         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8303
8304 2010-12-24  Bruno Haible  <bruno@clisp.org>
8305
8306         sys_select: Remove unneeded include.
8307         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
8308         have <sys/select.h>.
8309
8310 2010-12-24  Bruno Haible  <bruno@clisp.org>
8311
8312         gethostname: Provide a fallback for HOST_NAME_MAX.
8313         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
8314         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
8315         instead.
8316         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8317
8318 2010-12-24  Bruno Haible  <bruno@clisp.org>
8319
8320         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
8321         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
8322         (SA_RESTART): Likewise.
8323         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8324
8325 2010-12-24  Bruno Haible  <bruno@clisp.org>
8326
8327         signal: Define NSIG.
8328         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
8329         * tests/test-signal.c (nsig): New variable.
8330         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8331
8332 2010-12-24  Bruno Haible  <bruno@clisp.org>
8333
8334         rename, renameat: Avoid test failures on OSF/1 5.1.
8335         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
8336         alternative error codes.
8337         * tests/test-renameat.c (main): Likewise.
8338
8339 2010-12-24  Bruno Haible  <bruno@clisp.org>
8340
8341         *printf: Detect large precisions bug on Solaris 10/SPARC.
8342         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
8343         by Paul Eggert.
8344         * tests/test-snprintf-posix.h (test_function): Add this test code here
8345         too.
8346         * tests/test-sprintf-posix.h (test_function): Likewise.
8347         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8348         * tests/test-vasprintf-posix.c (test_function): Likewise.
8349         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
8350         around by gnulib.
8351         * doc/posix-functions/printf.texi: Likewise.
8352         * doc/posix-functions/snprintf.texi: Likewise.
8353         * doc/posix-functions/sprintf.texi: Likewise.
8354         * doc/posix-functions/vfprintf.texi: Likewise.
8355         * doc/posix-functions/vprintf.texi: Likewise.
8356         * doc/posix-functions/vsnprintf.texi: Likewise.
8357         * doc/posix-functions/vsprintf.texi: Likewise.
8358         * doc/posix-functions/dprintf.texi: Undo last commit.
8359         * doc/posix-functions/vdprintf.texi: Likewise.
8360
8361 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8362
8363         tests: port test-fdutimensat.c to Solaris 8
8364         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
8365         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
8366         On Solaris 8, it fails with errno == ENOSYS, because there is no
8367         futimens (so it can't use the fd), and there is no lutimens (so it
8368         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
8369
8370         vsnprintf: make more consistent with snprintf; doc fixes
8371
8372         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
8373         the byte count return problem was promoted from the snprintf-posix
8374         to the snprintf module.
8375         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8376         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
8377         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
8378         * tests/test-snprintf.c (main): Check the byte count returned.
8379         * tests/test-vsnprintf.c (main): Likewise.
8380
8381 2010-12-23  Eric Blake  <eblake@redhat.com>
8382
8383         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
8384         * modules/sigpipe (License): Relax license.
8385
8386 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8387
8388         doc: document Solaris printf bug with large float precisions
8389         * doc/posix-functions/dprintf.texi (dprintf):
8390         * doc/posix-functions/fprintf.texi (fprintf):
8391         * doc/posix-functions/printf.texi (printf):
8392         * doc/posix-functions/snprintf.texi (snprintf):
8393         * doc/posix-functions/sprintf.texi (sprintf):
8394         * doc/posix-functions/vdprintf.texi (vdprintf):
8395         * doc/posix-functions/vfprintf.texi (vfprintf):
8396         * doc/posix-functions/vprintf.texi (vprintf):
8397         * doc/posix-functions/vsnprintf.texi (vsnprintf):
8398         * doc/posix-functions/vsprintf.texi (vsprintf):
8399         Mention that these functions mishandle large floating point
8400         precisions on Solaris 10.  The same bug is also present in Solaris
8401         8, and I assume earlier.  This causes "cd gnulib-tests; make
8402         check" to fail on Solaris 8 (and I assume, later) when building
8403         the latest coreutils, in test-vasprintf-posix's call to
8404         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
8405         the wide flavors (e.g., wprintf) so this patch just updates the
8406         documentation for the narrow ones.
8407
8408         test-posixtm.c: add two tests
8409         * tests/test-posixtm.c: Add two tests, to highlight the
8410         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
8411         around this bug; this is merely to document it.
8412
8413 2010-12-22  Bruno Haible  <bruno@clisp.org>
8414
8415         getlogin_r: Work around portability problem on OSF/1.
8416         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
8417         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
8418         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
8419         test for a truncated result.
8420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
8421         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
8422         * modules/getlogin_r (Depends-on): Add memchr.
8423         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
8424
8425 2010-12-22  Bruno Haible  <bruno@clisp.org>
8426
8427         ptsname: Avoid test failure on OSF/1 5.1.
8428         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
8429         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
8430         (same_slave): New function.
8431         (main): Use it to compare ptsname's result with the expected file name.
8432
8433 2010-12-22  Bruno Haible  <bruno@clisp.org>
8434
8435         Port extended stdio modules to HP NonStop Kernel.
8436         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
8437         macros.
8438         * lib/fbufmode.c: Update comments.
8439         * lib/fflush.c: Likewise.
8440         * lib/fpurge.c: Likewise.
8441         * lib/freadable.c: Likewise.
8442         * lib/freadahead.c: Likewise.
8443         * lib/freading.c: Likewise.
8444         * lib/freadptr.c: Likewise.
8445         * lib/freadseek.c: Likewise.
8446         * lib/fseeko.c: Likewise.
8447         * lib/fseterr.c: Likewise.
8448         * lib/fwritable.c: Likewise.
8449         * lib/fwriting.c: Likewise.
8450         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8451
8452 2010-12-22  Bruno Haible  <bruno@clisp.org>
8453
8454         ttyname_r: Work around bug on OSF/1 5.1.
8455         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
8456         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
8457         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
8458         present.
8459         * lib/ttyname_r.c (ttyname_r): Update comments.
8460
8461 2010-12-22  Bruno Haible  <bruno@clisp.org>
8462
8463         round: Implement result sign according to IEEE 754.
8464         * lib/round.c (MIN, MINUS_ZERO): New macros.
8465         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
8466         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
8467         * tests/test-round-ieee.c (main): Likewise.
8468         * tests/test-roundl-ieee.c (main): Likewise.
8469
8470         trunc: Implement result sign according to IEEE 754.
8471         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
8472         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
8473         * tests/test-trunc2.c: Include minus-zero.h.
8474         (MINUS_ZERO): New macro.
8475         (trunc_reference): Keep in sync with lib/trunc.c.
8476         * tests/test-truncf2.c: Include minus-zero.h.
8477         (MINUS_ZERO): New macro.
8478         (truncf_reference): Keep in sync with lib/trunc.c.
8479         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
8480         * tests/test-trunc-ieee.c (main): Likewise.
8481         * tests/test-truncl-ieee.c (main): Likewise.
8482
8483         ceil: Implement result sign according to IEEE 754.
8484         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
8485         (FUNC): Return -0.0 for -1 < x < 0.
8486         * tests/test-ceil2.c: Include minus-zero.h.
8487         (MINUS_ZERO): New macro.
8488         (ceil_reference): Keep in sync with lib/ceil.c.
8489         * tests/test-ceilf2.c: Include minus-zero.h.
8490         (MINUS_ZERO): New macro.
8491         (ceilf_reference): Keep in sync with lib/ceil.c.
8492         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
8493         * tests/test-ceil-ieee.c (main): Likewise.
8494         * tests/test-ceill-ieee.c (main): Likewise.
8495
8496         floor: Implement result sign according to IEEE 754.
8497         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
8498         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
8499         * tests/test-floorf2.c (floorf_reference): Likewise.
8500         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
8501         * tests/test-floor-ieee.c (main): Likewise.
8502         * tests/test-floorl-ieee.c (main): Likewise.
8503
8504 2010-12-22  Bruno Haible  <bruno@clisp.org>
8505
8506         getaddrinfo: Update doc.
8507         * doc/posix-functions/gai_strerror.texi: Return type is also different
8508         on AIX and HP-UX.
8509
8510 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8511
8512         getaddrinfo, inet_ntop: Update doc for Solaris.
8513         * doc/posix-functions/gai_strerror.texi: Return type is also an
8514         issue on Solaris 9 and earlier.
8515         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
8516         on Solaris 10 and earlier.
8517
8518 2010-12-21  Bruno Haible  <bruno@clisp.org>
8519
8520         New module 'roundl-ieee'.
8521         * modules/roundl-ieee: New file.
8522         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
8523         test whether roundl works according to ISO C 99 with IEC 60559.
8524         * m4/roundl-ieee.m4: New file.
8525         * modules/roundl-ieee-tests: New file.
8526         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
8527         * tests/test-roundl.c (main): Remove signbit tests.
8528         * modules/roundl-tests (Depends-on): Remove signbit.
8529         * doc/posix-functions/roundl.texi: Mention the new module.
8530
8531 2010-12-21  Bruno Haible  <bruno@clisp.org>
8532
8533         New module 'truncl-ieee'.
8534         * modules/truncl-ieee: New file.
8535         * modules/truncl-ieee-tests: New file.
8536         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
8537         * tests/test-truncl.c (main): Remove signbit tests.
8538         * modules/truncl-tests (Depends-on): Remove signbit.
8539         * doc/posix-functions/truncl.texi: Mention the new module.
8540
8541 2010-12-21  Bruno Haible  <bruno@clisp.org>
8542
8543         New module 'ceill-ieee'.
8544         * modules/ceill-ieee: New file.
8545         * modules/ceill-ieee-tests: New file.
8546         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
8547         * tests/test-ceill.c (main): Remove signbit tests.
8548         * modules/ceill-tests (Depends-on): Remove signbit.
8549         * doc/posix-functions/ceill.texi: Mention the new module.
8550
8551 2010-12-21  Bruno Haible  <bruno@clisp.org>
8552
8553         New module 'floorl-ieee'.
8554         * modules/floorl-ieee: New file.
8555         * modules/floorl-ieee-tests: New file.
8556         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
8557         * tests/test-floorl.c (main): Remove signbit tests.
8558         * modules/floorl-tests (Depends-on): Remove signbit.
8559         * doc/posix-functions/floorl.texi: Mention the new module.
8560
8561 2010-12-21  Bruno Haible  <bruno@clisp.org>
8562
8563         New module 'round-ieee'.
8564         * modules/round-ieee: New file.
8565         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
8566         whether round works according to ISO C 99 with IEC 60559.
8567         * m4/round-ieee.m4: New file.
8568         * modules/round-ieee-tests: New file.
8569         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
8570         * tests/test-round1.c (main): Remove signbit tests.
8571         * modules/round-tests (Depends-on): Remove 'signbit'.
8572         * doc/posix-functions/round.texi: Mention the new module.
8573
8574 2010-12-21  Bruno Haible  <bruno@clisp.org>
8575
8576         New module 'trunc-ieee'.
8577         * modules/trunc-ieee: New file.
8578         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
8579         whether trunc works according to ISO C 99 with IEC 60559.
8580         * m4/trunc-ieee.m4: New file.
8581         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
8582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
8583         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
8584         * modules/trunc-ieee-tests: New file.
8585         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
8586         * tests/test-trunc1.c (main): Remove signbit tests.
8587         * modules/trunc-tests (Depends-on): Remove 'signbit'.
8588         * doc/posix-functions/trunc.texi: Mention the new module.
8589
8590 2010-12-21  Bruno Haible  <bruno@clisp.org>
8591
8592         New module 'ceil-ieee'.
8593         * modules/ceil-ieee: New file.
8594         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
8595         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
8596         ISO C 99 with IEC 60559.
8597         * m4/ceil-ieee.m4: New file.
8598         * modules/ceil (Files): Add lib/ceil.c.
8599         (Depends-on): Add 'float'.
8600         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8601         * lib/math.in.h (ceil): New declaration.
8602         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
8603         REPLACE_CEIL.
8604         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
8605         * modules/ceil-ieee-tests: New file.
8606         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
8607         * tests/test-math-c++.cc: Check the signature of 'ceil'.
8608         * doc/posix-functions/ceil.texi: Mention the new module.
8609
8610 2010-12-21  Bruno Haible  <bruno@clisp.org>
8611
8612         New module 'floor-ieee'.
8613         * modules/floor-ieee: New file.
8614         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
8615         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
8616         ISO C 99 with IEC 60559.
8617         * m4/floor-ieee.m4: New file.
8618         * modules/floor (Files): Add lib/floor.c.
8619         (Depends-on): Add 'float'.
8620         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8621         * lib/math.in.h (floor): New declaration.
8622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
8623         REPLACE_FLOOR.
8624         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
8625         * modules/floor-ieee-tests: New file.
8626         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
8627         * tests/test-math-c++.cc: Check the signature of 'floor'.
8628         * doc/posix-functions/floor.texi: Mention the new module.
8629
8630 2010-12-21  Bruno Haible  <bruno@clisp.org>
8631
8632         New module 'roundf-ieee'.
8633         * modules/roundf-ieee: New file.
8634         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
8635         test whether roundf works according to ISO C 99 with IEC 60559.
8636         * m4/roundf-ieee.m4: New file.
8637         * modules/roundf-ieee-tests: New file.
8638         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
8639         * tests/test-roundf1.c (main): Remove signbit tests.
8640         * modules/roundf-tests (Depends-on): Remove 'signbit'.
8641         * doc/posix-functions/roundf.texi: Mention the new module.
8642
8643 2010-12-21  Bruno Haible  <bruno@clisp.org>
8644
8645         New module 'truncf-ieee'.
8646         * modules/truncf-ieee: New file.
8647         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
8648         test whether truncf works according to ISO C 99 with IEC 60559.
8649         * m4/truncf-ieee.m4: New file.
8650         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
8651         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
8652         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
8653         * modules/truncf-ieee-tests: New file.
8654         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
8655         * tests/test-truncf1.c (main): Remove signbit tests.
8656         * modules/truncf-tests (Depends-on): Remove 'signbit'.
8657         * doc/posix-functions/truncf.texi: Mention the new module.
8658
8659 2010-12-21  Bruno Haible  <bruno@clisp.org>
8660
8661         New module 'ceilf-ieee'.
8662         * modules/ceilf-ieee: New file.
8663         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
8664         test whether ceilf works according to ISO C 99 with IEC 60559.
8665         * m4/ceilf-ieee.m4: New file.
8666         * modules/ceilf-ieee-tests: New file.
8667         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
8668         * tests/test-ceilf1.c (main): Remove signbit tests.
8669         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
8670         * doc/posix-functions/ceilf.texi: Mention the new module.
8671
8672 2010-12-21  Bruno Haible  <bruno@clisp.org>
8673
8674         New module 'floorf-ieee'.
8675         * modules/floorf-ieee: New file.
8676         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
8677         test whether floorf works according to ISO C 99 with IEC 60559.
8678         * m4/floorf-ieee.m4: New file.
8679         * modules/floorf-ieee-tests: New file.
8680         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
8681         * tests/test-floorf1.c (main): Remove signbit tests.
8682         * modules/floorf-tests (Depends-on): Remove 'signbit'.
8683         * doc/posix-functions/floorf.texi: Mention the new module.
8684
8685 2010-12-21  Bruno Haible  <bruno@clisp.org>
8686
8687         Support for minus zero in autoconf macros.
8688         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
8689         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
8690         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
8691         * tests/minus-zero.h: Update comments.
8692
8693 2010-12-21  Bruno Haible  <bruno@clisp.org>
8694
8695         Tests for module 'ceil'.
8696         * modules/ceil-tests: New file.
8697         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
8698         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
8699
8700 2010-12-21  Bruno Haible  <bruno@clisp.org>
8701
8702         Tests for module 'floor'.
8703         * modules/floor-tests: New file.
8704         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
8705         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
8706
8707 2010-12-21  Bruno Haible  <bruno@clisp.org>
8708
8709         math: Fix indentation.
8710         * lib/math.in.h (floorf): Fix indentation.
8711
8712 2010-12-21  Bruno Haible  <bruno@clisp.org>
8713
8714         Fix cross-compilation guesses on Solaris.
8715         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
8716         not match "solaris2.10".
8717         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8718         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
8719         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8720
8721 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8722
8723         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
8724         This fixes a problem observed with the latest coreutils snapshot
8725         that caused a test to fail on Solaris 8.  src/csplit.c's call
8726         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
8727         earlier, instead of returning the number of bytes that would have
8728         been generated; this causes csplit to incorrectly report memory
8729         exhaustion.
8730         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
8731         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
8732         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
8733         comments to match.
8734         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
8735         Fix typo in matching older versions of Solaris: "solaris2.10"
8736         is matched by the shell pattern "solaris2.[0-9]*".  This matters
8737         only for guessing while cross-compiling.
8738         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
8739
8740 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
8741
8742         ftoastr: fix comment again
8743         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8744         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
8745         Also, simplify example a bit by using flags = 0.
8746
8747 2010-12-20  Bruno Haible  <bruno@clisp.org>
8748
8749         round*, trunc*: Update documentation regarding glibc.
8750         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
8751         * doc/posix-functions/round.texi: Likewise.
8752         * doc/posix-functions/roundl.texi: Likewise.
8753         * doc/posix-functions/truncf.texi: Likewise.
8754         * doc/posix-functions/trunc.texi: Likewise.
8755         * doc/posix-functions/truncl.texi: Likewise.
8756
8757 2010-12-20  Bruno Haible  <bruno@clisp.org>
8758
8759         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
8760         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
8761         * doc/posix-functions/round.texi: Likewise.
8762         * doc/posix-functions/roundl.texi: Likewise.
8763
8764 2010-12-20  Bruno Haible  <bruno@clisp.org>
8765
8766         ttyname_r: Add missing declaration on HP-UX 11.
8767         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
8768         HAVE_TTYNAME_R.
8769         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
8770         declared. Set HAVE_TTYNAME_R always.
8771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8772         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
8773         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
8774         HAVE_TTYNAME_R.
8775         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
8776
8777 2010-12-20  Bruno Haible  <bruno@clisp.org>
8778
8779         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
8780         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
8781         * doc/posix-functions/getlogin_r.texi: Likewise.
8782         * tests/test-getlogin.c: Include <errno.h>.
8783         (main): Avoid test failure on HP-UX 11.11.
8784         * tests/test-getlogin_r.c (main): Likewise.
8785
8786 2010-12-20  Bruno Haible  <bruno@clisp.org>
8787
8788         getlogin_r: Add missing declaration on HP-UX 11.
8789         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
8790         declared also when it exists as a function.
8791         * doc/posix-functions/getlogin_r.texi: Document this workaround.
8792
8793 2010-12-20  Bruno Haible  <bruno@clisp.org>
8794
8795         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
8796         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
8797         through wcrtomb.
8798
8799 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8800
8801         ftoastr: fix comment
8802         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8803         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
8804
8805 2010-12-19  Bruno Haible  <bruno@clisp.org>
8806
8807         isnan: Ensure it is a macro.
8808         * lib/math.in.h (isnan): Define as a macro if not already a macro.
8809         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
8810         Solaris.
8811
8812 2010-12-19  Bruno Haible  <bruno@clisp.org>
8813
8814         ldexpl test: Fix link error on OSF/1 5.1.
8815         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
8816
8817 2010-12-19  Bruno Haible  <bruno@clisp.org>
8818
8819         wctype: Make it work in C++ mode on OSF/1 5.1.
8820         * lib/wctype.in.h (iswblank): Declare but not define here.
8821         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
8822         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
8823         * modules/wctype (Files): Add lib/iswblank.c.
8824
8825 2010-12-19  Bruno Haible  <bruno@clisp.org>
8826
8827         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
8828         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
8829         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
8830
8831 2010-12-19  Bruno Haible  <bruno@clisp.org>
8832
8833         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
8834         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
8835         _POSIX_PII_SOCKET.
8836         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
8837         * doc/posix-functions/recvfrom.texi: Likewise.
8838         * doc/posix-functions/send.texi: Likewise.
8839         * doc/posix-functions/sendto.texi: Likewise.
8840
8841 2010-12-19  Bruno Haible  <bruno@clisp.org>
8842
8843         tcgetsid: Add missing declaration on OSF/1 5.1.
8844         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
8845         HAVE_TCGETSID.
8846         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
8847         Don't set HAVE_TCGETSID.
8848         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
8849         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
8850         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
8851         HAVE_TCGETSID.
8852         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
8853
8854 2010-12-19  Bruno Haible  <bruno@clisp.org>
8855
8856         stdio: Fix problem with popen() declaration on OSF/1 5.1.
8857         * lib/stdio.in.h: During the include_next statement, let recursive
8858         includes of this file include only the system header file.
8859
8860 2010-12-19  Bruno Haible  <bruno@clisp.org>
8861
8862         iconv_open: Fix regression from 2010-12-04.
8863         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
8864         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
8865
8866 2010-12-19  Bruno Haible  <bruno@clisp.org>
8867
8868         stdbool test: Avoid a gcc warning.
8869         * tests/test-stdbool.c (main): Fail if e1 is false.
8870         Reported by Jim Meyering.
8871
8872 2010-12-19  Jim Meyering  <meyering@redhat.com>
8873
8874         setenv: restore to working order
8875         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
8876         mistakenly removed.
8877         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
8878         HAVE_SETENV.
8879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
8880         HAVE_SETENV.
8881
8882 2010-12-19  Bruno Haible  <bruno@clisp.org>
8883
8884         Document some different function declarations on OSF/1 5.1.
8885         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
8886         * doc/posix-functions/inet_ntop.texi: Likewise.
8887         * doc/posix-functions/gethostname.texi: Likewise.
8888         * lib/unistd.in.h (gethostname): Update comment.
8889
8890 2010-12-19  Bruno Haible  <bruno@clisp.org>
8891
8892         doc: Mention vasprintf-posix module.
8893         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
8894         the 'vasprintf-posix' module.
8895         * doc/glibc-functions/vasprintf.texi: Likewise.
8896
8897 2010-12-19  Bruno Haible  <bruno@clisp.org>
8898
8899         unsetenv: Add missing declaration on OSF/1 5.1.
8900         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
8901         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
8902         Don't set HAVE_UNSETENV. In the test program, set _BSD.
8903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
8904         not HAVE_UNSETENV.
8905         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
8906         HAVE_UNSETENV.
8907         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
8908
8909 2010-12-19  Bruno Haible  <bruno@clisp.org>
8910
8911         setenv: Add missing declaration on OSF/1 5.1.
8912         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
8913         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
8914         declared. Don't set HAVE_SETENV.
8915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
8916         not HAVE_SETENV.
8917         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
8918         HAVE_SETENV.
8919         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
8920
8921 2010-12-19  Bruno Haible  <bruno@clisp.org>
8922
8923         nl_langinfo tests: Avoid gcc warning.
8924         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
8925
8926 2010-12-19  Bruno Haible  <bruno@clisp.org>
8927
8928         mknod: Avoid error in C++ mode on OSF/1 with GCC.
8929         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
8930         _GL_CXXALIAS_SYS.
8931
8932 2010-12-19  Bruno Haible  <bruno@clisp.org>
8933
8934         stdbool: Relax test.
8935         * tests/test-stdbool.c (e): Don't require that casts from a variable's
8936         address to 'bool' work in static initializer, for compilers other than
8937         GCC.
8938
8939 2010-12-19  Bruno Haible  <bruno@clisp.org>
8940
8941         ftello: Add missing declaration on OSF/1 5.1.
8942         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
8943         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
8944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
8945         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
8946         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
8947
8948 2010-12-19  Bruno Haible  <bruno@clisp.org>
8949
8950         fseeko: Add missing declaration on OSF/1 5.1.
8951         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
8952         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
8953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
8954         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
8955         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
8956
8957 2010-12-19  Bruno Haible  <bruno@clisp.org>
8958
8959         fchdir: Add missing declaration on OSF/1 5.1.
8960         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
8961         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
8962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
8963         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
8964         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
8965
8966 2010-12-19  Bruno Haible  <bruno@clisp.org>
8967
8968         relocatable-prog-wrapper: Separate from relocatable-prog.
8969         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
8970         uninstall-relocwrapper rule here.
8971         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8972         Reported by Ian Beckwith <ianb@erislabs.net>.
8973
8974 2010-12-19  Bruno Haible  <bruno@clisp.org>
8975
8976         unistr/u8-mbsnlen: Add missing dependency.
8977         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8978         Reported by Ian Beckwith <ianb@erislabs.net>.
8979
8980 2010-12-19  Bruno Haible  <bruno@clisp.org>
8981
8982         iconv: Make it possible again to use this module without 'iconv-h'.
8983         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8984         if it is not defined.
8985         Reported by Ian Beckwith <ianb@erislabs.net>.
8986
8987 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8988
8989         acl: port to Solaris 8 when copying from tmpfs to ufs
8990         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8991         error number.  Problem observed on Solaris 8 with latest
8992         coreutils, with "mv A B", where A is on a tmpfs file system and B
8993         is on a ufs file system.  This caused coreutils' mv/part-symlink
8994         test to fail.
8995
8996         tests: set fail=0 at start
8997         * tests/init.sh (setup_): Move fail=0 initialization here ...
8998         (mktempd_): ... from here, so that tests can rely on fail being
8999         set to 0 initially.  This fixes a problem in coreutils; see:
9000         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
9001
9002 2010-12-18  Bruno Haible  <bruno@clisp.org>
9003
9004         memmem-simple: Stylistic changes.
9005         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
9006         Fix preprocessor directive indentation.
9007
9008 2010-12-15  Pádraig Brady <P@draigBrady.com>
9009
9010         memmem, memmem-simple: reorganize and expand empty needle check
9011         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
9012         functional checks to memmem-simple so that one has a fully functional
9013         memmem by using just this module.
9014         Restrict the performance only check to the memmem module.
9015         Also expand the empty needle check to ensure the correct
9016         pointer is returned, not just a non NULL pointer.
9017         * doc/glibc-functions/memmem.texi: Rearrange the portability
9018         documentation to correlate with the rearranged checks.
9019         Clarify exactly how the memmem and memmem-simple modules
9020         relate to each other.
9021
9022 2010-12-15  Pádraig Brady <P@draigBrady.com>
9023             Bruno Haible  <bruno@clisp.org>
9024
9025         Improve cross-compilation guesses for uClibc.
9026         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
9027         that uClibc does not have the glibc bug.
9028         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
9029         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
9030
9031 2010-12-14  Eric Blake  <eblake@redhat.com>
9032
9033         configmake: provide fallbacks for oldest supported autotools
9034         * m4/configmake.m4: New file.
9035         * modules/configmake (Files): Ship it.
9036         (configure.ac): Use it to guarantee fallbacks.
9037
9038 2010-12-13  Pádraig Brady <P@draigBrady.com>
9039
9040         read-file: Improve handling of large files
9041         * lib/read-file.c (fread_file): Minimize realloc()s
9042         for regular files, and better manage sizes around SIZE_MAX.
9043
9044 2010-12-13  Eric Blake  <eblake@redhat.com>
9045
9046         cloexec, fcntl: relax license
9047         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
9048         consent from all contributors.
9049         * modules/fcntl (License): Likewise.
9050
9051 2010-12-10  Bruno Haible  <bruno@clisp.org>
9052
9053         Tests for module 'pipe-posix'.
9054         * modules/pipe-posix-tests: New file.
9055         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
9056
9057 2010-12-10  Bruno Haible  <bruno@clisp.org>
9058
9059         pipe-posix: Make it work in C++ mode.
9060         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
9061         (pipe): Use common idiom, not a macro definition.
9062         * lib/pipe.c: New file.
9063         * m4/pipe.m4: New file.
9064         * modules/pipe-posix (Description): Enhance.
9065         (Files): Add lib/pipe.c, m4/pipe.m4.
9066         (configure.ac): Invoke gl_FUNC_PIPE.
9067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
9068         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
9069         * tests/test-unistd-c++.cc: Check the signature of pipe.
9070
9071 2010-12-10  Bruno Haible  <bruno@clisp.org>
9072
9073         Rename module 'pipe' to 'spawn-pipe'.
9074         * modules/spawn-pipe: New file, renamed from modules/pipe.
9075         (Files, configure.ac, Makefile.am): Update.
9076         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
9077         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
9078         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
9079         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
9080         "spawn-pipe.h" instead of "pipe.h".
9081         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
9082         to gl_SPAWN_PIPE.
9083         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
9084         (Files, Makefile.am): Update.
9085         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
9086         Update.
9087         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
9088         Include "spawn-pipe.h" instead of "pipe.h".
9089         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
9090         * lib/javacomp.c: Likewise.
9091         * lib/javaversion.c: Likewise.
9092         * lib/pipe-filter-gi.c: Likewise.
9093         * lib/pipe-filter-ii.c: Likewise.
9094         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
9095         * modules/javacomp (Depends-on): Likewise.
9096         * modules/javaversion (Depends-on): Likewise.
9097         * modules/pipe-filter-gi (Depends-on): Likewise.
9098         * modules/pipe-filter-ii (Depends-on): Likewise.
9099         * MODULES.html.sh (Executing programs): Update.
9100         * NEWS: Mention the change.
9101
9102 2010-12-10  Eric Blake  <eblake@redhat.com>
9103
9104         pipe-posix: new module
9105         * modules/pipe-posix: New file.
9106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
9107         (gl_UNISTD_H): Check for declaration.
9108         * modules/unistd (Makefile.am): Substitute it.
9109         * lib/unistd.in.h (pipe): Provide it for mingw.
9110         * doc/posix-functions/pipe.texi (pipe): Update documentation.
9111         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
9112
9113 2010-12-07  Bruno Haible  <bruno@clisp.org>
9114
9115         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
9116         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
9117         u8_strcmp_gnu.
9118         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
9119
9120 2010-12-06  Bruno Haible  <bruno@clisp.org>
9121
9122         Update internal documentation.
9123         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
9124
9125 2010-12-04  Bruno Haible  <bruno@clisp.org>
9126
9127         Put more information about failed tests into the test return codes.
9128         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
9129         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
9130         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
9131         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9132         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
9133         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9134         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9135         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9136         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
9137         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9138         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
9139         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9140         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9141         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9142         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
9143         returns a bit mask.
9144         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
9145         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
9146         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
9147         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
9148         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9149         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9150         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9151         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
9152         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9153         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9154         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9155         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9156         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9157         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9158         * m4/link.m4 (gl_FUNC_LINK): Likewise.
9159         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
9160         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
9161         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
9162         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9163         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
9164         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9165         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9166         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
9167         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9168         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9169         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
9170         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
9171         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9172         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9173         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
9174         gl_PRINTF_PRECISION): Likewise.
9175         * m4/regex.m4 (gl_REGEX): Likewise.
9176         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9177         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9178         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
9179         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9180         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9181         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9182         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9183         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
9184         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
9185         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9186         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
9187         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
9188         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9189         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
9190         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9191         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9192         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
9193         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9195         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
9196         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
9197         enumerated value.
9198         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
9199
9200 2010-12-04  Bruno Haible  <bruno@clisp.org>
9201
9202         Update for Solaris 11 2010-11.
9203         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
9204         Express, released in November 2010.
9205
9206 2010-12-04  Bruno Haible  <bruno@clisp.org>
9207
9208         nproc: Relax license.
9209         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
9210         and Paul Eggert.
9211         Requested by Ludovic Courtès <ludo@gnu.org>.
9212
9213 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9214
9215         utimecmp: fine-grained src to nearby coarse-grained dest
9216
9217         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
9218         and the source is on a file system with higher-resolution time
9219         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
9220         not work, and the time stamps are close together, the algorithm to
9221         determine the exact resolution from the read-back mtime was buggy:
9222         it had a "!=" where it should have had an "==".  This bug has been
9223         in the code ever since it was introduced to gnulib.
9224         Problem reported by Dan Jacobson in
9225         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
9226
9227 2010-11-30  Bruno Haible  <bruno@clisp.org>
9228
9229         strerror_r-posix: Fix autoconf test.
9230         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
9231
9232 2010-11-28  Bruno Haible  <bruno@clisp.org>
9233             Paul Eggert  <eggert@cs.ucla.edu>
9234
9235         Tests for module 'getdomainname'.
9236         * modules/getdomainname-tests: New file.
9237         * tests/test-getdomainname.c: New file, based on
9238         tests/test-gethostname.c.
9239
9240 2010-11-28  Bruno Haible  <bruno@clisp.org>
9241             Paul Eggert  <eggert@cs.ucla.edu>
9242
9243         getdomainname: Use the system function when possible.
9244         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
9245         (getdomainname): Replace if needed. Provide the declaration if it is
9246         missing. Don't use _GL_CXXALIAS_SYS_CAST.
9247         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
9248         (getdomainname): When the system has getdomainname, call the system
9249         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
9250         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
9251         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
9252         found in libnsl. Look for the declaration also in <netdb.h>. Replace
9253         the function if its second argument is of type 'int' or if it is found
9254         in libnsl.
9255         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
9256         <sys/systeminfo.h> and sysinfo().
9257         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
9258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9259         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
9260         HAVE_GETDOMAINNAME.
9261         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
9262         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
9263         * doc/glibc-functions/getdomainname.texi: Document the problems with
9264         the getdomainname declaration.
9265
9266 2010-11-28  Bruno Haible  <bruno@clisp.org>
9267
9268         sys_socket: Ensure ss_family field on AIX.
9269         * lib/sys_socket.in.h (ss_family): New macro definition.
9270         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
9271         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
9272         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9273         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
9274         * modules/sys_socket (Makefile.am): Substitute
9275         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
9276         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
9277
9278 2010-11-27  Bruno Haible  <bruno@clisp.org>
9279
9280         readline: Improve configure output.
9281         * m4/readline.m4 (gl_FUNC_READLINE): Make the
9282         "checking for readline..." result understandable.
9283
9284 2010-11-27  Bruno Haible  <bruno@clisp.org>
9285
9286         *printf-posix: Detect a bug on Solaris 10/x86.
9287         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
9288         for floating-point output.
9289         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
9290         directive.
9291         * tests/test-snprintf-posix.h (test_function): Likewise.
9292         * tests/test-sprintf-posix.h (test_function): Likewise.
9293         * tests/test-vasprintf-posix.c (test_function): Likewise.
9294         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
9295         * doc/posix-functions/printf.texi: Likewise.
9296         * doc/posix-functions/snprintf.texi: Likewise.
9297         * doc/posix-functions/sprintf.texi: Likewise.
9298         * doc/posix-functions/vfprintf.texi: Likewise.
9299         * doc/posix-functions/vprintf.texi: Likewise.
9300         * doc/posix-functions/vsnprintf.texi: Likewise.
9301         * doc/posix-functions/vsprintf.texi: Likewise.
9302         * doc/glibc-functions/obstack_printf.texi: Likewise.
9303         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
9304
9305 2010-11-27  Bruno Haible  <bruno@clisp.org>
9306
9307         Fix link error when module libunistring-optional is in use.
9308         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
9309         * modules/striconveha-tests (Makefile.am): Likewise.
9310
9311 2010-11-27  Bruno Haible  <bruno@clisp.org>
9312
9313         regex: Mention link dependencies.
9314         * modules/regex (Link): New section.
9315         * modules/rpmatch (Link): Likewise.
9316         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
9317
9318 2010-11-27  Bruno Haible  <bruno@clisp.org>
9319
9320         ftoastr: Fix compilation error on Solaris.
9321         * lib/ftoastr.c: Include <config.h>.
9322
9323 2010-11-27  Bruno Haible  <bruno@clisp.org>
9324
9325         getloadavg: Update documentation.
9326         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
9327
9328 2010-11-27  Bruno Haible  <bruno@clisp.org>
9329
9330         sys_socket: Fix test whether the functions are declared.
9331         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
9332         not <sys/select.h>.
9333
9334 2010-11-27  Bruno Haible  <bruno@clisp.org>
9335
9336         getpass: Make sure to get system declaration on some platforms.
9337         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
9338         gl_USE_SYSTEM_EXTENSIONS.
9339         * modules/getpass (Depends-on): Add extensions.
9340
9341 2010-11-26  Bruno Haible  <bruno@clisp.org>
9342
9343         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
9344         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
9345         'iconv' module is present.
9346         (ICONV_CONST): New macro.
9347         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
9348         ICONV_CONST.
9349         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
9350         set ICONV_CONST.
9351         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
9352         here.
9353         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
9354         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
9355         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
9356         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
9357         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
9358         present.
9359
9360 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9361
9362         ftoastr: comment fix
9363         * lib/ftoastr.c: "little" -> "little or no" in comment
9364
9365 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
9366
9367         stdint: port to GCC 4.3 + OSX + Octave
9368         On this platform, stdint.h is buggy and defines int64_t to long
9369         long int.  The replacement defined it to long int, causing
9370         problems with C++ style name mangling.  Instead, trust the system
9371         definition if INT64_MAX is defined, and likewise for the unsigned
9372         variant.   Problem reported by Jarno Rajahalme in
9373         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
9374         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
9375         and don't mess with int64_t and INT64_MAX in this case.
9376         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
9377
9378 2010-11-24  Bruno Haible  <bruno@clisp.org>
9379
9380         doc: Corrections regarding MacOS X 10.4 and 10.5.
9381         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
9382         MacOS X.
9383         Reported by Simon Josefsson.
9384
9385 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
9386
9387         Uninstall ".bin" files installed by relocwrapper.
9388         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
9389         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
9390         unless it is already there.
9391
9392 2010-11-21  Bruno Haible  <bruno@clisp.org>
9393
9394         Update for NetBSD 5.0.
9395         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9396         NetBSD; the test fails on NetBSD 5.0.
9397         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9398         about NetBSD.
9399
9400 2010-11-21  Bruno Haible  <bruno@clisp.org>
9401
9402         Update for HP-UX 11.23 and HP-UX 11.31.
9403         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
9404         HP-UX.
9405
9406 2010-11-21  Bruno Haible  <bruno@clisp.org>
9407
9408         Update for MacOS X 10.5.
9409         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9410         MacOS X; the test fails on MacOS X 10.5.8.
9411         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9412         about MacOS X.
9413
9414 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
9415
9416         bootstrap: add bootstrap_sync option.
9417         See discussion at
9418         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
9419         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
9420         * build-aux/bootstrap: Accept --bootstrap-sync to update
9421         bootstrap if it is not identical to the local gnulib's
9422         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
9423         enable this by default.  Accept --no-bootstrap-sync to disable
9424         it.
9425
9426 2010-11-20  Bruno Haible  <bruno@clisp.org>
9427
9428         Ensure that <features.h> is included before __GLIBC__ is tested.
9429         * lib/printf-parse.h: Include <features.h>.
9430         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
9431         Reported by Mike Frysinger <vapier@gentoo.org>.
9432
9433         Ensure that <features.h> is included before __GLIBC__ is tested.
9434         * lib/wchar.in.h: Include <features.h>.
9435         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
9436         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
9437         Reported by Mike Frysinger <vapier@gentoo.org>.
9438
9439         Ensure that <features.h> is included before __GLIBC__ is tested.
9440         * lib/arpa_inet.in.h: Include <features.h>.
9441         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
9442         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
9443         Reported by Mike Frysinger <vapier@gentoo.org>.
9444
9445         Ensure that <features.h> is included before __GLIBC__ is tested.
9446         * build-aux/link-warning.h: Include <features.h>.
9447         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
9448         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
9449         Reported by Mike Frysinger <vapier@gentoo.org>.
9450
9451         Ensure that <features.h> is included before __GLIBC__ is tested.
9452         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
9453         Reported by Mike Frysinger <vapier@gentoo.org>.
9454
9455 2010-11-20  Bruno Haible  <bruno@clisp.org>
9456
9457         memmem: Fix autoconf test.
9458         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
9459
9460 2010-11-20  Bruno Haible  <bruno@clisp.org>
9461
9462         Port to uClibc.
9463         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
9464         * lib/fcntl.in.h: Likewise.
9465         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
9466         * lib/mbrtowc.c (mbrtowc): Likewise.
9467         * lib/relocatable.c (find_shared_library_fullname): Likewise.
9468         * lib/strerror_r.c: Likewise.
9469         * lib/unistr/u8-strnlen.c: Likewise.
9470         * lib/vasnprintf.c (decimal_point_char): Likewise.
9471         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9472         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9473         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9474         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9475         * tests/test-sigaction.c (handler, main): Likewise.
9476         * lib/freading.h: Treat uClibc like a non-glibc platform.
9477         * lib/freading.c: Likewise.
9478         * lib/gettext.h: Likewise.
9479         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
9480         Likewise.
9481         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
9482         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9483         * lib/propername.c (proper_name_utf8): Likewise.
9484         * lib/spawn.in.h: Likewise.
9485         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
9486         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
9487         mem_cd_iconveh_internal): Likewise.
9488         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
9489         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9490         strstr, strcasestr): Likewise.
9491         * lib/unicodeio.c (unicode_to_mb): Likewise.
9492         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
9493         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
9494         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
9495         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
9496         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
9497         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
9498         * lib/unistr/u8-stpncpy.c: Likewise.
9499         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9500         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
9501         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9502         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9503         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9504         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
9505         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
9506         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
9507         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9508         Likewise.
9509         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9510         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9511         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9512         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9513         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9514         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9515         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9516         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9517         * tests/test-getopt.h (OPTIND_MIN): Likewise.
9518         * tests/test-striconveha.c (main): Likewise.
9519         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9520         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
9521         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
9522         * doc/posix-functions/getline.texi: Likewise.
9523         Reported by Mike Frysinger <vapier@gentoo.org>.
9524
9525 2010-11-20  Bruno Haible  <bruno@clisp.org>
9526
9527         nproc: Fix condition.
9528         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
9529         HAVE_PTHREAD_AFFINITY_NP.
9530
9531 2010-11-20  Bruno Haible  <bruno@clisp.org>
9532
9533         Fix a comment.
9534         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
9535
9536 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9537
9538         ftoastr: don't assume snprintf
9539         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
9540         Implement a subset of snprintf here, by using sprintf safely.
9541         * modules/ftoastr (Depends-on): Remove snprintf.
9542
9543 2010-11-19  Jim Meyering  <meyering@redhat.com>
9544
9545         test-rename.h: fix compilation failure
9546         * tests/test-rename.h (test_rename): Add omitted "}".
9547
9548 2010-11-17  Jim Meyering  <meyering@redhat.com>
9549
9550         maint.mk: add a URL discussing the no-@acronym policy
9551         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
9552
9553 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9554
9555         ftoastr: depend on snprintf, improve comments
9556         * lib/ftoastr.c: Also mention Loitsch's draft.
9557         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
9558         needed in the current implementation, but it might simplify
9559         speeding up the code later.
9560         * modules/ftoastr: Depend on snprintf; this improves portability.
9561         Suggested by Bruno Haible in the same email.
9562
9563         ftoastr: port to hosts lacking strtof and strtold
9564         Problem reported by Bruno Haible in
9565         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
9566         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
9567         environment and strtold (and presumably strtof) are not available.
9568         * modules/ftoastr (Files): Add m4/c-strtod.m4.
9569         (configure.ac): Require gl_C99_STRTOLD.
9570
9571 2010-11-18  Bruno Haible  <bruno@clisp.org>
9572
9573         c-strtold: Avoid link error on AIX 7.
9574         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
9575         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
9576         (gl_C_STRTOLD): Test whether strtold_l exists.
9577         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9578
9579 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9580
9581         intprops: new macro INT_BITS_STRLEN_BOUND
9582         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
9583         ftoastr.h.  This exposes an internal of intprops.h that was formerly
9584         not exposed.  Also, it uses a slightly tighter bound than before;
9585         though this makes no practical difference, we might as well be as
9586         tight as we easily can.
9587
9588         ftoastr: new module, for lossless conversion of floats to short strings
9589         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
9590         * modules/ftoastr: New files.
9591
9592 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9593
9594         bootstrap: port to Solaris sed
9595         * build-aux/bootstrap (get_version): Port to Solaris sed.
9596         See Ralf Wildenhues's note in
9597         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
9598
9599 2010-11-14  Jim Meyering  <meyering@redhat.com>
9600
9601         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
9602         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
9603         and move definition closer to sole use.
9604
9605 2010-11-13  Jim Meyering  <meyering@redhat.com>
9606
9607         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
9608         Now we require at least autoconf-2.59, which means the work-around
9609         is no longer needed.
9610         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
9611         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9612         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
9613         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
9614         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9615
9616 2010-11-13  Bruno Haible  <bruno@clisp.org>
9617
9618         rename, renameat: Avoid test failures at NFS mounted locations.
9619         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
9620         functions.
9621         (test_rename): Use assert_nonexistent.
9622         * tests/test-rename.c: Include <dirent.h>.
9623         * tests/test-renameat.c: Likewise.
9624         Reported by Gary V. Vaughan <gary@gnu.org>.
9625
9626         rename, renameat: Document Linux bug with NFS
9627         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
9628         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
9629         * doc/posix-functions/renameat.texi: Likewise.
9630         Suggested by Eric Blake.
9631
9632 2010-11-13  Bruno Haible  <bruno@clisp.org>
9633
9634         rename test: Add comments.
9635         * tests/test-rename.h (test_rename): Add structure and comments.
9636
9637 2010-11-13  Eric Blake  <eblake@redhat.com>
9638
9639         maintainer-makefile: cover a few more files
9640         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
9641         scripts generated within C files, for libvirt.
9642
9643 2010-11-13  Bruno Haible  <bruno@clisp.org>
9644
9645         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
9646         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
9647         character, return the number of bytes that belong together, not always
9648         1.
9649         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9650         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9651         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9652         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
9653         number of bytes of an invalid character.
9654         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
9655         (main): Invoke it.
9656         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
9657         results.
9658         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
9659         malformed byte sequences.
9660         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
9661         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
9662         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
9663         Reported by Ben Pfaff and Paolo Bonzini.
9664
9665 2010-11-13  Bruno Haible  <bruno@clisp.org>
9666
9667         openat: Work around glibc bug with fchownat() and empty file names.
9668         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
9669         (gl_FUNC_FCHOWNAT): Invoke it.
9670         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
9671         * doc/posix-functions/fchownat.texi: Document the glibc bug.
9672         Reported by Gary V. Vaughan <gary@gnu.org>.
9673
9674 2010-11-13  Bruno Haible  <bruno@clisp.org>
9675
9676         openat: Ensure autoconf macro ordering.
9677         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
9678         gl_USE_SYSTEM_EXTENSIONS.
9679         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
9680
9681 2010-11-13  Bruno Haible  <bruno@clisp.org>
9682
9683         Update comments.
9684         * lib/unistr/u8-check.c: Update file name in comments.
9685         * lib/unistr/u8-mblen.c: Likewise.
9686         * lib/unistr/u8-prev.c: Likewise.
9687         * lib/unistr/u8-strmblen.c: Likewise.
9688         * lib/unistr/u8-strmbtouc.c: Likewise.
9689
9690 2010-11-13  Jim Meyering  <meyering@redhat.com>
9691
9692         tests: avoid test failure on Solaris 10 due to lack of PATH export
9693         * tests/test-update-copyright.sh: Don't forget to export PATH.
9694
9695         init.sh: ensure that IFS is defined, just in case...
9696         * tests/init.sh (setup_): Ensure that IFS is defined,
9697         so that saving and restoring it works as expected.  This
9698         appears to be useful at least for an old version of dash
9699         from a long time ago (RH 6).  See here for details:
9700         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
9701
9702         maint.mk: tighten "test a == b" check
9703         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
9704         test to files that contain something like #!/bin/sh.
9705         Without this, coreutils would get two false positives in
9706         the comments of C source files.
9707
9708 2010-11-12  Eric Blake  <eblake@redhat.com>
9709
9710         bootstrap: fix typo in previous attempt
9711         * build-aux/bootstrap (buildreq): Correct the grouping.
9712         Reported by Paul Eggert.
9713
9714         maintainer-makefile: prohibit test x == x
9715         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
9716         Based on a report by Matthias Bolte.
9717
9718         bootstrap: allow FreeBSD gzip
9719         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
9720         which has no '.' and goes to stderr.
9721         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
9722         Reported by Matthias Bolte.
9723
9724         maintainer-makefile: check for i18n setup
9725         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
9726         will likely work.
9727
9728 2010-11-12  Bruno Haible  <bruno@clisp.org>
9729
9730         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
9731         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
9732         * lib/nanosleep.c (nanosleep): Likewise.
9733
9734 2010-11-11  Bruno Haible  <bruno@clisp.org>
9735
9736         fcntl-h: Fix for use of C++ on glibc systems.
9737         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9738         also on glibc systems in C++ mode.
9739         Reported by Gary V. Vaughan <gary@gnu.org>.
9740
9741 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9742
9743         mknod: avoid false failure with dash
9744         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
9745
9746 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9747
9748         unlink: Fix "is it should" typo in diagnostic.
9749         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
9750         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
9751
9752 2010-11-11  Bruno Haible  <bruno@clisp.org>
9753
9754         Tests for module 'strerror_r-posix'.
9755         * modules/strerror_r-posix-tests: New file.
9756         * tests/test-strerror_r.c: New file.
9757         * tests/test-string-c++.cc: Check the signature of strerror_r.
9758
9759         New module 'strerror_r-posix'.
9760         * lib/string.in.h (strerror_r): New declaration.
9761         * lib/strerror_r.c: New file.
9762         * m4/strerror_r.m4: New file.
9763         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
9764         of strerror_r.
9765         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
9766         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9767         * modules/strerror_r-posix: New file.
9768         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
9769         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9770         * doc/posix-functions/strerror_r.texi: Mention the new module and the
9771         portability problems.
9772
9773 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
9774
9775         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
9776         line is also considered for output. Quoted function name in shell
9777         command, so temporary files for functions like MyClass::operator()
9778         are removed correctly without errors.
9779
9780 2010-11-09  Bruno Haible  <bruno@clisp.org>
9781
9782         * doc/posix-functions/strerror.texi: List more failing platforms.
9783
9784         * doc/posix-functions/strerror.texi: Add a comment.
9785
9786 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9787
9788         fdopendir: fix bug on MacOS X when low on file descriptors
9789
9790         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
9791         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
9792         All callers changed.
9793         (fdopendir): Invoke save_cwd at the top level, not after using
9794         multiple dup() calls to use up file descriptors.  Then retry
9795         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
9796         less than the maximum number of open file descriptors, because
9797         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
9798         on Mac OS X 10.6.4 for tar 1.24
9799         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
9800         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
9801         and for tar 1.25
9802         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
9803
9804 2010-11-07  Bruno Haible  <bruno@clisp.org>
9805
9806         vasnprintf: Support I flag on glibc systems.
9807         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
9808         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
9809         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
9810         snprintf function.
9811         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
9812         glibc systems.
9813         * tests/test-vasnprintf-posix3.c: New file.
9814         * modules/vasnprintf-posix-tests (Files): Add it.
9815         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
9816
9817 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9818
9819         [html] Fix copy/paste bug: Use unique name for compiler warnings.
9820         * MODULES.html.sh: For compiler warnings, use name
9821         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
9822
9823 2010-11-05  Eric Blake  <eblake@redhat.com>
9824
9825         ceil, floor: avoid spurious failure with icc
9826         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
9827         [denormals-as-zero] when optimizing without -mieee-fp option.
9828         * tests/test-floorf2.c (floorf_reference): Likewise.
9829         * tests/test-ceilf1.c (dummy): New function.
9830         (main): Use it to outsmart icc's optimization.
9831         * tests/test-floorf1.c (dummy, main): Likewise.
9832
9833         tests: require working signbit
9834         * modules/ceilf-tests (Depends-on): Add signbit.
9835         * modules/ceill-tests (Depends-on): Likewise.
9836         * modules/floorf-tests (Depends-on): Likewise.
9837         * modules/floorl-tests (Depends-on): Likewise.
9838         * modules/round-tests (Depends-on): Likewise.
9839         * modules/roundf-tests (Depends-on): Likewise.
9840         * modules/roundl-tests (Depends-on): Likewise.
9841         * modules/trunc-tests (Depends-on): Likewise.
9842         * modules/truncf-tests (Depends-on): Likewise.
9843         * modules/truncl-tests (Depends-on): Likewise.
9844
9845         strtod: work around icc bug
9846         * lib/strtod.c (minus_zero): Define to working value.
9847         (strtod): Use it to avoid icc bug.
9848
9849         copysign: enhance tests
9850         * modules/copysign-tests (Files): Add minus-zero.h.
9851         * tests/test-copysign.c (main): Also test zeros.
9852
9853 2010-11-04  Eric Blake  <eblake@redhat.com>
9854
9855         ceil, floor, round, trunc: enhance tests of -0
9856         * tests/test-ceilf1.c (main): Ensure correct sign of result.
9857         * tests/test-ceill.c (main): Likewise.
9858         * tests/test-floorf1.c (main): Likewise.
9859         * tests/test-floorl.c (main): Likewise.
9860         * tests/test-round1.c (main): Likewise.
9861         * tests/test-roundf1.c (main): Likewise.
9862         * tests/test-roundl.c (main): Likewise.
9863         * tests/test-trunc1.c (main): Likewise.
9864         * tests/test-truncf1.c (main): Likewise.
9865         * tests/test-truncl.c (main): Likewise.
9866
9867 2010-11-04  Eric Blake  <eblake@redhat.com>
9868
9869         frexp, tests: work around ICC bug with -zero
9870         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
9871         works with more compilers.
9872         * tests/minus-zero.h: New file.
9873         * modules/ceilf-tests (Files): Include it.
9874         * modules/ceill-tests (Files): Likewise.
9875         * modules/floorf-tests (Files): Likewise.
9876         * modules/floorl-tests (Files): Likewise.
9877         * modules/frexp-nolibm-tests (Files): Likewise.
9878         * modules/frexp-tests (Files): Likewise.
9879         * modules/frexpl-nolibm-tests (Files): Likewise.
9880         * modules/frexpl-tests (Files): Likewise.
9881         * modules/isnan-tests (Files): Likewise.
9882         * modules/isnand-nolibm-tests (Files): Likewise.
9883         * modules/isnand-tests (Files): Likewise.
9884         * modules/isnanf-nolibm-tests (Files): Likewise.
9885         * modules/isnanf-tests (Files): Likewise.
9886         * modules/isnanl-nolibm-tests (Files): Likewise.
9887         * modules/isnanl-tests (Files): Likewise.
9888         * modules/round-tests (Files): Likewise.
9889         * modules/roundf-tests (Files): Likewise.
9890         * modules/roundl-tests (Files): Likewise.
9891         * modules/ldexpl-tests (Files): Likewise.
9892         * modules/signbit-tests (Files): Likewise.
9893         * modules/snprintf-posix-tests (Files): Likewise.
9894         * modules/sprintf-posix-tests (Files): Likewise.
9895         * modules/strtod-tests (Files): Likewise.
9896         * modules/trunc-tests (Files): Likewise.
9897         * modules/truncf-tests (Files): Likewise.
9898         * modules/truncl-tests (Files): Likewise.
9899         * modules/vsnprintf-posix-tests (Files): Likewise.
9900         * modules/vsprintf-posix-tests (Files): Likewise.
9901         * modules/vasnprintf-posix-tests (Files): Likewise.
9902         * modules/vasprintf-posix-tests (Files): Likewise.
9903         * tests/test-ceilf1.c (main): Use it.
9904         * tests/test-ceill.c (main): Likewise.
9905         * tests/test-floorf1.c (main): Likewise.
9906         * tests/test-floorl.c (main): Likewise.
9907         * tests/test-frexp.c (main): Likewise.
9908         * tests/test-frexpl.c (main): Likewise.
9909         * tests/test-isnan.c (main): Likewise.
9910         * tests/test-isnand.h (main): Likewise.
9911         * tests/test-isnanf.h (main): Likewise.
9912         * tests/test-isnanl.h (main): Likewise.
9913         * tests/test-ldexpl.c (main): Likewise.
9914         * tests/test-round.c (main): Likewise.
9915         * tests/test-roundf.c (main): Likewise.
9916         * tests/test-roundl.c (main): Likewise.
9917         * tests/test-signbit.c (test_signbitf, test_signbitd)
9918         (test_signbitl): Likewise.
9919         * tests/test-snprintf-posix.h (test_function): Likewise.
9920         * tests/test-sprintf-posix.h (test_function): Likewise.
9921         * tests/test-strtod.c (main): Likewise.
9922         * tests/test-trunc1.c (main): Likewise.
9923         * tests/test-truncf1.c (main): Likewise.
9924         * tests/test-truncl.c (main): Likewise.
9925
9926         isnanl: work around icc bug
9927         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
9928
9929 2010-11-03  Eric Blake  <eblake@redhat.com>
9930
9931         tests: fix compiler warnings
9932         * tests/test-getopt.h (test_getopt): Fix condition.
9933         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9934         * tests/test-pipe2.c (main): Likewise.
9935         * tests/test-quotearg-simple.c (main): Avoid icc warning.
9936
9937         utimens: fix broken m4 test
9938         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
9939
9940 2010-10-28  Bruno Haible  <bruno@clisp.org>
9941
9942         posix_spawn*, getdtablesize: Relax license.
9943         * modules/posix_spawn (License): Change to LGPLv2+.
9944         * modules/posix_spawnp (License): Likewise.
9945         * modules/posix_spawn-internal (License): Likewise.
9946         * modules/posix_spawnattr_init (License): Likewise.
9947         * modules/posix_spawnattr_getflags (License): Likewise.
9948         * modules/posix_spawnattr_setflags (License): Likewise.
9949         * modules/posix_spawnattr_getpgroup (License): Likewise.
9950         * modules/posix_spawnattr_setpgroup (License): Likewise.
9951         * modules/posix_spawnattr_getschedparam (License): Likewise.
9952         * modules/posix_spawnattr_setschedparam (License): Likewise.
9953         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
9954         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
9955         * modules/posix_spawnattr_getsigdefault (License): Likewise.
9956         * modules/posix_spawnattr_setsigdefault (License): Likewise.
9957         * modules/posix_spawnattr_getsigmask (License): Likewise.
9958         * modules/posix_spawnattr_setsigmask (License): Likewise.
9959         * modules/posix_spawnattr_destroy (License): Likewise.
9960         * modules/posix_spawn_file_actions_init (License): Likewise.
9961         * modules/posix_spawn_file_actions_addclose (License): Likewise.
9962         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
9963         * modules/posix_spawn_file_actions_addopen (License): Likewise.
9964         * modules/posix_spawn_file_actions_destroy (License): Likewise.
9965         * modules/getdtablesize (License): Likewise.
9966         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
9967
9968 2010-10-26  Bruno Haible  <bruno@clisp.org>
9969
9970         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9971         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9972         Cygwin and mingw.
9973         Suggested by Eric Blake.
9974
9975 2010-10-26  Bruno Haible  <bruno@clisp.org>
9976
9977         stdio: Work around compilation error due to renameat() on Solaris 10.
9978         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9979         * lib/renameat.c: Don't include <unistd.h> here.
9980         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9981         Reported by Paul Eggert and Eric Blake.
9982
9983 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9984
9985         renameat: port to Solaris 10, which declares renameat in unistd.h
9986
9987         * lib/renameat.c: Include unistd.h before stdio.h, because
9988         Solaris 10 declares renameat in unistd.h.  Problem encountered
9989         when building GNU tar 1.24 on Solaris 10.
9990
9991 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9992
9993         fdopendir: fix C89 compilation
9994         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9995         compilers.
9996
9997 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9998
9999         inttostr: simplify by removing unnecessary redundancy
10000         * lib/anytostr.c: Don't include verify.h.
10001         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
10002         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
10003         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
10004         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
10005         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
10006         Likewise.
10007         * modules/inttostr (Depends-on): Remove 'verify'.
10008
10009 2010-10-23  Bruno Haible  <bruno@clisp.org>
10010
10011         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
10012         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
10013         Reported by Eric Blake.
10014
10015 2010-10-23  Bruno Haible  <bruno@clisp.org>
10016
10017         Tests: Fix LOCALE_JA on MirBSD 10.
10018         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
10019         to an UTF-8 locale.
10020         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
10021         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10022         Reported by Eric Blake.
10023
10024 2010-10-21  Bruno Haible  <bruno@clisp.org>
10025
10026         nl_langinfo test: Avoid test failure on NetBSD 5.
10027         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
10028         Reported by Eric Blake.
10029
10030 2010-10-21  Eric Blake  <eblake@redhat.com>
10031
10032         c-stack: work around libsigsegv 2.8 bug
10033         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
10034         overflow on at least PowerPC64.
10035
10036 2010-10-17  Bruno Haible  <bruno@clisp.org>
10037
10038         userspec: Drop redundant file.
10039         * modules/userspec (Files): Remove lib/inttostr.h.
10040
10041 2010-10-17  Bruno Haible  <bruno@clisp.org>
10042
10043         nl_langinfo tests: Silence some warnings.
10044         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
10045         Reported by Jim Meyering.
10046
10047 2010-10-17  Bruno Haible  <bruno@clisp.org>
10048
10049         Make use of GCC's attribute __alloc_size__.
10050         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
10051         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
10052         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
10053         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
10054         __alloc_size__.
10055         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
10056         Suggested by Jim Meyering.
10057
10058 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
10059
10060         bootstrap: anchor .gitignore entries.
10061         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
10062         with...
10063         (insert_vc_ignore): ... this new function, which prepends `/' to
10064         all .gitignore entries before passing them to
10065         insert_sorted_if_absent.
10066
10067 2010-10-16  Bruno Haible  <bruno@clisp.org>
10068
10069         nextafter: Fix configure check.
10070         * modules/nextafter (configure.ac): Correct expected prototype.
10071
10072 2010-10-16  Bruno Haible  <bruno@clisp.org>
10073
10074         termios: Update documentation.
10075         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
10076
10077 2010-10-16  Bruno Haible  <bruno@clisp.org>
10078
10079         tests: Make them compile with TinyCC.
10080         * tests/test-strstr.c (main): Remove parentheses around array
10081         initializer.
10082
10083 2010-10-15  Eric Blake  <eblake@redhat.com>
10084
10085         ignore-value: make header idempotent
10086         * lib/ignore-value.h: Add double-inclusion guards.
10087         Reported by Stefan Berger.
10088
10089 2010-10-15  Jim Meyering  <meyering@redhat.com>
10090
10091         GNUmakefile: handle "stable" target, not "major"
10092         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
10093         lists in maint.mk and announce-gen.  Without this, "make stable"
10094         would fail to ensure that $(VERSION) is up to date.
10095
10096 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
10097
10098         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
10099         & co.
10100
10101 2010-10-14  Bruno Haible  <bruno@clisp.org>
10102
10103         vasnprintf: Don't set errno to 0.
10104         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
10105         block that sets it to 0.
10106         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
10107
10108 2010-10-14  Bruno Haible  <bruno@clisp.org>
10109
10110         socketlib: Fix.
10111         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
10112         gl_PREREQ_SYS_H_WINSOCK2.
10113         Reported by Ian Beckwith <ianb@erislabs.net>.
10114
10115 2010-10-13  Jim Meyering  <meyering@redhat.com>
10116
10117         test-select-stdin.c: avoid warn_unused_result warnings
10118         * tests/test-select-stdin.c: Include "macros.h".
10119         ASSERT that read and fflush succeed.
10120
10121 2010-10-13  Jim Meyering  <meyering@redhat.com>
10122
10123         git-version-gen: do require git-VC'd files in cwd
10124         * build-aux/git-version-gen: Reject a git version string
10125         if there are no commits associated with the current directory.
10126         This avoids an unlikely false-positive (unrelated dir whose parent
10127         repository also contains a tag matching v*), as pointed out
10128         by Giuseppe Scrivano in
10129         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
10130
10131 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10132
10133         argv-iter: omit nonconforming declaration
10134         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
10135         enum arg_iter_err declaration, which doesn't conform to C99.
10136         Solaris 10 cc warns about this.
10137
10138 2010-10-13  Eric Blake  <eblake@redhat.com>
10139
10140         termios: fix compilation on mingw
10141         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
10142         (gl_TERMIOS_H): Adjust it on mingw.
10143         * modules/termios (Makefile.am): Substitute new key.
10144         * lib/termios.in.h (includes): Make include_next conditional.
10145         * doc/posix-headers/termios.texi (termios.h): Update
10146         documentation.
10147         Reported by Daniel P. Berrange.
10148
10149 2010-10-13  Jim Meyering  <meyering@redhat.com>
10150
10151         git-version-gen: don't require that .git/ be in the current dir
10152         * build-aux/git-version-gen: Adjust this script so that it works
10153         when run from any working directory beneath the top-level .git/-
10154         containing directory.  Inspired by a patch from Giuseppe Scrivano,
10155         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
10156
10157         test-select: avoid warn_unused_result warnings
10158         * tests/test-select.c: Include "macros.h".
10159         ASSERT that each call to read, write, and pipe succeeds.
10160         While not technically required, also check each "close".
10161         * modules/select-tests (Files): Add tests/macros.h.
10162
10163         test-symlinkat: remove declaration of unused local
10164         * tests/test-symlinkat.c (main): Remove unused local, "buf".
10165
10166         test-inttostr: avoid shadowing warnings
10167         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
10168         and use malloc rather than the stack for the same reason as
10169         mentioned in the comment justifying the other allocation.
10170
10171 2010-10-11  Bruno Haible  <bruno@clisp.org>
10172
10173         stdlib: Allow multiple gnulib generated replacements to coexist.
10174         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
10175         Reported by Sam Steingold <sds@gnu.org>.
10176
10177 2010-10-11  Jim Meyering  <meyering@redhat.com>
10178
10179         fix a documentation typo
10180         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
10181
10182 2010-10-11  Eric Blake  <eblake@redhat.com>
10183
10184         futimens: work around Solaris 11 bug
10185         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
10186         * tests/test-futimens.h (test_futimens): Enhance, rather than
10187         weaken test.
10188         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10189
10190 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10191
10192         Indentation.
10193         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
10194         higher-level operators more to the left.
10195
10196 2010-10-11  Jim Meyering  <meyering@redhat.com>
10197
10198         test-futimens: avoid unwarranted test failure on Solaris 5.11
10199         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
10200         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
10201         because it tries to dereference the NULL name argument.
10202
10203 2010-10-11  Bruno Haible  <bruno@clisp.org>
10204
10205         Indentation.
10206         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
10207         indentation.
10208
10209 2010-10-11  Jim Meyering  <meyering@redhat.com>
10210
10211         spawn.in.h: make indentation consistent with parentheses
10212         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
10213         Make indentation consistent with parentheses.
10214
10215 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
10216
10217         Fix mismatched parens in previous commit
10218         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
10219         parens.
10220
10221 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10222
10223         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
10224
10225         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
10226         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
10227         * lib/malloca.c: Include "verify.h".
10228         (verify1): Remove, replacing with a verify call.
10229         * lib/relocwrapper.c (verify1): Likewise.
10230         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
10231         Likewise.
10232         * modules/malloca (Depends-on): Add 'verify'.
10233         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
10234         * modules/vasnprintf (Depends-on): Add 'verify'.
10235         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10236         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10237         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10238         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10239         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10240         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10241         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10242
10243         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
10244
10245         Formerly the style was sometimes 2*X - 1, because the C standard
10246         was wrongly thought to disallow ?: in integral constant expressions.
10247         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
10248         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
10249         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10250         * lib/stdint.in.h (_verify_intmax_size): Likewise.
10251         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
10252         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
10253         verify that time_t cannot be floating.
10254
10255 2010-10-08  Eric Blake  <eblake@redhat.com>
10256
10257         time: enforce recent POSIX ruling that time_t is integral
10258         * lib/time.in.h (__time_t_must_be_integral): Detect any
10259         problematic systems, allowing the rest of gnulib to assume POSIX.
10260
10261 2010-10-08  Jim Meyering  <meyering@redhat.com>
10262
10263         fdopendir: fix a bug on systems lacking openat and /proc support
10264         OpenBSD 4.7 is one such system.  The most noticeable effect was
10265         failure of any application making nontrivial use of fts: rm, du,
10266         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
10267           ./rm: traversal failed: `a': Bad file descriptor
10268         Debugging that, you see that even though FD 6 was closed just
10269         prior to the opendir call in fd_clone_opendir, its resulting
10270         dir->dd_fd was 8, rather than the expected value of 6:
10271
10272         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
10273         93                close (fd);
10274         (gdb) n
10275         94                dir = fd_clone_opendir (dupfd);
10276         (gdb) n
10277         95                saved_errno = errno;
10278         (gdb) p dir->dd_fd
10279         $11 = 8
10280
10281         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
10282         The problem is that on OpenBSD, fd_clone_opendir has to resort
10283         to using the old-style save/restore CWD mechanism, due to its
10284         lack of openat/proc support, and *that* would steal the FD (6)
10285         that opendir was supposed to use.
10286
10287         The fix is to squirrel away the desired FD so that save_cwd uses a
10288         different one, and then free the dest FD right before calling opendir.
10289         That guarantees opendir will use the required file descriptor.
10290
10291         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
10292
10293 2010-10-08  Bruno Haible  <bruno@clisp.org>
10294
10295         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
10296         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
10297
10298 2010-10-08  Bruno Haible  <bruno@clisp.org>
10299
10300         nanosleep: Make replacement POSIX compliant.
10301         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
10302         is out of range.
10303         Reported by Jim Meyering.
10304
10305 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10306
10307         bootstrap: add hook for altering gnulib.mk, for Bison
10308         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
10309         the Bison bootstrapping process can rewrite file names and variables
10310         in this file before later parts of 'bootstrap' use the file.
10311         Bison wants to include lib/gnulib.mk from the top-level makefile,
10312         so it needs the file names in this file to be relative to the top
10313         level, not relative to lib; plus it needs variable names to be
10314         rewritten.
10315         (slurp): Use the new function.
10316
10317         bootstrap: reformat for readability
10318         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
10319
10320 2010-10-08  Eric Blake  <eblake@redhat.com>
10321
10322         docs: update cygwin progress
10323         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
10324         1.7.7.
10325         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
10326         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
10327         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
10328         * doc/posix-functions/carg.texi (carg): Likewise.
10329         * doc/posix-functions/cargf.texi (cargf): Likewise.
10330         * doc/posix-functions/casin.texi (casin): Likewise.
10331         * doc/posix-functions/casinf.texi (casinf): Likewise.
10332         * doc/posix-functions/casinh.texi (casinh): Likewise.
10333         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
10334         * doc/posix-functions/catan.texi (catan): Likewise.
10335         * doc/posix-functions/catanf.texi (catanf): Likewise.
10336         * doc/posix-functions/catanh.texi (catanh): Likewise.
10337         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
10338         * doc/posix-functions/ccos.texi (ccos): Likewise.
10339         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
10340         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
10341         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
10342         * doc/posix-functions/cexp.texi (cexp): Likewise.
10343         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
10344         * doc/posix-functions/cimag.texi (cimag): Likewise.
10345         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
10346         * doc/posix-functions/clog.texi (clog): Likewise.
10347         * doc/posix-functions/clogf.texi (clogf): Likewise.
10348         * doc/posix-functions/conj.texi (conj): Likewise.
10349         * doc/posix-functions/conjf.texi (conjf): Likewise.
10350         * doc/posix-functions/cpow.texi (cpow): Likewise.
10351         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
10352         * doc/posix-functions/cproj.texi (cproj): Likewise.
10353         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
10354         * doc/posix-functions/creal.texi (creal): Likewise.
10355         * doc/posix-functions/crealf.texi (crealf): Likewise.
10356         * doc/posix-functions/csin.texi (csin): Likewise.
10357         * doc/posix-functions/csinf.texi (csinf): Likewise.
10358         * doc/posix-functions/csinh.texi (csinh): Likewise.
10359         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
10360         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
10361         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
10362         * doc/posix-functions/ctan.texi (ctan): Likewise.
10363         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
10364         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
10365         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
10366         * doc/posix-headers/complex.texi (complex.h): Likewise.
10367
10368 2010-10-07  Jim Meyering  <meyering@redhat.com>
10369
10370         parse-datetime: avoid compilation failure on OpenBSD 4.7
10371         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
10372         This works around a compilation failure on OpenBSD 4.7:
10373         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
10374
10375 2010-10-07  Eric Blake  <eblake@redhat.com>
10376
10377         docs: update cygwin progress
10378         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
10379         1.7.6.
10380         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10381         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
10382         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
10383         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
10384         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
10385         Likewise.
10386         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
10387         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
10388         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
10389         Likewise.
10390         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
10391         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
10392         Likewise.
10393         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
10394         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
10395         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
10396         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
10397         Likewise.
10398         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
10399         Likewise.
10400         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
10401
10402         docs: update parse-datetime history
10403         * doc/parse-datetime.texi (Authors of parse_datetime): Better
10404         documentation of this function's history and alternatives.
10405
10406         cygwin: use more robust version check
10407         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
10408         exclude an eventual cygwin 1.9.1.
10409         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10410         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10411         (gl_FUNC_STRCASESTR): Likewise.
10412         Reported by Bruno Haible.
10413
10414 2010-10-06  Bruno Haible  <bruno@clisp.org>
10415
10416         string, sys_select: Avoid #including large headers unless necessary.
10417         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
10418         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
10419         OSF/1, BeOS, Haiku.
10420         Reported by Jim Meyering.
10421
10422 2010-10-05  Eric Blake  <eblake@redhat.com>
10423
10424         memmem, strstr, strcasestr: fix bug with long periodic needle
10425         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
10426         periodic needle having false positive.
10427         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
10428         and cygwin 1.7.7.
10429         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
10430         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10431         (gl_FUNC_STRCASESTR): Likewise.
10432         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10433         * tests/test-memmem.c (main): Expose the bug.
10434         * tests/test-strcasestr.c (main): Likewise.
10435         * tests/test-strstr.c (main): Likewise.
10436         * tests/test-c-strcasestr.c (main): Likewise.
10437         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
10438         * doc/posix-functions/strstr.texi (strstr): Likewise.
10439         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10440         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
10441
10442 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10443
10444         parse-datetime: do some more renaming
10445         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
10446         parse_datetime, not get_date.  Mention the renaming.
10447         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
10448         in comments.
10449         * m4/bison.m4: Likewise.
10450
10451 2010-10-05  Eric Blake  <eblake@redhat.com>
10452
10453         parse-datetime: better name than get_date
10454         * NEWS: Reword the deprecation notice.
10455         * modules/get_date: Rename to modules/parse-datetime.
10456         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
10457         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
10458         * lib/get_date.y: Rename to lib/parse-datetime.y.
10459         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
10460         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
10461         * doc/getdate.texi: Provide fallback wrapper.
10462         * lib/getdate.h: Move guts, and wrap...
10463         * lib/parse-datetime.h: ...new file.
10464         * lib/parse-datetime.y (get_date): Rename...
10465         (parse_datetime): ...to this.
10466         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
10467         (gl_PARSE_DATETIME): ...to this.
10468         * doc/posix-functions/getdate.texi (get_date): Provide fallback
10469         documentation.
10470         * modules/getdate (Files): Provide fallback docs and header.
10471         (Notice, Depends-on): Update references.
10472         * tests/test-parse-datetime.c: Likewise.
10473         * DEPENDENCIES: Likewise.
10474         * MODULES.html.sh (Date and time <time.h>): Likewise.
10475         * doc/parse-datetime.texi (Date input formats)
10476         (Authors of parse_datetime): Likewise.
10477         * modules/parse-datetime (Files, configure.ac, Makefile.am)
10478         (Include): Likewise.
10479         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
10480         * gnulib-tool: Likewise.
10481         * m4/bison.m4 (gl_BISON): Likewise.
10482         Suggested by Bruno Haible.
10483
10484 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10485
10486         more ports to Solaris tr, which needs [] around ranges
10487         * gnulib-tool: Solaris tr needs [] around ranges.
10488         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10489         * tests/test-pipe-filter-gi1.c (main): Likewise.
10490         * tests/test-pipe-filter-ii1.c (main): Likewise.
10491
10492 2010-10-05  Eric Blake  <eblake@redhat.com>
10493
10494         bootstrap: fix Solaris regression
10495         * build-aux/bootstrap (check_versions): Solaris tr still needs []
10496         around ranges.
10497         Reported by Pádraig Brady.
10498
10499         bootstrap: work with pkg-config
10500         * build-aux/bootstrap (check_versions): Also transliterate - in
10501         prerequisite name.
10502         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
10503         prerequisites that were already found, to avoid confusion.
10504         Reported by Justin Clift.
10505
10506         faccessat: remove unused wrappers
10507         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
10508         presence of these wrappers dragged in -lgen on Solaris.
10509         Reported by Clemens Brogi; fix suggested by Paul Eggert.
10510
10511 2010-10-05  Jim Meyering  <meyering@redhat.com>
10512
10513         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
10514         * Makefile (sc_pragma_columns): New syntax-check rule.
10515
10516 2010-10-04  Bruno Haible  <bruno@clisp.org>
10517
10518         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
10519         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
10520         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
10521         Reported by Bruce Korb and Eric Blake.
10522
10523 2010-10-04  Bruno Haible  <bruno@clisp.org>
10524
10525         threadlib: Make option --with-libpth-prefix work.
10526         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
10527         use $LIBPTH, not just -lpth.
10528
10529 2010-10-04  Bruno Haible  <bruno@clisp.org>
10530
10531         Avoid line length limitation from HP NonStop system header files.
10532         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
10533         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
10534         * lib/ctype.in.h: Likewise.
10535         * lib/dirent.in.h: Likewise.
10536         * lib/errno.in.h: Likewise.
10537         * lib/fcntl.in.h: Likewise.
10538         * lib/float.in.h: Likewise.
10539         * lib/getopt.in.h: Likewise.
10540         * lib/iconv.in.h: Likewise.
10541         * lib/inttypes.in.h: Likewise.
10542         * lib/langinfo.in.h: Likewise.
10543         * lib/locale.in.h: Likewise.
10544         * lib/math.in.h: Likewise.
10545         * lib/netdb.in.h: Likewise.
10546         * lib/netinet_in.in.h: Likewise.
10547         * lib/poll.in.h: Likewise.
10548         * lib/pthread.in.h: Likewise.
10549         * lib/pty.in.h: Likewise.
10550         * lib/sched.in.h: Likewise.
10551         * lib/se-selinux.in.h: Likewise.
10552         * lib/search.in.h: Likewise.
10553         * lib/signal.in.h: Likewise.
10554         * lib/spawn.in.h: Likewise.
10555         * lib/stdarg.in.h: Likewise.
10556         * lib/stddef.in.h: Likewise.
10557         * lib/stdint.in.h: Likewise.
10558         * lib/stdio.in.h: Likewise.
10559         * lib/stdlib.in.h: Likewise.
10560         * lib/string.in.h: Likewise.
10561         * lib/strings.in.h: Likewise.
10562         * lib/sys_file.in.h: Likewise.
10563         * lib/sys_ioctl.in.h: Likewise.
10564         * lib/sys_select.in.h: Likewise.
10565         * lib/sys_socket.in.h: Likewise.
10566         * lib/sys_stat.in.h: Likewise.
10567         * lib/sys_time.in.h: Likewise.
10568         * lib/sys_times.in.h: Likewise.
10569         * lib/sys_utsname.in.h: Likewise.
10570         * lib/sys_wait.in.h: Likewise.
10571         * lib/sysexits.in.h: Likewise.
10572         * lib/termios.in.h: Likewise.
10573         * lib/time.in.h: Likewise.
10574         * lib/unistd.in.h: Likewise.
10575         * lib/wchar.in.h: Likewise.
10576         * lib/wctype.in.h: Likewise.
10577         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
10578         * modules/ctype (Makefile.am): Likewise.
10579         * modules/dirent (Makefile.am): Likewise.
10580         * modules/errno (Makefile.am): Likewise.
10581         * modules/fcntl-h (Makefile.am): Likewise.
10582         * modules/float (Makefile.am): Likewise.
10583         * modules/getopt-posix (Makefile.am): Likewise.
10584         * modules/iconv-h (Makefile.am): Likewise.
10585         * modules/inttypes (Makefile.am): Likewise.
10586         * modules/langinfo (Makefile.am): Likewise.
10587         * modules/locale (Makefile.am): Likewise.
10588         * modules/math (Makefile.am): Likewise.
10589         * modules/netdb (Makefile.am): Likewise.
10590         * modules/netinet_in (Makefile.am): Likewise.
10591         * modules/poll-h (Makefile.am): Likewise.
10592         * modules/pthread (Makefile.am): Likewise.
10593         * modules/pty (Makefile.am): Likewise.
10594         * modules/sched (Makefile.am): Likewise.
10595         * modules/search (Makefile.am): Likewise.
10596         * modules/selinux-h (Makefile.am): Likewise.
10597         * modules/signal (Makefile.am): Likewise.
10598         * modules/spawn (Makefile.am): Likewise.
10599         * modules/stdarg (Makefile.am): Likewise.
10600         * modules/stddef (Makefile.am): Likewise.
10601         * modules/stdint (Makefile.am): Likewise.
10602         * modules/stdio (Makefile.am): Likewise.
10603         * modules/stdlib (Makefile.am): Likewise.
10604         * modules/string (Makefile.am): Likewise.
10605         * modules/strings (Makefile.am): Likewise.
10606         * modules/sys_file (Makefile.am): Likewise.
10607         * modules/sys_ioctl (Makefile.am): Likewise.
10608         * modules/sys_select (Makefile.am): Likewise.
10609         * modules/sys_socket (Makefile.am): Likewise.
10610         * modules/sys_stat (Makefile.am): Likewise.
10611         * modules/sys_time (Makefile.am): Likewise.
10612         * modules/sys_times (Makefile.am): Likewise.
10613         * modules/sys_utsname (Makefile.am): Likewise.
10614         * modules/sys_wait (Makefile.am): Likewise.
10615         * modules/sysexits (Makefile.am): Likewise.
10616         * modules/termios (Makefile.am): Likewise.
10617         * modules/time (Makefile.am): Likewise.
10618         * modules/unistd (Makefile.am): Likewise.
10619         * modules/wchar (Makefile.am): Likewise.
10620         * modules/wctype (Makefile.am): Likewise.
10621
10622 2010-10-04  Bruno Haible  <bruno@clisp.org>
10623
10624         read-file tests: Avoid a test failure on NonStop Kernel.
10625         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
10626         a regular file.
10627         Reported by Joachim Schmitz <schmitz@hp.com>.
10628
10629 2010-10-03  Bruno Haible  <bruno@clisp.org>
10630
10631         gnulib-tool: Fixes for --create-testdir with --libtool.
10632         * gnulib-tool (func_get_automake_snippet): Don't augment
10633         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
10634         an executable.
10635         (func_create_testdir): Handle module 'alloca' like func_import.
10636         Reported by Bruce Korb <bruce.korb@gmail.com>.
10637
10638 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10639
10640         Avoid some lines longer than 80 characters.
10641         * lib/stdint.in.h: Break long comment lines.
10642         * lib/math.in.h: Likewise.
10643         (_GL_NUM_UINT_WORDS): New macro, for readability.
10644         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
10645         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
10646         * lib/stdlib.in.h: Likewise.
10647         * lib/spawn.in.h: Likewise.
10648         * lib/sys_socket.in.h: Update an URL.
10649         * lib/sys_stat.in.h: Break long line.
10650
10651 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
10652
10653         Improve pmccabe2html.
10654         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
10655         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
10656         when the sources change. Remove the line in the HTML about "Used
10657         ranges" (which implied that there might be other unused ranges),
10658         rename "Resume" to "Summary" (easier to understand for more users).
10659         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
10660         styles, and some unnecessary blank lines.
10661
10662 2010-10-03  Bruno Haible  <bruno@clisp.org>
10663             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10664
10665         acl: Add support for ACLs on NonStop Kernel.
10666         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
10667         Check whether the function aclsort() exists.
10668         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
10669         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
10670         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10671         (acl_nontrivial [HAVE_ACLSORT]: New function.
10672         (file_has_acl): Implement for NonStop Kernel.
10673         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10674         (qset_acl): Implement for NonStop Kernel.
10675         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
10676         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10677         (main): Implement for NonStop Kernel.
10678         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
10679         Kernel. Handle this flavor.
10680         * tests/test-set-mode-acl.sh: Likewise.
10681         * tests/test-copy-acl.sh: Likewise.
10682         * tests/test-copy-file.sh: Likewise.
10683
10684 2010-10-03  Bruno Haible  <bruno@clisp.org>
10685
10686         Info about ACLs on NonStop Kernel.
10687         * doc/acl-resources.txt: Add info about NonStop Kernel.
10688         References by Joachim Schmitz <schmitz@hp.com>.
10689
10690 2010-10-02  Bruno Haible  <bruno@clisp.org>
10691
10692         Define missing EDQUOT on NonStop Kernel.
10693         * lib/errno.in.h (EDQUOT): Assign a value if missing.
10694         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
10695         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
10696         missing.
10697         * doc/posix-headers/errno.texi: Mention the NSK bug.
10698         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
10699         Reported by Joachim Schmitz <schmitz@hp.com>.
10700
10701 2010-10-02  Bruno Haible  <bruno@clisp.org>
10702
10703         Update doc for POSIX:2008.
10704         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
10705         Update URL of POSIX specification.
10706
10707 2010-10-02  Bruno Haible  <bruno@clisp.org>
10708
10709         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
10710         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
10711         from gnulib, not from Automake.
10712
10713 2010-10-02  Bruno Haible  <bruno@clisp.org>
10714
10715         New module 'system-posix'.
10716         * modules/system-posix: New file.
10717         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
10718         module is present.
10719         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
10720         GNULIB_SYSTEM_POSIX.
10721         * modules/stdlib (Depends-on): Remove sys_wait.
10722         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
10723         * doc/posix-functions/system.texi: Mention the new module.
10724         * doc/posix-headers/stdlib.texi: Likewise.
10725         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
10726         define test_sys_wait_macros to a no-op.
10727         Reported by Sam Steingold <sds@gnu.org>.
10728
10729 2010-09-30  Bruno Haible  <bruno@clisp.org>
10730
10731         More renaming from 'getdate' to 'get_date'.
10732         * doc/get_date.texi: Renamed from doc/getdate.texi.
10733         * modules/get_date (Files): Update.
10734         * MODULES.html.sh (Date and time <time.h>): Update.
10735         * DEPENDENCIES: Update.
10736         * gnulib-tool: Update comment.
10737         * m4/bison.m4 (gl_BISON): Likewise.
10738         * m4/get_date.m4 (gl_GET_DATE): Likewise.
10739
10740 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
10741
10742         bootstrap: support ACLOCAL_FLAGS during aclocal
10743         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
10744         can add additional -I dir for third-party .m4 files.
10745
10746 2010-09-30  Eric Blake  <eblake@redhat.com>
10747
10748         bootstrap: use glibtoolize on MacOS
10749         * build-aux/bootstrap (check_versions): Convert libtool into
10750         libtoolize.
10751         (tool search): Move libtool check earlier, and look for
10752         glibtoolize for MacOS.
10753         (gnulib_tool_options): Auto-add --libtool when appropriate.
10754         Reported by Justin Clift.
10755
10756         poll: fix typo that broke test on MacOS
10757         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
10758         Reported by Justin Clift.
10759
10760         getdate: rename to get_date
10761         Note: getdate.h is not renamed, to minimize client impact.
10762         * modules/getdate: Mark obsolete.  Move old contents...
10763         * modules/get_date: ...to new module name.
10764         * modules/getdate-tests: Move...
10765         * modules/get_date-tests: ...here.
10766         * m4/getdate.m4: Move...
10767         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
10768         * lib/getdate.y: Move...
10769         * lib/get_date.y: ...here.
10770         * tests/test-getdate.c: Move...
10771         * tests/test-get_date.c: ...here.
10772         * doc/posix-functions/getdate.texi (getdate): Update name.
10773         * NEWS: Mention the change.
10774
10775 2010-09-29  Bruno Haible  <bruno@clisp.org>
10776
10777         Separate the module 'waitpid' from the module 'sys_wait'.
10778         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
10779         present.
10780         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
10781         gl_MODULE_INDICATOR_FOR_TESTS.
10782         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
10783         * modules/sys_wait (Depends-on): Remove waitpid.
10784         (Makefile.am): Substitute GNULIB_WAITPID.
10785         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
10786         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
10787         signature only if the 'waitpid' module is present.
10788         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
10789         * NEWS: Mention the change.
10790         * modules/grantpt (Depends-on): Add waitpid.
10791         * modules/wait-process (Depends-on): Likewise.
10792
10793 2010-09-29  Bruno Haible  <bruno@clisp.org>
10794
10795         More tests for module 'sys_wait'.
10796         * modules/sys_wait-c++-tests: New file.
10797         * tests/test-sys_wait-c++.cc: New file.
10798         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
10799         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10800
10801 2010-09-29  Bruno Haible  <bruno@clisp.org>
10802
10803         New module 'waitpid'.
10804         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
10805         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
10806         Don't include <process.h>.
10807         (waitpid): Declare only, using modern idiom.
10808         * m4/waitpid.m4: New file.
10809         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
10810         * modules/waitpid: New file.
10811         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
10812         (Makefile.am): Update.
10813         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10814
10815 2010-09-28  Bruno Haible  <bruno@clisp.org>
10816
10817         poll: Assume ANSI C.
10818         * lib/poll.c (poll): Use an ANSI C declaration.
10819
10820 2010-09-28  Bruno Haible  <bruno@clisp.org>
10821
10822         poll-h: Create poll.h on all platforms.
10823         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
10824         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
10825         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
10826         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
10827         (gl_REPLACE_POLL_H): Don't set POLL_H.
10828         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
10829         * modules/poll-h (Depends-on): Add include_next.
10830         (Makefile.am): Create poll.h unconditionally. Substitute also
10831         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
10832
10833 2010-09-28  Bruno Haible  <bruno@clisp.org>
10834
10835         Tests for module 'poll-h'.
10836         * modules/poll-h-c++-tests: New file.
10837         * tests/test-poll-h-c++.cc: New file.
10838
10839         Tests for module 'poll-h'.
10840         * modules/poll-h-tests: New file.
10841         * tests/test-poll-h.c: New file.
10842
10843 2010-09-28  Bruno Haible  <bruno@clisp.org>
10844
10845         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
10846         * modules/poll-h (Depends-on): Add 'extensions'.
10847
10848 2010-09-28  Bruno Haible  <bruno@clisp.org>
10849
10850         New module 'poll-h'.
10851         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
10852         (poll): Use modern idiom.
10853         * modules/poll-h: New file.
10854         * modules/poll (Files): Remove lib/poll.in.h.
10855         (Depends-on): Add poll-h.
10856         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
10857         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
10858         * m4/poll_h.m4: New file.
10859         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
10860         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
10861         and invoke gl_REPLACE_POLL_H.
10862         * lib/poll.c: Use common idiom.
10863         * tests/test-poll.c: Likewise.
10864         * doc/posix-headers/poll.texi: Mention the poll-h module.
10865         Suggested by Eric Blake.
10866
10867 2010-09-26  Bruno Haible  <bruno@clisp.org>
10868
10869         sys_wait: Implement WSTOPSIG.
10870         * lib/sys_wait.in.h (WSTOPSIG): New macro.
10871         Reported by Simon Josefsson.
10872
10873 2010-09-26  Simon Josefsson  <simon@josefsson.org>
10874
10875         stdlib, sys_wait: Avoid compilation error on mingw.
10876         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
10877
10878 2010-09-26  Bruno Haible  <bruno@clisp.org>
10879
10880         stdlib tests: Avoid code duplication.
10881         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
10882         * modules/sys_wait-tests (Files): Likewise.
10883         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
10884         * tests/test-stdlib.c: Include test-sys_wait.h.
10885         (main): Invoke test_sys_wait_macros.
10886         * tests/test-sys_wait.c: Include test-sys_wait.h.
10887         (main): Invoke test_sys_wait_macros.
10888
10889 2010-09-25  Simon Josefsson  <simon@josefsson.org>
10890
10891         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
10892         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
10893         sure Windows sockets are working before calling getaddrinfo.
10894         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
10895         * doc/gnulib.texi (Windows sockets): Fix typo.
10896
10897 2010-09-25  Bruno Haible  <bruno@clisp.org>
10898
10899         Tests for module 'regex-quote'.
10900         * modules/regex-quote-tests: New file.
10901         * tests/test-regex-quote.c: New file.
10902
10903         New module 'regex-quote'.
10904         * lib/regex-quote.h: New file.
10905         * lib/regex-quote.c: New file.
10906         * modules/regex-quote: New file.
10907         Suggested by Reuben Thomas <rrt@sc3d.org>.
10908
10909 2010-09-24  Bruno Haible  <bruno@clisp.org>
10910
10911         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
10912         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
10913
10914 2010-09-23  Bruno Haible  <bruno@clisp.org>
10915
10916         setenv: Relax license.
10917         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
10918         Blake.
10919         Requested by Eric Blake.
10920
10921 2010-09-22  Bruno Haible  <bruno@clisp.org>
10922
10923         termios: Relax license.
10924         * modules/termios (License): Change to LGPLv2+.
10925         Requested by Eric Blake.
10926
10927 2010-09-22  Bruno Haible  <bruno@clisp.org>
10928
10929         threadlib: Allow the package to change the default to 'no'.
10930         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
10931         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
10932         Reported by Paul Eggert.
10933
10934 2010-09-22  Pádraig Brady  <P@draigbrady.com>
10935             Bruno Haible  <bruno@clisp.org>
10936
10937         Fix endless loop in mbmemcasecoll.
10938         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
10939         byte.
10940         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
10941
10942 2010-09-22  Bruno Haible  <bruno@clisp.org>
10943
10944         Tests for module 'memcoll'.
10945         * modules/memcoll-tests: New file.
10946         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
10947
10948         memcoll, xmemcoll: Clarify size vs. length.
10949         * modules/memcoll.c (memcoll0): Clarify specification.
10950         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
10951         passed to collate_error.
10952
10953 2010-09-22  Bruno Haible  <bruno@clisp.org>
10954
10955         Tests for module 'memcasecmp'.
10956         * modules/memcasecmp-tests: New file.
10957         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
10958
10959 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10960
10961         * lib/pthread.in.h: Add split double-inclusion guard, and include
10962         system <pthread.h> if there is one.  Use @@-style as in other
10963         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
10964         pthread.h doesn't.
10965         (pthread_mutexattr_destroy, pthread_mutexattr_init):
10966         (pthread_mutexattr_settype, pthread_mutex_trylock):
10967         New static inline functions, if there's no system <pthread.h>.
10968         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
10969         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
10970         Approximate with mutexes if the system lacks spinlocks, as in
10971         MacOS.
10972         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10973         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10974         @@-style.  Check for spinlocks separately.
10975         (gl_PTHREAD_DEFAULTS): New macro.
10976         * modules/pthread: Redo to use a more typical style for in.h files.
10977
10978 2010-09-21  Eric Blake  <eblake@redhat.com>
10979
10980         net_if: enhance tests
10981         * tests/test-net_if.c (main): Move signature checks earlier.
10982         Print failures to stderr.
10983         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10984         Document the bug that we do not yet fix.
10985
10986 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10987
10988         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10989         about gnulib, not GSS.
10990
10991 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10992
10993         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10994         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10995         for Emacs.
10996         * build-aux/pmccabe2html: Make Makefile.am example code more
10997         cut-and-paste friendly.
10998
10999 2010-09-21  Simon Josefsson  <simon@josefsson.org>
11000
11001         * tests/test-net_if.c: New file.
11002         * modules/net_if-tests: New file.
11003
11004 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11005
11006         pthread: add pthread_spin_destroy
11007         * lib/pthread.in.h (pthread_spin_destroy): New function.
11008
11009 2010-09-19  Bruno Haible  <bruno@clisp.org>
11010
11011         gnulib-tool: Fix --help output.
11012         * gnulib-tool (func_usage): Fix help message.
11013         Reported by Reuben Thomas <rrt@sc3d.org>.
11014
11015 2010-09-18  Jim Meyering  <meyering@redhat.com>
11016
11017         maint.mk: avoid unexpanded \n in two diagnostics
11018         * top/maint.mk (sc_prohibit_always_true_header_tests):
11019         Don't use a literal \n in a halt=... assignment.  It would not be
11020         expanded, and the two \n bytes would appear in the diagnostic output
11021         rather than the desired newline.  Use halt=$$(printf ... instead.
11022         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
11023
11024 2010-09-18  Bruno Haible  <bruno@clisp.org>
11025
11026         netinet_in: Doc tweak.
11027         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
11028         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11029
11030 2010-09-18  Jim Meyering  <meyering@redhat.com>
11031
11032         init.sh: correct an outdated comment
11033         * tests/init.sh (create_exe_shims_):  s/function/alias/
11034
11035         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
11036         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
11037         a file named "*.exe" is removed between the glob expansion and the
11038         processing of that oddly named file.
11039
11040 2010-09-17  Eric Blake  <eblake@redhat.com>
11041
11042         mirbsd: add some more support
11043         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
11044         in BSD family.
11045         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
11046         devices as OpenBSD.
11047         * m4/host-os.m4 (mirbsd): Add MirBSD.
11048
11049         tests: fix unportable assumption on sys/wait.h
11050         * tests/test-sys_wait.c (main): Relax test.
11051         * tests/test-stdlib.c (main): Likewise.
11052
11053         init.sh: accomodate directory with no .exes
11054         * tests/init.sh: Accomodate directory containing only scripts.
11055
11056         tests: avoid compiler warning
11057         * tests/test-stdlib.c (main): Use the variable.
11058
11059         fdutimens, fdutimensat: update signature, again
11060         * lib/utimens.h (gl_futimens): Delete, and move signature...
11061         (fdutimens): ...here.
11062         (fdutimensat): Rearrange signature.
11063         (lutimensat): Rename variable for clarity.
11064         * lib/fdutimensat.c (fdutimensat): Update signature.
11065         * lib/utimens.c (fdutimens): Likewise.
11066         (gl_futimens): Delete.
11067         (utimens, lutimens): Update callers.
11068         * lib/futimens.c (futimens): Likewise.
11069         * tests/test-fdutimensat.c: Likewise.
11070         * tests/test-utimens.c: Likewise.
11071         * tests/test-futimens.h: Update comment.
11072         * NEWS: Mention this.
11073         Suggested by Paul Eggert.
11074
11075 2010-09-17  Bruno Haible  <bruno@clisp.org>
11076
11077         Take over the maintenance of some older macros from Autoconf.
11078         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
11079         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
11080         GNU Autoconf.
11081         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
11082         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
11083
11084 2010-09-17  Eric Blake  <eblake@redhat.com>
11085
11086         fdutimensat: drop atflag validation
11087         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
11088         with valid fd, to close a race scenario where futimens is
11089         unsupported and FILE was replaced by a symlink.
11090         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
11091         accordingly.
11092         Suggested by Paul Eggert.
11093
11094 2010-09-16  Bruno Haible  <bruno@clisp.org>
11095
11096         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
11097         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
11098
11099 2010-09-16  Bruno Haible  <bruno@clisp.org>
11100
11101         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
11102         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
11103         login_tty exists.
11104         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11105
11106 2010-09-16  Bruno Haible  <bruno@clisp.org>
11107
11108         login_tty: Make the replacement code work on BSD systems.
11109         * lib/login_tty.c: Include <sys/ioctl.h>.
11110         (login_tty): Use ioctl TIOCSCTTY when available.
11111         * modules/login_tty (Depends-on): Add sys_ioctl.
11112         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11113
11114 2010-09-16  Bruno Haible  <bruno@clisp.org>
11115
11116         login_tty: Stricter unit test.
11117         * modules/login_tty-tests (Depends-on): Add tcgetsid.
11118         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
11119         and tcgetsid() after login_tty.
11120         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11121
11122 2010-09-16  Bruno Haible  <bruno@clisp.org>
11123
11124         New module 'tcgetsid'.
11125         * lib/tcgetsid.c: New file.
11126         * m4/tcgetsid.m4: New file.
11127         * modules/tcgetsid: New file.
11128         * modules/termios (Depends-on): Add c++defs, warn-on-use.
11129         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
11130         GNULIB_TCGETSID, HAVE_TCGETSID.
11131         * lib/termios.in.h: Include <sys/types.h>.
11132         (tcgetsid): New declaration.
11133         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
11134         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
11135         * doc/posix-functions/tcgetsid.texi: Mention the new module.
11136         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
11137
11138 2010-09-16  Bruno Haible  <bruno@clisp.org>
11139
11140         Tests for module 'termios'.
11141         * modules/termios-c++-tests: New file.
11142         * modules/termios-tests: New file.
11143         * tests/test-termios-c++.cc: New file.
11144         * tests/test-termios.c: New file.
11145
11146         New module 'termios'.
11147         * modules/termios: New file.
11148         * lib/termios.in.h: New file.
11149         * m4/termios_h.m4: New file.
11150         * doc/posix-headers/termios.texi: Mention the new module.
11151
11152 2010-09-16  Eric Blake  <eblake@redhat.com>
11153
11154         fdutimensat: add an atflag parameter
11155         * lib/fdutimensat.c (fdutimensat): Add new parameter.
11156         * lib/utimens.h (fdutimensat): Update prototype.
11157         * tests/test-fdutimensat.c: Adjust test to match.
11158         * NEWS: Document the change.
11159         Suggested by Paul Eggert.
11160
11161 2010-09-16  Bruno Haible  <bruno@clisp.org>
11162
11163         Fix typos in comments.
11164         * lib/striconveh.h: Fix typo in comment.
11165         * lib/login_tty.c (login_tty): Likewise.
11166
11167 2010-09-15  Bruno Haible  <bruno@clisp.org>
11168
11169         stdlib: clarify MirBSD WEXITSTATUS bug
11170         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
11171         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11172
11173 2010-09-15  Eric Blake  <eblake@redhat.com>
11174
11175         stdlib: work around MirBSD WEXITSTATUS bug
11176         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
11177         * modules/stdlib (Depends-on): Add sys_wait.
11178         * tests/test-sys_wait.c (main): Enhance test.
11179         * tests/test-stdlib.c (main): Likewise.
11180         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
11181
11182         docs: mention MacOS issue with WEXITSTATUS(constant)
11183         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
11184         issue.
11185         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11186
11187         strnlen: add tests
11188         * modules/strnlen-tests: New file.
11189         * tests/test-strnlen.c: Likewise.
11190
11191 2010-09-14  Bruno Haible  <bruno@clisp.org>
11192
11193         unistr/base: Avoid link errors when module 'libunistring' is also used.
11194         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
11195         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
11196         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
11197         Declare also when HAVE_LIBUNISTRING is set.
11198         Reported by Pádraig Brady <P@draigbrady.com>.
11199
11200 2010-09-14  Eric Blake  <eblake@redhat.com>
11201
11202         test-rawmemchr: make more robust
11203         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
11204         (Depends-on, configure.ac): Add needed prerequisites to use it.
11205         * modules/memchr-tests (Files, Depends-on, configure.ac):
11206         Likewise, to avoid implicit reliance on memchr module prereqs.
11207         * tests/test-memchr.c (main): Ensure proper masking.
11208         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
11209         reads.
11210
11211         memchr: detect glibc Alpha bug
11212         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
11213         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
11214         Alpha.
11215         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
11216         * tests/test-memchr.c (main): Enhance test.
11217         Reported by Nelson H. F. Beebe.
11218
11219 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11220
11221         fts, getcwd, glob: audit for dirfd returning -1
11222         * lib/fts.c (opendir): Remove #define; no longer used.
11223         (opendirat): New arg PDIR_FD.  All callers changed.
11224         (fts_build, _opendir2): Use new opendirat to avoid the need for
11225         dirfd, or for checking whether dirfd returns a negative value.
11226         Don't use opendir; always use openat followed by fdopendir.
11227         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
11228         it.
11229         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
11230         returns -1 here.
11231         * modules/fts (Depends-on): Remove dirfd.
11232         * modules/getcwd (Depends-on): Likewise.
11233
11234 2010-09-13  Eric Blake  <eblake@redhat.com>
11235
11236         float: fix broken MirBSD header
11237         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
11238         * doc/posix-headers/float.texi (float.h): Document it.
11239
11240 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11241
11242         fts: use O_NOFOLLOW to avoid race condition when opening a directory
11243         * lib/fts.c (opendirat): New arg extra_flags.
11244         (__opendir2): Use it to avoid following symlinks when opening
11245         a directory, if symlinks are not supposed to be followed.  See
11246         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
11247
11248         fdopendir: preserve argument fd before returning
11249         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
11250         (fdopendir_with_dup, fd_clone_opendir): New static functions.
11251         (fdopendir): Use them, arranging for FD to be open to the same
11252         directory that it was when it started.  (It might be temporarily
11253         closed while fdopendir is running, so this not thread- or
11254         signal-safe.)  Be careful to do the right thing even when file
11255         descriptors are scarce and dup fails with errno == EMFILE.  See
11256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
11257
11258 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
11259
11260         regex: Pass the system regex if its only problem is 32-bit regoff_t.
11261         * NEWS: Document change.
11262         * m4/regex.m4: Disable test for regoff_t size.
11263
11264 2010-09-13  Jim Meyering  <meyering@redhat.com>
11265
11266         fts: don't operate on an invalid file descriptor after failed dup
11267         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
11268         negative file descriptor.
11269
11270 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11271
11272         savedir: add streamsavedir, deprecate fdsavedir
11273         * NEWS: Mention deprecation of fdsavedir.
11274         * lib/savedir.c (streamsavedir): New extern function, whose name
11275         ends in "savedir" to be consistent with the others.  This differs
11276         from savedirstream in that it doesn't close its argument.  The
11277         next version of GNU tar will use this instead of fdsavedir, to
11278         avoid some race conditions and conserve file descriptors.
11279         (savedirstream): Reimplement as a wrapper around streamsavedir.
11280         (fdsavedir): Add a comment deprecating this function.  As far as
11281         I know, only GNU tar used it, and GNU tar doesn't need it any more.
11282         * lib/savedir.h (streamsavedir): New decl.
11283         (fdsavedir): Add a comment deprecating this.
11284
11285 2010-09-10  Bruno Haible  <bruno@clisp.org>
11286
11287         langinfo: Fix last commit.
11288         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
11289         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
11290         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11291
11292 2010-09-10  Bruno Haible  <bruno@clisp.org>
11293
11294         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
11295         * lib/progreloc.c (O_EXEC): Define fallback.
11296
11297 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11298
11299         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
11300         * NEWS: Document recent changes to fcntl-h.
11301         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
11302         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
11303         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
11304         Similarly for O_SEARCH; this last was already true, but not documented.
11305         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
11306         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
11307         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
11308         Likewise.
11309         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
11310         is zero, not whether it is defined.
11311         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
11312         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
11313         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
11314
11315 2010-09-10  Bruno Haible  <bruno@clisp.org>
11316
11317         langinfo, nl_langinfo: Fix for IRIX 5.3.
11318         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
11319         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
11320         HAVE_LANGINFO_YESEXPR.
11321         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
11322         HAVE_LANGINFO_YESEXPR.
11323         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
11324         HAVE_LANGINFO_T_FMT_AMPM is 0.
11325         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
11326         HAVE_LANGINFO_YESEXPR is 0.
11327         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
11328         NOEXPR.
11329         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
11330         * doc/posix-functions/nl_langinfo.texi: Likewise.
11331         Reported by Eric Blake.
11332
11333 2010-09-10  Bruno Haible  <bruno@clisp.org>
11334
11335         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
11336         * doc/glibc-functions/login_tty.texi: Mention the include file problem
11337         on FreeBSD 8.0 and OpenBSD 4.6.
11338         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
11339         * m4/pty_h.m4 (gl_PTY_H): Likewise.
11340         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
11341         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
11342         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
11343         ac_includes_default.
11344         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11345
11346 2010-09-09  Eric Blake  <eblake@redhat.com>
11347
11348         strsignal: work around NetBSD bug
11349         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
11350         * lib/string.in.h (includes): Likewise.
11351         * doc/posix-functions/strsignal.texi (strsignal): Document the
11352         bug.
11353         Reported by Nelson H. F. Beebe.
11354
11355         gnulib-tool: work with NetBSD /bin/sh
11356         * gnulib-tool (func_cache_var, func_cache_lookup_module)
11357         (func_get_description, func_get_comment, func_get_status)
11358         (func_get_notice, func_get_applicability, func_get_filelist)
11359         (func_get_dependencies, func_get_autoconf_early_snippet)
11360         (func_get_autoconf_snippet, func_get_automake_snippet)
11361         (func_get_include_directive, func_get_link_directive)
11362         (func_get_license, func_get_maintainer, func_import): Avoid
11363         shell syntax errors from parsing syntax extensions.
11364
11365 2010-09-09  Bruno Haible  <bruno@clisp.org>
11366
11367         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11368         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
11369         a reliable way to determine whether the 'alias' command works.
11370
11371 2010-09-08  Jim Meyering  <meyering@redhat.com>
11372
11373         init.sh: penalize a set-x-impaired shell; don't disqualify it
11374         * tests/init.sh: Too many shells corrupt application stderr when
11375         you set -x, so we can't afford to disqualify them, since at least
11376         on Irix-6.5, that would disqualify all bourne shells.
11377         Instead, use a two-pass approach.
11378         On the first pass, try to find a shell that meets the stricter
11379         condition that set -x does not corrupt stderr.
11380         If no shell meets the stricter condition, retest each candidate
11381         shell, but without that extra condition.  Finally, when
11382         VERBOSE=yes is requested and set -x might cause trouble, simply
11383         issue a warning and refrain from enabling debug output.
11384
11385 2010-09-08  Eric Blake  <eblake@redhat.com>
11386
11387         unsetenv: fix OpenBSD bug
11388         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
11389         * doc/posix-functions/unsetenv.texi (unsetenv): Update
11390         documentation.
11391         Reported by Jim Meyering.
11392
11393         strtod: work around IRIX 6.5 bug
11394         * lib/strtod.c (strtod): Reparse number on shorter string if
11395         exponent parse was invalid.
11396         * tests/test-strtod.c (main): Add check for "0x1p 2".
11397         Reported by Tom G. Christensen.
11398
11399         getopt: optimize previous patch
11400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
11401         empty variable.  Speed up awk script.
11402         Reported by Paolo Bonzini.
11403
11404 2010-09-08  Jim Meyering  <meyering@redhat.com>
11405
11406         test.sh: disqualify shells for which set -x corrupts stderr
11407         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
11408         and OpenBSD 4.7.  They make it so with "set -x", environment settings
11409         appear in stderr output.  For example, this command:
11410             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
11411         prints "P=1" on those two systems:
11412
11413 2010-09-08  Bruno Haible  <bruno@clisp.org>
11414
11415         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11416         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
11417         commands, because some shells ignore redirections when there is an
11418         error in the command lookup.
11419         Reported by Eric Blake.
11420
11421 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
11422
11423         * lib/regex.h: Fix a mention of `regex_compile' (should be
11424         `re_compile_pattern').
11425         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
11426         (re_set_registers): Correct name of parameter in comment.
11427
11428         * doc/regex.texi: Add documentation for missing syntax flags.
11429         Remove commented-out documentation of defunct syntax option
11430         RE_NO_EMPTY_ALTS.
11431         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
11432         Add documentation of re_set_registers.
11433         Document trick to re-use a pattern buffer by setting fastmap manually.
11434         Update documentation of struct re_pattern_buffer per public members.
11435         Uncomment documentation of equivalence class operators and
11436         collating symbol operators, since they are now implemented,
11437         Explain leftmost-longest matching in relation to alternatives.
11438         Tidy documentation of substring matching.
11439         Remove POSIX documentation, which is done better in
11440         glibc, and refer the reader there. Keep BSD API documentation, as
11441         that is not readily available elsewhere.
11442
11443 2010-09-07  Eric Blake  <eblake@redhat.com>
11444
11445         getopt: handle POSIXLY_CORRECT set but not exported
11446         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
11447         export state of POSIXLY_CORRECT, due to bash set -o posix.
11448         Reported by Dustin J. Mitchell.
11449
11450 2010-09-05  Bruno Haible  <bruno@clisp.org>
11451
11452         gnulib-tool: Highlight the changed options.
11453         * gnulib-tool (func_usage): Display the --import, --add-import,
11454         --remove-import explanations in bold font.
11455
11456 2010-09-06  Karl Berry  <karl@gnu.org>
11457
11458         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
11459
11460 2010-09-05  Bruno Haible  <bruno@clisp.org>
11461
11462         uniwidth/width: Update comment.
11463         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
11464         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
11465
11466 2010-09-05  Bruno Haible  <bruno@clisp.org>
11467
11468         isinf, isnan: Relax license.
11469         * modules/isinf (License): Change from GPL to LGPL, with consent from
11470         Ben Pfaff.
11471         * modules/isnan (License): Likewise.
11472         Requested by Ludovic Courtès.
11473
11474 2010-09-04  Bruno Haible  <bruno@clisp.org>
11475
11476         gnulib-tool: Help migration from --import to --add-import or --update.
11477         * gnulib-tool: Emit a verbose error message when --import is used
11478         without any module name.
11479
11480 2010-09-04  Bruno Haible  <bruno@clisp.org>
11481
11482         Update doc about gnulib-tool.
11483         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
11484         'gnulib-tool --update' in more detail.
11485         Reported by Eric Blake.
11486
11487 2010-09-04  Bruno Haible  <bruno@clisp.org>
11488
11489         gnulib-tool: Change --import. New options --add/remove-import.
11490         * gnulib-tool: New options --add-import, --remove-import.
11491         (func_usage): Document them.
11492         (have_associative): Define always.
11493         (func_import): In import mode, don't merge the specified settings with
11494         the cached settings. Implement remove-import mode.
11495         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
11496         Explain when to use them versus --import.
11497         (Simple update): Use --add-import instead of --import.
11498         * NEWS: Mention the change.
11499
11500 2010-09-04  Bruno Haible  <bruno@clisp.org>
11501
11502         * doc/gnulib-tool.texi (Initial import): Update paragraph about
11503         separate gnulib.mk.
11504
11505 2010-09-04  Bruno Haible  <bruno@clisp.org>
11506
11507         gnulib-tool: Don't talk about CVS any more.
11508         * gnulib-tool (func_usage, func_import): Write "version control"
11509         instead of CVS.
11510
11511 2010-09-04  Jim Meyering  <meyering@redhat.com>
11512
11513         maint.mk: avoid obscure sc_copyright_check failure in coreutils
11514         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
11515         false positives (whose names may be ill-chosen) when searching
11516         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
11517         would cause a false-positive.
11518
11519         avoid coreutils "make distcheck" failure
11520         Coreutils tests with an absolute build directory name that contains
11521         a space.  Not quoting this directory name caused a failure.
11522         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
11523         * tests/test-vc-list-files-cvs.sh: Likewise.
11524
11525 2010-09-04  Bruno Haible  <bruno@clisp.org>
11526
11527         gnulib-tool: Avoid error when run in a package without Makefile.am.
11528         * gnulib-tool: When collecting the m4dirs in a package that does not
11529         have a Makefile.am, eliminate those directories that contain no
11530         gnulib-cache.m4. Fix expression that counts these directories.
11531
11532 2010-09-04  Bruno Haible  <bruno@clisp.org>
11533
11534         update-copyright test: Improve output when perl is missing or too old.
11535         * tests/test-update-copyright.sh: Move test of Perl version down after
11536         the test whether Perl exists. Provide an explanation relating Perl's
11537         error message to Automake's SKIP: message.
11538
11539 2010-09-04  Bruno Haible  <bruno@clisp.org>
11540
11541         Don't augment PATH in TESTS_ENVIRONMENT.
11542         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
11543         set abs_aux_dir instead of augmenting PATH.
11544         * modules/vc-list-files-tests (Makefile.am): Likewise.
11545         * tests/test-update-copyright.sh: Augment PATH here.
11546         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
11547         path_prepend_.
11548         * tests/test-vc-list-files-git.sh: Likewise.
11549
11550 2010-09-04  Jim Meyering  <meyering@redhat.com>
11551
11552         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
11553         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
11554
11555 2010-09-04  Bruno Haible  <bruno@clisp.org>
11556
11557         strdup: Fix compilation error in C++ mode.
11558         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
11559         the macro.
11560
11561 2010-09-04  Bruno Haible  <bruno@clisp.org>
11562
11563         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
11564         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
11565         macro into a function.
11566         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11567
11568 2010-09-04  Bruno Haible  <bruno@clisp.org>
11569
11570         Set PATH_SEPARATOR the same way autoconf does.
11571         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
11572         the value of PATH_SEPARATOR the same way autoconf-generated configure
11573         scripts do.
11574         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
11575         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
11576
11577 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11578
11579         Set PATH_SEPARATOR the same way autoconf does.
11580         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
11581         the same way autoconf-generated configure scripts do.
11582         * posix-modules: Likewise.
11583
11584 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11585
11586         hash: fix safe_hasher const typo
11587         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
11588         const; otherwise, there is a type error later.
11589
11590 2010-09-02  Jim Meyering  <meyering@redhat.com>
11591
11592         test-update-copyright.sh: require perl 5.8.0
11593         * tests/test-update-copyright.sh: Require 5.8.0,
11594         which Tom G. Christensen has confirmed is adequate,
11595         while 5.6.1 is not.
11596
11597 2010-09-02  Eric Blake  <eblake@redhat.com>
11598
11599         tests: init.sh improvements for re-exec'ing with zsh
11600         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
11601         -vx through shell re-exec.
11602         Reported by Tom G. Christensen.
11603
11604         wctype: fix typo in previous commit
11605         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
11606         Reported by Ludovic Courtès.
11607
11608 2010-09-02  Jim Meyering  <meyering@redhat.com>
11609
11610         test-update-copyright.sh: skip test if Perl is too old
11611         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
11612         Reported by Tom G. Christensen.
11613
11614 2010-09-02  Bruno Haible  <bruno@clisp.org>
11615
11616         wctype: Avoid compilation error on IRIX 6.5.30.
11617         * lib/wctype.in.h (iswblank): Declare with a replacement if
11618         REPLACE_ISWBLANK is set.
11619         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
11620         declared. Set REPLACE_ISWBLANK.
11621         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
11622         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
11623         * doc/posix-headers/wctype.texi: Likewise.
11624         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11625
11626 2010-09-01  Bruno Haible  <bruno@clisp.org>
11627
11628         New module 'socketlib'.
11629         * modules/socketlib: New file.
11630         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
11631         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
11632         * modules/sockets (Depends-on): Add socketlib.
11633         Suggested by Sam Steingold <sds@gnu.org>.
11634
11635 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11636
11637         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
11638
11639         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
11640         when one needs search access to a directory but not read access.
11641         On systems where it is available, it works in some cases where
11642         O_RDONLY does not, namely on directories that are searchable but
11643         not readable, and which need only to be searchable.  If O_SEARCH
11644         is not available, fall back to the traditional method of using
11645         O_RDONLY.
11646
11647         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
11648         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
11649         when opening a directory that needs only to be searchable.
11650         * lib/chdir-safer.c (chdir_no_follow): Likewise.
11651         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
11652         * lib/openat-proc.c (openat_proc_name): Likewise.
11653         * lib/openat.c (openat_needs_fchdir): Likewise.
11654         * lib/save-cwd.c (save_cwd): Likewise.
11655         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
11656
11657 2010-08-28  Bruno Haible  <bruno@clisp.org>
11658
11659         New module 'host-cpu-c-abi'.
11660         * modules/host-cpu-c-abi: New file.
11661         * m4/host-cpu-c-abi.m4: New file, based on part of
11662         clisp/src/m4/general.m4.
11663         Requested by Sam Steingold <sds@gnu.org>.
11664
11665 2010-08-31  Eric Blake  <eblake@redhat.com>
11666         and Jim Meyering  <meyering@redhat.com>
11667
11668         hash: factor, and guard against misbehaving hasher function
11669         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
11670         of table->hasher's return value.  Also protect against a hash value
11671         so large that adding it to table->bucket results in a NULL pointer.
11672         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
11673         Use it in place of open-coded check-and-abort.
11674
11675 2010-08-30  Bruno Haible  <bruno@clisp.org>
11676
11677         hash: silence spurious clang warning
11678         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
11679         Reported by Eric Blake.
11680
11681 2010-08-30  Eric Blake  <eblake@redhat.com>
11682
11683         strstr, memmem, strcasestr: avoid leaked shell message
11684         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
11685         FreeBSD.
11686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11687         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11688
11689         tests: silence clang warning
11690         * tests/test-malloca.c (do_allocation): Avoid dead store.
11691
11692 2010-08-29  Bruno Haible  <bruno@clisp.org>
11693
11694         gettext: Fix recent mistake.
11695         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
11696
11697 2010-08-29  Bruno Haible  <bruno@clisp.org>
11698
11699         selinux-h: Offer a --without-selinux option.
11700         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
11701         --without-selinux was specified, skip all tests and define
11702         HAVE_SELINUX_SELINUX_H to 0.
11703         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
11704         set LIB_SELINUX to empty.
11705         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
11706         gl_LIBSELINUX. If --without-selinux was specified, replace
11707         selinux/context.h.
11708         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
11709
11710 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11711             Bruno Haible  <bruno@clisp.org>
11712
11713         Make the module 'realloc-gnu' work again on AIX and OSF/1.
11714         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
11715         of HAVE_REALLOC.
11716         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
11717         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
11718         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
11719         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11720
11721 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11722             Bruno Haible  <bruno@clisp.org>
11723
11724         Make the module 'calloc-gnu' work again on AIX and OSF/1.
11725         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
11726         HAVE_CALLOC.
11727         * lib/xmalloc.c: Update accordingly.
11728         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
11729         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
11730         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11731
11732 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11733             Bruno Haible  <bruno@clisp.org>
11734
11735         Make the module 'malloc-gnu' work again on AIX and OSF/1.
11736         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
11737         HAVE_MALLOC.
11738         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
11739         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
11740         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11741
11742 2010-08-29  Bruno Haible  <bruno@clisp.org>
11743
11744         Update modules list.
11745         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11746         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
11747         (String handling <string.h>): Add astrxfrm.
11748         (File system functions): Add readlinkat.
11749
11750 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11751
11752         Tests for module 'realloc-gnu'.
11753         * modules/realloc-gnu-tests: New file.
11754         * tests/test-realloc-gnu.c: New file.
11755
11756         Tests for module 'calloc-gnu'.
11757         * modules/calloc-gnu-tests: New file.
11758         * tests/test-calloc-gnu.c: New file.
11759
11760         Tests for module 'malloc-gnu'.
11761         * modules/malloc-gnu-tests: New file.
11762         * tests/test-malloc-gnu.c: New file.
11763
11764 2010-08-28  Bruno Haible  <bruno@clisp.org>
11765
11766         Rename module 'realloc' -> 'realloc-gnu'.
11767         * modules/realloc-gnu: New file, copied from modules/realloc.
11768         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
11769         obsolete.
11770         * modules/mgetgroups (Depends-on): Update.
11771         * doc/posix-functions/realloc.texi: Update.
11772         * NEWS: Mention the change.
11773
11774         Rename module 'calloc' -> 'calloc-gnu'.
11775         * modules/calloc-gnu: New file, copied from modules/calloc.
11776         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
11777         obsolete.
11778         * doc/posix-functions/calloc.texi: Update.
11779         * NEWS: Mention the change.
11780
11781         Rename module 'malloc' -> 'malloc-gnu'.
11782         * modules/malloc-gnu: New file, copied from modules/malloc.
11783         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
11784         obsolete.
11785         * modules/argp (Depends-on): Update.
11786         * modules/regex (Depends-on): Update.
11787         * doc/posix-functions/malloc.texi: Update.
11788         * NEWS: Mention the change.
11789
11790 2010-08-28  Eric Blake  <eblake@redhat.com>
11791
11792         pread, pwrite: add missing dependency
11793         * modules/pread (Depends-on): Add extensions.
11794         * modules/pwrite (Depends-on): Likewise.
11795
11796 2010-08-28  Bruno Haible  <bruno@clisp.org>
11797
11798         unistr/u*-strchr: Fix tests dependencies.
11799         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
11800         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
11801         Reported by Ian Beckwith <ianb@erislabs.net>.
11802
11803 2010-08-28  Bruno Haible  <bruno@clisp.org>
11804
11805         read-file: Don't occupy too much unused memory.
11806         * lib/read-file.c (fread_file): Shrink the buffer at the end.
11807
11808 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
11809             Eric Blake  <eblake@redhat.com>
11810             Bruno Haible  <bruno@clisp.org>
11811
11812         read-file: Avoid memory reallocations with regular files.
11813         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
11814         (fread_file): With regular files, use the remaining length as the
11815         initial buffer size.  Check against overflow.
11816         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
11817         sys_stat.
11818
11819 2010-08-28  Bruno Haible  <bruno@clisp.org>
11820
11821         ftello: Relax license.
11822         * modules/ftello (License): Relax to LGPLv2+.
11823         Reported by Eric Blake.
11824
11825 2010-08-28  Bruno Haible  <bruno@clisp.org>
11826
11827         Avoid relocwrapper link errors due to gnulib replacement functions.
11828         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
11829         function.
11830         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11831
11832 2010-08-28  Bruno Haible  <bruno@clisp.org>
11833
11834         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
11835         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
11836         defined.
11837         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
11838         Suggested by Eric Blake.
11839
11840 2010-08-28  Bruno Haible  <bruno@clisp.org>
11841
11842         sys_socket, netdb: Ensure socklen_t gets defined.
11843         * modules/sys_socket (Depends-on): Add socklen.
11844         * modules/netdb (Depends-on): Likewise.
11845         * modules/getaddrinfo (Depends-on): Remove socklen.
11846         * modules/getsockopt (Depends-on): Likewise.
11847         * modules/setsockopt (Depends-on): Likewise.
11848         * tests/test-sys_socket.c: Check that socklen_t is defined.
11849         * tests/test-netdb.c: Likewise.
11850         * m4/socklen.m4: Update comments.
11851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11852
11853 2010-08-27  Eric Blake  <eblake@redhat.com>
11854
11855         login_tty: add missing dependency
11856         * modules/login_tty (Depends-on): Add pty.
11857
11858 2010-08-26  Eric Blake  <eblake@redhat.com>
11859
11860         lib-symbol-versions: fix m4 quoting
11861         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
11862         format for AC_LINK_IFELSE.
11863
11864         glob: fix compile test
11865         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
11866
11867         btowc: fix missing file
11868         * modules/btowc (Files): Also ship locale-fr.m4.
11869
11870         lseek: fix link test
11871         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
11872         AC_LINK_IFELSE.
11873
11874         include_next: silence autoconf 2.68 warning
11875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
11876         AC_COMPILE_IFELSE as special.
11877         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
11878         autoconf < 2.68.
11879
11880         acl: fix compilation test
11881         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
11882         AC_COMPILE_IFELSE.
11883
11884 2010-08-26  Bruno Haible  <bruno@clisp.org>
11885
11886         Modernize AC_TRY_RUN invocations.
11887         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
11888         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11889         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
11890         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
11891         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
11892         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11893         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11894         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11895         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11896         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11897         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11898         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11899         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11900         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11901         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11902         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11903         gl_MBRLEN_NUL_RETVAL): Likewise.
11904         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11905         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11906         Likewise.
11907         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11908         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11909         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11910         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11911         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
11912         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
11913         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
11914         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11915         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
11916         Likewise.
11917         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
11918         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
11919         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11920         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11921         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11922         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11923         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11924         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
11925         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11926         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11927
11928 2010-08-26  Bruno Haible  <bruno@clisp.org>
11929
11930         Modernize AC_TRY_LINK invocations.
11931         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
11932         AC_TRY_LINK.
11933         * m4/argp.m4 (gl_ARGP): Likewise.
11934         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11935         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11936         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
11937         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11938         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11939         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
11940         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11941         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11942         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11943         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11944         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11945         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
11946         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
11947         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11948         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
11949         * m4/hostent.m4 (gl_HOSTENT): Likewise.
11950         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11951         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
11952         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
11953         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
11954         Likewise.
11955         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
11956         Likewise.
11957         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
11958         Likewise.
11959         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
11960         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
11961         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
11962         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11963         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11964         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11965         * m4/servent.m4 (gl_SERVENT): Likewise.
11966         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11967         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11968         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11969         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11970         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11971         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11972         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11973         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11974         * modules/tsearch-tests (configure.ac): Likewise.
11975
11976 2010-08-26  Bruno Haible  <bruno@clisp.org>
11977
11978         Modernize AC_TRY_COMPILE invocations.
11979         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11980         AC_TRY_COMPILE.
11981         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11982         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11983         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11984         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11985         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11986         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11987         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11988         * m4/lock.m4 (gl_LOCK): Likewise.
11989         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11990         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11991         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11992         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11993         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11994         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11995         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11996         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11997         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11998         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11999         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
12000         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12001         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
12002         extraneous semicolon.
12003
12004 2010-08-26  Jim Meyering  <meyering@redhat.com>
12005
12006         stat-time: relax license LGPL
12007         * modules/stat-time (License): Change from GPL to LGPL,
12008         with consent from all contributors, for use in libguile.
12009         Requested by Ludovic Courtès.
12010
12011 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
12012
12013         poll: return immediately on POLLHUP.
12014         * lib/poll.c (poll): Always set timeout before wait_timeout is
12015         computed.
12016
12017 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12018
12019         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
12020         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
12021         rmdir ("dir/.//"), unlinkat.
12022
12023 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12024
12025         stdbool: avoid spurious failure with modern xlc
12026         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12027
12028 2010-08-24  Bruno Haible  <bruno@clisp.org>
12029
12030         getloadavg: simplify code
12031         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
12032         gl_have_func. Update comments.
12033
12034 2010-08-24  Eric Blake  <eblake@redhat.com>
12035
12036         getloadavg: don't define SVR4 on cygwin
12037         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
12038         only define SVR4 when -lkvm is required.
12039         Reported by Yaakov Selkowitz.
12040
12041 2010-08-24  Bruno Haible  <bruno@clisp.org>
12042
12043         priv-set: fix comment
12044         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
12045
12046 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12047
12048         priv-set: fix comments
12049         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
12050         to match code, as suggested by David Bartley in:
12051         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
12052
12053 2010-08-23  Eric Blake  <eblake@redhat.com>
12054
12055         stdbool: avoid rejecting clang
12056         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12057         * tests/test-stdbool.c: Enable more tests if using the system
12058         <stdbool.h> instead of the gnulib replacement.
12059         (main): Move xlc bug test to a runtime test for all compilers.
12060         Reported by Anders Kaseorg.
12061
12062         argz: fix shell quoting issue
12063         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
12064         Reported by Charles Wilson.
12065
12066 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
12067             Erik Faye-Lund <kusmabite@gmail.com>
12068
12069         poll, select: handle ERROR_BROKEN_PIPE.
12070         * lib/poll.c (win32_compute_revents): Return POLLHUP when
12071         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12072         * lib/select.c (win32_compute_revents): Do not mark a pipe
12073         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12074
12075 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
12076
12077         fts: allow compilation with C++
12078         * lib/fts_.h: Specify extern "C" linkage with C++.
12079
12080 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12081
12082         Fix gnulib-tool sed script de-commentation for AIX sed.
12083         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
12084         sed.
12085
12086 2010-08-17  Eric Blake  <eblake@redhat.com>
12087
12088         test-stddef: test for (some) offsetof bugs
12089         * tests/test-stddef.c: Enhance test to ensure correct type of
12090         offsetof.
12091         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
12092         that we are not fixing at this time.
12093
12094 2010-08-15  Bruno Haible  <bruno@clisp.org>
12095
12096         stpncpy: Allow stpncpy to be defined as a macro.
12097         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
12098         if it's already correctly declared.
12099         * lib/string.in.h (stpncpy): Undefine before redefining.
12100         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
12101
12102 2010-08-14  Bruno Haible  <bruno@clisp.org>
12103
12104         Rename module 'memxfrm' to 'amemxfrm'.
12105         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
12106         (amemxfrm): Renamed from memxfrm.
12107         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
12108         (amemxfrm): Renamed from memxfrm.
12109         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
12110         * NEWS: Mention the change.
12111         * MODULES.html.sh (String handling <string.h>): Update.
12112         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
12113         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
12114         * lib/unicase/u16-casexfrm.c: Likewise.
12115         * lib/unicase/u32-casexfrm.c: Likewise.
12116         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
12117         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
12118         * lib/uninorm/u16-normxfrm.c: Likewise.
12119         * lib/uninorm/u32-normxfrm.c: Likewise.
12120         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
12121         memxfrm.
12122         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
12123         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
12124         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
12125         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
12126         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
12127         Suggested by Paul Eggert.
12128
12129 2010-08-14  Bruno Haible  <bruno@clisp.org>
12130
12131         Tests for module 'astrxfrm'.
12132         * modules/astrxfrm-tests: New file.
12133         * tests/test-astrxfrm.c: New file.
12134
12135         New module 'astrxfrm'.
12136         * lib/astrxfrm.h: New file.
12137         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
12138         * modules/astrxfrm: New file.
12139
12140 2010-08-14  Reuben Thomas <rrt@sc3d.org>
12141
12142         regex: Tweak doc.
12143         * doc/regex.texi (Overview): Don't mention regex.c.
12144         (GNU Regular Expression Compiling): Likewise.
12145         (Match-end-of-line Operator): Mention 'not_eol'.
12146
12147 2010-08-14  Brian Gough  <bjg@gnu.org>
12148             Bruno Haible  <bruno@clisp.org>
12149
12150         git-merge-changelog: add doc relating to use with bzr and hg.
12151         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
12152
12153 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
12154
12155         pthread: fix pthread.h creation for srcdir != builddir
12156         * modules/pthread (Makefile.am): Fix the rule to work also in a
12157         non-srcdir build.
12158
12159 2010-08-13  Karl Berry  <karl@gnu.org>
12160
12161         * doc/regex.texi (Predefined Syntaxes): @smallexample.
12162         * doc/posix-*/*: force line break before @url of POSIX
12163         specifications.
12164         Suggested by Werner Lemberg.
12165
12166 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12167
12168         strtod: fix const diagnostic
12169         * lib/strtod.c (strtod): Don't assign const char * to char *,
12170         as this elicits a warning from GCC when warnings are enabled.
12171
12172 2010-08-10  Pádraig Brady <P@draigbrady.com>
12173         and Eric Blake  <eblake@redhat.com>
12174
12175         copy-acl: ignore ENOTSUP on HP-UX
12176         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
12177         so that it is available for HP-UX.
12178         * lib/copy-acl.c (qcopy_acl): Use it.
12179         Reported by Patrick M. Callahan.
12180
12181 2010-08-10  Eric Blake  <eblake@redhat.com>
12182
12183         open, chown: relax license
12184         * modules/open (License): Change to LGPLv2+, with consent by all
12185         authors, for use in augeas.
12186         * modules/chown (License): Likewise.
12187         * modules/lchown (Likewise): Likewise.
12188         Requested by Adam Stokes.
12189
12190 2010-08-09  Karl Berry  <karl@gnu.org>
12191
12192         * build-aux/ar-lib: new file, import from Automake.
12193         * config/srclist.txt: autocheck for updates.
12194
12195 2010-08-09  Eric Blake  <eblake@redhat.com>
12196
12197         readlinkat: adjust client modules
12198         * modules/areadlinkat (Depends-on): Use readlinkat, not
12199         symlinkat.
12200         * modules/areadlinkat-with-size (Depends-on): Likewise.
12201
12202         mknod: be more vocal about danger of running tests as root
12203         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
12204         root, since that is just asking for problems.
12205         Suggested by Bruno Haible, based on a report by Rainer Tammer.
12206
12207         readlinkat: split into its own module
12208         * modules/symlinkat: Split readlinkat...
12209         * modules/readlinkat: ...into separate module.
12210         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
12211         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
12212         * lib/symlinkat.c (readlinkat): Move...
12213         * lib/readlinkat.c: ...into new file.
12214         * modules/symlinkat-tests: Split readlinkat test...
12215         * modules/readlinkat-tests: ...into separate module.
12216         * tests/test-symlinkat.c: Split...
12217         * tests/test-readlinkat.c: ...into new file.
12218         * NEWS: Document the split.
12219         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12220         * lib/unistd.in.h (readlinkat): Likewise.
12221         Suggested by Bruno Haible.
12222
12223 2010-08-08  Bruno Haible  <bruno@clisp.org>
12224
12225         memxfrm: Speed up.
12226         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
12227         that usually only one call to strxfrm is necessary for each string
12228         part.
12229         Reported by Paul Eggert <eggert@cs.ucla.edu>.
12230
12231 2010-08-07  Karl Berry  <karl@gnu.org>
12232
12233         * doc/posix-headers/limits.texi,
12234         * doc/posix-functions/malloc.texi,
12235         * doc/posix-functions/strsignal.texi: missing @item.
12236         * doc/ld-version-script.texi: spurious leading i.
12237         * doc/regex.texi (Interval Operators): no commas inside @var.
12238
12239 2010-08-01  Bruno Haible  <bruno@clisp.org>
12240
12241         Integrate the regex documentation.
12242         * doc/gnulib.texi: Define 'cn' index.
12243         (Regular expressions): New a chapter that includes regex.texi and
12244         regexprops-generic.texi.
12245         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
12246         syntax.
12247
12248         Whitespace cleanup.
12249         * doc/regex.texi: Remove trailing spaces.
12250
12251         Add regex documentation.
12252         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
12253         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
12254         Written by Kathy A. Hargreaves and Karl Berry.
12255
12256 2010-08-01  Bruno Haible  <bruno@clisp.org>
12257
12258         link: Update documentation.
12259         * doc/posix-functions/link.texi: Update regarding Solaris.
12260
12261 2010-07-31  Bruno Haible  <bruno@clisp.org>
12262
12263         Update modules list.
12264         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
12265         (String handling <string.h>): Add memcmp2, memxfrm.
12266         (Container data structures): Add xlist, xsublist, xoset.
12267         (Core language properties): Add alignof, unused-parameter.
12268         (Process control, Numeric conversion functions <stdlib.h>): Renamed
12269         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
12270         (Unibyte characters <ctype.h>): New section.
12271         (String handling <string.h>): New section.
12272         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
12273         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
12274         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
12275         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
12276         tan, tanh, tanl, y0, y1, yn.
12277         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
12278         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
12279         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
12280         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
12281         unlockpt, vdprintf, vdprintf-posix.
12282         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
12283         (File system functions): Add concat-filename, sys_file, sys_ioctl,
12284         xconcat-filename.
12285         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
12286         getdtablesize, pipe2, pipe2-safer.
12287         (Security): New section.
12288         (Networking functions): Add accept4.
12289         (Signal handling): Add sigpipe.
12290         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
12291         mbmemcasecoll.
12292         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
12293         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
12294         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
12295         pipe-filter-ii.
12296         (Misc): Add argp-version-etc, login_tty, parse-duration.
12297
12298 2010-07-31  Bruno Haible  <bruno@clisp.org>
12299
12300         Improve doc in MODULES.html.
12301         * modules/linkat (Description): Add the word "function".
12302         * modules/mkfifo (Description): Likewise.
12303         * modules/mknod (Description): Likewise.
12304         * modules/remove (Description): Likewise.
12305         * modules/renameat (Description): Likewise.
12306         * modules/stat (Description): Likewise.
12307         * modules/symlink (Description): Likewise.
12308         * modules/unlink (Description): Likewise.
12309
12310 2010-07-31  Bruno Haible  <bruno@clisp.org>
12311
12312         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
12313         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
12314         option --enable/disable-c++ instead of --enable/disable-cxx.
12315         * NEWS: Mention the change.
12316
12317 2010-07-31  Bruno Haible  <bruno@clisp.org>
12318
12319         readlink, areadlink: Relax test a bit.
12320         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
12321         alternative to ENOTDIR.
12322         * tests/test-areadlink.h (test_areadlink): Likewise.
12323         Reported by Rainer Tammer.
12324
12325 2010-07-31  Bruno Haible  <bruno@clisp.org>
12326
12327         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
12328         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
12329         character, perform the search using U_STRCHR.
12330         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
12331         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
12332         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
12333         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
12334         Suggested by Paolo Bonzini.
12335
12336 2010-07-31  Bruno Haible  <bruno@clisp.org>
12337
12338         unistr/u*-strstr: Fix dependencies.
12339         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
12340         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
12341         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
12342
12343 2010-07-31  Bruno Haible  <bruno@clisp.org>
12344
12345         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
12346         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
12347         the beginning of the loop.
12348         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
12349         cases in 'switch' statement.
12350
12351         unistr/u8-strchr: Fix several bugs.
12352         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
12353         the string. When not found, return NULL, not a pointer near the end.
12354
12355         More tests for unistr/u8-strchr.
12356         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
12357         that the function does not read past the first occurrence of the byte
12358         being searched.
12359         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
12360         * tests/unistr/test-u16-strchr.c (main): New function.
12361         * tests/unistr/test-u32-strchr.c (main): New function.
12362
12363 2010-07-31  Bruno Haible  <bruno@clisp.org>
12364
12365         posix-modules: Ignore backup files of documentation files.
12366         * posix-modules: grep only through files named *.texi.
12367
12368 2010-07-31  Bruno Haible  <bruno@clisp.org>
12369
12370         symlinkat: Fix documentation.
12371         * doc/posix-functions/readlinkat.texi: Fix module name.
12372
12373 2010-07-31  Bruno Haible  <bruno@clisp.org>
12374
12375         fchownat: Replace also when chown has the trailing slash bug.
12376         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
12377         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
12378         introduced on 2010-04-10.
12379         Reported by Rainer Tammer.
12380
12381 2010-07-31  Bruno Haible  <bruno@clisp.org>
12382
12383         linkat: Work around AIX 7.1 bug.
12384         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
12385         whether linkat handles trailing slash correctly. If not, replace linkat
12386         and define LINKAT_TRAILING_SLASH_BUG.
12387         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
12388         check whether (fd1,file1) points to a directory if file1 or file2 ends
12389         in a slash. Code taken from lib/link.c.
12390         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
12391         Reported by Rainer Tammer.
12392
12393 2010-07-31  Bruno Haible  <bruno@clisp.org>
12394
12395         Correctly determine whether pow is available in libc on AIX 7 with xlc.
12396         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
12397         This disables an xlc optimization that was causing wrong test results.
12398         Reported by Rainer Tammer.
12399
12400 2010-07-31  Bruno Haible  <bruno@clisp.org>
12401
12402         iconv: Work around AIX 6.1..7.1 bug.
12403         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12404         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
12405         cross-compiling, guess no on all versions of AIX.
12406         Reported by Rainer Tammer.
12407
12408 2010-07-31  Bruno Haible  <bruno@clisp.org>
12409
12410         readlink: Relax test a bit.
12411         * tests/test-readlink.h (test_readlink): Allow different errno value
12412         when readlink is called with a file name that ends in / and refers to
12413         a file.
12414         Suggested by Eric Blake.
12415         Reported by Rainer Tammer.
12416
12417 2010-07-31  Bruno Haible  <bruno@clisp.org>
12418
12419         copysign: Does not require -lm on glibc systems.
12420         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
12421         gl_COMMON_DOUBLE_MATHFUNC.
12422         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
12423
12424 2010-07-31  Bruno Haible  <bruno@clisp.org>
12425
12426         duplocale: Work around AIX 7.1 bug.
12427         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
12428         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
12429         * lib/duplocale.c (rpl_duplocale): Update comment.
12430         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
12431         Reported by Rainer Tammer.
12432
12433 2010-07-30  Bruno Haible  <bruno@clisp.org>
12434
12435         dirfd: Avoid link error on AIX 7.1.
12436         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
12437         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
12438         exist, set REPLACE_DIRFD.
12439         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
12440         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
12441         * doc/posix-functions/dirfd.texi: Update.
12442         Reported by Rainer Tammer.
12443
12444 2010-07-30  Eric Blake  <eblake@redhat.com>
12445
12446         strtod: next round of AIX fixes
12447         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
12448         exponent.
12449         * tests/test-strtod.c (main): Enhance tests.
12450         * doc/posix-functions/strtod.texi (strtod): Document next bug.
12451         Reported by Rainer Tammer.
12452
12453         futimens: fix configure check
12454         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
12455         Reported by Bruno Haible.
12456
12457 2010-07-30  Bruno Haible  <bruno@clisp.org>
12458
12459         getline: Update regarding AIX.
12460         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
12461         Reported by Rainer Tammer.
12462
12463 2010-07-30  Bruno Haible  <bruno@clisp.org>
12464
12465         wcwidth: Drop replacement on AIX 7.
12466         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
12467         AIX 7.
12468         Reported by Rainer Tammer.
12469
12470 2010-07-30  Bruno Haible  <bruno@clisp.org>
12471
12472         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
12473         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
12474         a 'char *'.
12475         Reported by Rainer Tammer.
12476
12477 2010-07-30  Bruno Haible  <bruno@clisp.org>
12478
12479         unlink: Update regarding AIX.
12480         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
12481         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
12482         Reported by Rainer Tammer.
12483
12484 2010-07-30  Bruno Haible  <bruno@clisp.org>
12485
12486         symlink: Update regarding AIX.
12487         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
12488         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
12489         Reported by Rainer Tammer.
12490
12491 2010-07-30  Bruno Haible  <bruno@clisp.org>
12492
12493         strndup: Update regarding AIX.
12494         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
12495         AIX 7.
12496         Reported by Rainer Tammer.
12497
12498 2010-07-30  Bruno Haible  <bruno@clisp.org>
12499
12500         stat: Update regarding AIX.
12501         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
12502         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
12503         Reported by Rainer Tammer.
12504
12505 2010-07-30  Bruno Haible  <bruno@clisp.org>
12506
12507         truncl: Fix autoconf test.
12508         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
12509         whether truncl works.
12510         Reported by Rainer Tammer.
12511
12512 2010-07-30  Bruno Haible  <bruno@clisp.org>
12513
12514         round: Update regarding AIX.
12515         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12516         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
12517         Reported by Rainer Tammer.
12518
12519 2010-07-30  Bruno Haible  <bruno@clisp.org>
12520
12521         rename: Update regarding AIX.
12522         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
12523         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
12524         Reported by Rainer Tammer.
12525
12526 2010-07-30  Bruno Haible  <bruno@clisp.org>
12527
12528         printf.m4: Update regarding AIX.
12529         * m4/printf.m4: Update comments regarding AIX.
12530         Reported by Rainer Tammer.
12531
12532 2010-07-30  Bruno Haible  <bruno@clisp.org>
12533
12534         iconv: Update regarding AIX.
12535         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
12536         AIX 7.
12537         Reported by Rainer Tammer.
12538
12539 2010-07-30  Bruno Haible  <bruno@clisp.org>
12540
12541         getopt: Update regarding AIX.
12542         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
12543         no on AIX.
12544         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
12545         Reported by Rainer Tammer.
12546
12547 2010-07-30  Bruno Haible  <bruno@clisp.org>
12548
12549         ldexpl; Update regarding AIX.
12550         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
12551         on AIX 7.
12552         Reported by Rainer Tammer.
12553
12554 2010-07-30  Bruno Haible  <bruno@clisp.org>
12555
12556         frexpl: Update regarding AIX.
12557         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
12558         on AIX 7.
12559         Reported by Rainer Tammer.
12560
12561 2010-07-30  Bruno Haible  <bruno@clisp.org>
12562
12563         open, fopen: Update regarding AIX.
12564         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
12565         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12566         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
12567         * doc/posix-functions/fopen.texi: Likewise.
12568         Reported by Rainer Tammer.
12569
12570 2010-07-30  Bruno Haible  <bruno@clisp.org>
12571
12572         chown: Update doc regarding AIX.
12573         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
12574         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
12575         Reported by Rainer Tammer.
12576
12577 2010-07-30  Eric Blake  <eblake@redhat.com>
12578
12579         strtod: fix bug in replacement function on AIX
12580         * lib/strtod.c (strtod): Special case broken "0x" parse in
12581         underlying strtod.
12582         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
12583         * doc/posix-functions/strtod.texi (strtod): Likewise.
12584         Reported by Rainer Tammer.
12585
12586 2010-07-30  Bruno Haible  <bruno@clisp.org>
12587
12588         mbrlen: Fix cross-compilation guess for AIX.
12589         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
12590         guess. Leftover from 2008-12-22.
12591
12592 2010-07-30  Bruno Haible  <bruno@clisp.org>
12593
12594         mbrtowc: Fix cross-compilation guess for AIX.
12595         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
12596         guess. Leftover from 2008-12-21.
12597
12598 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
12599
12600         init.sh: work around trap limitation of some shells
12601         * tests/init.sh (setup_): Move exit trap outside of shell function.
12602
12603 2010-07-29  Eric Blake  <eblake@redhat.com>
12604
12605         strtod: aid debugging
12606         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
12607         understanding why strtod is rejected.
12608
12609 2010-07-28  Bruno Haible  <bruno@clisp.org>
12610
12611         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
12612         * lib/unistr/u8-chr.c: Include <string.h>.
12613         * tests/unistr/test-u8-chr.c: Likewise.
12614         * tests/unistr/test-u16-chr.c: Likewise.
12615         * tests/unistr/test-u32-chr.c: Likewise.
12616         * tests/unistr/test-u8-strchr.c: Likewise.
12617         * tests/unistr/test-u16-strchr.c: Likewise.
12618         * tests/unistr/test-u32-strchr.c: Likewise.
12619         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
12620         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
12621         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
12622         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
12623
12624 2010-07-28  Bruno Haible  <bruno@clisp.org>
12625
12626         Use spaces for indentation, not tabs.
12627         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
12628
12629 2010-07-27  Bruno Haible  <bruno@clisp.org>
12630
12631         mbspcasecmp: Fix function specification.
12632         * lib/string.in.h (mbspcasecmp): Fix specification comment.
12633         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
12634         Reported by Eric Blake <eblake@redhat.com>.
12635
12636 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
12637
12638         timespec: use cast and not conditional, as truncation isn't possible
12639         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
12640         instead of a conditional.  Comment about the situation in more detail.
12641         This undoes most of the 2009-10-29 patch.
12642
12643 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
12644
12645         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
12646         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
12647         * lib/unistr/u8-strchr.c: Likewise.
12648         * modules/unistr/u8-chr: Depend on memchr.
12649
12650         unistr/u*-strchr: add tests
12651         * modules/unistr/u8-strchr-tests: New file.
12652         * modules/unistr/u16-strchr-tests: New file.
12653         * modules/unistr/u32-strchr-tests: New file.
12654         * tests/unistr/test-strchr.h: New file.
12655         * tests/unistr/test-u8-strchr.c: New file.
12656         * tests/unistr/test-u16-strchr.c: New file.
12657         * tests/unistr/test-u32-strchr.c: New file.
12658
12659         unistr/u*-chr: test multibyte sequences more
12660         * tests/unistr/test-chr.h: Do complete testing of the characters in the
12661         test vector.
12662         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
12663         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
12664         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
12665
12666         unistr/u*-chr: test multibyte sequences
12667         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
12668
12669         unistr/u*-chr: prepare for multibyte tests
12670         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
12671         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
12672         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
12673         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
12674         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
12675         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
12676
12677 2010-07-18  Bruno Haible  <bruno@clisp.org>
12678
12679         unistr/u8-strchr: Optimize non-ASCII argument case.
12680         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
12681         because the first byte often matches anyway.
12682         Reported by Pádraig Brady <P@draigbrady.com>.
12683
12684 2010-07-15  Karl Berry  <karl@gnu.org>
12685
12686         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
12687
12688 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
12689
12690         getcwd: on Solaris, work better if ancestors are inaccessible
12691         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
12692         buffer and size, try again with a large buffer.  This works better
12693         on Solaris, since its getcwd succeeds even if the path to the root
12694         is inaccessible, and this is helpful in common cases such as .zfs
12695         hidden directories.  Problem reported by J Chapman Flack in
12696         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
12697         Use system getcwd if it's declared, not merely if it's partly
12698         working; use the partly-working test only to avoid needless effort
12699         if the system getcwd fails.
12700         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
12701         comment that was already obsolete and is now even more obsolete.
12702         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
12703         now might call strdup.
12704
12705 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
12706
12707         pthread: Add enough so that coreutils/src/sort.c compiles.
12708         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
12709         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
12710         gnulib. Include <sched.h> and <time.h>, as per POSIX.
12711         Include <sys/types.h>, in case it defines pthread_t.
12712         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
12713         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
12714         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
12715         (pthread_rwlockattr_t, pthread_spinlock_t):
12716         New typedefs, if HAVE_PTHREAD_T is not defined.
12717         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
12718         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
12719         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
12720         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
12721         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
12722         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
12723         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
12724         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
12725         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
12726         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
12727         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
12728         New macros.
12729         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
12730         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
12731         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
12732         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
12733         (pthread_spin_unlock): New dummy functions.
12734         (pthread_create): Return EAGAIN; don't set errno.
12735         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
12736         require AC_C_INLINE.
12737         * modules/pthread (Depends-on): Add sched, time.
12738         (pthread.h): Use AM_V_GEN.
12739
12740 2010-07-13  Bruno Haible  <bruno@clisp.org>
12741
12742         striconveh: Don't malloc memory if the result buffer is sufficient.
12743         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
12744         buffer if its size is sufficient.
12745         Reported by Ludovic Courtès <ludo@gnu.org>.
12746
12747 2010-07-13  Bruno Haible  <bruno@clisp.org>
12748
12749         strtod: Add safety check.
12750         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
12751
12752 2010-07-12  Bruno Haible  <bruno@clisp.org>
12753
12754         Unify tests that set gl_cv_func_ldexpl_no_libm.
12755         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
12756         gl_FUNC_LDEXPL.
12757         (gl_FUNC_LDEXPL): Invoke it.
12758         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12759
12760 2010-07-12  Bruno Haible  <bruno@clisp.org>
12761
12762         Unify tests that set gl_cv_func_ldexp_no_libm.
12763         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
12764         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
12765         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
12766         (configure.ac): Simply invoke gl_FUNC_LDEXP.
12767         * modules/strtod (Files): Add m4/ldexp.m4.
12768
12769 2010-07-12  Bruno Haible  <bruno@clisp.org>
12770
12771         Unify tests that set gl_cv_func_frexpl_no_libm.
12772         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
12773         gl_FUNC_FREXPL_NO_LIBM.
12774         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
12775         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12776
12777 2010-07-12  Bruno Haible  <bruno@clisp.org>
12778
12779         Unify tests that set gl_cv_func_frexp_no_libm.
12780         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
12781         gl_FUNC_FREXP_NO_LIBM.
12782         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
12783         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12784
12785 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12786
12787         memcoll: clarify sizes versus lengths, document better, and tweak perf
12788         * lib/memcoll.c (strcoll_loop, memcoll0):
12789         Improve quality of descriptive comments.  Name variables
12790         consistently as to whether they are lengths (which do not include
12791         terminating null) versus sizes (which do).
12792         * lib/xmemcoll.c (xmemcoll0): Likewise.
12793         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
12794         returned when s1size == 0; this is easier to compile and saves
12795         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
12796
12797 2010-07-12  Bruno Haible  <bruno@clisp.org>
12798
12799         Tests for module '_Exit'.
12800         * modules/_Exit-tests: New file.
12801         * tests/test-_Exit.sh: New file.
12802         * tests/test-_Exit.c: New file.
12803
12804         New module '_Exit'.
12805         * lib/stdlib.in.h (__attribute__): New macro.
12806         (_Exit): New declaration.
12807         * lib/_Exit.c: New file.
12808         * m4/_Exit.m4: New file.
12809         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
12810         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
12811         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
12812         * modules/_Exit: New file.
12813         * tests/test-stdlib-c++.cc (_Exit): Check signature.
12814         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
12815
12816 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12817
12818         strtod: make it more-accurate typically, and don't require libm
12819         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
12820         Include limits.h.  Don't include string.h.
12821         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
12822         (locale_isspace): New function, so that no casts are needed to
12823         check whether *s is a space.
12824         (ldexp): Provide an unused dummy if not available.
12825         (scale_radix_exp, parse_number, underlying_strtod): New functions.
12826         (strtod): Use them.  This implementation prefers to use the
12827         underlying strtod if available, falling back on our own code
12828         only to fix known bugs.  This is more likely to produce an
12829         accurate result.  Also, it avoids the use of libm functions.
12830         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
12831         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
12832         was absent, but it caused a test failure with coreutils.
12833         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
12834         with libm.
12835         * modules/strtod (Makefile.am, Link): libm is no longer needed.
12836         * modules/strtod-tests (Makefile.am): Likewise.
12837
12838 2010-07-11  Pádraig Brady  <P@draigBrady.com>
12839             Bruno Haible  <bruno@clisp.org>
12840
12841         unistr/u8-strchr: Optimize ASCII argument case.
12842         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
12843
12844 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12845
12846         (x)memcoll: minor tweaks
12847         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
12848         is after the type that it qualifies.
12849         (memcoll0): Likewise.
12850         * lib/memcoll.h (memcoll0): Likewise.
12851         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
12852         * lib/xmemcoll.h (xmemcoll0): Likewise.
12853         * lib/memcoll.c (memcoll0): Correct the comment.  This function
12854         differs from memcoll in that the NUL byte is part of the argument.
12855         Omit the abort-checks, as performance is a real issue here.  Plus,
12856         the checks were wrong anyway (an off-by-one error).  Omit local
12857         variable 'diff', as it's a bit clearer that way.
12858         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
12859         no longer needed.
12860
12861 2010-07-08  Chen Guo <chenguo4@yahoo.com>
12862
12863         (x)memcoll: speedup when input is known to be NUL delimited
12864         * lib/memcoll.c: Include stdlib.
12865         (memcoll0): New function.
12866         (strcoll_loop): New function, refactored for use in both memcoll
12867         and memcoll0.
12868         * lib/memcoll.h (memcoll0): Add prototype.
12869         * lib/xmemcoll.c (xmemcoll0): New function.
12870         (collate_error): New function, refactored for use in both xmemcoll
12871         and xmemcoll0.
12872         * lib/xmemcoll.h (xmemcoll0): Add prototype.
12873         * m4/memcoll.m4: add inline invocation.
12874
12875 2010-07-06  Pádraig Brady  <P@draigBrady.com>
12876
12877         * build-aux/bootstrap: Remove any local translations
12878         from the translation project synchronization directory,
12879         so that local only translations are not distributed.
12880
12881 2010-07-04  Bruno Haible  <bruno@clisp.org>
12882
12883         fsusage: Clarify which code applies to which platforms.
12884         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
12885         platform.
12886         * lib/fsusage.c (get_fs_usage): Likewise.
12887
12888 2010-07-04  Bruno Haible  <bruno@clisp.org>
12889
12890         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
12891         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
12892         Reported by Martin Lambers <marlam@marlam.de>.
12893
12894 2010-07-04  Jim Meyering  <meyering@redhat.com>
12895
12896         hash: once again explicitly disallow insertion of NULL
12897         * lib/hash.c (hash_insert0): Reinstate just-removed test:
12898         inserting a NULL pointer cannot work with these functions.
12899         Add a comment with details.
12900         This reverts part of the 2010-07-01 commit, 5bef1a35
12901         "hash: extend module to deal with non-pointer keys".
12902
12903 2010-07-01  Bruno Haible  <bruno@clisp.org>
12904
12905         stdbool: Update doc.
12906         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
12907         Info from Christian Weisgerber <naddy@mips.inka.de>.
12908
12909 2010-07-01  Jim Meyering  <meyering@redhat.com>
12910
12911         hash: extend module to deal with non-pointer keys
12912         * lib/hash.c (hash_insert0): New interface, much like hash_insert
12913         but that allows insertion of non-pointer entries.
12914         Do not disallow an ENTRY value of NULL.
12915         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
12916         * lib/hash.h (hash_insert0): Declare.
12917
12918 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12919
12920         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
12921         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
12922         not present (i.e. with autoconf 2.59 and when using gettextize, not
12923         gnulib), require AC_GNU_SOURCE instead.
12924
12925 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
12926
12927         idpriv-drop: Fix tests.
12928         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
12929         not to the test-idpriv-droptemp program.
12930
12931 2010-06-29  Bruno Haible  <bruno@clisp.org>
12932
12933         string: Fix syntax error with g++ 2.96.
12934         * lib/string.in.h (__pure__): Remove definition.
12935         (_GL_ATTRIBUTE_PURE): New macro.
12936         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
12937         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
12938         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12939
12940 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
12941
12942         unitypes: Fix bug introduced on 2010-05-18.
12943         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
12944
12945 2010-06-22  Eric Blake  <eblake@redhat.com>
12946
12947         memmem: slight optimization
12948         * lib/str-two-way.h (critical_factorization): Update comments.
12949         Reduce work during factorization phase.
12950         Reported by Carlos Bueno <carlos@bueno.org>.
12951
12952 2010-06-21  Bruno Haible  <bruno@clisp.org>
12953
12954         Fix HAVE_CALLOC_POSIX misnomer.
12955         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
12956         !HAVE_CALLOC_POSIX.
12957         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
12958         HAVE_CALLOC_POSIX.
12959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
12960         instead of HAVE_CALLOC_POSIX.
12961         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
12962         HAVE_CALLOC_POSIX.
12963
12964         Use modern idiom for calloc() replacement.
12965         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
12966         AC_FUNC_CALLOC.
12967         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
12968         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
12969         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12970         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12971         (gl_REPLACE_CALLOC): New macro.
12972
12973 2010-06-21  Bruno Haible  <bruno@clisp.org>
12974
12975         Fix HAVE_REALLOC_POSIX misnomer.
12976         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12977         !HAVE_REALLOC_POSIX.
12978         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12979         HAVE_REALLOC_POSIX.
12980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12981         instead of HAVE_REALLOC_POSIX.
12982         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12983         HAVE_REALLOC_POSIX.
12984
12985         Use modern idiom for realloc() replacement.
12986         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12987         AC_FUNC_REALLOC.
12988         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12989         Autoconf's AC_FUNC_REALLOC.
12990         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12991         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12992         (gl_REPLACE_REALLOC): New macro.
12993         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12994
12995 2010-06-21  Bruno Haible  <bruno@clisp.org>
12996
12997         Fix HAVE_MALLOC_POSIX misnomer.
12998         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12999         !HAVE_MALLOC_POSIX.
13000         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
13001         HAVE_MALLOC_POSIX.
13002         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
13003         instead of HAVE_MALLOC_POSIX.
13004         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
13005         HAVE_MALLOC_POSIX.
13006
13007         Use modern idiom for malloc() replacement.
13008         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
13009         AC_FUNC_MALLOC.
13010         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
13011         Autoconf's AC_FUNC_MALLOC.
13012         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13013         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
13014         (gl_REPLACE_MALLOC): New macro.
13015         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
13016
13017 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
13018
13019         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
13020         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
13021         This macro takes 3 arguments, not 4.
13022
13023 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
13024
13025         ipv6: fix detection under mingw
13026         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
13027         in6_addr.
13028
13029 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
13030
13031         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
13032         that strtod() works when cross-compiling to a glibc version known
13033         to work.
13034
13035 2010-06-15  Bruno Haible  <bruno@clisp.org>
13036
13037         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
13038
13039 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
13040
13041         select: Correct timeout.
13042         * lib/select.c (rpl_select): Compute wait_timeout correctly.
13043
13044 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13045
13046         git-version-gen: init shell var to avoid env var influence
13047         * build-aux/git-version-gen (v): Init shell var to empty.
13048
13049 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
13050
13051         priv-set: Don't assume that priv.h exists merely because getppriv does.
13052         See Jan Andersen's bug report about AIX 5L in
13053         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
13054         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
13055         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
13056         * lib/priv-set.h: Likewise.
13057         * tests/test-priv-set.c: Likewise.
13058
13059 2010-06-13  Bruno Haible  <bruno@clisp.org>
13060
13061         relocatable: Make it easier to test whether to install wrappers.
13062         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
13063         RELOCATABLE_VIA_WRAPPER.
13064
13065 2010-06-13  Bruno Haible  <bruno@clisp.org>
13066
13067         gnulib-tool: Display specified modules and dependencies differently.
13068         * gnulib-tool (func_show_module_list): New function.
13069         (func_import, func_create_testdir): Invoke it.
13070         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
13071
13072 2010-06-13  Bruno Haible  <bruno@clisp.org>
13073
13074         gnulib-tool: Align code of func_import and func_create_testdir.
13075         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
13076         specified_modules.
13077
13078 2010-06-12  Jim Meyering  <meyering@redhat.com>
13079
13080         test-inttostr: avoid spurious failure on Solaris 9
13081         * tests/test-inttostr.c (main): Skip the test when snprintf fails
13082         to accept "%ju".  Reported by Bruno Haible.
13083
13084 2010-06-11  Jim Meyering  <meyering@redhat.com>
13085
13086         test-sys_socket: mark variables as used more readably
13087         * tests/test-sys_socket.c (main): Mark otherwise unused variables
13088         as "used" explicitly via (void) statement casts.  This is more
13089         readable than using them in an artificial return expression.
13090         Suggestion from Bruno Haible.
13091
13092 2010-06-11  Bruno Haible  <bruno@clisp.org>
13093
13094         Avoid some more warnings from "gcc -Wwrite-strings".
13095         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
13096         to 'const char *'.
13097         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
13098         * tests/test-c-strcasestr.c (main): Likewise.
13099         * tests/test-mbscasestr1.c (main): Likewise.
13100         * tests/test-mbscasestr2.c (main): Likewise.
13101         * tests/test-memmem.c (main): Likewise.
13102         * tests/test-strstr.c (main): Likewise.
13103         * tests/test-strcasestr.c (main): Likewise.
13104
13105 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13106
13107         init.sh: change framework_failure_ to fail with status 99, not 1
13108         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
13109         automake's parallel-tests rule that this is an unexpected failure,
13110         even if the test is listed in XFAIL_TESTS.
13111
13112 2010-06-11  Jim Meyering  <meyering@redhat.com>
13113
13114         test-inttostr: avoid warnings about 4-6KB literal strings
13115         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
13116         Include "macros.h", for its definition of ASSERT.
13117         (CK): s/assert/ASSERT/
13118         * modules/inttostr-tests (Files): Add macros.h.
13119
13120         init.sh: don't use $ME_ or skip_ before they are defined
13121         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
13122         their first uses.  Also hoist their companions: warn_, fail_,
13123         framework_failure_, $stderr_fileno.  Prompted by a patch from
13124         Stefano Lattarini.
13125
13126         test-sys_socket: avoid set-but-not-used warnings from gcc
13127         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
13128         avoid warning about set-but-not-used variables.
13129
13130         test-xvasprintf: avoid 'const' discard warnings
13131         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
13132         "const" when assigning from literal strings.
13133         (test_xasprintf): Add "void" in function argument list to placate
13134         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
13135
13136         tests: avoid compilation warnings in argmatch and exclude tests...
13137         in packages that define ARGMATCH_DIE_DECL, like coreutils.
13138         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
13139         Since it always exits, declare with the "noreturn" attribute.
13140         * tests/test-argmatch.c: Likewise.
13141
13142         tests: avoid 'const' discard warnings in mbsstr tests
13143         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
13144         * tests/test-mbsstr2.c (main): Likewise.
13145
13146         test-verify: avoid warning from gcc's -Wmissing-declarations
13147         * tests/test-verify.c (function): Declare to be static.
13148
13149         test-inttostr.c: include <string.h> for use of strcmp
13150         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
13151
13152         test-linkat: avoid failed assertion on "other" architectures
13153         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
13154         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
13155         sparc: https://bugs.launchpad.net/bugs/591968
13156
13157 2010-06-11  Jim Meyering  <meyering@redhat.com>
13158
13159         printf.m4: avoid autoconf's "Expanded Before Required" warning
13160         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
13161         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
13162         autoconf warning.
13163
13164 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
13165
13166         Replacement header templates are now named with ".in", not "_".
13167         * doc/gnulib-intro.texi: Correct.
13168
13169 2010-06-10  Jim Meyering  <meyering@redhat.com>
13170
13171         inttostr-tests: depend on snprintf, not snprintf-posix
13172         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
13173         snprintf-posix, to avoid this aclocal failure:
13174           missing file gnulib-tests/vasnprintf.c
13175           configure.ac:45: error: expected source file, required through \
13176           AC_LIBSOURCES, not found
13177
13178 2010-06-10  Jim Meyering  <meyering@redhat.com>
13179
13180         inttostr: add a new function, inttostr, and tests
13181         The namesake function was not available.  The existence of the
13182         template file, inttostr.c makes its addition nontrivial.
13183         * lib/anytostr.c: Rename from inttostr.c.
13184         (anytostr): Rename from inttostr.
13185         * lib/inttostr.c: New file.
13186         * modules/inttostr (Files): Add anytostr.c.
13187         (Makefile.am): Set lib_SOURCES instead of ...
13188         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
13189         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
13190         * lib/offtostr.c: Likewise.
13191         * lib/uinttostr.c: Likewise.
13192         * lib/umaxtostr.c: Likewise.
13193         * modules/inttostr-tests: New file.
13194         * tests/test-inttostr.c: New file.  Test these functions.
13195
13196 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
13197             Bruno Haible  <bruno@clisp.org>
13198
13199         Add "Extending Gnulib" chapter to manual.
13200         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
13201         chapter.
13202         (Extending Gnulib): New chapter.
13203         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
13204         chapter.
13205
13206 2010-06-09  Bruno Haible  <bruno@clisp.org>
13207
13208         Avoid relocwrapper link errors due to gnulib replacement functions.
13209         * lib/areadlink.c: Use the system's malloc, realloc functions.
13210         (areadlink): Set errno to ENOMEM explicitly.
13211         * modules/areadlink (Depends-on): Remove malloc-posix.
13212         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13213
13214 2010-06-09  Bruno Haible  <bruno@clisp.org>
13215
13216         Avoid relocwrapper link errors due to gnulib replacement functions.
13217         * lib/canonicalize-lgpl.c: Use the system's malloc function.
13218         * lib/malloca.c: Likewise.
13219         * lib/relocatable.c: Likewise.
13220         * lib/progreloc.c: Use the system's malloc, sprintf functions.
13221         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
13222         * lib/setenv.c: Use the system's malloc, realloc functions.
13223         * lib/strerror.c: Use the system's sprintf function.
13224         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13225
13226 2010-06-04  Bruno Haible  <bruno@clisp.org>
13227
13228         Prefer documented low-level autoconf macro names.
13229         * m4/lib-link.m4: Use m4_translit instead of translit.
13230         * m4/environ.m4: Likewise.
13231         * m4/mathfunc.m4: Likewise.
13232         * m4/onceonly.m4: Likewise.
13233         * m4/stdint.m4: Likewise.
13234         Suggested by Eric Blake.
13235
13236 2010-06-04  Martin Lambers  <marlam@marlam.de>
13237             Bruno Haible  <bruno@clisp.org>
13238
13239         havelib: Allow library names with '+' characters.
13240         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13241         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
13242
13243 2010-06-09  Bruno Haible  <bruno@clisp.org>
13244
13245         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
13246         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
13247         realloc failed.
13248
13249 2010-06-08  Peter Simons  <simons@cryp.to>
13250
13251         maint.mk: make the news-check rule more configurable
13252         * top/maint.mk (news-check-lines-spec): New variable.
13253         (news-check): Use "sed -n 1,10p" in place of "head".
13254
13255 2010-06-07  Jim Meyering  <meyering@redhat.com>
13256
13257         do-release-commit-and-tag: fix typo in --help
13258         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
13259
13260         regex: avoid new dead-code warning with gcc-4.6.0
13261         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
13262         if-block containing a while-loop.  It's been unused for at least
13263         5 years.
13264
13265 2010-06-05  Bruno Haible  <bruno@clisp.org>
13266
13267         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
13268         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
13269
13270 2010-06-04  Bruno Haible  <bruno@clisp.org>
13271
13272         Update to GNU gettext 0.18.1.
13273         * modules/gettext (configure.ac): Require gettext infrastructure from
13274         version 0.18.1.
13275
13276 2010-06-03  Bruno Haible  <bruno@clisp.org>
13277
13278         Don't use AC_LIBOBJ with file names in subdirectories.
13279         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
13280         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
13281         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
13282         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
13283         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
13284         gl_LIBUNISTRING_LIBSOURCE.
13285         (Makefile.am): Augment lib_SOURCES here, conditionally.
13286         * NEWS: Drop requirement for Automake option 'subdir-objects'.
13287
13288 2010-06-03  Bruno Haible  <bruno@clisp.org>
13289
13290         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
13291         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
13292         expansion does not end with a newline.
13293         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
13294         unnecessary newline.
13295
13296 2010-06-03  Bruno Haible  <bruno@clisp.org>
13297
13298         Reduce dependencies.
13299         * tests/test-quotearg.h: New file, extracted from
13300         tests/test-quotearg.c.
13301         * tests/test-quotearg-simple.c: New file, extracted from
13302         tests/test-quotearg.c.
13303         * tests/test-quotearg.c: Don't include <ctype.h>.
13304         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
13305         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
13306         use_quote_double_quotes, use_quotearg_colon): Moved to
13307         tests/test-quotearg.h.
13308         (results_g, flag_results, custom_quotes, custom_results): Moved
13309         to tests/test-quotearg-simple.c.
13310         (main): Moved the part that does not depend on gettext to
13311         tests/test-quotearg-simple.c. Return 77 if the test cannot be
13312         performed.
13313         * modules/quotearg-simple: New file.
13314         * modules/quotearg-simple-tests: New file.
13315         * modules/quotearg (Depends-on): Add quotearg-simple.
13316         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
13317         (Files): Add tests/test-quotearg.h.
13318         Reported by Paolo Bonzini.
13319
13320 2010-06-03  Bruno Haible  <bruno@clisp.org>
13321
13322         Reduce dependencies.
13323         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
13324
13325 2010-06-03  Bruno Haible  <bruno@clisp.org>
13326
13327         time: Undefine more broken macros.
13328         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
13329         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
13330         Reported by Eric Blake.
13331
13332 2010-06-03  Bruno Haible  <bruno@clisp.org>
13333
13334         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
13335         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
13336         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
13337         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
13338         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
13339         Reported by Ludovic Courtès <ludo@gnu.org>.
13340
13341 2010-06-02  Eric Blake  <eblake@redhat.com>
13342
13343         time: work with mingw + pthreads-win32 library
13344         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
13345         if timespec is defined only in pthread.h.
13346         * modules/time (Makefile.am): Substitute it.
13347         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
13348         <pthread.h>, when needed.
13349         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
13350         from the library.
13351
13352 2010-05-31  Bruno Haible  <bruno@clisp.org>
13353
13354         Avoid expanding two macros in the wrong order.
13355         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
13356         gl_LIBUNISTRING if it is defined.
13357         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
13358         autoconf >= 2.64.
13359         Reported by Ludovic Courtès <ludo@gnu.org>.
13360
13361 2010-05-27  Jim Meyering  <meyering@redhat.com>
13362
13363         maint.mk: also prohibit "#undef" of always-defined symbols
13364         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
13365         Allow more than one space before the symbol name.
13366         (sc_prohibit_always-defined_macros): Use grep's -E, now that
13367         the regexp uses alternation.
13368
13369 2010-05-26  Eric Blake  <eblake@redhat.com>
13370
13371         maint.mk: avoid echo -e
13372         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
13373         Convert all uses of echo -* to printf.
13374         Reported by Matthias Bolte.
13375
13376 2010-05-25  Bruno Haible  <bruno@clisp.org>
13377
13378         Update to GNU gettext 0.18, part 2.
13379         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
13380         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
13381
13382 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13383
13384         Add missing include in test-pwrite.c.
13385         * tests/test-pwrite.c: Include string.h, for strcmp.
13386
13387 2010-05-24  Bruno Haible  <bruno@clisp.org>
13388
13389         * NEWS: Mention requirement for Automake option 'subdir-objects'.
13390
13391 2010-05-24  Bruno Haible  <bruno@clisp.org>
13392
13393         Don't use conversion with transliteration in u{8,16,32}_strcoll.
13394         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
13395         iconveh_error argument.
13396         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
13397         U_STRCONV_TO_LOCALE.
13398         * lib/unistr/u16-strcoll.c: Likewise.
13399         * lib/unistr/u32-strcoll.c: Likewise.
13400         * modules/unistr/u8-strcoll (Depends-on): Add
13401         uniconv/u8-strconv-to-enc, localcharset. Remove
13402         uniconv/u8-strconv-to-locale.
13403         (configure.ac): Bump version number.
13404         * modules/unistr/u16-strcoll (Depends-on): Add
13405         uniconv/u16-strconv-to-enc, localcharset. Remove
13406         uniconv/u16-strconv-to-locale.
13407         (configure.ac): Bump version number.
13408         * modules/unistr/u32-strcoll (Depends-on): Add
13409         uniconv/u32-strconv-to-enc, localcharset. Remove
13410         uniconv/u32-strconv-to-locale.
13411         (configure.ac): Bump version number.
13412
13413 2010-05-24  Bruno Haible  <bruno@clisp.org>
13414
13415         Avoid a test failure on NetBSD 5.0.
13416         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
13417         an iconv() bug.
13418
13419 2010-05-24  Bruno Haible  <bruno@clisp.org>
13420
13421         Adjust #include directive style.
13422         * modules/regex (Includes): Recommend to write <regex.h>.
13423
13424 2010-05-24  Bruno Haible  <bruno@clisp.org>
13425
13426         regex: Don't require alloca.
13427         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
13428         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
13429         only inside if (0).
13430
13431 2010-05-23  Jim Meyering  <meyering@redhat.com>
13432
13433         test-renameat.c: include <sys/stat.h>
13434         * tests/test-renameat.c: Include <sys/stat.h>; required for
13435         definition of S_IS* macros.
13436
13437 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
13438
13439         Update maintainer documentation for 'relocatable-prog' module.
13440         * doc/relocatable-maint.texi: Update.
13441         Comments by Bruno Haible.
13442
13443 2010-05-23  Bruno Haible  <bruno@clisp.org>
13444
13445         git-merge-changelog: Enable --split-merged-entry by default.
13446         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
13447         (usage): Don't mention this option any more.
13448         Reported by Ralf Wildenhues.
13449
13450 2010-05-23  Jim Meyering  <meyering@redhat.com>
13451
13452         test-pwrite: do not leave behind a test file named "out"
13453         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
13454         The trivial-looking use of init.sh is really necessary.
13455         It ensures that the temporary file, "out", is created in
13456         a temporary directory, and removed upon termination.
13457         * tests/test-pwrite.sh: Re-add file.
13458         * modules/pwrite-tests: Reference it.
13459
13460 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13461
13462         Fix output redirection buglet in init.sh.
13463         * tests/init.sh: Fix redirection of stderr.
13464
13465 2010-05-20  Simon Josefsson  <simon@josefsson.org>
13466
13467         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
13468
13469 2010-05-17  Simon Josefsson  <simon@josefsson.org>
13470
13471         * modules/valgrind-tests: New file.
13472         * m4/valgrind-tests.m4: New file.
13473         * doc/valgrind-tests.texi: New file.
13474         * doc/gnulib.texi (Running self-tests under valgrind): New
13475         section.
13476
13477 2010-05-19  Bruno Haible  <bruno@clisp.org>
13478
13479         Clean up dead code in recent commit.
13480         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
13481         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
13482         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
13483         Suggested by Paolo Bonzini.
13484
13485 2010-05-19  Bruno Haible  <bruno@clisp.org>
13486
13487         Avoid valgrind error reports from libunistring.
13488         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
13489         * modules/libunistring (Files): Add it.
13490         * modules/libunistring-optional (Files): Likewise.
13491
13492 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
13493             Bruno Haible  <bruno@clisp.org>
13494
13495         New module 'libunistring-optional'.
13496         * modules/libunistring-optional: New file.
13497         * m4/libunistring-base.m4: New file.
13498         * m4/libunistring-optional.m4: New file.
13499         * lib/unicase.in.h: Renamed from lib/unicase.h.
13500         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
13501         * lib/unictype.in.h: Renamed from lib/unictype.h.
13502         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
13503         * lib/uniname.in.h: Renamed from lib/uniname.h.
13504         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
13505         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
13506         * lib/unistr.in.h: Renamed from lib/unistr.h.
13507         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
13508         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
13509         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
13510         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
13511         gl_LIBUNISTRING. If the library was found, determine the installed
13512         version and set LIBUNISTRING_VERSION.
13513         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
13514         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
13515         handle a configuration option --with-included-libunistring.
13516         * modules/libunistring (Files): Add m4/absolute-header.m4.
13517         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
13518         Add m4/libunistring-base.m4.
13519         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13520         (Makefile.am): Build unicase.h from unicase.in.h.
13521         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
13522         Add m4/libunistring-base.m4.
13523         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13524         (Makefile.am): Build uniconv.h from uniconv.in.h.
13525         * modules/unictype/base (Files): Use unictype.in.h instead of
13526         unictype.h. Add m4/libunistring-base.m4.
13527         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13528         (Makefile.am): Build unictype.h from unictype.in.h.
13529         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
13530         Add m4/libunistring-base.m4.
13531         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13532         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
13533         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
13534         Add m4/libunistring-base.m4.
13535         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13536         (Makefile.am): Build uniname.h from uniname.in.h.
13537         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
13538         Add m4/libunistring-base.m4.
13539         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13540         (Makefile.am): Build uninorm.h from uninorm.in.h.
13541         * modules/unistdio/base (Files): Use unistdio.in.h instead of
13542         unistdio.h. Add m4/libunistring-base.m4.
13543         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13544         (Makefile.am): Build unistdio.h from unistdio.in.h.
13545         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
13546         Add m4/libunistring-base.m4.
13547         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13548         (Makefile.am): Build unistr.h from unistr.in.h.
13549         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
13550         Add m4/libunistring-base.m4.
13551         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13552         (Makefile.am): Build unitypes.h from unitypes.in.h.
13553         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
13554         Add m4/libunistring-base.m4.
13555         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13556         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
13557         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
13558         uniwidth.h. Add m4/libunistring-base.m4.
13559         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13560         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
13561         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
13562         instead of augmenting lib_SOURCES.
13563         * modules/unicase/empty-suffix-context: Likewise.
13564         * modules/unicase/locale-language: Likewise.
13565         * modules/unicase/tolower: Likewise.
13566         * modules/unicase/totitle: Likewise.
13567         * modules/unicase/toupper: Likewise.
13568         * modules/unicase/u8-casecmp: Likewise.
13569         * modules/unicase/u8-casecoll: Likewise.
13570         * modules/unicase/u8-casefold: Likewise.
13571         * modules/unicase/u8-casexfrm: Likewise.
13572         * modules/unicase/u8-ct-casefold: Likewise.
13573         * modules/unicase/u8-ct-tolower: Likewise.
13574         * modules/unicase/u8-ct-totitle: Likewise.
13575         * modules/unicase/u8-ct-toupper: Likewise.
13576         * modules/unicase/u8-is-cased: Likewise.
13577         * modules/unicase/u8-is-casefolded: Likewise.
13578         * modules/unicase/u8-is-lowercase: Likewise.
13579         * modules/unicase/u8-is-titlecase: Likewise.
13580         * modules/unicase/u8-is-uppercase: Likewise.
13581         * modules/unicase/u8-prefix-context: Likewise.
13582         * modules/unicase/u8-suffix-context: Likewise.
13583         * modules/unicase/u8-tolower: Likewise.
13584         * modules/unicase/u8-totitle: Likewise.
13585         * modules/unicase/u8-toupper: Likewise.
13586         * modules/unicase/u16-casecmp: Likewise.
13587         * modules/unicase/u16-casecoll: Likewise.
13588         * modules/unicase/u16-casefold: Likewise.
13589         * modules/unicase/u16-casexfrm: Likewise.
13590         * modules/unicase/u16-ct-casefold: Likewise.
13591         * modules/unicase/u16-ct-tolower: Likewise.
13592         * modules/unicase/u16-ct-totitle: Likewise.
13593         * modules/unicase/u16-ct-toupper: Likewise.
13594         * modules/unicase/u16-is-cased: Likewise.
13595         * modules/unicase/u16-is-casefolded: Likewise.
13596         * modules/unicase/u16-is-lowercase: Likewise.
13597         * modules/unicase/u16-is-titlecase: Likewise.
13598         * modules/unicase/u16-is-uppercase: Likewise.
13599         * modules/unicase/u16-prefix-context: Likewise.
13600         * modules/unicase/u16-suffix-context: Likewise.
13601         * modules/unicase/u16-tolower: Likewise.
13602         * modules/unicase/u16-totitle: Likewise.
13603         * modules/unicase/u16-toupper: Likewise.
13604         * modules/unicase/u32-casecmp: Likewise.
13605         * modules/unicase/u32-casecoll: Likewise.
13606         * modules/unicase/u32-casefold: Likewise.
13607         * modules/unicase/u32-casexfrm: Likewise.
13608         * modules/unicase/u32-ct-casefold: Likewise.
13609         * modules/unicase/u32-ct-tolower: Likewise.
13610         * modules/unicase/u32-ct-totitle: Likewise.
13611         * modules/unicase/u32-ct-toupper: Likewise.
13612         * modules/unicase/u32-is-cased: Likewise.
13613         * modules/unicase/u32-is-casefolded: Likewise.
13614         * modules/unicase/u32-is-lowercase: Likewise.
13615         * modules/unicase/u32-is-titlecase: Likewise.
13616         * modules/unicase/u32-is-uppercase: Likewise.
13617         * modules/unicase/u32-prefix-context: Likewise.
13618         * modules/unicase/u32-suffix-context: Likewise.
13619         * modules/unicase/u32-tolower: Likewise.
13620         * modules/unicase/u32-totitle: Likewise.
13621         * modules/unicase/u32-toupper: Likewise.
13622         * modules/unicase/ulc-casecmp: Likewise.
13623         * modules/unicase/ulc-casecoll: Likewise.
13624         * modules/unicase/ulc-casexfrm: Likewise.
13625         * modules/uniconv/u8-conv-from-enc: Likewise.
13626         * modules/uniconv/u8-conv-to-enc: Likewise.
13627         * modules/uniconv/u8-strconv-from-enc: Likewise.
13628         * modules/uniconv/u8-strconv-from-locale: Likewise.
13629         * modules/uniconv/u8-strconv-to-enc: Likewise.
13630         * modules/uniconv/u8-strconv-to-locale: Likewise.
13631         * modules/uniconv/u16-conv-from-enc: Likewise.
13632         * modules/uniconv/u16-conv-to-enc: Likewise.
13633         * modules/uniconv/u16-strconv-from-enc: Likewise.
13634         * modules/uniconv/u16-strconv-from-locale: Likewise.
13635         * modules/uniconv/u16-strconv-to-enc: Likewise.
13636         * modules/uniconv/u16-strconv-to-locale: Likewise.
13637         * modules/uniconv/u32-conv-from-enc: Likewise.
13638         * modules/uniconv/u32-conv-to-enc: Likewise.
13639         * modules/uniconv/u32-strconv-from-enc: Likewise.
13640         * modules/uniconv/u32-strconv-from-locale: Likewise.
13641         * modules/uniconv/u32-strconv-to-enc: Likewise.
13642         * modules/uniconv/u32-strconv-to-locale: Likewise.
13643         * modules/unictype/bidicategory-byname: Likewise.
13644         * modules/unictype/bidicategory-name: Likewise.
13645         * modules/unictype/bidicategory-of: Likewise.
13646         * modules/unictype/bidicategory-test: Likewise.
13647         * modules/unictype/block-list: Likewise.
13648         * modules/unictype/block-test: Likewise.
13649         * modules/unictype/category-C: Likewise.
13650         * modules/unictype/category-Cc: Likewise.
13651         * modules/unictype/category-Cf: Likewise.
13652         * modules/unictype/category-Cn: Likewise.
13653         * modules/unictype/category-Co: Likewise.
13654         * modules/unictype/category-Cs: Likewise.
13655         * modules/unictype/category-L: Likewise.
13656         * modules/unictype/category-Ll: Likewise.
13657         * modules/unictype/category-Lm: Likewise.
13658         * modules/unictype/category-Lo: Likewise.
13659         * modules/unictype/category-Lt: Likewise.
13660         * modules/unictype/category-Lu: Likewise.
13661         * modules/unictype/category-M: Likewise.
13662         * modules/unictype/category-Mc: Likewise.
13663         * modules/unictype/category-Me: Likewise.
13664         * modules/unictype/category-Mn: Likewise.
13665         * modules/unictype/category-N: Likewise.
13666         * modules/unictype/category-Nd: Likewise.
13667         * modules/unictype/category-Nl: Likewise.
13668         * modules/unictype/category-No: Likewise.
13669         * modules/unictype/category-P: Likewise.
13670         * modules/unictype/category-Pc: Likewise.
13671         * modules/unictype/category-Pd: Likewise.
13672         * modules/unictype/category-Pe: Likewise.
13673         * modules/unictype/category-Pf: Likewise.
13674         * modules/unictype/category-Pi: Likewise.
13675         * modules/unictype/category-Po: Likewise.
13676         * modules/unictype/category-Ps: Likewise.
13677         * modules/unictype/category-S: Likewise.
13678         * modules/unictype/category-Sc: Likewise.
13679         * modules/unictype/category-Sk: Likewise.
13680         * modules/unictype/category-Sm: Likewise.
13681         * modules/unictype/category-So: Likewise.
13682         * modules/unictype/category-Z: Likewise.
13683         * modules/unictype/category-Zl: Likewise.
13684         * modules/unictype/category-Zp: Likewise.
13685         * modules/unictype/category-Zs: Likewise.
13686         * modules/unictype/category-and: Likewise.
13687         * modules/unictype/category-and-not: Likewise.
13688         * modules/unictype/category-byname: Likewise.
13689         * modules/unictype/category-name: Likewise.
13690         * modules/unictype/category-none: Likewise.
13691         * modules/unictype/category-of: Likewise.
13692         * modules/unictype/category-or: Likewise.
13693         * modules/unictype/category-test: Likewise.
13694         * modules/unictype/combining-class: Likewise.
13695         * modules/unictype/ctype-alnum: Likewise.
13696         * modules/unictype/ctype-alpha: Likewise.
13697         * modules/unictype/ctype-blank: Likewise.
13698         * modules/unictype/ctype-cntrl: Likewise.
13699         * modules/unictype/ctype-digit: Likewise.
13700         * modules/unictype/ctype-graph: Likewise.
13701         * modules/unictype/ctype-lower: Likewise.
13702         * modules/unictype/ctype-print: Likewise.
13703         * modules/unictype/ctype-punct: Likewise.
13704         * modules/unictype/ctype-space: Likewise.
13705         * modules/unictype/ctype-upper: Likewise.
13706         * modules/unictype/ctype-xdigit: Likewise.
13707         * modules/unictype/decimal-digit: Likewise.
13708         * modules/unictype/digit: Likewise.
13709         * modules/unictype/mirror: Likewise.
13710         * modules/unictype/numeric: Likewise.
13711         * modules/unictype/property-alphabetic: Likewise.
13712         * modules/unictype/property-ascii-hex-digit: Likewise.
13713         * modules/unictype/property-bidi-arabic-digit: Likewise.
13714         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
13715         * modules/unictype/property-bidi-block-separator: Likewise.
13716         * modules/unictype/property-bidi-boundary-neutral: Likewise.
13717         * modules/unictype/property-bidi-common-separator: Likewise.
13718         * modules/unictype/property-bidi-control: Likewise.
13719         * modules/unictype/property-bidi-embedding-or-override: Likewise.
13720         * modules/unictype/property-bidi-eur-num-separator: Likewise.
13721         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
13722         * modules/unictype/property-bidi-european-digit: Likewise.
13723         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
13724         * modules/unictype/property-bidi-left-to-right: Likewise.
13725         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
13726         * modules/unictype/property-bidi-other-neutral: Likewise.
13727         * modules/unictype/property-bidi-pdf: Likewise.
13728         * modules/unictype/property-bidi-segment-separator: Likewise.
13729         * modules/unictype/property-bidi-whitespace: Likewise.
13730         * modules/unictype/property-byname: Likewise.
13731         * modules/unictype/property-combining: Likewise.
13732         * modules/unictype/property-composite: Likewise.
13733         * modules/unictype/property-currency-symbol: Likewise.
13734         * modules/unictype/property-dash: Likewise.
13735         * modules/unictype/property-decimal-digit: Likewise.
13736         * modules/unictype/property-default-ignorable-code-point: Likewise.
13737         * modules/unictype/property-deprecated: Likewise.
13738         * modules/unictype/property-diacritic: Likewise.
13739         * modules/unictype/property-extender: Likewise.
13740         * modules/unictype/property-format-control: Likewise.
13741         * modules/unictype/property-grapheme-base: Likewise.
13742         * modules/unictype/property-grapheme-extend: Likewise.
13743         * modules/unictype/property-grapheme-link: Likewise.
13744         * modules/unictype/property-hex-digit: Likewise.
13745         * modules/unictype/property-hyphen: Likewise.
13746         * modules/unictype/property-id-continue: Likewise.
13747         * modules/unictype/property-id-start: Likewise.
13748         * modules/unictype/property-ideographic: Likewise.
13749         * modules/unictype/property-ids-binary-operator: Likewise.
13750         * modules/unictype/property-ids-trinary-operator: Likewise.
13751         * modules/unictype/property-ignorable-control: Likewise.
13752         * modules/unictype/property-iso-control: Likewise.
13753         * modules/unictype/property-join-control: Likewise.
13754         * modules/unictype/property-left-of-pair: Likewise.
13755         * modules/unictype/property-line-separator: Likewise.
13756         * modules/unictype/property-logical-order-exception: Likewise.
13757         * modules/unictype/property-lowercase: Likewise.
13758         * modules/unictype/property-math: Likewise.
13759         * modules/unictype/property-non-break: Likewise.
13760         * modules/unictype/property-not-a-character: Likewise.
13761         * modules/unictype/property-numeric: Likewise.
13762         * modules/unictype/property-other-alphabetic: Likewise.
13763         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
13764         * modules/unictype/property-other-grapheme-extend: Likewise.
13765         * modules/unictype/property-other-id-continue: Likewise.
13766         * modules/unictype/property-other-id-start: Likewise.
13767         * modules/unictype/property-other-lowercase: Likewise.
13768         * modules/unictype/property-other-math: Likewise.
13769         * modules/unictype/property-other-uppercase: Likewise.
13770         * modules/unictype/property-paired-punctuation: Likewise.
13771         * modules/unictype/property-paragraph-separator: Likewise.
13772         * modules/unictype/property-pattern-syntax: Likewise.
13773         * modules/unictype/property-pattern-white-space: Likewise.
13774         * modules/unictype/property-private-use: Likewise.
13775         * modules/unictype/property-punctuation: Likewise.
13776         * modules/unictype/property-quotation-mark: Likewise.
13777         * modules/unictype/property-radical: Likewise.
13778         * modules/unictype/property-sentence-terminal: Likewise.
13779         * modules/unictype/property-soft-dotted: Likewise.
13780         * modules/unictype/property-space: Likewise.
13781         * modules/unictype/property-terminal-punctuation: Likewise.
13782         * modules/unictype/property-test: Likewise.
13783         * modules/unictype/property-titlecase: Likewise.
13784         * modules/unictype/property-unassigned-code-value: Likewise.
13785         * modules/unictype/property-unified-ideograph: Likewise.
13786         * modules/unictype/property-uppercase: Likewise.
13787         * modules/unictype/property-variation-selector: Likewise.
13788         * modules/unictype/property-white-space: Likewise.
13789         * modules/unictype/property-xid-continue: Likewise.
13790         * modules/unictype/property-xid-start: Likewise.
13791         * modules/unictype/property-zero-width: Likewise.
13792         * modules/unictype/scripts: Likewise.
13793         * modules/unictype/syntax-c-ident: Likewise.
13794         * modules/unictype/syntax-c-whitespace: Likewise.
13795         * modules/unictype/syntax-java-ident: Likewise.
13796         * modules/unictype/syntax-java-whitespace: Likewise.
13797         * modules/unilbrk/u8-possible-linebreaks: Likewise.
13798         * modules/unilbrk/u8-width-linebreaks: Likewise.
13799         * modules/unilbrk/u16-possible-linebreaks: Likewise.
13800         * modules/unilbrk/u16-width-linebreaks: Likewise.
13801         * modules/unilbrk/u32-possible-linebreaks: Likewise.
13802         * modules/unilbrk/u32-width-linebreaks: Likewise.
13803         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
13804         * modules/unilbrk/ulc-width-linebreaks: Likewise.
13805         * modules/uniname/uniname: Likewise.
13806         * modules/uninorm/canonical-decomposition: Likewise.
13807         * modules/uninorm/composition: Likewise.
13808         * modules/uninorm/decomposing-form: Likewise.
13809         * modules/uninorm/decomposition: Likewise.
13810         * modules/uninorm/filter: Likewise.
13811         * modules/uninorm/nfc: Likewise.
13812         * modules/uninorm/nfd: Likewise.
13813         * modules/uninorm/nfkc: Likewise.
13814         * modules/uninorm/nfkd: Likewise.
13815         * modules/uninorm/u8-normalize: Likewise.
13816         * modules/uninorm/u8-normcmp: Likewise.
13817         * modules/uninorm/u8-normcoll: Likewise.
13818         * modules/uninorm/u8-normxfrm: Likewise.
13819         * modules/uninorm/u16-normalize: Likewise.
13820         * modules/uninorm/u16-normcmp: Likewise.
13821         * modules/uninorm/u16-normcoll: Likewise.
13822         * modules/uninorm/u16-normxfrm: Likewise.
13823         * modules/uninorm/u32-normalize: Likewise.
13824         * modules/uninorm/u32-normcmp: Likewise.
13825         * modules/uninorm/u32-normcoll: Likewise.
13826         * modules/uninorm/u32-normxfrm: Likewise.
13827         * modules/unistdio/u8-asnprintf: Likewise.
13828         * modules/unistdio/u8-asprintf: Likewise.
13829         * modules/unistdio/u8-snprintf: Likewise.
13830         * modules/unistdio/u8-sprintf: Likewise.
13831         * modules/unistdio/u8-u8-asnprintf: Likewise.
13832         * modules/unistdio/u8-u8-asprintf: Likewise.
13833         * modules/unistdio/u8-u8-snprintf: Likewise.
13834         * modules/unistdio/u8-u8-sprintf: Likewise.
13835         * modules/unistdio/u8-u8-vasnprintf: Likewise.
13836         * modules/unistdio/u8-u8-vasprintf: Likewise.
13837         * modules/unistdio/u8-u8-vsnprintf: Likewise.
13838         * modules/unistdio/u8-u8-vsprintf: Likewise.
13839         * modules/unistdio/u8-vasnprintf: Likewise.
13840         * modules/unistdio/u8-vasprintf: Likewise.
13841         * modules/unistdio/u8-vsnprintf: Likewise.
13842         * modules/unistdio/u8-vsprintf: Likewise.
13843         * modules/unistdio/u16-asnprintf: Likewise.
13844         * modules/unistdio/u16-asprintf: Likewise.
13845         * modules/unistdio/u16-snprintf: Likewise.
13846         * modules/unistdio/u16-sprintf: Likewise.
13847         * modules/unistdio/u16-u16-asnprintf: Likewise.
13848         * modules/unistdio/u16-u16-asprintf: Likewise.
13849         * modules/unistdio/u16-u16-snprintf: Likewise.
13850         * modules/unistdio/u16-u16-sprintf: Likewise.
13851         * modules/unistdio/u16-u16-vasnprintf: Likewise.
13852         * modules/unistdio/u16-u16-vasprintf: Likewise.
13853         * modules/unistdio/u16-u16-vsnprintf: Likewise.
13854         * modules/unistdio/u16-u16-vsprintf: Likewise.
13855         * modules/unistdio/u16-vasnprintf: Likewise.
13856         * modules/unistdio/u16-vasprintf: Likewise.
13857         * modules/unistdio/u16-vsnprintf: Likewise.
13858         * modules/unistdio/u16-vsprintf: Likewise.
13859         * modules/unistdio/u32-asnprintf: Likewise.
13860         * modules/unistdio/u32-asprintf: Likewise.
13861         * modules/unistdio/u32-snprintf: Likewise.
13862         * modules/unistdio/u32-sprintf: Likewise.
13863         * modules/unistdio/u32-u32-asnprintf: Likewise.
13864         * modules/unistdio/u32-u32-asprintf: Likewise.
13865         * modules/unistdio/u32-u32-snprintf: Likewise.
13866         * modules/unistdio/u32-u32-sprintf: Likewise.
13867         * modules/unistdio/u32-u32-vasnprintf: Likewise.
13868         * modules/unistdio/u32-u32-vasprintf: Likewise.
13869         * modules/unistdio/u32-u32-vsnprintf: Likewise.
13870         * modules/unistdio/u32-u32-vsprintf: Likewise.
13871         * modules/unistdio/u32-vasnprintf: Likewise.
13872         * modules/unistdio/u32-vasprintf: Likewise.
13873         * modules/unistdio/u32-vsnprintf: Likewise.
13874         * modules/unistdio/u32-vsprintf: Likewise.
13875         * modules/unistdio/ulc-asnprintf: Likewise.
13876         * modules/unistdio/ulc-asprintf: Likewise.
13877         * modules/unistdio/ulc-fprintf: Likewise.
13878         * modules/unistdio/ulc-snprintf: Likewise.
13879         * modules/unistdio/ulc-sprintf: Likewise.
13880         * modules/unistdio/ulc-vasnprintf: Likewise.
13881         * modules/unistdio/ulc-vasprintf: Likewise.
13882         * modules/unistdio/ulc-vfprintf: Likewise.
13883         * modules/unistdio/ulc-vsnprintf: Likewise.
13884         * modules/unistdio/ulc-vsprintf: Likewise.
13885         * modules/unistr/u8-check: Likewise.
13886         * modules/unistr/u8-chr: Likewise.
13887         * modules/unistr/u8-cmp: Likewise.
13888         * modules/unistr/u8-cmp2: Likewise.
13889         * modules/unistr/u8-cpy: Likewise.
13890         * modules/unistr/u8-cpy-alloc: Likewise.
13891         * modules/unistr/u8-endswith: Likewise.
13892         * modules/unistr/u8-mblen: Likewise.
13893         * modules/unistr/u8-mbsnlen: Likewise.
13894         * modules/unistr/u8-mbtouc: Likewise.
13895         * modules/unistr/u8-mbtouc-unsafe: Likewise.
13896         * modules/unistr/u8-mbtoucr: Likewise.
13897         * modules/unistr/u8-move: Likewise.
13898         * modules/unistr/u8-next: Likewise.
13899         * modules/unistr/u8-prev: Likewise.
13900         * modules/unistr/u8-set: Likewise.
13901         * modules/unistr/u8-startswith: Likewise.
13902         * modules/unistr/u8-stpcpy: Likewise.
13903         * modules/unistr/u8-stpncpy: Likewise.
13904         * modules/unistr/u8-strcat: Likewise.
13905         * modules/unistr/u8-strchr: Likewise.
13906         * modules/unistr/u8-strcmp: Likewise.
13907         * modules/unistr/u8-strcoll: Likewise.
13908         * modules/unistr/u8-strcpy: Likewise.
13909         * modules/unistr/u8-strcspn: Likewise.
13910         * modules/unistr/u8-strdup: Likewise.
13911         * modules/unistr/u8-strlen: Likewise.
13912         * modules/unistr/u8-strmblen: Likewise.
13913         * modules/unistr/u8-strmbtouc: Likewise.
13914         * modules/unistr/u8-strncat: Likewise.
13915         * modules/unistr/u8-strncmp: Likewise.
13916         * modules/unistr/u8-strncpy: Likewise.
13917         * modules/unistr/u8-strnlen: Likewise.
13918         * modules/unistr/u8-strpbrk: Likewise.
13919         * modules/unistr/u8-strrchr: Likewise.
13920         * modules/unistr/u8-strspn: Likewise.
13921         * modules/unistr/u8-strstr: Likewise.
13922         * modules/unistr/u8-strtok: Likewise.
13923         * modules/unistr/u8-to-u16: Likewise.
13924         * modules/unistr/u8-to-u32: Likewise.
13925         * modules/unistr/u8-uctomb: Likewise.
13926         * modules/unistr/u16-check: Likewise.
13927         * modules/unistr/u16-chr: Likewise.
13928         * modules/unistr/u16-cmp: Likewise.
13929         * modules/unistr/u16-cmp2: Likewise.
13930         * modules/unistr/u16-cpy: Likewise.
13931         * modules/unistr/u16-cpy-alloc: Likewise.
13932         * modules/unistr/u16-endswith: Likewise.
13933         * modules/unistr/u16-mblen: Likewise.
13934         * modules/unistr/u16-mbsnlen: Likewise.
13935         * modules/unistr/u16-mbtouc: Likewise.
13936         * modules/unistr/u16-mbtouc-unsafe: Likewise.
13937         * modules/unistr/u16-mbtoucr: Likewise.
13938         * modules/unistr/u16-move: Likewise.
13939         * modules/unistr/u16-next: Likewise.
13940         * modules/unistr/u16-prev: Likewise.
13941         * modules/unistr/u16-set: Likewise.
13942         * modules/unistr/u16-startswith: Likewise.
13943         * modules/unistr/u16-stpcpy: Likewise.
13944         * modules/unistr/u16-stpncpy: Likewise.
13945         * modules/unistr/u16-strcat: Likewise.
13946         * modules/unistr/u16-strchr: Likewise.
13947         * modules/unistr/u16-strcmp: Likewise.
13948         * modules/unistr/u16-strcoll: Likewise.
13949         * modules/unistr/u16-strcpy: Likewise.
13950         * modules/unistr/u16-strcspn: Likewise.
13951         * modules/unistr/u16-strdup: Likewise.
13952         * modules/unistr/u16-strlen: Likewise.
13953         * modules/unistr/u16-strmblen: Likewise.
13954         * modules/unistr/u16-strmbtouc: Likewise.
13955         * modules/unistr/u16-strncat: Likewise.
13956         * modules/unistr/u16-strncmp: Likewise.
13957         * modules/unistr/u16-strncpy: Likewise.
13958         * modules/unistr/u16-strnlen: Likewise.
13959         * modules/unistr/u16-strpbrk: Likewise.
13960         * modules/unistr/u16-strrchr: Likewise.
13961         * modules/unistr/u16-strspn: Likewise.
13962         * modules/unistr/u16-strstr: Likewise.
13963         * modules/unistr/u16-strtok: Likewise.
13964         * modules/unistr/u16-to-u32: Likewise.
13965         * modules/unistr/u16-to-u8: Likewise.
13966         * modules/unistr/u16-uctomb: Likewise.
13967         * modules/unistr/u32-check: Likewise.
13968         * modules/unistr/u32-chr: Likewise.
13969         * modules/unistr/u32-cmp: Likewise.
13970         * modules/unistr/u32-cmp2: Likewise.
13971         * modules/unistr/u32-cpy: Likewise.
13972         * modules/unistr/u32-cpy-alloc: Likewise.
13973         * modules/unistr/u32-endswith: Likewise.
13974         * modules/unistr/u32-mblen: Likewise.
13975         * modules/unistr/u32-mbsnlen: Likewise.
13976         * modules/unistr/u32-mbtouc: Likewise.
13977         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13978         * modules/unistr/u32-mbtoucr: Likewise.
13979         * modules/unistr/u32-move: Likewise.
13980         * modules/unistr/u32-next: Likewise.
13981         * modules/unistr/u32-prev: Likewise.
13982         * modules/unistr/u32-set: Likewise.
13983         * modules/unistr/u32-startswith: Likewise.
13984         * modules/unistr/u32-stpcpy: Likewise.
13985         * modules/unistr/u32-stpncpy: Likewise.
13986         * modules/unistr/u32-strcat: Likewise.
13987         * modules/unistr/u32-strchr: Likewise.
13988         * modules/unistr/u32-strcmp: Likewise.
13989         * modules/unistr/u32-strcoll: Likewise.
13990         * modules/unistr/u32-strcpy: Likewise.
13991         * modules/unistr/u32-strcspn: Likewise.
13992         * modules/unistr/u32-strdup: Likewise.
13993         * modules/unistr/u32-strlen: Likewise.
13994         * modules/unistr/u32-strmblen: Likewise.
13995         * modules/unistr/u32-strmbtouc: Likewise.
13996         * modules/unistr/u32-strncat: Likewise.
13997         * modules/unistr/u32-strncmp: Likewise.
13998         * modules/unistr/u32-strncpy: Likewise.
13999         * modules/unistr/u32-strnlen: Likewise.
14000         * modules/unistr/u32-strpbrk: Likewise.
14001         * modules/unistr/u32-strrchr: Likewise.
14002         * modules/unistr/u32-strspn: Likewise.
14003         * modules/unistr/u32-strstr: Likewise.
14004         * modules/unistr/u32-strtok: Likewise.
14005         * modules/unistr/u32-to-u16: Likewise.
14006         * modules/unistr/u32-to-u8: Likewise.
14007         * modules/unistr/u32-uctomb: Likewise.
14008         * modules/uniwbrk/u8-wordbreaks: Likewise.
14009         * modules/uniwbrk/u16-wordbreaks: Likewise.
14010         * modules/uniwbrk/u32-wordbreaks: Likewise.
14011         * modules/uniwbrk/ulc-wordbreaks: Likewise.
14012         * modules/uniwbrk/wordbreak-property: Likewise.
14013         * modules/uniwidth/u8-strwidth: Likewise.
14014         * modules/uniwidth/u8-width: Likewise.
14015         * modules/uniwidth/u16-strwidth: Likewise.
14016         * modules/uniwidth/u16-width: Likewise.
14017         * modules/uniwidth/u32-strwidth: Likewise.
14018         * modules/uniwidth/u32-width: Likewise.
14019         * modules/uniwidth/width: Likewise.
14020         * modules/unicase/cased-tests (Makefile.am): Link all test programs
14021         with $(LIBUNISTRING).
14022         * modules/unicase/ignorable-tests: Likewise.
14023         * modules/unicase/locale-language-tests: Likewise.
14024         * modules/unicase/tolower-tests: Likewise.
14025         * modules/unicase/totitle-tests: Likewise.
14026         * modules/unicase/toupper-tests: Likewise.
14027         * modules/unicase/u8-casecmp-tests: Likewise.
14028         * modules/unicase/u8-casecoll-tests: Likewise.
14029         * modules/unicase/u8-casefold-tests: Likewise.
14030         * modules/unicase/u8-is-cased-tests: Likewise.
14031         * modules/unicase/u8-is-casefolded-tests: Likewise.
14032         * modules/unicase/u8-is-lowercase-tests: Likewise.
14033         * modules/unicase/u8-is-titlecase-tests: Likewise.
14034         * modules/unicase/u8-is-uppercase-tests: Likewise.
14035         * modules/unicase/u8-tolower-tests: Likewise.
14036         * modules/unicase/u8-totitle-tests: Likewise.
14037         * modules/unicase/u8-toupper-tests: Likewise.
14038         * modules/unicase/u16-casecmp-tests: Likewise.
14039         * modules/unicase/u16-casecoll-tests: Likewise.
14040         * modules/unicase/u16-casefold-tests: Likewise.
14041         * modules/unicase/u16-is-cased-tests: Likewise.
14042         * modules/unicase/u16-is-casefolded-tests: Likewise.
14043         * modules/unicase/u16-is-lowercase-tests: Likewise.
14044         * modules/unicase/u16-is-titlecase-tests: Likewise.
14045         * modules/unicase/u16-is-uppercase-tests: Likewise.
14046         * modules/unicase/u16-tolower-tests: Likewise.
14047         * modules/unicase/u16-totitle-tests: Likewise.
14048         * modules/unicase/u16-toupper-tests: Likewise.
14049         * modules/unicase/u32-casecmp-tests: Likewise.
14050         * modules/unicase/u32-casecoll-tests: Likewise.
14051         * modules/unicase/u32-casefold-tests: Likewise.
14052         * modules/unicase/u32-is-cased-tests: Likewise.
14053         * modules/unicase/u32-is-casefolded-tests: Likewise.
14054         * modules/unicase/u32-is-lowercase-tests: Likewise.
14055         * modules/unicase/u32-is-titlecase-tests: Likewise.
14056         * modules/unicase/u32-is-uppercase-tests: Likewise.
14057         * modules/unicase/u32-tolower-tests: Likewise.
14058         * modules/unicase/u32-totitle-tests: Likewise.
14059         * modules/unicase/u32-toupper-tests: Likewise.
14060         * modules/unicase/ulc-casecmp-tests: Likewise.
14061         * modules/unicase/ulc-casecoll-tests: Likewise.
14062         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
14063         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
14064         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
14065         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
14066         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
14067         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
14068         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
14069         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
14070         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
14071         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
14072         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
14073         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
14074         * modules/unictype/bidicategory-byname-tests: Likewise.
14075         * modules/unictype/bidicategory-name-tests: Likewise.
14076         * modules/unictype/bidicategory-of-tests: Likewise.
14077         * modules/unictype/bidicategory-test-tests: Likewise.
14078         * modules/unictype/block-list-tests: Likewise.
14079         * modules/unictype/block-of-tests: Likewise.
14080         * modules/unictype/block-test-tests: Likewise.
14081         * modules/unictype/category-C-tests: Likewise.
14082         * modules/unictype/category-Cc-tests: Likewise.
14083         * modules/unictype/category-Cf-tests: Likewise.
14084         * modules/unictype/category-Cn-tests: Likewise.
14085         * modules/unictype/category-Co-tests: Likewise.
14086         * modules/unictype/category-Cs-tests: Likewise.
14087         * modules/unictype/category-L-tests: Likewise.
14088         * modules/unictype/category-Ll-tests: Likewise.
14089         * modules/unictype/category-Lm-tests: Likewise.
14090         * modules/unictype/category-Lo-tests: Likewise.
14091         * modules/unictype/category-Lt-tests: Likewise.
14092         * modules/unictype/category-Lu-tests: Likewise.
14093         * modules/unictype/category-M-tests: Likewise.
14094         * modules/unictype/category-Mc-tests: Likewise.
14095         * modules/unictype/category-Me-tests: Likewise.
14096         * modules/unictype/category-Mn-tests: Likewise.
14097         * modules/unictype/category-N-tests: Likewise.
14098         * modules/unictype/category-Nd-tests: Likewise.
14099         * modules/unictype/category-Nl-tests: Likewise.
14100         * modules/unictype/category-No-tests: Likewise.
14101         * modules/unictype/category-P-tests: Likewise.
14102         * modules/unictype/category-Pc-tests: Likewise.
14103         * modules/unictype/category-Pd-tests: Likewise.
14104         * modules/unictype/category-Pe-tests: Likewise.
14105         * modules/unictype/category-Pf-tests: Likewise.
14106         * modules/unictype/category-Pi-tests: Likewise.
14107         * modules/unictype/category-Po-tests: Likewise.
14108         * modules/unictype/category-Ps-tests: Likewise.
14109         * modules/unictype/category-S-tests: Likewise.
14110         * modules/unictype/category-Sc-tests: Likewise.
14111         * modules/unictype/category-Sk-tests: Likewise.
14112         * modules/unictype/category-Sm-tests: Likewise.
14113         * modules/unictype/category-So-tests: Likewise.
14114         * modules/unictype/category-Z-tests: Likewise.
14115         * modules/unictype/category-Zl-tests: Likewise.
14116         * modules/unictype/category-Zp-tests: Likewise.
14117         * modules/unictype/category-Zs-tests: Likewise.
14118         * modules/unictype/category-and-not-tests: Likewise.
14119         * modules/unictype/category-and-tests: Likewise.
14120         * modules/unictype/category-byname-tests: Likewise.
14121         * modules/unictype/category-name-tests: Likewise.
14122         * modules/unictype/category-none-tests: Likewise.
14123         * modules/unictype/category-of-tests: Likewise.
14124         * modules/unictype/category-or-tests: Likewise.
14125         * modules/unictype/category-test-withtable-tests: Likewise.
14126         * modules/unictype/combining-class-tests: Likewise.
14127         * modules/unictype/ctype-alnum-tests: Likewise.
14128         * modules/unictype/ctype-alpha-tests: Likewise.
14129         * modules/unictype/ctype-blank-tests: Likewise.
14130         * modules/unictype/ctype-cntrl-tests: Likewise.
14131         * modules/unictype/ctype-digit-tests: Likewise.
14132         * modules/unictype/ctype-graph-tests: Likewise.
14133         * modules/unictype/ctype-lower-tests: Likewise.
14134         * modules/unictype/ctype-print-tests: Likewise.
14135         * modules/unictype/ctype-punct-tests: Likewise.
14136         * modules/unictype/ctype-space-tests: Likewise.
14137         * modules/unictype/ctype-upper-tests: Likewise.
14138         * modules/unictype/ctype-xdigit-tests: Likewise.
14139         * modules/unictype/decimal-digit-tests: Likewise.
14140         * modules/unictype/digit-tests: Likewise.
14141         * modules/unictype/mirror-tests: Likewise.
14142         * modules/unictype/numeric-tests: Likewise.
14143         * modules/unictype/property-alphabetic-tests: Likewise.
14144         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
14145         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
14146         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
14147         * modules/unictype/property-bidi-block-separator-tests: Likewise.
14148         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
14149         * modules/unictype/property-bidi-common-separator-tests: Likewise.
14150         * modules/unictype/property-bidi-control-tests: Likewise.
14151         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
14152         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
14153         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
14154         * modules/unictype/property-bidi-european-digit-tests: Likewise.
14155         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
14156         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
14157         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
14158         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
14159         * modules/unictype/property-bidi-pdf-tests: Likewise.
14160         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
14161         * modules/unictype/property-bidi-whitespace-tests: Likewise.
14162         * modules/unictype/property-byname-tests: Likewise.
14163         * modules/unictype/property-combining-tests: Likewise.
14164         * modules/unictype/property-composite-tests: Likewise.
14165         * modules/unictype/property-currency-symbol-tests: Likewise.
14166         * modules/unictype/property-dash-tests: Likewise.
14167         * modules/unictype/property-decimal-digit-tests: Likewise.
14168         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
14169         * modules/unictype/property-deprecated-tests: Likewise.
14170         * modules/unictype/property-diacritic-tests: Likewise.
14171         * modules/unictype/property-extender-tests: Likewise.
14172         * modules/unictype/property-format-control-tests: Likewise.
14173         * modules/unictype/property-grapheme-base-tests: Likewise.
14174         * modules/unictype/property-grapheme-extend-tests: Likewise.
14175         * modules/unictype/property-grapheme-link-tests: Likewise.
14176         * modules/unictype/property-hex-digit-tests: Likewise.
14177         * modules/unictype/property-hyphen-tests: Likewise.
14178         * modules/unictype/property-id-continue-tests: Likewise.
14179         * modules/unictype/property-id-start-tests: Likewise.
14180         * modules/unictype/property-ideographic-tests: Likewise.
14181         * modules/unictype/property-ids-binary-operator-tests: Likewise.
14182         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
14183         * modules/unictype/property-ignorable-control-tests: Likewise.
14184         * modules/unictype/property-iso-control-tests: Likewise.
14185         * modules/unictype/property-join-control-tests: Likewise.
14186         * modules/unictype/property-left-of-pair-tests: Likewise.
14187         * modules/unictype/property-line-separator-tests: Likewise.
14188         * modules/unictype/property-logical-order-exception-tests: Likewise.
14189         * modules/unictype/property-lowercase-tests: Likewise.
14190         * modules/unictype/property-math-tests: Likewise.
14191         * modules/unictype/property-non-break-tests: Likewise.
14192         * modules/unictype/property-not-a-character-tests: Likewise.
14193         * modules/unictype/property-numeric-tests: Likewise.
14194         * modules/unictype/property-other-alphabetic-tests: Likewise.
14195         * modules/unictype/property-other-default-ignorable-code-point-tests:
14196         Likewise.
14197         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
14198         * modules/unictype/property-other-id-continue-tests: Likewise.
14199         * modules/unictype/property-other-id-start-tests: Likewise.
14200         * modules/unictype/property-other-lowercase-tests: Likewise.
14201         * modules/unictype/property-other-math-tests: Likewise.
14202         * modules/unictype/property-other-uppercase-tests: Likewise.
14203         * modules/unictype/property-paired-punctuation-tests: Likewise.
14204         * modules/unictype/property-paragraph-separator-tests: Likewise.
14205         * modules/unictype/property-pattern-syntax-tests: Likewise.
14206         * modules/unictype/property-pattern-white-space-tests: Likewise.
14207         * modules/unictype/property-private-use-tests: Likewise.
14208         * modules/unictype/property-punctuation-tests: Likewise.
14209         * modules/unictype/property-quotation-mark-tests: Likewise.
14210         * modules/unictype/property-radical-tests: Likewise.
14211         * modules/unictype/property-sentence-terminal-tests: Likewise.
14212         * modules/unictype/property-soft-dotted-tests: Likewise.
14213         * modules/unictype/property-space-tests: Likewise.
14214         * modules/unictype/property-terminal-punctuation-tests: Likewise.
14215         * modules/unictype/property-test-tests: Likewise.
14216         * modules/unictype/property-titlecase-tests: Likewise.
14217         * modules/unictype/property-unassigned-code-value-tests: Likewise.
14218         * modules/unictype/property-unified-ideograph-tests: Likewise.
14219         * modules/unictype/property-uppercase-tests: Likewise.
14220         * modules/unictype/property-variation-selector-tests: Likewise.
14221         * modules/unictype/property-white-space-tests: Likewise.
14222         * modules/unictype/property-xid-continue-tests: Likewise.
14223         * modules/unictype/property-xid-start-tests: Likewise.
14224         * modules/unictype/property-zero-width-tests: Likewise.
14225         * modules/unictype/scripts-tests: Likewise.
14226         * modules/unictype/syntax-c-ident-tests: Likewise.
14227         * modules/unictype/syntax-c-whitespace-tests: Likewise.
14228         * modules/unictype/syntax-java-ident-tests: Likewise.
14229         * modules/unictype/syntax-java-whitespace-tests: Likewise.
14230         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
14231         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
14232         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
14233         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
14234         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
14235         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
14236         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
14237         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
14238         * modules/uniname/uniname-tests: Likewise.
14239         * modules/uninorm/canonical-decomposition-tests: Likewise.
14240         * modules/uninorm/compat-decomposition-tests: Likewise.
14241         * modules/uninorm/composition-tests: Likewise.
14242         * modules/uninorm/decomposing-form-tests: Likewise.
14243         * modules/uninorm/decomposition-tests: Likewise.
14244         * modules/uninorm/filter-tests: Likewise.
14245         * modules/uninorm/nfc-tests: Likewise.
14246         * modules/uninorm/nfd-tests: Likewise.
14247         * modules/uninorm/nfkc-tests: Likewise.
14248         * modules/uninorm/nfkd-tests: Likewise.
14249         * modules/uninorm/u8-normcmp-tests: Likewise.
14250         * modules/uninorm/u8-normcoll-tests: Likewise.
14251         * modules/uninorm/u16-normcmp-tests: Likewise.
14252         * modules/uninorm/u16-normcoll-tests: Likewise.
14253         * modules/uninorm/u32-normcmp-tests: Likewise.
14254         * modules/uninorm/u32-normcoll-tests: Likewise.
14255         * modules/unistdio/u8-asnprintf-tests: Likewise.
14256         * modules/unistdio/u8-vasnprintf-tests: Likewise.
14257         * modules/unistdio/u8-vasprintf-tests: Likewise.
14258         * modules/unistdio/u8-vsnprintf-tests: Likewise.
14259         * modules/unistdio/u8-vsprintf-tests: Likewise.
14260         * modules/unistdio/u16-asnprintf-tests: Likewise.
14261         * modules/unistdio/u16-vasnprintf-tests: Likewise.
14262         * modules/unistdio/u16-vasprintf-tests: Likewise.
14263         * modules/unistdio/u16-vsnprintf-tests: Likewise.
14264         * modules/unistdio/u16-vsprintf-tests: Likewise.
14265         * modules/unistdio/u32-asnprintf-tests: Likewise.
14266         * modules/unistdio/u32-vasnprintf-tests: Likewise.
14267         * modules/unistdio/u32-vasprintf-tests: Likewise.
14268         * modules/unistdio/u32-vsnprintf-tests: Likewise.
14269         * modules/unistdio/u32-vsprintf-tests: Likewise.
14270         * modules/unistdio/ulc-asnprintf-tests: Likewise.
14271         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
14272         * modules/unistdio/ulc-vasprintf-tests: Likewise.
14273         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
14274         * modules/unistdio/ulc-vsprintf-tests: Likewise.
14275         * modules/unistr/u8-check-tests: Likewise.
14276         * modules/unistr/u8-chr-tests: Likewise.
14277         * modules/unistr/u8-cmp-tests: Likewise.
14278         * modules/unistr/u8-cmp2-tests: Likewise.
14279         * modules/unistr/u8-cpy-alloc-tests: Likewise.
14280         * modules/unistr/u8-cpy-tests: Likewise.
14281         * modules/unistr/u8-mblen-tests: Likewise.
14282         * modules/unistr/u8-mbsnlen-tests: Likewise.
14283         * modules/unistr/u8-mbtouc-tests: Likewise.
14284         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
14285         * modules/unistr/u8-mbtoucr-tests: Likewise.
14286         * modules/unistr/u8-move-tests: Likewise.
14287         * modules/unistr/u8-next-tests: Likewise.
14288         * modules/unistr/u8-prev-tests: Likewise.
14289         * modules/unistr/u8-set-tests: Likewise.
14290         * modules/unistr/u8-stpcpy-tests: Likewise.
14291         * modules/unistr/u8-stpncpy-tests: Likewise.
14292         * modules/unistr/u8-strcat-tests: Likewise.
14293         * modules/unistr/u8-strcmp-tests: Likewise.
14294         * modules/unistr/u8-strcoll-tests: Likewise.
14295         * modules/unistr/u8-strcpy-tests: Likewise.
14296         * modules/unistr/u8-strdup-tests: Likewise.
14297         * modules/unistr/u8-strlen-tests: Likewise.
14298         * modules/unistr/u8-strmblen-tests: Likewise.
14299         * modules/unistr/u8-strmbtouc-tests: Likewise.
14300         * modules/unistr/u8-strncat-tests: Likewise.
14301         * modules/unistr/u8-strncmp-tests: Likewise.
14302         * modules/unistr/u8-strncpy-tests: Likewise.
14303         * modules/unistr/u8-strnlen-tests: Likewise.
14304         * modules/unistr/u8-to-u16-tests: Likewise.
14305         * modules/unistr/u8-to-u32-tests: Likewise.
14306         * modules/unistr/u8-uctomb-tests: Likewise.
14307         * modules/unistr/u16-check-tests: Likewise.
14308         * modules/unistr/u16-chr-tests: Likewise.
14309         * modules/unistr/u16-cmp-tests: Likewise.
14310         * modules/unistr/u16-cmp2-tests: Likewise.
14311         * modules/unistr/u16-cpy-alloc-tests: Likewise.
14312         * modules/unistr/u16-cpy-tests: Likewise.
14313         * modules/unistr/u16-mblen-tests: Likewise.
14314         * modules/unistr/u16-mbsnlen-tests: Likewise.
14315         * modules/unistr/u16-mbtouc-tests: Likewise.
14316         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
14317         * modules/unistr/u16-mbtoucr-tests: Likewise.
14318         * modules/unistr/u16-move-tests: Likewise.
14319         * modules/unistr/u16-next-tests: Likewise.
14320         * modules/unistr/u16-prev-tests: Likewise.
14321         * modules/unistr/u16-set-tests: Likewise.
14322         * modules/unistr/u16-stpcpy-tests: Likewise.
14323         * modules/unistr/u16-stpncpy-tests: Likewise.
14324         * modules/unistr/u16-strcat-tests: Likewise.
14325         * modules/unistr/u16-strcmp-tests: Likewise.
14326         * modules/unistr/u16-strcoll-tests: Likewise.
14327         * modules/unistr/u16-strcpy-tests: Likewise.
14328         * modules/unistr/u16-strdup-tests: Likewise.
14329         * modules/unistr/u16-strlen-tests: Likewise.
14330         * modules/unistr/u16-strmblen-tests: Likewise.
14331         * modules/unistr/u16-strmbtouc-tests: Likewise.
14332         * modules/unistr/u16-strncat-tests: Likewise.
14333         * modules/unistr/u16-strncmp-tests: Likewise.
14334         * modules/unistr/u16-strncpy-tests: Likewise.
14335         * modules/unistr/u16-strnlen-tests: Likewise.
14336         * modules/unistr/u16-to-u32-tests: Likewise.
14337         * modules/unistr/u16-to-u8-tests: Likewise.
14338         * modules/unistr/u16-uctomb-tests: Likewise.
14339         * modules/unistr/u32-check-tests: Likewise.
14340         * modules/unistr/u32-chr-tests: Likewise.
14341         * modules/unistr/u32-cmp-tests: Likewise.
14342         * modules/unistr/u32-cmp2-tests: Likewise.
14343         * modules/unistr/u32-cpy-alloc-tests: Likewise.
14344         * modules/unistr/u32-cpy-tests: Likewise.
14345         * modules/unistr/u32-mblen-tests: Likewise.
14346         * modules/unistr/u32-mbsnlen-tests: Likewise.
14347         * modules/unistr/u32-mbtouc-tests: Likewise.
14348         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
14349         * modules/unistr/u32-mbtoucr-tests: Likewise.
14350         * modules/unistr/u32-move-tests: Likewise.
14351         * modules/unistr/u32-next-tests: Likewise.
14352         * modules/unistr/u32-prev-tests: Likewise.
14353         * modules/unistr/u32-set-tests: Likewise.
14354         * modules/unistr/u32-stpcpy-tests: Likewise.
14355         * modules/unistr/u32-stpncpy-tests: Likewise.
14356         * modules/unistr/u32-strcat-tests: Likewise.
14357         * modules/unistr/u32-strcmp-tests: Likewise.
14358         * modules/unistr/u32-strcoll-tests: Likewise.
14359         * modules/unistr/u32-strcpy-tests: Likewise.
14360         * modules/unistr/u32-strdup-tests: Likewise.
14361         * modules/unistr/u32-strlen-tests: Likewise.
14362         * modules/unistr/u32-strmblen-tests: Likewise.
14363         * modules/unistr/u32-strmbtouc-tests: Likewise.
14364         * modules/unistr/u32-strncat-tests: Likewise.
14365         * modules/unistr/u32-strncmp-tests: Likewise.
14366         * modules/unistr/u32-strncpy-tests: Likewise.
14367         * modules/unistr/u32-strnlen-tests: Likewise.
14368         * modules/unistr/u32-to-u16-tests: Likewise.
14369         * modules/unistr/u32-to-u8-tests: Likewise.
14370         * modules/unistr/u32-uctomb-tests: Likewise.
14371         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
14372         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
14373         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
14374         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
14375         * modules/uniwidth/u8-strwidth-tests: Likewise.
14376         * modules/uniwidth/u8-width-tests: Likewise.
14377         * modules/uniwidth/u16-strwidth-tests: Likewise.
14378         * modules/uniwidth/u16-width-tests: Likewise.
14379         * modules/uniwidth/u32-strwidth-tests: Likewise.
14380         * modules/uniwidth/u32-width-tests: Likewise.
14381         * modules/uniwidth/width-tests: Likewise.
14382
14383 2010-05-18  Richard Jones  <rjones@redhat.com>
14384
14385         doc: users.txt: list hivex
14386         * users.txt: Add hivex.
14387
14388 2010-05-18  Richard Jones  <rjones@redhat.com>
14389
14390         doc: users.txt: list febootstrap
14391         * users.txt: Add febootstrap.
14392
14393 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
14394
14395         bootstrap: fix an error when gnulib is not used as a git submodule
14396         * build-aux/bootstrap (gnulib_path): If its length is zero then
14397         assign "gnulib" to it.
14398         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
14399
14400 2010-05-16  Bruno Haible  <bruno@clisp.org>
14401
14402         Avoid autoconf warnings about AM_ICONV.
14403         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
14404         2.64.
14405
14406 2010-05-16  Bruno Haible  <bruno@clisp.org>
14407
14408         absolute-header: Make the macro usable in more situations.
14409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
14410         from gl_ABSOLUTE_HEADER.
14411         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
14412
14413 2010-05-16  James Youngman  <jay@gnu.org>
14414
14415         doc: update users.txt
14416         * users.txt: Add CSSC.
14417
14418 2010-05-16  Jim Meyering  <meyering@redhat.com>
14419
14420         init.sh: fix an error in the previous change; add more comments
14421         * tests/init.sh: Compare exit code in loop against 9, not 2.
14422         Patch by Bruno Haible.
14423         Make the two tests more similar by adding an empty "then" clause.
14424         Add comments.
14425
14426         init.sh: avoid unnecessary shell re-exec
14427         * tests/init.sh: Improve the re-exec-required check to first test the
14428         current shell.  If it passes the test, do not search for a shell that
14429         does pass, and do not re-exec.  This test is particularly contorted to
14430         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
14431         of $(...) evokes a syntax error and causes immediate shell exit with
14432         status 2.  Bruno Haible reported that the re-exec made it impossible
14433         to single-step through any init.sh-using script.
14434
14435 2010-05-16  Bruno Haible  <bruno@clisp.org>
14436
14437         Fix collision between gnulib's and libintl's printf replacements.
14438         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
14439         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
14440         (printf): When using GNU C, map the __printf__ function to rpl_printf
14441         via __asm__. When not using GNU C, define rpl_printf instead of
14442         __printf__.
14443         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
14444         commit.
14445         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
14446         commit.
14447         * m4/asm-underscore.m4: New file.
14448         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
14449         * modules/stdio (Files): Add m4/asm-underscore.m4.
14450         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
14451         Reported by Ben Pfaff.
14452
14453 2010-05-16  Bruno Haible  <bruno@clisp.org>
14454
14455         verify: Avoid skipping the test on openSUSE 11.0.
14456         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
14457
14458 2010-05-13  Bruno Haible  <bruno@clisp.org>
14459
14460         Avoid useless warnings from G++.
14461         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
14462         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
14463         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14464
14465 2010-05-11  Jim Meyering  <meyering@redhat.com>
14466
14467         maint.mk: tweak preceding change
14468         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
14469         regexps tighter by anchoring at EOL, and make the new group "shy"
14470         for slightly decreased overhead.
14471
14472 2010-05-11  Eric Blake  <eblake@redhat.com>
14473
14474         maint.mk: gnulib doesn't guarantee NSIG
14475         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
14476
14477 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14478
14479         test-pwrite.c: Remove unused variable declaration.
14480         * tests/test-pwrite.c (main): Remove read_buf declaration.
14481
14482         Remove useless test-pwrite.sh file.
14483         * tests/test-pwrite.sh: Delete file.
14484         * modules/pwrite-tests: Remove references.
14485         Reported by Bruno Haible.
14486
14487 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14488
14489         init.sh: fix a typo
14490         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
14491
14492 2010-05-10  Jim Meyering  <meyering@redhat.com>
14493
14494         maint.mk: avoid using a temporary file in the always-defined-macros check
14495         * top/maint.mk (.re-defmac): Remove rule.
14496         (gl_trap_): Remove definition.
14497         (sc_prohibit_always-defined_macros): Rewrite not to create and
14498         depend on a temporary file.  Instead, depend on GNU grep's ability
14499         to read a list of regular expressions from stdin when given "-f -".
14500
14501 2010-05-09  Bruno Haible  <bruno@clisp.org>
14502
14503         Update to GNU gettext 0.18, part 1.
14504         * m4/gettext.m4: Update to GNU gettext 0.18.
14505         * m4/intl.m4: Likewise.
14506         * m4/po.m4: Likewise.
14507         * modules/gettext (Files): Add m4/fcntl-o.m4.
14508         (configure.ac): Require gettext infrastructure from version 0.18.
14509
14510 2010-05-09  Jim Meyering  <meyering@redhat.com>
14511
14512         init.sh: enable MALLOC_PERTURB_
14513         * tests/init.sh: Enable glibc's malloc-perturbing option.
14514
14515         maint.mk: improve sc_cross_check_PATH_usage_in_tests
14516         With my recent change in init.sh from the two-line form:
14517             -#   : ${srcdir=.}
14518             -#   . "$srcdir/init.sh"; path_prepend_ .
14519             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
14520         I noticed that using the one-line form would cause this test
14521         to fail with a false-positive, or to stop working altogether,
14522         depending on whether help-version changed or all the tests did.
14523         * top/maint.mk (_hv_regex): Remove this definition.
14524         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
14525         (_hv_regex_strong): Use a stronger regex to check for conformance.
14526         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
14527         Give a separate diagnostic for lack of conforming use.
14528
14529         maint.mk: prohibit definition of symbols defined by gnulib
14530         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
14531         definition of symbols defined by gnulib.
14532
14533 2010-05-09  Bruno Haible  <bruno@clisp.org>
14534
14535         acl: Avoid test failure on Cygwin-hosted mingw.
14536         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
14537
14538 2010-05-09  Bruno Haible  <bruno@clisp.org>
14539
14540         error: Use system's fcntl function.
14541         * lib/error.c (fcntl): Undefine.
14542
14543 2010-05-09  Jim Meyering  <meyering@redhat.com>
14544
14545         verify: adjust formatting to be more consistent
14546         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
14547         argument-list '('s, and after one comma.
14548
14549 2010-05-09  Bruno Haible  <bruno@clisp.org>
14550
14551         error: More reliable output on mingw.
14552         * lib/error.c: Include <windows.h>.
14553         (is_open): New function.
14554         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
14555         defined.
14556
14557 2010-05-09  Bruno Haible  <bruno@clisp.org>
14558
14559         vasnprintf: Fix syntax errors in libintl build on mingw.
14560         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
14561         pad_ourselves and prec_ourselves after use.
14562
14563 2010-05-08  Bruno Haible  <bruno@clisp.org>
14564
14565         * lib/config.charset: Update comments for Cygwin 1.7.
14566         * lib/localcharset.c: Likewise.
14567
14568 2010-05-07  Jim Meyering  <meyering@redhat.com>
14569
14570         init.sh: improve comments
14571         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
14572         . "${srcdir=.}/init.sh"; path_prepend_ .
14573         Add a note about path_prepend_ and the alternative of using
14574         TESTS_ENVIRONMENT.
14575
14576 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14577
14578         exclude: Unescape hashed patterns in wildcard mode.
14579         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
14580         to the hash list.
14581         * tests/test-exclude8.sh: New test case.
14582         * modules/exclude-tests: Add new test.
14583
14584 2010-05-05  Eric Blake  <eblake@redhat.com>
14585
14586         verify: automate tests
14587         * modules/verify-tests: New module.
14588         * tests/test-verify.sh: New file.
14589         * tests/test-verify.c: Guard each negative test with a unique id.
14590         Also avoid warning about unused left hand of comma expressions.
14591
14592 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14593
14594         Further improvements to verify.h, suggested by Eric Blake.
14595         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
14596         the GL_* versions, to avoid collision with OpenGL.
14597         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
14598         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
14599         than testing merely whether it's defined.
14600
14601         Modify verify.h to pacify gcc -Wredundant_decls.
14602         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
14603         These use the prefix "GL_" since they're likely to be useful elsewhere.
14604         We may need to break them out into a different .h file.
14605         (__COUNTER__): Define to 0 if the compiler doesn't support it.
14606         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
14607         of verify_function__.
14608
14609 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14610
14611         Tests for module pwrite.
14612         * modules/pwrite-tests: New file.
14613         * tests/test-pwrite.sh: New file.
14614         * tests/test-pwrite.c: New file.
14615
14616         New module pwrite.
14617         * lib/unistd.in.h (pwrite): New declaration.
14618         * lib/pwrite.c: New file, from glibc with modifications.
14619         * m4/pwrite.m4: New file.
14620         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
14621         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
14622         REPLACE_PWRITE.
14623         * modules/pwrite: New file.
14624         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
14625         REPLACE_PWRITE.
14626         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
14627         * doc/posix-functions/pwrite.texi: Mention the new module.
14628
14629 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14630
14631         pread: Update documentation.
14632         * doc/posix-functions/pread.texi: Mention the 'pread' module.
14633
14634 2010-05-04  Eric Blake  <eblake@redhat.com>
14635
14636         docs: update cygwin progress
14637         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
14638         this bug.
14639         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
14640         Added in cygwin 1.7.2.
14641         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
14642         Likewise.
14643         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
14644         Likewise.
14645         * doc/glibc-functions/dup3.texi (dup3): Likewise.
14646         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14647         * doc/glibc-functions/accept4.texi (accept4): Likewise.
14648         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
14649         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
14650         Mention nproc module.
14651         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
14652         bug in cygwin 1.7.5 addition.
14653         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
14654         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
14655         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
14656         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
14657         1.7.5.
14658         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
14659         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
14660         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
14661         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
14662         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
14663         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
14664         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
14665         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
14666         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
14667         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
14668         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
14669         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
14670         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
14671         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
14672         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
14673         Likewise.
14674         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
14675         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
14676         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
14677         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
14678         Likewise.
14679         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
14680         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
14681         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
14682         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
14683         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
14684         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
14685         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
14686         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
14687         Likewise.
14688         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
14689         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
14690         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
14691         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
14692         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
14693         Likewise.
14694         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
14695         Likewise.
14696         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
14697         Likewise.
14698         * doc/glibc-functions/xdrrec_endofrecord.texi
14699         (xdrrec_endofrecord): Likewise.
14700         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
14701         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
14702         Likewise.
14703         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
14704         Likewise.
14705
14706 2010-05-04  Jim Meyering  <meyering@redhat.com>
14707
14708         gendocs.sh: make its "-s FILE" option more useful
14709         * build-aux/gendocs.sh: When honoring the -s FILE option, update
14710         $PACKAGE to reflect the probably-different basename of "FILE".
14711
14712 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14713
14714         bootstrap: don't ignore download_po_files failure
14715         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
14716         failure.
14717
14718 2010-05-03  Jim Meyering  <meyering@redhat.com>
14719
14720         maint.mk: allow to pass options to gendocs.sh
14721         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
14722         (gendocs_options_): New overridable variable.
14723
14724         gnu-web-doc-update: don't ignore configure or build failure
14725         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
14726
14727         announce-gen: backslash-escape '@'s in --help output
14728         * build-aux/announce-gen: Fix syntax errors.
14729
14730         maint.mk, announce-gen: allow project-specific announcement mail headers
14731         * top/maint.mk (translation_project_): Define default.
14732         (announcement_Cc_, announcement_mail_headers_): Likewise.
14733         (announcement): Invoke announce-gen with new --mail-headers option.
14734         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
14735
14736         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
14737         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
14738         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
14739         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
14740         line in the "err2" output file when running "make check" in verbose
14741         mode (i.e., with set -x enabled).
14742
14743 2010-05-03  Bruno Haible  <bruno@clisp.org>
14744
14745         wctob: Fix for weird platforms.
14746         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
14747         argument value.
14748
14749 2010-05-03  Jim Meyering  <meyering@redhat.com>
14750
14751         maint.mk: prohibit unwarranted use of <strings.h>
14752         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
14753         strings.h in a file that does not also use strcasecmp, strncasecmp,
14754         ffs or ffsll.
14755
14756         maint.mk: remove obsolete comments
14757         * top/maint.mk: Remove stale, commented-out rules.
14758
14759 2010-05-02  Bruno Haible  <bruno@clisp.org>
14760
14761         wcwidth: Declare also when it's aliased.
14762         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
14763         macro.
14764
14765 2010-05-02  Bruno Haible  <bruno@clisp.org>
14766
14767         Fix regression from 2010-04-25.
14768         * gnulib-tool (func_modules_transitive_closure): Check the status of
14769         all modules, not only of the tests that are of the form foo-tests where
14770         foo is a module.
14771
14772 2010-05-02  Bruno Haible  <bruno@clisp.org>
14773
14774         wctob: Work around nasty Cygwin 1.7.2 bug.
14775         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
14776         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
14777
14778 2010-05-01  Bruno Haible  <bruno@clisp.org>
14779
14780         fpurge: Sharper test.
14781         * tests/test-fpurge.c (main): Add one more ftell check.
14782         * modules/fpurge-tests (Depends-on): Add ftell.
14783         Suggested by Eric Blake.
14784
14785 2010-05-01  Bruno Haible  <bruno@clisp.org>
14786
14787         ftello: Another test.
14788         * tests/test-ftello3.c: New file.
14789         * modules/ftello-tests (Files): Add it.
14790         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14791         MOSTLYCLEANFILES.
14792
14793         ftell: Another test.
14794         * tests/test-ftell3.c: New file.
14795         * modules/ftell-tests (Files): Add it.
14796         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14797         MOSTLYCLEANFILES.
14798
14799 2010-05-01  Bruno Haible  <bruno@clisp.org>
14800
14801         ftell, ftello: Work around Solaris bug.
14802         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
14803         * lib/ftello.c: Include stdio-impl.h.
14804         (ftello): On Solaris, when _IOWRT is set, compute the result without
14805         looking at _IOREAD.
14806         * modules/ftello (Files): Add lib/stdio-impl.h.
14807         * doc/posix-functions/ftell.texi: Mention Solaris bug.
14808         * doc/posix-functions/ftello.texi: Likewise.
14809         Reported by Eric Blake.
14810
14811 2010-05-01  Bruno Haible  <bruno@clisp.org>
14812
14813         freading: Adapt to special meaning of _IOREAD flag on Solaris.
14814         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
14815         the _IOWRT flag is also set.
14816
14817 2010-05-01  Bruno Haible  <bruno@clisp.org>
14818
14819         Fix doc about a HP-UX stdio bug.
14820         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
14821         * doc/posix-functions/ftello.texi: Likewise.
14822
14823 2010-05-01  Bruno Haible  <bruno@clisp.org>
14824
14825         lseek test: Fix failure on Solaris.
14826         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
14827         output.
14828
14829 2010-04-30  Jim Meyering  <meyering@redhat.com>
14830
14831         bootstrap: don't ignore failure to generate po*/Makevars
14832         * build-aux/bootstrap (with_gettext): Don't ignore failure
14833         to create po/Makevars or runtime-po/Makevars.
14834
14835 2010-04-29  Eric Blake  <eblake@redhat.com>
14836
14837         headers: relax license to LGPLv2+
14838         * modules/fcntl-h (License): Relax license.
14839         * modules/getopt-posix (License): Likewise.
14840         * modules/locale (License): Likewise.
14841         * modules/math (License): Likewise.
14842         * modules/pty (License): Likewise.
14843         * modules/sched (License): Likewise.
14844         * modules/search (License): Likewise.
14845         * modules/spawn (License): Likewise.
14846         * modules/stdarg (License): Likewise.
14847         * modules/sysexits (License): Likewise.
14848
14849 2010-04-29  Jim Meyering  <meyering@redhat.com>
14850
14851         inttypes: relax license to LGPLv2+
14852         * modules/inttypes (License): Relax license.
14853
14854 2010-04-29  Simon Josefsson  <simon@josefsson.org>
14855
14856         * top/maint.mk (indent): Run twice to produce idempotent results.
14857
14858 2010-04-28  Bruno Haible  <bruno@clisp.org>
14859
14860         getdate: Generate getdate.c in the source directory.
14861         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
14862         MOSTLYCLEANFILES.
14863         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
14864
14865 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
14866
14867         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
14868         is not declared as a const *; avoid warnings in that case.
14869
14870 2010-04-28  Eric Blake  <eblake@redhat.com>
14871
14872         canonicalize-lgpl: avoid compiler warning
14873         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
14874         declaration' / 'extraneous semicolon' warning with some compilers.
14875         Reported by Andreas Gruenbacher.
14876
14877 2010-04-28  Jim Meyering  <meyering@redhat.com>
14878
14879         init.sh: ensure a more reliable exit status when exiting via trap
14880         * tests/init.sh (setup_): Don't rely on $? in signal handler.
14881         Inspired by patches from Dmitry V. Levin.
14882         Also trap on signal 3 (SIGQUIT).
14883
14884 2010-04-27  Bruno Haible  <bruno@clisp.org>
14885
14886         Update doc about utimes().
14887         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
14888         'utimens' module.
14889         Reported by Andreas Gruenbacher <agruen@suse.de>.
14890
14891 2010-04-27  Eric Blake  <eblake@redhat.com>
14892
14893         full-read, full-write: relax license
14894         * modules/full-read (License): Drop to LGPLv2+.
14895         * modules/full-write (License): Likewise.
14896         * modules/safe-read (License): Likewise.
14897         * modules/safe-write (License): Likewise.
14898
14899         pthread: mention library for linking
14900         * modules/pthread (Link): Mention $(LIB_PTHREAD).
14901
14902 2010-04-27  Jim Meyering  <meyering@redhat.com>
14903
14904         maint.mk: fix a bug introduced in last change
14905         * top/maint.mk (gl_assured_headers_): Now that all names are on
14906         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
14907         is not anchored to end of word, it should be adequate.
14908
14909         maint.mk: avoid side-effect in latest syntax-check
14910         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
14911         to run commands via $(shell...), and hence to incur cost only when
14912         the new rule is actually run.
14913
14914         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
14915         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
14916         and use that to create a regexp used to detect all #if HAVE_..._H uses.
14917         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
14918         (gl_assured_headers_, az_, AZ_): Define.
14919         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
14920
14921 2010-04-26  Jim Meyering  <jim@meyering.net>
14922             Bruno Haible  <bruno@clisp.org>
14923
14924         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
14925         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
14926         Prompted by an exchange with Gilles Espinasse.
14927
14928 2010-04-26  Jim Meyering  <meyering@redhat.com>
14929
14930         git-version-gen: aesthetic tweak
14931         * build-aux/git-version-gen: Use "$nl" rather than a literal,
14932         so that the command remains on a single line.
14933
14934 2010-04-26  Eric Blake  <eblake@redhat.com>
14935
14936         git-version-gen: allow use on EBCDIC hosts
14937         * build-aux/git-version-gen (dirty): Use literal rather than tying
14938         ourselves to ascii.
14939         Reported by Steve Goetze.
14940
14941 2010-04-25  Bruno Haible  <bruno@clisp.org>
14942
14943         netdb: Add support for GNULIB_POSIXCHECK.
14944         * lib/netdb.in.h: Include warn-on-use.h.
14945         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
14946         functions are used when GNULIB_POSIXCHECK is defined and the
14947         getaddrinfo module is not in use.
14948         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
14949         freeaddrinfo, gai_strerror, getnameinfo are declared.
14950         * modules/netdb (Depends-on): Add warn-on-use.
14951         (Makefile.am): Include warn-on-use.h in netdb.h.
14952
14953 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
14954
14955         build: avoid "make check" failure without .git/ directory
14956         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
14957         there is no .git/ directory.
14958
14959 2010-04-25  Bruno Haible  <bruno@clisp.org>
14960
14961         ptsname: Fix misuse of ttyname_r.
14962         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
14963         of errno.
14964
14965 2010-04-25  Bruno Haible  <bruno@clisp.org>
14966
14967         ttyname_r: Make it work on Solaris 10.
14968         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
14969         if the system function has the POSIX declaration. Test whether the
14970         function fails if the buffer is less than 128 bytes large.
14971         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14972         system's ttyname_r function. Provide a reasonably large buffer.
14973         * modules/ttyname_r (Depends-on): Add extensions.
14974         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14975
14976 2010-04-25  Bruno Haible  <bruno@clisp.org>
14977
14978         Use the 'extensions' module for some more functions on Solaris.
14979         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14980         module.
14981         * doc/posix-functions/ctime_r.texi: Likewise.
14982         * doc/posix-functions/getgrgid_r.texi: Likewise.
14983         * doc/posix-functions/getgrnam_r.texi: Likewise.
14984         * doc/posix-functions/getpwnam_r.texi: Likewise.
14985         * doc/posix-functions/getpwuid_r.texi: Likewise.
14986         * doc/posix-functions/readdir_r.texi: Likewise.
14987         * doc/posix-functions/sigwait.texi: Likewise.
14988         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14989         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14990
14991 2010-04-25  Bruno Haible  <bruno@clisp.org>
14992
14993         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14994         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14995         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14996         * lib/ttyname_r.c: Include <limits.h>.
14997         (ttyname_r): Define using the system's ttyname_r function, if it exists
14998         and not on Solaris.
14999         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
15000         set.
15001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
15002         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
15003         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
15004         Reported by Simon Josefsson.
15005
15006 2010-04-25  Bruno Haible  <bruno@clisp.org>
15007
15008         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
15009         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
15010         * doc/posix-functions/ctime_r.texi: Likewise.
15011         * doc/posix-functions/getgrgid_r.texi: Likewise.
15012         * doc/posix-functions/getgrnam_r.texi: Likewise.
15013         * doc/posix-functions/getlogin_r.texi: Likewise.
15014         * doc/posix-functions/getpwnam_r.texi: Likewise.
15015         * doc/posix-functions/getpwuid_r.texi: Likewise.
15016         * doc/posix-functions/readdir_r.texi: Likewise.
15017         * doc/posix-functions/sigwait.texi: Likewise.
15018         * doc/posix-functions/ttyname_r.texi: Likewise.
15019         Reported by Simon Josefsson.
15020
15021 2010-04-25  Bruno Haible  <bruno@clisp.org>
15022
15023         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
15024         * gnulib-tool (func_usage): Document that --with-*-tests options apply
15025         also to --create-testdir.
15026         (func_acceptable): Don't consider the status of *-tests modules here.
15027         (func_modules_transitive_closure): Consider it here, before including a
15028         test module.
15029         (func_import, func_create_testdir): Set inc_all_direct_tests,
15030         inc_all_indirect_tests.
15031         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
15032         --create-testdir and --create-megatestdir.
15033
15034 2010-04-25  Bruno Haible  <bruno@clisp.org>
15035
15036         gnulib-tool: Add --without-*-tests options.
15037         * gnulib-tool (func_usage): Document the --without-*-tests options.
15038         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
15039         excl_unportable_tests): New variables.
15040         Fail if they are specified with --import or --update.
15041         (func_acceptable): Respect the excl_*_tests variables.
15042         (func_import): Set the excl_*_tests variables to empty.
15043
15044 2010-04-25  Simon Josefsson  <simon@josefsson.org>
15045             Bruno Haible  <bruno@clisp.org>
15046
15047         Work around a MacOS X 10.4 bug with openpty.
15048         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
15049         * tests/test-openpty.c (main): Close the master side explicitly.
15050
15051 2010-04-25  Bruno Haible  <bruno@clisp.org>
15052
15053         strnlen: Fix a C++ test error on MacOS X and Solaris.
15054         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
15055         the function is not declared.
15056         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
15057         Simon Josefsson.
15058
15059 2010-04-24  Bruno Haible  <bruno@clisp.org>
15060
15061         Avoid a gcc warning.
15062         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
15063         of correct type for %08lx directive.
15064         Reported by Eric Blake.
15065
15066 2010-04-24  Bruno Haible  <bruno@clisp.org>
15067
15068         vasnprintf: Correct errno value in case of out-of-memory.
15069         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
15070         or sprintf. Use the errno value from SNPRINTF or sprintf.
15071         Reported by Ian Beckwith <ianb@erislabs.net>.
15072
15073 2010-04-24  Bruno Haible  <bruno@clisp.org>
15074
15075         ansi-c++-opt: Find correct compiler when cross-compiling.
15076         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
15077         AC_CHECK_PROGS.
15078         Reported by Simon Josefsson.
15079
15080 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
15081
15082         vc-list-files: Add support for subversion
15083         * build-aux/vc-list-files: Use "svn list" to generate the list of
15084         files controlled by subversion.
15085
15086 2010-04-23  Jim Meyering  <meyering@redhat.com>
15087
15088         vc-list-files tests: convert to use init.sh
15089         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
15090         path_prepend_.
15091         Use Exit, not exit.
15092         Use skip_ rather than open coding it.
15093         Remove trap set-up and compare definitions.
15094         * tests/test-vc-list-files-git.sh: Likewise.
15095         * modules/vc-list-files-tests (Files): Add tests/init.sh.
15096
15097 2010-04-22  Simon Josefsson  <simon@josefsson.org>
15098
15099         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
15100         backup files.
15101
15102 2010-04-21  Simon Josefsson  <simon@josefsson.org>
15103
15104         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
15105
15106 2010-04-20  Eric Blake  <eblake@redhat.com>
15107
15108         tests: be robust to ignored SIGPIPE
15109         * tests/test-select-in.sh: Consume all output.
15110         * tests/test-lseek.sh: Check correct exit status, while avoiding
15111         EPIPE.
15112
15113 2010-04-20  Simon Josefsson  <simon@josefsson.org>
15114             Bruno Haible  <bruno@clisp.org>
15115
15116         visibility: Don't use -fvisibility if it leads to a warning.
15117         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
15118         yes, don't pretend that visibility works if it leads to a warning.
15119         Reported by Mike Gran <spk121@yahoo.com>.
15120
15121 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
15122
15123         * build-aux/bootstrap: Use "git -h" for testing for supported options
15124         instead of "git --help".  The short-form option only shows a summary,
15125         and doesn't layout the full man page.  Grep for the full option name
15126         in the summary, too.
15127
15128 2010-04-19  Bruno Haible  <bruno@clisp.org>
15129
15130         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
15131         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
15132         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
15133         mention of RELOCATABLE_STRIP.
15134         Reported by Sylvain Beucler <beuc@beuc.net>.
15135
15136 2010-04-19  Bruno Haible  <bruno@clisp.org>
15137
15138         * lib/diffseq.h: Fix typo in comment.
15139         Reported by Eric Blake.
15140
15141 2010-04-19  Bruno Haible  <bruno@clisp.org>
15142
15143         ioctl: Move autoconf macro to a .m4 file.
15144         * m4/ioctl.m4: New file, extracted from modules/ioctl.
15145         * modules/ioctl (Files): Add it.
15146         (configure.ac): Simply invoke gl_FUNC_IOCTL.
15147         Reported by Ian Beckwith <ianb@erislabs.net>.
15148
15149 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
15150             Bruno Haible  <bruno@clisp.org>
15151
15152         diffseq: Accommodate use-case with abstract arrays.
15153         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
15154         is not defined.
15155         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
15156         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
15157
15158 2010-04-18  Bruno Haible  <bruno@clisp.org>
15159
15160         * doc/posix-headers/stdbool.texi: More precise wording.
15161
15162 2010-04-17  Jim Meyering  <meyering@redhat.com>
15163
15164         maint.mk: use gnu-style indentation in an embedded perl script
15165         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
15166         Rename variable: s/two/last_two_bytes/
15167
15168 2010-04-16  Eric Blake  <eblake@redhat.com>
15169
15170         test-stdbool: skip test that fails with Solaris CC
15171         * tests/test-stdbool.c (f): Skip test that causes compilation
15172         error under buggy C++ compiler.
15173         * lib/stdbool.in.h: Document the limitation.
15174         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
15175
15176         setenv: allow compilation with C++
15177         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
15178         register keyword.
15179
15180         stdint: allow test to pass with C++
15181         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
15182
15183         getopt: allow compilation with C++
15184         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
15185         struct.
15186         * lib/getopt.c (_getopt_internal_r): Use correct type.
15187         Reported by Dagobert Michelson, via Joel E. Denny.
15188
15189 2010-04-16  Bruno Haible  <bruno@clisp.org>
15190
15191         Override netdb.h always.
15192         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
15193         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
15194         Reported by Ludovic Courtès <ludo@gnu.org>.
15195
15196 2010-04-15  Bruno Haible  <bruno@clisp.org>
15197
15198         openpty: Fix mistake from 2010-03-21.
15199         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
15200         Reported by Simon Josefsson.
15201
15202 2010-04-15  Eric Blake  <eblake@redhat.com>
15203
15204         test-forkpty: fix expected signature
15205         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
15206         Reported by Simon Josefsson.
15207
15208 2010-04-15  Jim Meyering  <meyering@redhat.com>
15209
15210         maint.mk: texinfo_suffix_re_: correct the default regexp
15211         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
15212
15213         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
15214         make it configurable via texinfo_suffix_re_.
15215
15216 2010-04-14  Eric Blake  <eblake@redhat.com>
15217
15218         strtok_r: relax license to LGPLv2+
15219         * modules/strtok_r (License): Relax license.
15220         Reported by Matthias Bolte.
15221
15222 2010-04-14  Simon Josefsson  <simon@josefsson.org>
15223
15224         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
15225         version 1.4.4 by default instead of requiring the libgcrypt
15226         version used during build.  This makes it possible to use the
15227         application with older but still binary compatible libgcrypt
15228         versions.
15229
15230 2010-04-13  Eric Blake  <eblake@redhat.com>
15231
15232         getopt-gnu: match recent glibc fixes and posix ruling
15233         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
15234         '+' handling, when requesting extensions.
15235         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
15236         'W;' handling.
15237         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
15238         * doc/posix-functions/getopt.texi (getopt): Document this.
15239         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15240         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15241         Likewise.
15242
15243         getopt: merge bug fixes from glibc
15244         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
15245         diagnostics.  Honor '+:' correctly.  Reject ';'.
15246
15247         getopt-posix: detect MacOS bug
15248         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
15249         optind when missing a required argument.
15250         * doc/posix-functions/getopt.texi (getopt): Document the bug.
15251         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15252         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15253         Likewise.
15254
15255         getopt-posix: avoid spurious failure on Solaris
15256         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
15257         an indicator that setting optind=1 is sufficient for reset.
15258
15259         getopt-posix: avoid spurious failure on FreeBSD
15260         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
15261         in POSIX mode, since the m4 test uses it.
15262
15263         gnulib-tool: silence warning on BSD sh
15264         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
15265
15266 2010-04-13  Jim Meyering  <meyering@redhat.com>
15267
15268         doc: users.txt: GNU patch now uses gnulib
15269         * users.txt: Add patch.
15270
15271 2010-04-12  Jim Meyering  <meyering@redhat.com>
15272
15273         maint.mk: generate more concise timing data for syntax-check rules
15274         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
15275         " done" from each line that reports a syntax-check test duration.
15276
15277 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
15278
15279         git-version-gen: use "git update-index..." rather than "git status"
15280         * build-aux/git-version-gen: Use git update-index --refresh, not
15281         "git status".  With some versions of git, "git status" would fail
15282         to update the index and result in an unwarranted "-dirty" suffix.
15283
15284 2010-04-11  Jim Meyering  <meyering@redhat.com>
15285
15286         openat: correct formatting (no semantic change)
15287         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
15288         Suggested by Bruno Haible.
15289
15290 2010-04-11  Bruno Haible  <bruno@clisp.org>
15291
15292         Stricter declaration checking in testdirs.
15293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15294         If for_tests is true, augment AM_CPPFLAGS to define
15295         GNULIB_STRICT_CHECKING.
15296         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
15297         GNULIB_STRICT_CHECKING is defined, verify that the function is
15298         declared.
15299
15300 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
15301             Bruno Haible  <bruno@clisp.org>
15302
15303         libunistring: Improve configure output.
15304         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
15305         Don't say "consider installing GNU libunistring" when checking again
15306         with libiconv.
15307
15308 2010-04-11  Bruno Haible  <bruno@clisp.org>
15309
15310         libunistring: Correct value of $LTLIBUNISTRING.
15311         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
15312         correct the value of $LTLIBUNISTRING.
15313
15314 2010-04-11  Bruno Haible  <bruno@clisp.org>
15315
15316         havelib: Add static libraries to LIBS in the right order.
15317         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
15318         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
15319
15320 2010-04-11  Bruno Haible  <bruno@clisp.org>
15321
15322         libunistring: Detect libunistring also when it depends on libiconv.
15323         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
15324         the second AC_LIB_HAVE_LINKFLAGS invocation.
15325
15326 2010-04-11  James Youngman  <jay@gnu.org>
15327
15328         close-stream: declare local scalars to be "const"
15329         * lib/close-stream.c (close_stream): Make boolean variables const
15330         to document the fact that we set but do not change them.
15331
15332 2010-04-11  Bruno Haible  <bruno@clisp.org>
15333
15334         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
15335
15336 2010-04-11  Jim Meyering  <meyering@redhat.com>
15337
15338         maint.mk: don't include dist-check.mk
15339         * top/maint.mk: Remove bogus include directive.
15340
15341         maint.mk: improve empty-line-at-EOF check
15342         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
15343         solution, rather than tail+Perl-based one.  The latter would read
15344         a few kilobytes from the end of each file, and did not handle empty
15345         files properly.
15346
15347         maint.mk: print the elapsed time for each syntax-check rule
15348         * top/maint.mk (sc_m_rules_): Save start time in a file.
15349         (sc_z_rules_): New rules: remove temp file and print elapsed time.
15350         (local-check): Interpose the .z rules
15351
15352 2010-04-11  Jim Meyering  <meyering@redhat.com>
15353
15354         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
15355         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
15356         empty file with one that ends in an empty line.
15357
15358 2010-04-10  Bruno Haible  <bruno@clisp.org>
15359
15360         mkdir: Make it work on mingw64.
15361         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
15362         * lib/mkdir.c: Update comment.
15363         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
15364
15365 2010-04-10  Bruno Haible  <bruno@clisp.org>
15366
15367         Don't override improved macro from newer autoconf.
15368         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
15369         autoconf >= 2.62.
15370         Reported by Joel E. Denny <jdenny@clemson.edu>.
15371
15372 2010-04-10  Jim Meyering  <meyering@redhat.com>
15373
15374         maint.mk: new syntax-check rule: prohibit empty lines at end of file
15375         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
15376
15377         maint.mk: correct a diagnostic
15378         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
15379         in diagnostic; now use $prohibit.
15380
15381 2010-04-10  Bruno Haible  <address@hidden>
15382
15383         fchownat: Fix a C++ test error on Solaris 8.
15384         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
15385         the function does not exist.
15386
15387 2010-04-10  Bruno Haible  <bruno@clisp.org>
15388
15389         vasnprintf: Add more tests.
15390         * tests/test-vasnprintf-posix.c: Include <errno.h>.
15391         (test_function): Test converting an invalid wide string.
15392
15393         vasnprintf: Correct handling of unconvertible wide string arguments.
15394         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
15395         VASNPRINTF.
15396         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
15397         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
15398         smaller than the expected maximum need for the directive. Set errno to
15399         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
15400         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
15401         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
15402         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
15403         * modules/vasnprintf (Files): Add m4/printf.m4.
15404         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15405
15406 2010-04-10  Bruno Haible  <bruno@clisp.org>
15407
15408         vasnprintf: Fix crash in %ls directive.
15409         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
15410         string is passed as argument to %ls, with no precision and no width.
15411         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15412
15413 2010-04-10  Bruno Haible  <bruno@clisp.org>
15414
15415         vasnprintf: Fix multiple test failures on mingw.
15416         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
15417         _snprintf, or snwprintf, not _snwprintf.
15418
15419 2010-04-10  Bruno Haible  <bruno@clisp.org>
15420
15421         write: Fix a C++ test error on mingw.
15422         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
15423
15424 2010-04-10  Bruno Haible  <bruno@clisp.org>
15425
15426         vasnprintf test: Reduce code duplication.
15427         * tests/test-vasnprintf.c (test_function): New function, extracted from
15428         test_vasnprintf.
15429         (test_vasnprintf, test_asnprintf): Invoke it.
15430
15431 2010-04-10  Bruno Haible  <bruno@clisp.org>
15432
15433         strnlen: Fix warning in C++ mode on MacOS X.
15434         * lib/string.in.h (strnlen): Use the modern idiom.
15435         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
15436         defining strnlen as a macro already in <config.h>.
15437         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15438         REPLACE_STRNLEN.
15439         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
15440         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15441
15442 2010-04-08  James Youngman  <jay@gnu.org>
15443
15444         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
15445         the example.
15446
15447 2010-04-09  Jim Meyering  <meyering@redhat.com>
15448
15449         maint.mk: print better diagnostic when there is no $(_hv_file)
15450         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
15451         announce that when $(_hv_file) (aka help-version) does not exist.
15452
15453         init.sh: run tr in the "C" locale to avoid multibyte interpretation
15454         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
15455         not try to interpret its random input bytes.  Jarno Rajahalme reported
15456         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
15457         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
15458         (mktempd_): Likewise, just in case.
15459
15460         ftruncate: add two years to projected module removal date: 2012
15461         * m4/ftruncate.m4: Adjust comments.
15462
15463         ftruncate: mark module as obsolete; even MinGW provides it, now
15464         * modules/ftruncate (Status): Obsolete.
15465         (Notice): Say that.
15466         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
15467         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
15468
15469 2010-04-08  Bruno Haible  <bruno@clisp.org>
15470
15471         Fix side effects from tests-related modules.
15472         * modules/dprintf-posix (Comment): New section.
15473         * modules/fprintf-posix (Comment): Likewise.
15474         * modules/obstack-printf-posix (Comment): Likewise.
15475         * modules/printf-posix (Comment): Likewise.
15476         * modules/snprintf-posix (Comment): Likewise.
15477         * modules/sprintf-posix (Comment): Likewise.
15478         * modules/vasnprintf-posix (Comment): Likewise.
15479         * modules/vasprintf-posix (Comment): Likewise.
15480         * modules/vdprintf-posix (Comment): Likewise.
15481         * modules/vfprintf-posix (Comment): Likewise.
15482         * modules/vprintf-posix (Comment): Likewise.
15483         * modules/vsnprintf-posix (Comment): Likewise.
15484         * modules/vsprintf-posix (Comment): Likewise.
15485         * modules/xprintf-posix (Comment): Likewise.
15486         * modules/xvasprintf-posix (Comment): Likewise.
15487         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
15488         * modules/floorf-tests (Depends-on): Likewise.
15489         * modules/round-tests (Depends-on): Likewise.
15490         * modules/roundf-tests (Depends-on): Likewise.
15491         * modules/trunc-tests (Depends-on): Likewise.
15492         * modules/truncf-tests (Depends-on): Likewise.
15493         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
15494         'fprintf-posix' module is not present.
15495         * tests/test-floorf2.c (check): Likewise.
15496         * tests/test-trunc2.c (check): Likewise.
15497         * tests/test-truncf2.c (check): Likewise.
15498         * tests/test-round2.c (equal): Likewise.
15499         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15500
15501 2010-04-07  Karl Berry  <karl@gnu.org>
15502
15503         * config/srclist.txt,
15504         * config/srclistvars.sh,
15505         * config/srclist-update: doc fixes.
15506
15507 2010-04-07  Jim Meyering  <meyering@redhat.com>
15508
15509         maint.mk: add a PATH crosschecking syntax-check rule
15510         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
15511         Useful if you use a test like the one in help-version (coreutils,
15512         diffutils, grep, gzip) that ensures $(VERSION) matches what is
15513         printed by prog --version.
15514
15515 2010-04-06  Bruno Haible  <bruno@clisp.org>
15516
15517         Fix link error on mingw.
15518         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
15519         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
15520
15521 2010-04-06  Bruno Haible  <bruno@clisp.org>
15522
15523         Assume rmdir exists.
15524         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
15525
15526 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
15527
15528         doc: update users.txt
15529         * users.txt: Add gcal.
15530
15531 2010-04-06  Jim Meyering  <meyering@redhat.com>
15532
15533         init.sh: simply unset TMPDIR rather than risking env -i
15534         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
15535         although it probably works fine on all Unix-based systems, some
15536         systems (Cygwin?) cannot tolerate a totally cleared environment.
15537         Suggestion from Eric Blake.
15538
15539 2010-04-06  Jim Meyering  <meyering@redhat.com>
15540
15541         init.sh: portability fix: use env's POSIX-specified -i option not -u
15542         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
15543         than unportable env -u.  Solaris 5.11's env lacks support for -u.
15544
15545 2010-04-05  Bruno Haible  <bruno@clisp.org>
15546
15547         btowc: Work around Cygwin 1.7.2 bug.
15548         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
15549         does not map NUL to 0.
15550         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
15551
15552 2010-04-05  Bruno Haible  <bruno@clisp.org>
15553
15554         Make the multithread modules work on Cygwin 1.7.2.
15555         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
15556         imported symbols can be declared weak, so that it returns "no" on
15557         Cygwin 1.7.2.
15558
15559 2010-04-05  Bruno Haible  <bruno@clisp.org>
15560
15561         Use the module 'strncat'.
15562         * modules/unistr/u8-strncat (Depends-on): Add strncat.
15563
15564         Tests for module 'strncat'.
15565         * modules/strncat-tests: New file.
15566         * tests/test-strncat.c: New file.
15567
15568         New module 'strncat'.
15569         * lib/string.in.h (strncat): New declaration.
15570         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
15571         * m4/strncat.m4: New file, based on m4/memchr.m4.
15572         * modules/strncat: New file.
15573         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
15574         is declared.
15575         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
15576         REPLACE_STRNCAT.
15577         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
15578         REPLACE_STRNCAT.
15579         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
15580         module.
15581         * tests/test-string-c++.cc: Check signature of strncat.
15582
15583 2010-04-05  Jim Meyering  <meyering@redhat.com>
15584
15585         xstrtoumax-tests: convert to use init.sh
15586         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
15587         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15588         Use Exit, not exit.
15589         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15590
15591         xstrtoimax-tests: convert to use init.sh
15592         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
15593         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15594         Use Exit, not exit.
15595         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15596
15597 2010-04-05  Bruno Haible  <bruno@clisp.org>
15598
15599         sys_socket: Avoid #define replacements in C++ mode.
15600         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
15601         warning to the function if possible, rather than #defining the symbol
15602         to a dysfunctional alias.
15603
15604 2010-04-05  Bruno Haible  <bruno@clisp.org>
15605
15606         fseeko: Fix C++ test error on mingw.
15607         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
15608         gl_FUNC_FSEEKO.
15609         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
15610         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
15611         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
15612         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
15613
15614 2010-04-05  Bruno Haible  <bruno@clisp.org>
15615
15616         duplocale: Improve test output.
15617         * tests/test-duplocale.c (main): Print reason for skipped test.
15618
15619 2010-04-05  Bruno Haible  <bruno@clisp.org>
15620
15621         Assume rmdir exists.
15622         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
15623         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
15624
15625 2010-04-05  Bruno Haible  <bruno@clisp.org>
15626
15627         Fix link error on Solaris 8 with cc.
15628         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
15629
15630 2010-04-05  Bruno Haible  <bruno@clisp.org>
15631
15632         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15633         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
15634
15635 2010-04-05  Bruno Haible  <bruno@clisp.org>
15636
15637         vasprintf: Update documentation.
15638         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
15639
15640 2010-04-05  Bruno Haible  <bruno@clisp.org>
15641
15642         ptsname: Improve test.
15643         * tests/test-ptsname.c (main): Also try the various master names of BSD
15644         systems.
15645
15646 2010-04-05  Bruno Haible  <bruno@clisp.org>
15647
15648         memchr: Avoid a possible C++ test error.
15649         * lib/string.in.h (memchr): Provide declaration if function is missing.
15650         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
15651         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
15652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
15653         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
15654
15655 2010-04-05  Bruno Haible  <bruno@clisp.org>
15656
15657         strtok_r: Improve idiom.
15658         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
15659         AC_LIBOBJ is used.
15660
15661 2010-04-05  Bruno Haible  <bruno@clisp.org>
15662
15663         strdup: Improve idiom.
15664         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
15665         AC_LIBOBJ is used.
15666         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
15667         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
15668         when AC_LIBOBJ is used.
15669
15670 2010-04-05  Bruno Haible  <bruno@clisp.org>
15671
15672         mbsinit, mbrtowc, wcrtomb: Improve idioms.
15673         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
15674         don't set REPLACE_MBSINIT to 1.
15675         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
15676         don't set REPLACE_MBRTOWC to 1.
15677         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
15678         exist, don't set REPLACE_MBSRTOWCS to 1.
15679         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
15680         exist, don't set REPLACE_MBSNRTOWCS to 1.
15681         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
15682         don't set REPLACE_WCRTOMB to 1.
15683         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
15684         exist, don't set REPLACE_WCSRTOMBS to 1.
15685         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
15686         exist, don't set REPLACE_WCSNRTOMBS to 1.
15687
15688 2010-04-05  Bruno Haible  <bruno@clisp.org>
15689
15690         ldexpl: Improve idiom.
15691         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
15692         make sure to set HAVE_DECL_LDEXPL to 0.
15693
15694 2010-04-05  Jim Meyering  <meyering@redhat.com>
15695
15696         xstrtol-tests: convert to use init.sh
15697         * modules/xstrtol-tests (Files): Add tests/init.sh.
15698         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15699         Use Exit, not exit.
15700         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15701
15702         atexit-tests: convert to use init.sh
15703         * modules/atexit-tests (Files): Add tests/init.sh.
15704         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15705         Use Exit, not exit.
15706         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15707
15708         init.sh: fix typo
15709         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
15710
15711         init.sh: make it easier for a test script to write to the tty, ...
15712         when using automake's parallel-tests mode.
15713         * tests/init.sh (stderr_fileno_): Define overridable variable.
15714         (warn_): New function, to use it.
15715         (fail_, skip_, framework_failure_): Use warn_.
15716
15717 2010-04-04  Bruno Haible  <bruno@clisp.org>
15718
15719         btowc: Avoid warning.
15720         * lib/btowc.c: Include <stdlib.h>.
15721         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
15722
15723 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15724             Bruno Haible  <bruno@clisp.org>
15725
15726         wchar: Port to NetBSD 1.5.
15727         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
15728         * lib/wctype.in.h (WEOF): Likewise.
15729
15730 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15731             Bruno Haible  <bruno@clisp.org>
15732
15733         Port extended stdio to NetBSD 1.5.
15734         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
15735         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
15736         older.
15737
15738 2010-04-04  Bruno Haible  <bruno@clisp.org>
15739
15740         string: Remove unused substitution.
15741         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
15742         HAVE_DECL_STRERROR.
15743         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
15744
15745 2010-04-04  Bruno Haible  <bruno@clisp.org>
15746
15747         strtod: Avoid a possible C++ test error.
15748         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
15749         set REPLACE_STRTOD.
15750
15751 2010-04-04  Bruno Haible  <bruno@clisp.org>
15752
15753         strerror: Update documentation.
15754         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
15755
15756 2010-04-04  Bruno Haible  <bruno@clisp.org>
15757
15758         stdio: Fix some C++ test errors on Solaris 8 with GCC.
15759         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
15760         _GL_CXXALIAS_SYS_CAST.
15761
15762 2010-04-04  Bruno Haible  <bruno@clisp.org>
15763
15764         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15765         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
15766         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
15767         REPLACE_FREXPL to 1.
15768         * doc/posix-functions/frexpl.texi: Update documentation.
15769
15770 2010-04-04  Bruno Haible  <bruno@clisp.org>
15771
15772         math: Fix some C++ test errors on Solaris 8 and Cygwin.
15773         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
15774
15775 2010-04-04  Bruno Haible  <bruno@clisp.org>
15776
15777         Implement nanosleep for native Windows.
15778         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
15779
15780 2010-04-04  Bruno Haible  <bruno@clisp.org>
15781
15782         math: Fix some C++ test errors on Solaris 8.
15783         * lib/math.in.h (truncf, trunc): Use simpler idiom.
15784
15785 2010-04-04  Bruno Haible  <bruno@clisp.org>
15786
15787         math: Fix some C++ test errors on Cygwin.
15788         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
15789         truncl): Provide declaration if the system does not have it.
15790         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
15791         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
15792         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
15793         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
15794         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
15795         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
15796         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
15797         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
15798         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
15799         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
15800         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
15801         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
15802         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
15803         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
15804         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
15805         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
15806         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
15807         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15808         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15809         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
15810         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15811         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15812
15813 2010-04-04  Bruno Haible  <bruno@clisp.org>
15814
15815         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
15816         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15817         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15818         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15819         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
15820         * m4/isinf.m4 (gl_ISINF): Likewise.
15821         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15822
15823 2010-04-04  Bruno Haible  <bruno@clisp.org>
15824
15825         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
15826         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15827
15828 2010-04-04  Bruno Haible  <bruno@clisp.org>
15829
15830         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
15831         * modules/tmpfile (configure.ac): Update.
15832
15833         tmpfile: Fix C++ test error on mingw.
15834         * lib/stdio.in.h (tmpfile): New declaration.
15835         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
15836         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
15837         * modules/tmpfile (Depends-on): Add stdio.
15838         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
15839         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
15840         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
15841         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
15842         REPLACE_TMPFILE.
15843         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
15844
15845 2010-04-04  Bruno Haible  <bruno@clisp.org>
15846
15847         ioctl: Fix C++ test error on mingw.
15848         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
15849         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
15850         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
15851
15852 2010-04-03  Bruno Haible  <bruno@clisp.org>
15853
15854         wcwidth: Fix C++ test error on mingw.
15855         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
15856         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
15857         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
15858
15859 2010-04-03  Bruno Haible  <bruno@clisp.org>
15860
15861         nanosleep: Fix C++ test error on mingw.
15862         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
15863         * lib/time.in.h (nanosleep): Use modern idiom.
15864         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
15865         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
15866         REPLACE_NANOSLEEP to 1.
15867         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
15868         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
15869
15870 2010-04-03  Bruno Haible  <bruno@clisp.org>
15871
15872         strptime: Fix C++ test error on mingw.
15873         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
15874         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
15875         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
15876         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
15877         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
15878         not REPLACE_STRPTIME.
15879         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
15880         REPLACE_STRPTIME.
15881
15882 2010-04-03  Bruno Haible  <bruno@clisp.org>
15883
15884         timegm: Fix C++ test error on mingw.
15885         * lib/time.in.h (timegm): Use modern idiom.
15886         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
15887         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
15888         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
15889         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
15890
15891 2010-04-03  Bruno Haible  <bruno@clisp.org>
15892
15893         timegm: Assume declaration if function exists.
15894         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
15895         if it exists. Don't clobber ac_cv_func_timegm.
15896
15897 2010-04-03  Bruno Haible  <bruno@clisp.org>
15898
15899         time_r: Fix C++ test error on mingw.
15900         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
15901         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
15902         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
15903         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
15904         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
15905
15906 2010-04-03  Bruno Haible  <bruno@clisp.org>
15907
15908         time_r: Minor updates.
15909         * modules/time_r (Description): Mention the provided functions.
15910         * lib/time_r.c: Don't include <string.h>.
15911         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
15912         * doc/posix-functions/localtime_r.texi: Likewise.
15913
15914 2010-04-03  Bruno Haible  <bruno@clisp.org>
15915
15916         time: Fix regression introduced on 2010-03-08.
15917         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
15918         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
15919
15920 2010-04-03  Jim Meyering  <meyering@redhat.com>
15921
15922         maint.mk: don't silently disable project-specific syntax-check rules
15923         * top/maint.mk (_prohibit_regexp): Define, to help people realize
15924         that they need to convert their project-specific syntax-check rules
15925         to use the new _sc_search_regexp.
15926
15927 2010-04-03  Bruno Haible  <bruno@clisp.org>
15928
15929         fchdir: Fix regression introduced on 2010-03-08.
15930         * lib/unistd.in.h (fchdir): Fix declaration.
15931         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
15932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
15933         REPLACE_FCHDIR.
15934         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
15935         REPLACE_FCHDIR.
15936
15937 2010-04-03  Bruno Haible  <bruno@clisp.org>
15938
15939         getpagesize: Fix C++ test error on mingw.
15940         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
15941         system does not declare the function.
15942         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
15943         declared.
15944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15945         HAVE_DECL_GETPAGESIZE.
15946         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
15947
15948 2010-04-03  Bruno Haible  <bruno@clisp.org>
15949
15950         stdio: Make C++ tests work on mingw.
15951         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
15952         does not declare the function.
15953
15954 2010-04-03  Bruno Haible  <bruno@clisp.org>
15955
15956         ftello: Fix C++ test error on mingw.
15957         * lib/stdio.in.h (ftello): Use modern idiom.
15958         * lib/ftello.c (ftello): Renamed from rpl_ftello.
15959         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
15960         is missing and that it needs to be replaced.
15961         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
15962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
15963         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
15964
15965 2010-04-03  Bruno Haible  <bruno@clisp.org>
15966
15967         fseeko: Fix C++ test error on mingw.
15968         * lib/stdio.in.h (fseeko): Use modern idiom.
15969         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
15970         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15971         is missing and that it needs to be replaced.
15972         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15974         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15975
15976 2010-04-03  Bruno Haible  <bruno@clisp.org>
15977
15978         mkstemp: Fix C++ test error on mingw.
15979         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15980         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15981         function is missing and that it needs to be replaced.
15982         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15983         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15984
15985 2010-04-03  Bruno Haible  <bruno@clisp.org>
15986
15987         stpncpy: Fix C++ test error on mingw.
15988         * lib/string.in.h (stpncpy): Use modern idiom.
15989         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15990         function is missing and that it needs to be replaced.
15991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15992         REPLACE_STPNCPY.
15993         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15994
15995 2010-04-03  Bruno Haible  <bruno@clisp.org>
15996
15997         sys_stat: Fix C++ test error on mingw.
15998         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15999         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
16000
16001 2010-04-03  Bruno Haible  <bruno@clisp.org>
16002
16003         pty: Update doc.
16004         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
16005
16006 2010-04-03  Bruno Haible  <bruno@clisp.org>
16007
16008         unistd: Fix C++ test error on mingw.
16009         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
16010
16011 2010-04-03  Bruno Haible  <bruno@clisp.org>
16012
16013         Update doc regarding mingw.
16014         * doc/glibc-functions/openpty.texi: Update regarding mingw.
16015         * doc/glibc-functions/login_tty.texi: Likewise.
16016         * doc/glibc-functions/forkpty.texi: Likewise.
16017
16018 2010-04-03  Bruno Haible  <bruno@clisp.org>
16019
16020         stdlib: Avoid compilation failure of c-strtold on mingw.
16021         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
16022
16023 2010-04-03  Bruno Haible  <bruno@clisp.org>
16024
16025         locale: Make C++ tests work on Cygwin and mingw.
16026         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
16027         cannot provide the function.
16028         Reported by Simon Josefsson.
16029
16030 2010-04-03  Bruno Haible  <bruno@clisp.org>
16031
16032         localename: Port to MacOS X 10.6.
16033         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
16034         memory layout of the locales in MacOS X 10.6 as well.
16035         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
16036
16037 2010-04-02  Bruno Haible  <bruno@clisp.org>
16038
16039         gnulib-tool: Ensure that long-running tests are executed last.
16040         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
16041         running tests after the one for the other tests.
16042
16043 2010-04-02  Bruno Haible  <bruno@clisp.org>
16044
16045         gnulib-tool: Ensure the tests in the main directory are executed first.
16046         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
16047         start with the current directory.
16048
16049 2010-04-02  Bruno Haible  <bruno@clisp.org>
16050
16051         Tests for module 'havelib', moved here from GNU gettext.
16052         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
16053         modifications.
16054         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
16055         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
16056         with modifications.
16057         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
16058         modifications.
16059         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
16060         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
16061         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
16062         with modifications.
16063         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
16064         with modifications.
16065         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
16066         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
16067         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
16068         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
16069         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
16070         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
16071         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
16072         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
16073         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
16074         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
16075         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
16076         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
16077         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
16078         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
16079         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
16080         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
16081         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
16082         with modifications.
16083         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
16084         with modifications.
16085         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
16086         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
16087         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
16088         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
16089         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
16090         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
16091         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
16092         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
16093         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
16094         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
16095         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
16096         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
16097         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
16098         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
16099         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
16100         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
16101         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
16102         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
16103         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
16104         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
16105         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
16106         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
16107         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
16108         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
16109         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
16110         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
16111         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
16112         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
16113         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
16114         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
16115         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
16116         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
16117         * tests/havelib/rpathx/rpathx.c: New file, from
16118         gettext/autoconf-lib-link.
16119         * tests/havelib/rpathx/Makefile.am: New file, from
16120         gettext/autoconf-lib-link.
16121         * tests/havelib/rpathx/configure.ac: New file, from
16122         gettext/autoconf-lib-link with modifications.
16123         * tests/havelib/rpathy/rpathy.c: New file, from
16124         gettext/autoconf-lib-link.
16125         * tests/havelib/rpathy/Makefile.am: New file, from
16126         gettext/autoconf-lib-link.
16127         * tests/havelib/rpathy/configure.ac: New file, from
16128         gettext/autoconf-lib-link with modifications.
16129         * tests/havelib/rpathz/rpathz.c: New file, from
16130         gettext/autoconf-lib-link.
16131         * tests/havelib/rpathz/Makefile.am: New file, from
16132         gettext/autoconf-lib-link.
16133         * tests/havelib/rpathz/configure.ac: New file, from
16134         gettext/autoconf-lib-link with modifications.
16135         * tests/havelib/rpathlx/usex.c: New file, from
16136         gettext/autoconf-lib-link.
16137         * tests/havelib/rpathlx/Makefile.am: New file, from
16138         gettext/autoconf-lib-link.
16139         * tests/havelib/rpathlx/configure.ac: New file, from
16140         gettext/autoconf-lib-link with modifications.
16141         * tests/havelib/rpathly/usey.c: New file, from
16142         gettext/autoconf-lib-link.
16143         * tests/havelib/rpathly/Makefile.am: New file, from
16144         gettext/autoconf-lib-link.
16145         * tests/havelib/rpathly/configure.ac: New file, from
16146         gettext/autoconf-lib-link with modifications.
16147         * tests/havelib/rpathlz/usez.c: New file, from
16148         gettext/autoconf-lib-link.
16149         * tests/havelib/rpathlz/Makefile.am: New file, from
16150         gettext/autoconf-lib-link.
16151         * tests/havelib/rpathlz/configure.ac: New file, from
16152         gettext/autoconf-lib-link with modifications.
16153         * tests/havelib/rpathlyx/usey.c: New file, from
16154         gettext/autoconf-lib-link.
16155         * tests/havelib/rpathlyx/Makefile.am: New file, from
16156         gettext/autoconf-lib-link.
16157         * tests/havelib/rpathlyx/configure.ac: New file, from
16158         gettext/autoconf-lib-link with modifications.
16159         * tests/havelib/rpathlzyx/usez.c: New file, from
16160         gettext/autoconf-lib-link.
16161         * tests/havelib/rpathlzyx/Makefile.am: New file, from
16162         gettext/autoconf-lib-link.
16163         * tests/havelib/rpathlzyx/configure.ac: New file, from
16164         gettext/autoconf-lib-link with modifications.
16165         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
16166         with modifications.
16167
16168 2010-04-02  Bruno Haible  <bruno@clisp.org>
16169
16170         gnulib-tool: Create distributed built sources also for the tests.
16171         * gnulib-tool (func_create_testdir): Also generate distributed built
16172         sources in the tests directory.
16173
16174 2010-04-02  Bruno Haible  <bruno@clisp.org>
16175
16176         gnulib-tool: Obey user's environment variables.
16177         * gnulib-tool (func_create_testdir): When creating built sources,
16178         respect the environment variables for autoconf, automake, etc. given by
16179         the user.
16180
16181 2010-04-02  Bruno Haible  <bruno@clisp.org>
16182
16183         gnulib-tool: Provide the value of --m4-base to modules.
16184         * gnulib-tool (func_import, func_create_testdir): Emit a definition
16185         of gl_m4_base.
16186
16187 2010-04-02  Eric Blake  <eblake@redhat.com>
16188
16189         maint.mk: fix some fallout
16190         * NEWS: Document the incompatible change, and its effect on cfg.mk.
16191         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
16192
16193 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16194
16195         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
16196         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
16197         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
16198         (sc_cast_of_x_alloc_return_value): Likewise.
16199         (sc_cast_of_alloca_return_value): Likewise.
16200         (sc_space_tab): Likewise.
16201         (sc_prohibit_atoi_atof): Likewise.
16202         (sc_prohibit_magic_number_exit): Likewise.
16203         (sc_error_exit_success): Likewise.
16204         (sc_file_system): Likewise.
16205         (sc_prohibit_have_config_h): Likewise.
16206         (sc_require_config_h): Likewise.
16207         (sc_prohibit_HAVE_MBRTOWC): Likewise.
16208         (sc_obsolete_symbols): Likewise.
16209         (sc_changelog): Likewise.
16210         (sc_program_name): Likewise.
16211         (sc_the_the): Likewise.
16212         (sc_trailing_blank): Likewise.
16213         (sc_two_space_separator_in_usage): Likewise.
16214         (sc_useless_cpp_parens): Likewise.
16215         (sc_GPL_version): Likewise.
16216         (sc_GFDL_version): Likewise.
16217         (sc_texinfo_acronym): Likewise.
16218         (sc_prohibit_cvs_keyword): Likewise.
16219         (sc_prohibit_stat_st_blocks): Likewise.
16220         (sc_prohibit_S_IS_definition): Likewise.
16221         (sc_redundant_const): Likewise.
16222         (sc_makefile_TAB_only_indentation): Likewise.
16223         (sc_m4_quote_check): Likewise.
16224         (sc_makefile_path_separator_check): Likewise.
16225         (sc_copyright_check): Likewise.
16226         (sc_Wundef_boolean): Likewise.
16227         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
16228
16229         maint.mk: match 0 or more whitespace-before-function-call '('
16230         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
16231         that have zero or two-and-more spaces between the function name
16232         and the open parenthesis.
16233         (sc_error_message_warn_fatal): Likewise.
16234         (sc_error_message_uppercase): Likewise.
16235         (sc_error_message_period): Likewise.
16236
16237 2010-03-31  Eric Blake  <eblake@redhat.com>
16238
16239         maint.mk: check for [ as well as test
16240         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
16241         Based on a libvirt report by Matthias Bolte.
16242
16243         gnumakefile: don't squelch _version output
16244         * top/GNUmakefile (_version): Create one-shot dependency rather
16245         than using $(shell) when version must be regenerated.
16246         (_autoreconf): Run verbosely, by default.
16247
16248         sys_time: avoid compiler warnings
16249         * lib/sys_time.in.h (includes): Ensure gcc pragma is
16250         unconditional, fixing regression from 2010-03-29.
16251         Reported by Simon Josefsson.
16252
16253 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16254
16255         maint.mk: s/_header_without_use/_sc_header_without_use/
16256         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
16257         (sc_prohibit_assert_without_use): Use the new name.
16258         (sc_prohibit_close_stream_without_use): Likewise.
16259         (sc_prohibit_getopt_without_use): Likewise.
16260         (sc_prohibit_quotearg_without_use): Likewise.
16261         (sc_prohibit_quote_without_use): Likewise.
16262         (sc_prohibit_long_options_without_use): Likewise.
16263         (sc_prohibit_inttostr_without_use): Likewise.
16264         (sc_prohibit_ignore_value_without_use): Likewise.
16265         (sc_prohibit_error_without_use): Likewise.
16266         (sc_prohibit_xalloc_without_use): Likewise.
16267         (sc_prohibit_hash_without_use): Likewise.
16268         (sc_prohibit_hash_pjw_without_use): Likewise.
16269         (sc_prohibit_safe_read_without_use): Likewise.
16270         (sc_prohibit_argmatch_without_use): Likewise.
16271         (sc_prohibit_canonicalize_without_use): Likewise.
16272         (sc_prohibit_root_dev_ino_without_use): Likewise.
16273         (sc_prohibit_openat_without_use): Likewise.
16274         (sc_prohibit_c_ctype_without_use): Likewise.
16275         (sc_prohibit_signal_without_use): Likewise.
16276         (sc_prohibit_intprops_without_use): Likewise.
16277
16278 2010-03-30  Eric Blake  <eblake@redhat.com>
16279
16280         maint: improve module indicators
16281         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
16282         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
16283         columns, and avoid extra macro expansion.
16284
16285         fdopendir: work around FreeBSD bug
16286         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
16287         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
16288         * modules/dirent (Makefile.am): Substitute it.
16289         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
16290         declaration.
16291         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
16292         fix.
16293         Reported by Christian Weisgerber <naddy@mips.inka.de>.
16294
16295 2010-03-29  Bruno Haible  <bruno@clisp.org>
16296
16297         Emit #pragma system_header after the inclusion guard, not before.
16298         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
16299         guard that spans the entire file, not before. This enables an
16300         optimization in GCC's preprocessor.
16301         * lib/ctype.in.h: Likewise.
16302         * lib/dirent.in.h: Likewise.
16303         * lib/errno.in.h: Likewise.
16304         * lib/float.in.h: Likewise.
16305         * lib/getopt.in.h: Likewise.
16306         * lib/iconv.in.h: Likewise.
16307         * lib/langinfo.in.h: Likewise.
16308         * lib/locale.in.h: Likewise.
16309         * lib/math.in.h: Likewise.
16310         * lib/netdb.in.h: Likewise.
16311         * lib/netinet_in.in.h: Likewise.
16312         * lib/pty.in.h: Likewise.
16313         * lib/sched.in.h: Likewise.
16314         * lib/se-selinux.in.h: Likewise.
16315         * lib/search.in.h: Likewise.
16316         * lib/spawn.in.h: Likewise.
16317         * lib/stdarg.in.h: Likewise.
16318         * lib/stdint.in.h: Likewise.
16319         * lib/string.in.h: Likewise.
16320         * lib/strings.in.h: Likewise.
16321         * lib/sys_file.in.h: Likewise.
16322         * lib/sys_ioctl.in.h: Likewise.
16323         * lib/sys_time.in.h: Likewise.
16324         * lib/sys_times.in.h: Likewise.
16325         * lib/sys_utsname.in.h: Likewise.
16326         * lib/sys_wait.in.h: Likewise.
16327         * lib/sysexits.in.h: Likewise.
16328         * lib/wctype.in.h: Likewise.
16329
16330 2010-03-28  James Youngman  <jay@gnu.org>
16331
16332         save-cwd: don't leak a file descriptor when the caller execs.
16333         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
16334         saved file descriptor.
16335         * modules/save-cwd (Depends-on): Depend on cloexec.
16336
16337 2010-03-29  Bruno Haible  <bruno@clisp.org>
16338
16339         Remove vestiges of fts-lgpl module.
16340         * lib/fts_.h: Assume GNULIB_FTS is 1.
16341         * lib/fts.c: Likewise.
16342         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16343
16344 2010-03-28  Bruno Haible  <bruno@clisp.org>
16345
16346         Fix definition of tests witness macro.
16347         * gnulib-tool (func_import): Fix definition of witness macro.
16348
16349 2010-03-28  Bruno Haible  <bruno@clisp.org>
16350
16351         Fix ioctl's protoype on glibc systems.
16352         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
16353         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
16354         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
16355         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
16356         signature. If not, arrange to replace the ioctl function.
16357         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16358         REPLACE_IOCTL.
16359         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
16360         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
16361         Reported by Ludovic Courtès <ludo@gnu.org>.
16362
16363 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
16364
16365         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
16366         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
16367         made it so grep -r --include=GLOB* ... did not work.
16368
16369 2010-03-26  Jim Meyering  <meyering@redhat.com>
16370             Eric Blake  <eblake@redhat.com>
16371
16372         maint.mk: prohibit use of test's -o and -a operators
16373         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
16374
16375 2010-03-28  Bruno Haible  <bruno@clisp.org>
16376
16377         Remove unused GNULIB_XYZ macro definitions.
16378         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
16379         invocation.
16380
16381 2010-03-28  Bruno Haible  <bruno@clisp.org>
16382
16383         Mark privileged tests modules.
16384         * modules/idpriv-drop-tests (Status): New section.
16385         * modules/idpriv-droptemp-tests (Status): New section.
16386
16387 2010-03-28  Bruno Haible  <bruno@clisp.org>
16388
16389         Split C++ tests into separate tests modules.
16390         * modules/dirent-c++-tests: New file, extracted from
16391         modules/dirent-tests.
16392         * modules/dirent-tests: Depend on it.
16393         * modules/fcntl-h-c++-tests: New file, extracted from
16394         modules/fcntl-h-tests.
16395         * modules/fcntl-h-tests: Depend on it.
16396         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
16397         * modules/glob-tests: Depend on it.
16398         * modules/iconv-h-c++-tests: New file, extracted from
16399         modules/iconv-h-tests.
16400         * modules/iconv-h-tests: Depend on it.
16401         * modules/langinfo-c++-tests: New file, extracted from
16402         modules/langinfo-tests.
16403         * modules/langinfo-tests: Depend on it.
16404         * modules/locale-c++-tests: New file, extracted from
16405         modules/locale-tests.
16406         * modules/locale-tests: Depend on it.
16407         * modules/math-c++-tests: New file, extracted from modules/math-tests.
16408         * modules/math-tests: Depend on it.
16409         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
16410         * modules/pty-tests: Depend on it.
16411         * modules/search-c++-tests: New file, extracted from
16412         modules/search-tests.
16413         * modules/search-tests: Depend on it.
16414         * modules/signal-c++-tests: New file, extracted from
16415         modules/signal-tests.
16416         * modules/signal-tests: Depend on it.
16417         * modules/spawn-c++-tests: New file, extracted from
16418         modules/spawn-tests.
16419         * modules/spawn-tests: Depend on it.
16420         * modules/stdio-c++-tests: New file, extracted from
16421         modules/stdio-tests.
16422         * modules/stdio-tests: Depend on it.
16423         * modules/stdlib-c++-tests: New file, extracted from
16424         modules/stdlib-tests.
16425         * modules/stdlib-tests: Depend on it.
16426         * modules/string-c++-tests: New file, extracted from
16427         modules/string-tests.
16428         * modules/string-tests: Depend on it.
16429         * modules/sys_ioctl-c++-tests: New file, extracted from
16430         modules/sys_ioctl-tests.
16431         * modules/sys_ioctl-tests: Depend on it.
16432         * modules/sys_select-c++-tests: New file, extracted from
16433         modules/sys_select-tests.
16434         * modules/sys_select-tests: Depend on it.
16435         * modules/sys_socket-c++-tests: New file, extracted from
16436         modules/sys_socket-tests.
16437         * modules/sys_socket-tests: Depend on it.
16438         * modules/sys_stat-c++-tests: New file, extracted from
16439         modules/sys_stat-tests.
16440         * modules/sys_stat-tests: Depend on it.
16441         * modules/sys_time-c++-tests: New file, extracted from
16442         modules/sys_time-tests.
16443         * modules/sys_time-tests: Depend on it.
16444         * modules/time-c++-tests: New file, extracted from modules/time-tests.
16445         * modules/time-tests: Depend on it.
16446         * modules/unistd-c++-tests: New file, extracted from
16447         modules/unistd-tests.
16448         * modules/unistd-tests: Depend on it.
16449         * modules/wchar-c++-tests: New file, extracted from
16450         modules/wchar-tests.
16451         * modules/wchar-tests: Depend on it.
16452         * modules/wctype-c++-tests: New file, extracted from
16453         modules/wctype-tests.
16454         * modules/wctype-tests: Depend on it.
16455         Reported by Simon Josefsson.
16456
16457 2010-03-28  Bruno Haible  <bruno@clisp.org>
16458
16459         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
16460         * gnulib-tool (func_exists_module): New function, extracted from
16461         func_verify_module.
16462         (func_verify_module): Use it.
16463         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
16464         'foo' only if 'foo' exists.
16465         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
16466         module.
16467
16468 2010-03-28  Bruno Haible  <bruno@clisp.org>
16469
16470         gnulib-tool: Add support for special categories of tests.
16471         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
16472         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
16473         (func_usage): Document them.
16474         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
16475         inc_unportable_tests, inc_all_tests): New variables.
16476         (func_acceptable): Consider these variables.
16477         (func_modules_transitive_closure): Make it work when the 'Status' field
16478         consists of multiple words.
16479         (func_import): Store and restore the values of inc_cxx_tests,
16480         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
16481         inc_all_tests in gnulib-comp.m4.
16482         (func_create_testdir): Set inc_all_tests to true.
16483         * doc/gnulib.texi (Extra tests modules): New section.
16484         Suggested by Jim Meyering.
16485
16486 2010-03-28  Bruno Haible  <bruno@clisp.org>
16487
16488         ansi-c++-opt: Allow turning off the C++ build by default.
16489         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
16490         gl_CXX_CHOICE_DEFAULT_NO is defined.
16491         Requested by Eric Blake.
16492
16493 2010-03-28  Bruno Haible  <bruno@clisp.org>
16494
16495         unistd: Avoid #define replacements in C++ mode.
16496         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16497         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16498         setsockopt, shutdown, select): In C++, attach a warning to the function
16499         if possible, rather than #defining the symbol to a dysfunctional alias.
16500         Reported by John W. Eaton <jwe@gnu.org>.
16501
16502 2010-03-28  Bruno Haible  <bruno@clisp.org>
16503
16504         Fix link errors on mingw.
16505         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
16506         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
16507         $(LIBSOCKET).
16508         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
16509         $(LIBSOCKET).
16510
16511 2010-03-28  Bruno Haible  <bruno@clisp.org>
16512             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16513
16514         lib-ignore: Determine different options for different compilers.
16515         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
16516         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
16517         Add comments.
16518         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
16519         * NEWS: Mention the change.
16520
16521 2010-03-27  Bruno Haible  <bruno@clisp.org>
16522
16523         Remove unused GNULIB_XYZ macro definitions.
16524         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16525         * modules/fseek (configure.ac): Likewise.
16526         * modules/ioctl (configure.ac): Likewise.
16527         * modules/open (configure.ac): Likewise.
16528         * modules/stdlib-safer (configure.ac): Likewise.
16529
16530 2010-03-27  Bruno Haible  <bruno@clisp.org>
16531
16532         Add a remark about certain modules.
16533         * modules/malloc (Comment): New section.
16534         * modules/realloc (Comment): Likewise.
16535         * modules/sigpipe (Comment): Likewise.
16536
16537 2010-03-27  Bruno Haible  <bruno@clisp.org>
16538
16539         Resolve conflict between the two kinds of module indicators.
16540         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
16541         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
16542         * modules/canonicalize (configure.ac): Invoke
16543         gl_MODULE_INDICATOR_FOR_TESTS.
16544         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
16545         GNULIB_XYZ.
16546         * tests/test-dirent-c++.cc: Likewise.
16547         * tests/test-dirent-safer.c: Likewise.
16548         * tests/test-dup2.c: Likewise.
16549         * tests/test-fchdir.c: Likewise.
16550         * tests/test-fcntl-h-c++.cc: Likewise.
16551         * tests/test-getopt.c: Likewise.
16552         * tests/test-getopt.h: Likewise.
16553         * tests/test-langinfo-c++.cc: Likewise.
16554         * tests/test-locale-c++.cc: Likewise.
16555         * tests/test-math-c++.cc: Likewise.
16556         * tests/test-pty-c++.cc: Likewise.
16557         * tests/test-search-c++.cc: Likewise.
16558         * tests/test-signal-c++.cc: Likewise.
16559         * tests/test-spawn-c++.cc: Likewise.
16560         * tests/test-stdio-c++.cc: Likewise.
16561         * tests/test-stdlib-c++.cc: Likewise.
16562         * tests/test-string-c++.cc: Likewise.
16563         * tests/test-sys_ioctl-c++.cc: Likewise.
16564         * tests/test-sys_select-c++.cc: Likewise.
16565         * tests/test-sys_socket-c++.cc: Likewise.
16566         * tests/test-sys_stat-c++.cc: Likewise.
16567         * tests/test-sys_time-c++.cc: Likewise.
16568         * tests/test-time-c++.cc: Likewise.
16569         * tests/test-unistd-c++.cc: Likewise.
16570         * tests/test-wchar-c++.cc: Likewise.
16571         * tests/uninorm/test-u8-nfc.c: Likewise.
16572         * tests/uninorm/test-u8-nfd.c: Likewise.
16573         * tests/uninorm/test-u8-nfkc.c: Likewise.
16574         * tests/uninorm/test-u8-nfkd.c: Likewise.
16575         * tests/uninorm/test-u16-nfc.c: Likewise.
16576         * tests/uninorm/test-u16-nfd.c: Likewise.
16577         * tests/uninorm/test-u16-nfkc.c: Likewise.
16578         * tests/uninorm/test-u16-nfkd.c: Likewise.
16579         * tests/uninorm/test-u32-nfc.c: Likewise.
16580         * tests/uninorm/test-u32-nfc-big.c: Likewise.
16581         * tests/uninorm/test-u32-nfd.c: Likewise.
16582         * tests/uninorm/test-u32-nfd-big.c: Likewise.
16583         * tests/uninorm/test-u32-nfkc.c: Likewise.
16584         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
16585         * tests/uninorm/test-u32-nfkd.c: Likewise.
16586         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
16587         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16588
16589 2010-03-27  Bruno Haible  <bruno@clisp.org>
16590
16591         Distinguish two kinds of module indicators.
16592         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
16593         gl_MODULE_INDICATOR.
16594         (gl_MODULE_INDICATOR): New macro.
16595         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16596         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
16597         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16598         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16599         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16600         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16601         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16602         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16603         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16604         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16605         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16606         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16607         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16608         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16609         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16610         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16611         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16612         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16613         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16614         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16615         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16616         * modules/cloexec (configure.ac): Likewise.
16617         * modules/getopt-gnu (configure.ac): Likewise.
16618         * modules/uninorm/u8-normalize (configure.ac): Likewise.
16619         * modules/uninorm/u16-normalize (configure.ac): Likewise.
16620         * modules/uninorm/u32-normalize (configure.ac): Likewise.
16621         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
16622
16623 2010-03-27  Bruno Haible  <bruno@clisp.org>
16624
16625         New module description field 'Comment'.
16626         * gnulib-tool: New option --extract-comment.
16627         (func_usage): Document it.
16628         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
16629         (func_get_comment): New function.
16630         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
16631
16632 2010-03-27  Bruno Haible  <bruno@clisp.org>
16633
16634         Addendum to 2010-02-07 commit.
16635         * gnulib-tool (func_usage): Document --extract-applicability option.
16636
16637 2010-03-27  Bruno Haible  <bruno@clisp.org>
16638
16639         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
16640         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
16641         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
16642         rather than link errors.
16643
16644 2010-03-27  Bruno Haible  <bruno@clisp.org>
16645
16646         Avoid side effects from tests-related modules on the compilation of lib.
16647         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
16648         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
16649         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
16650         parameter. Emit into AM_CPPFLAGS a definition of the designated C
16651         macro.
16652         (func_import): Define a witness macro. Assign it a value that depends
16653         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
16654         tests-related modules.
16655         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
16656         Reported by Jim Meyering.
16657
16658 2010-03-27  Bruno Haible  <bruno@clisp.org>
16659
16660         Factorize common .m4 code.
16661         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
16662         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
16663         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
16664         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
16665         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16666         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
16667         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
16668         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16669         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16670         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16671         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
16672         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16673         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16674         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16675         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16676         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
16677         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16678         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16679         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16680         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
16681         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
16682         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16683         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16684         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16685         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16686         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16687         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
16688         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
16689         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
16690         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16691         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16692         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16693
16694 2010-03-27  Bruno Haible  <bruno@clisp.org>
16695
16696         Fix a compilation error on Cygwin with g++ >= 4.3.
16697         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
16698         if it is undefined or if we alias it to chmod.
16699         (lstat): Don't warn about the use of this function if it is undefined
16700         or if we alias it to stat.
16701         Reported by Simon Josefsson.
16702
16703 2010-03-27  Bruno Haible  <bruno@clisp.org>
16704
16705         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
16706         * modules/getlogin (configure.ac): Update.
16707
16708         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
16709         * modules/getlogin_r (configure.ac): Update.
16710
16711         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
16712         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
16713         * modules/inet_ntop (configure.ac): Update.
16714
16715         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
16716         * modules/inet_pton (configure.ac): Update.
16717
16718         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
16719         * modules/mbslen (configure.ac): Update.
16720
16721         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
16722         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
16723         * modules/forkpty (configure.ac): Update.
16724         * modules/openpty (configure.ac): Update.
16725
16726 2010-03-26  Simon Josefsson  <simon@josefsson.org>
16727
16728         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
16729         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
16730
16731 2010-03-25  Eric Blake  <eblake@redhat.com>
16732
16733         maint: use pragma consistently across replacement headers
16734         * lib/ctype.in.h (system_header): Hoist for consistent placement.
16735         * lib/dirent.in.h (system_header): Likewise.
16736         * lib/errno.in.h (system_header): Likewise.
16737         * lib/float.in.h (system_header): Likewise.
16738         * lib/getopt.in.h (system_header): Likewise.
16739         * lib/iconv.in.h (system_header): Likewise.
16740         * lib/inttypes.in.h (system_header): Likewise.
16741         * lib/langinfo.in.h (system_header): Likewise.
16742         * lib/locale.in.h (system_header): Likewise.
16743         * lib/math.in.h (system_header): Likewise.
16744         * lib/netdb.in.h (system_header): Likewise.
16745         * lib/netinet_in.in.h (system_header): Likewise.
16746         * lib/pty.in.h (system_header): Likewise.
16747         * lib/sched.in.h (system_header): Likewise.
16748         * lib/se-selinux.in.h (system_header): Likewise.
16749         * lib/search.in.h (system_header): Likewise.
16750         * lib/spawn.in.h (system_header): Likewise.
16751         * lib/stdarg.in.h (system_header): Likewise.
16752         * lib/stdint.in.h (system_header): Likewise.
16753         * lib/string.in.h (system_header): Likewise.
16754         * lib/strings.in.h (system_header): Likewise.
16755         * lib/sys_file.in.h (system_header): Likewise.
16756         * lib/sys_ioctl.in.h (system_header): Likewise.
16757         * lib/sys_socket.in.h (system_header): Likewise.
16758         * lib/sys_times.in.h (system_header): Likewise.
16759         * lib/sys_utsname.in.h (system_header): Likewise.
16760         * lib/sys_wait.in.h (system_header): Likewise.
16761         * lib/sysexits.in.h (system_header): Likewise.
16762         * lib/unistd.in.h (system_header): Likewise.
16763         * lib/wctype.in.h (system_header): Likewise.
16764
16765         arpa/inet: fix mingw compilation warning
16766         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
16767         Reported by Matthew Bolte.
16768
16769 2010-03-25  Bruno Haible  <bruno@clisp.org>
16770
16771         Avoid collision between gnulib wrapper and libintl wrapper.
16772         * lib/printf.c (printf): Don't define if a printf wrapper is already
16773         defined in intl/printf.c.
16774         Reported by Michel Boaventura <michel@michelboaventura.com>.
16775
16776 2010-03-25  Bruno Haible  <bruno@clisp.org>
16777
16778         Use ANSI C.
16779         * lib/readutmp.h (getutent): Provide ANSI C prototype.
16780
16781 2010-03-25  Bruno Haible  <bruno@clisp.org>
16782
16783         Minor formatting changes.
16784         * lib/acosl.c: Insert space before function argument list.
16785         * lib/argz.c: Likewise.
16786         * lib/asinl.c: Likewise.
16787         * lib/expl.c: Likewise.
16788         * lib/gen-uni-tables.c: Likewise.
16789         * lib/gettext.h: Likewise.
16790         * lib/glthread/lock.h: Likewise.
16791         * lib/tanl.c: Likewise.
16792         * lib/uniname/uniname.c: Likewise.
16793         * tests/test-idpriv-drop.c: Likewise.
16794         * tests/test-idpriv-droptemp.c: Likewise.
16795         * tests/test-lock.c: Likewise.
16796         * tests/test-tls.c: Likewise.
16797         * lib/argp-help.c: Insert space before function-like macro argument
16798         list.
16799         * lib/memcmp.c: Likewise.
16800         * tests/test-base64.c: Likewise.
16801         * lib/localename.c: Insert space before sizeof's argument list.
16802         * lib/safe-alloc.h: Likewise.
16803         * lib/file-set.h: Insert space before macro argument list.
16804         * tests/test-argp.c: Likewise.
16805         * lib/argp-namefrob.h: Insert space before function parameter list.
16806         * lib/getaddrinfo.c: Likewise.
16807         * lib/netdb.in.h: Likewise.
16808         * lib/parse-duration.h: Likewise.
16809         * lib/parse-duration.c: Likewise.
16810         * lib/poll.c: Likewise.
16811         * lib/select.c: Likewise.
16812         * lib/trim.h: Likewise.
16813         * tests/test-usleep.c: Likewise.
16814         * lib/ldexpl.c: Insert space before function parameter list and before
16815         function argument list.
16816         * lib/logl.c: Likewise.
16817         * lib/sqrtl.c: Likewise.
16818         * lib/trim.c: Likewise.
16819         * lib/cosl.c: Use GNU style indentation. Insert space before function
16820         argument list.
16821         * lib/sinl.c: Likewise.
16822         * lib/tsearch.c: Insert space after 'for'.
16823         Reported by Jim Meyering.
16824
16825 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
16826
16827         * maint.mk (sc_Wundef_boolean): Check for the presence of the
16828         config header before grepping, as it's not present before
16829         autoreconf/configure are run.  Reported by Simon Josefsson.
16830
16831 2010-03-23  Bruno Haible  <bruno@clisp.org>
16832
16833         pt_chown: Make it work with automake < 1.11.
16834         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
16835         Reported by Simon Josefsson.
16836
16837 2010-03-23  Bruno Haible  <bruno@clisp.org>
16838
16839         pt_chown: Don't depend on GPLed modules.
16840         * lib/pt_chown.c: Don't include idpriv.h.
16841         (main): Don't drop privileges.
16842         * modules/pt_chown (Depends-on): Remove idpriv-drop.
16843         Reported by Simon Josefsson.
16844
16845 2010-03-24  Simon Josefsson  <simon@josefsson.org>
16846
16847         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
16848         suggestions from karl@freefriends.org (Karl Berry).
16849
16850 2010-03-22  Eric Blake  <eblake@redhat.com>
16851
16852         gethostname: further tweaks
16853         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
16854         are overriding gethostname.
16855         Suggested by Bruno Haible.
16856
16857 2010-03-21  Bruno Haible  <bruno@clisp.org>
16858
16859         Fix comments.
16860         * lib/forkpty.c (rpl_forkpty): Fix comment.
16861         * lib/openpty.c (rpl_openpty): Likewise.
16862         Reported by Eric Blake.
16863
16864 2010-03-22  Eric Blake  <eblake@redhat.com>
16865
16866         gethostname: fix build on mingw
16867         * lib/unistd.in.h (includes): Work around fact that mingw
16868         <winsock2.h> re-includes <unistd.h>, by avoiding any
16869         redeclarations if we are being included by <winsock2.h>.
16870         Reported by Matthias Bolte.
16871
16872 2010-03-21  Bruno Haible  <bruno@clisp.org>
16873
16874         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16875         * lib/forkpty.c (forkpty): New replacement function, from glibc with
16876         modifications.
16877         * lib/pty.in.h (forkpty): Update declaration. Add comments.
16878         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
16879         provide the replacement.
16880         * modules/forkpty (Depends-on): Add openpty, login_tty.
16881         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
16882         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
16883         * doc/glibc-functions/forkpty.texi: More supported platforms.
16884         * config/srclist.txt: Add forkpty.c (commented).
16885
16886 2010-03-21  Bruno Haible  <bruno@clisp.org>
16887
16888         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
16889         (Makefile.am): Verify that PTY_LIB is defined.
16890
16891         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
16892
16893 2010-03-21  Bruno Haible  <bruno@clisp.org>
16894
16895         Tests for module 'login_tty'.
16896         * modules/login_tty-tests: New file.
16897         * tests/test-login_tty.c: New file.
16898
16899         New module 'login_tty'.
16900         * lib/login_tty.c: New file.
16901         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
16902         * modules/login_tty: New file.
16903         * doc/glibc-functions/login_tty.texi: Mention the new module.
16904
16905 2010-03-21  Bruno Haible  <bruno@clisp.org>
16906
16907         login_tty: Documentation.
16908         * doc/glibc-functions/login_tty.texi: New file.
16909         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
16910
16911 2010-03-21  Bruno Haible  <bruno@clisp.org>
16912
16913         pty: Consistent macro naming.
16914         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
16915         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
16916         * modules/pty (configure.ac): Update.
16917
16918 2010-03-21  Bruno Haible  <bruno@clisp.org>
16919
16920         Tests for openpty: Make stricter.
16921         * tests/test-openpty.c (main): Add test of canonical processing and
16922         erase.
16923         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
16924
16925         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16926         * lib/openpty.c (openpty): New replacement function.
16927         * lib/pty.in.h: Include <termios.h>.
16928         (openpty): Update declaration. Add comments.
16929         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
16930         is not declared, arrange to provide the replacement. Check for _getpty
16931         and posix_openpt.
16932         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
16933         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
16934         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
16935         * modules/pty-tests (test_pty_c___LDADD): New variable.
16936         * doc/glibc-functions/openpty.texi: More supported platforms.
16937
16938 2010-03-21  Bruno Haible  <bruno@clisp.org>
16939
16940         setenv: Tweaks.
16941         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
16942         the test program.
16943         * doc/posix-functions/setenv.texi: Update platforms list.
16944
16945 2010-03-21  Bruno Haible  <bruno@clisp.org>
16946
16947         New module 'unlockpt'.
16948         * lib/unlockpt.c: New file, from glibc with modifications.
16949         * m4/unlockpt.m4: New file.
16950         * modules/unlockpt: New file.
16951         * lib/stdlib.in.h (unlockpt): New declaration.
16952         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
16953         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
16954         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
16955         HAVE_UNLOCKPT.
16956         * doc/posix-functions/unlockpt.texi: Mention the new module.
16957         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
16958         * config/srclist.txt: Add unlockpt.c (commented).
16959
16960 2010-03-21  Jim Meyering  <meyering@redhat.com>
16961
16962         maint.mk: prohibit inclusion of "intprops.h" without use
16963         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
16964
16965 2010-03-21  Bruno Haible  <bruno@clisp.org>
16966
16967         New module 'grantpt'.
16968         * lib/grantpt.c: New file, from glibc with modifications.
16969         * m4/grantpt.m4: New file.
16970         * modules/grantpt: New file.
16971         * lib/stdlib.in.h (grantpt): New declaration.
16972         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16973         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16974         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16975         HAVE_GRANTPT.
16976         * doc/posix-functions/grantpt.texi: Mention the new module.
16977         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16978         * config/srclist.txt: Add grantpt.c (commented).
16979
16980 2010-03-21  Bruno Haible  <bruno@clisp.org>
16981
16982         New module 'pt_chown'.
16983         * lib/pt_chown.c: New file, from glibc with modifications.
16984         * lib/pty-private.h: New file, from glibc with modifications.
16985         * modules/pt_chown: New file.
16986         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16987
16988 2010-03-21  Bruno Haible  <bruno@clisp.org>
16989
16990         Tests for module 'ptsname'.
16991         * modules/ptsname-tests: New file.
16992         * tests/test-ptsname.c: New file.
16993
16994         New module 'ptsname'.
16995         * lib/ptsname.c: New file, from glibc with modifications.
16996         * m4/ptsname.m4: New file.
16997         * modules/ptsname: New file.
16998         * lib/stdlib.in.h (ptsname): New declaration.
16999         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
17000         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
17001         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
17002         HAVE_PTSNAME.
17003         * doc/posix-functions/ptsname.texi: Mention the new module.
17004         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
17005         * config/srclist.txt: Add ptsname.c (commented).
17006
17007 2010-03-21  Bruno Haible  <bruno@clisp.org>
17008
17009         Tests for module 'ttyname_r'.
17010         * modules/ttyname_r-tests: New file.
17011         * tests/test-ttyname_r.c: New file.
17012
17013         New module 'ttyname_r'.
17014         * lib/ttyname_r.c: New file.
17015         * m4/ttyname_r.m4: New file.
17016         * modules/ttyname_r: New file.
17017         * lib/unistd.in.h (ttyname_r): New declaration.
17018         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
17019         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
17020         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
17021         HAVE_TTYNAME_R.
17022         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
17023         * doc/posix-functions/ttyname_r.texi: Mention the new module.
17024
17025 2010-03-20  Bruno Haible  <bruno@clisp.org>
17026
17027         signal: Undefine macro definitions in C++ mode.
17028         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
17029         sigfillset): Undefine macro definitions from the system header in C++
17030         mode.
17031         Reported by John W. Eaton <jwe@gnu.org>.
17032
17033 2010-03-20  Bruno Haible  <bruno@clisp.org>
17034
17035         Ensure no #include statements inside extern "C" { ... }.
17036         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
17037         contain #include statements.
17038         * lib/time.in.h: Likewise.
17039
17040 2010-03-20  Bruno Haible  <bruno@clisp.org>
17041
17042         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
17043         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
17044         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
17045         Reported by John W. Eaton <jwe@gnu.org>.
17046
17047 2010-03-20  Bruno Haible  <bruno@clisp.org>
17048
17049         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
17050         Reported by Jim Meyering.
17051
17052 2010-03-20  Bruno Haible  <bruno@clisp.org>
17053
17054         pipe: Set errno upon failure.
17055         * lib/pipe.h: Specify that when -1 is returned, errno is set.
17056         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
17057         errno value in error message.
17058
17059 2010-03-20  Bruno Haible  <bruno@clisp.org>
17060             Jim Meyering  <meyering@redhat.com>
17061
17062         lchown: Avoid "unused variable" warning.
17063         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
17064
17065 2010-03-20  Bruno Haible  <bruno@clisp.org>
17066
17067         Work around unlink() bug on MacOS X 10.5.6.
17068         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
17069         attempting to unlink a parent directory.
17070         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
17071         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
17072         activate for the replacement function.
17073         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
17074
17075 2010-03-20  Bruno Haible  <bruno@clisp.org>
17076
17077         Fix link errors on Solaris 8.
17078         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
17079         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
17080
17081 2010-03-19  Jim Meyering  <meyering@redhat.com>
17082
17083         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
17084         The _LIBC implementation of build_range_exp correctly honors the
17085         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
17086         However, the non-_LIBC implementation would ignore that syntax-bit
17087         flag and return REG_ERANGE unconditionally.
17088         This change makes it honor that flag.
17089         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
17090         Make two pointer parameters "const".
17091         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
17092         (parse_bracket_exp): Update caller.
17093
17094         regex.m4: correct the reversed range endpoint ([b-a]) test
17095         * m4/regex.m4: When requiring that [b-a] evoke failure,
17096         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
17097         test pass once again for x86-based systems.
17098
17099 2010-03-19  Bruno Haible  <bruno@clisp.org>
17100
17101         scandir: Fix link error on Solaris 8.
17102         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
17103         macros.
17104
17105 2010-03-19  Bruno Haible  <bruno@clisp.org>
17106
17107         getusershell: Fix documentation.
17108         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
17109         module.
17110         * doc/glibc-functions/setusershell.texi: Likewise.
17111
17112         getusershell: Provide declaration, missing on Solaris 9.
17113         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
17114         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
17115         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
17116         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
17117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17118         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
17119         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
17120         HAVE_GETUSERSHELL.
17121         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
17122
17123 2010-03-19  Bruno Haible  <bruno@clisp.org>
17124
17125         wctype: Provide iswblank function.
17126         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
17127         exists and is fine.
17128         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
17129         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
17130         * tests/test-wctype.c (main): Re-enable the iswblank tests.
17131         * doc/posix-functions/iswblank.texi: Update.
17132
17133 2010-03-19  Bruno Haible  <bruno@clisp.org>
17134
17135         Tests of module 'pty' in C++ mode.
17136         * modules/pty-tests: New file.
17137         * tests/test-pty-c++.cc: New file.
17138         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17139
17140 2010-03-19  Eric Blake  <eblake@redhat.com>
17141
17142         logb: fix documentation
17143         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
17144         1.5 declaration bug.
17145
17146         forkpty, openpty: prefer glibc's const-safe prototype
17147         * lib/forkpty.c (rpl_forkpty): New file.
17148         * lib/openpty.c (rpl_openpty): Likewise.
17149         * modules/forkpty (Files): Distribute it.
17150         * modules/openpty (Files): Likewise.
17151         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
17152         check...
17153         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
17154         replacement for for non-const BSD signature.
17155         * modules/pty (Makefile.am): Substitute witnesses.
17156         * lib/pty.in.h (forkpty, openpty): Declare replacements.
17157         * tests/test-forkpty.c: Update signature check.
17158         * tests/test-openpty.c: Likewise.
17159         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
17160         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17161
17162         forkpty, openpty: split functions into new modules
17163         * modules/pty (Makefile.am): Substitute new witnesses.
17164         (Libraries): Move library detection...
17165         * modules/forkpty: ...into new module.
17166         * modules/openpty: Another new module.
17167         * modules/pty-tests: Rename and split...
17168         * modules/forkpty-tests: ...to this...
17169         * modules/openpty-tests: ...and this.
17170         * tests/test-pty.c: Rename and split...
17171         * tests/test-forkpty.c: ...to this...
17172         * tests/test-openpty.c: ...and this.
17173         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
17174         (gl_PTY): Split library searching...
17175         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
17176         (gl_FORKPTY, gl_OPENPTY): New macros.
17177         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
17178         * NEWS: Mention the split.
17179         * MODULES.html.sh (Misc): Document the modules.
17180         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
17181         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17182
17183         pty: improve replacement header
17184         * lib/pty.in.h: New file.
17185         * modules/pty (Files): Ship it.
17186         (Makefile.am): Always build replacement.
17187         * m4/pty.m4: Rename...
17188         * m4/pty_h.m4: ...to this.
17189         (gl_PTY): Modernize setting of witness macros; update check of
17190         forkpty to take proper advantage of cache.
17191         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
17192
17193         getopt: avoid compiler warning
17194         * lib/getopt.c (attribute_hidden): Remove unused macro.
17195
17196 2010-03-18  Bruno Haible  <bruno@clisp.org>
17197
17198         Fix link errors on Solaris 8.
17199         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
17200         * modules/search-tests (test_search_c___LDADD): Likewise.
17201         * modules/signal-tests (test_signal_c___LDADD): Likewise.
17202         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
17203         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
17204         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
17205         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
17206         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
17207         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
17208
17209 2010-03-18  Bruno Haible  <bruno@clisp.org>
17210
17211         Fix bug introduced on 2010-03-14.
17212         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
17213         (gl_SPAWN_H): Require it.
17214         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
17215         Reported by Simon Josefsson.
17216
17217 2010-03-18  Bruno Haible  <bruno@clisp.org>
17218
17219         Fix typo introduced on 2009-12-31.
17220         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
17221         posix_spawn_file_actions_adddup2.
17222
17223 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
17224         and Eric Blake  <eblake@redhat.com>
17225
17226         test-vc-list-files-git: make more robust
17227         * tests/test-vc-list-files-git.sh: Unset problematic environment
17228         variables.  Chain commands together.
17229
17230 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
17231
17232         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
17233         `AC_CHECK_DECL' invocation.
17234
17235 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
17236
17237         * lib/inttostr.c (inttostr): Make sure the invocation of verify
17238         appears before executable statements. Suggested by Petr Sumbera
17239         <Petr.Sumbera@Sun.COM>.
17240
17241 2010-03-14  Bruno Haible  <bruno@clisp.org>
17242
17243         * tests/test-flock.c (test_exclusive): Comment out a test that causes
17244         portability problems. Instead use a simpler test.
17245         (main): Check that invalid arguments are rejected only on Linux.
17246
17247 2010-03-14  Bruno Haible  <bruno@clisp.org>
17248
17249         Fix bug introduced on 2009-12-31.
17250         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17251         gl_PREREQ_SYS_H_WINSOCK2 always.
17252         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
17253         SYS_SOCKET_H variable.
17254         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
17255         Update comments.
17256         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
17257         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17258         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17259         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17260         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
17261
17262 2010-03-14  Bruno Haible  <bruno@clisp.org>
17263
17264         Fix values returned by sinl, cosl.
17265         * lib/trigl.h: Add specification comments.
17266         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
17267         that combines the values from the precomputed table with the values of
17268         the Chebyshev polynomials.
17269
17270 2010-03-14  Bruno Haible  <bruno@clisp.org>
17271
17272         Fix compilation error when modules 'posix_spawn[p]' are not used.
17273         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
17274         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
17275
17276 2010-03-14  Bruno Haible  <bruno@clisp.org>
17277
17278         Fix compilation error on mingw when module 'time_r' is not used.
17279         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
17280         is 1.
17281         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
17282         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17283         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
17284         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
17285
17286 2010-03-14  Bruno Haible  <bruno@clisp.org>
17287
17288         Fix compilation error with Sun C.
17289         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
17290         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
17291         instead of GCC specific ULONG_LONG_MAX.
17292         * lib/xstrtoll.c: Likewise.
17293         * lib/xstrtoull.c: Likewise.
17294
17295 2010-03-13  Bruno Haible  <bruno@clisp.org>
17296
17297         Allow the user to disable C++ code and tests.
17298         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
17299         (gl_PROG_ANSI_CXX): Require it.
17300
17301 2010-03-13  Bruno Haible  <bruno@clisp.org>
17302
17303         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
17304         cases.
17305
17306 2010-03-13  Bruno Haible  <bruno@clisp.org>
17307
17308         Test that gnulib does not break the standard C++ headers.
17309         * tests/test-locale-c++2.cc: New file.
17310         * modules/locale-tests (Files): Add it.
17311         (Makefile.am): Compile it for test-locale-c++.
17312         * tests/test-math-c++2.cc: New file.
17313         * modules/math-tests (Files): Add it.
17314         (Makefile.am): Compile it for test-math-c++.
17315         * tests/test-signal-c++2.cc: New file.
17316         * modules/signal-tests (Files): Add it.
17317         (Makefile.am): Compile it for test-signal-c++.
17318         * tests/test-stdio-c++2.cc: New file.
17319         * modules/stdio-tests (Files): Add it.
17320         (Makefile.am): Compile it for test-stdio-c++.
17321         * tests/test-stdlib-c++2.cc: New file.
17322         * modules/stdlib-tests (Files): Add it.
17323         (Makefile.am): Compile it for test-stdlib-c++.
17324         * tests/test-string-c++2.cc: New file.
17325         * modules/string-tests (Files): Add it.
17326         (Makefile.am): Compile it for test-string-c++.
17327         * tests/test-time-c++2.cc: New file.
17328         * modules/time-tests (Files): Add it.
17329         (Makefile.am): Compile it for test-time-c++.
17330         Reported by John W. Eaton <jwe@gnu.org>.
17331
17332 2010-03-13  Bruno Haible  <bruno@clisp.org>
17333
17334         * gnulib-tool (func_usage): Clarify which options are available for
17335         --create-testdir and --create-megatestdir.
17336
17337 2010-03-13  Bruno Haible  <bruno@clisp.org>
17338
17339         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
17340         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
17341         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
17342         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17343         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
17344         when appropriate.
17345         Reported by Jim Meyering.
17346
17347 2010-03-12  Simon Josefsson  <simon@josefsson.org>
17348
17349         * gnulib-tool (func_import): Explain origin of code.
17350
17351 2010-03-12  Bruno Haible  <bruno@clisp.org>
17352
17353         Fix problem with automake's definition of CXXLINK.
17354         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
17355         Reported by Simon Josefsson and Ludovic Courtès.
17356
17357 2010-03-12  Bruno Haible  <bruno@clisp.org>
17358
17359         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
17360         stable releases.
17361
17362 2010-03-11  Bruno Haible  <bruno@clisp.org>
17363
17364         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
17365         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
17366         whether the system provides one variant or multiple variants of the
17367         function.
17368         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
17369         C++ compilers.
17370         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
17371         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
17372         Reported by Jim Meyering.
17373
17374 2010-03-09  Simon Josefsson  <simon@josefsson.org>
17375
17376         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
17377
17378 2010-03-08  Bruno Haible  <bruno@clisp.org>
17379
17380         gnulib-tool: Add support for --libtool in --create-testdir.
17381         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
17382         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
17383
17384 2010-03-08  Eric Blake  <eblake@redhat.com>
17385
17386         gnulib-tool.texi: mention possibility of git submodule
17387         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
17388         submodules.
17389         * doc/.gitignore: Ignore another generated file.
17390
17391 2010-03-08  Karl Berry  <karl@gnu.org>
17392
17393         * doc/gnulib-tool.texi (VCS Issues): Mention third option
17394         of committing gnulib files while skipping others.
17395
17396 2010-03-07  Bruno Haible  <bruno@clisp.org>
17397
17398         Tests of module 'wctype' in C++ mode.
17399         * tests/test-wctype-c++.cc: New file.
17400         * modules/wctype-tests (Files): Add it and tests/signature.h.
17401         (Depends-on): Add ansi-c++-opt.
17402         (Makefile.am): Arrange to compile and run test-wctype-c++.
17403
17404         Tests of module 'wchar' in C++ mode.
17405         * tests/test-wchar-c++.cc: New file.
17406         * modules/wchar-tests (Files): Add it and tests/signature.h.
17407         (Depends-on): Add ansi-c++-opt.
17408         (Makefile.am): Arrange to compile and run test-wchar-c++.
17409         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
17410         gl_MODULE_INDICATOR.
17411
17412         Tests of module 'unistd' in C++ mode.
17413         * tests/test-unistd-c++.cc: New file.
17414         * modules/unistd-tests (Files): Add it and tests/signature.h.
17415         (Depends-on): Add ansi-c++-opt.
17416         (Makefile.am): Arrange to compile and run test-unistd-c++.
17417         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
17418         gl_MODULE_INDICATOR.
17419
17420         Tests of module 'time' in C++ mode.
17421         * tests/test-time-c++.cc: New file.
17422         * modules/time-tests (Files): Add it and tests/signature.h.
17423         (Depends-on): Add ansi-c++-opt.
17424         (Makefile.am): Arrange to compile and run test-time-c++.
17425         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17426
17427         Tests of module 'sys_time' in C++ mode.
17428         * tests/test-sys_time-c++.cc: New file.
17429         * modules/sys_time-tests (Files): Add it and tests/signature.h.
17430         (Depends-on): Add ansi-c++-opt.
17431         (Makefile.am): Arrange to compile and run test-sys_time-c++.
17432         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
17433         gl_MODULE_INDICATOR.
17434
17435         Tests of module 'sys_stat' in C++ mode.
17436         * tests/test-sys_stat-c++.cc: New file.
17437         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
17438         (Depends-on): Add ansi-c++-opt.
17439         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
17440         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
17441         gl_MODULE_INDICATOR.
17442
17443         Tests of module 'sys_socket' in C++ mode.
17444         * tests/test-sys_socket-c++.cc: New file.
17445         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
17446         (Depends-on): Add ansi-c++-opt.
17447         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
17448         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
17449         gl_MODULE_INDICATOR.
17450
17451         Tests of module 'sys_select' in C++ mode.
17452         * tests/test-sys_select-c++.cc: New file.
17453         * modules/sys_select-tests (Files): Add it and tests/signature.h.
17454         (Depends-on): Add ansi-c++-opt.
17455         (Makefile.am): Arrange to compile and run test-sys_select-c++.
17456         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
17457         gl_MODULE_INDICATOR.
17458
17459         Tests of module 'sys_ioctl' in C++ mode.
17460         * tests/test-sys_ioctl-c++.cc: New file.
17461         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
17462         (Depends-on): Add ansi-c++-opt.
17463         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
17464         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
17465         gl_MODULE_INDICATOR.
17466
17467         Tests of module 'string' in C++ mode.
17468         * tests/test-string-c++.cc: New file.
17469         * modules/string-tests (Files): Add it and tests/signature.h.
17470         (Depends-on): Add ansi-c++-opt.
17471         (Makefile.am): Arrange to compile and run test-string-c++.
17472         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
17473         gl_MODULE_INDICATOR.
17474
17475         Tests of module 'stdlib' in C++ mode.
17476         * tests/test-stdlib-c++.cc: New file.
17477         * modules/stdlib-tests (Files): Add it and tests/signature.h.
17478         (Depends-on): Add ansi-c++-opt.
17479         (Makefile.am): Arrange to compile and run test-stdlib-c++.
17480         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
17481         gl_MODULE_INDICATOR.
17482
17483         Tests of module 'stdio' in C++ mode.
17484         * tests/test-stdio-c++.cc: New file.
17485         * modules/stdio-tests (Files): Add it and tests/signature.h.
17486         (Depends-on): Add ansi-c++-opt.
17487         (Makefile.am): Arrange to compile and run test-stdio-c++.
17488         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
17489         gl_MODULE_INDICATOR.
17490
17491         Tests of module 'spawn' in C++ mode.
17492         * tests/test-spawn-c++.cc: New file.
17493         * modules/spawn-tests (Files): Add it and tests/signature.h.
17494         (Depends-on): Add ansi-c++-opt.
17495         (Makefile.am): Arrange to compile and run test-spawn-c++.
17496         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
17497         gl_MODULE_INDICATOR.
17498
17499         Tests of module 'signal' in C++ mode.
17500         * tests/test-signal-c++.cc: New file.
17501         * modules/signal-tests (Files): Add it and tests/signature.h.
17502         (Depends-on): Add ansi-c++-opt.
17503         (Makefile.am): Arrange to compile and run test-signal-c++.
17504         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
17505         gl_MODULE_INDICATOR.
17506
17507         Tests of module 'search' in C++ mode.
17508         * tests/test-search-c++.cc: New file.
17509         * modules/search-tests (Files): Add it and tests/signature.h.
17510         (Depends-on): Add ansi-c++-opt.
17511         (Makefile.am): Arrange to compile and run test-search-c++.
17512         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
17513         gl_MODULE_INDICATOR.
17514
17515         Tests of module 'math' in C++ mode.
17516         * tests/test-math-c++.cc: New file.
17517         * modules/math-tests (Files): Add it and tests/signature.h.
17518         (Depends-on): Add ansi-c++-opt.
17519         (Makefile.am): Arrange to compile and run test-math-c++.
17520         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17521
17522         Tests of module 'locale' in C++ mode.
17523         * tests/test-locale-c++.cc: New file.
17524         * modules/locale-tests (Files): Add it and tests/signature.h.
17525         (Depends-on): Add ansi-c++-opt.
17526         (Makefile.am): Arrange to compile and run test-locale-c++.
17527         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
17528         gl_MODULE_INDICATOR.
17529
17530         Tests of module 'langinfo' in C++ mode.
17531         * tests/test-langinfo-c++.cc: New file.
17532         * modules/langinfo-tests (Files): Add it and tests/signature.h.
17533         (Depends-on): Add ansi-c++-opt.
17534         (Makefile.am): Arrange to compile and run test-langinfo-c++.
17535         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
17536         gl_MODULE_INDICATOR.
17537
17538         Tests of module 'iconv-h' in C++ mode.
17539         * tests/test-iconv-h-c++.cc: New file.
17540         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
17541         (Depends-on): Add ansi-c++-opt.
17542         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
17543
17544         Tests of module 'glob' in C++ mode.
17545         * tests/test-glob-c++.cc: New file.
17546         * modules/glob-tests (Files): Add it.
17547         (Depends-on): Add ansi-c++-opt.
17548         (Makefile.am): Arrange to compile and run test-glob-c++.
17549
17550         Tests of module 'fcntl-h' in C++ mode.
17551         * tests/test-fcntl-h-c++.cc: New file.
17552         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
17553         (Depends-on): Add ansi-c++-opt.
17554         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
17555         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
17556         gl_MODULE_INDICATOR.
17557
17558         Tests of module 'dirent' in C++ mode.
17559         * tests/test-dirent-c++.cc: New file.
17560         * modules/dirent-tests (Files): Add it and tests/signature.h.
17561         (Depends-on): Add ansi-c++-opt.
17562         (Makefile.am): Arrange to compile and run test-dirent-c++.
17563         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17564         gl_MODULE_INDICATOR.
17565
17566         New module 'ansi-c++-opt'.
17567         * modules/ansi-c++-opt: New file.
17568         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
17569
17570         Document C++ namespace mode.
17571         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
17572
17573         wctype: Avoid #define replacements in C++ mode.
17574         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
17575         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
17576         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
17577         In C++, define a namespaced alias symbol.
17578         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
17579         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
17580         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
17581         rule.
17582
17583         wchar: Avoid #define replacements in C++ mode.
17584         * lib/wchar.in.h: Include c++defs.h.
17585         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
17586         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
17587         symbol.
17588         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
17589         * modules/wchar (Depends-on): Add c++defs.
17590         (Makefile.am): Update wchar.h rule.
17591
17592         unistd: Avoid #define replacements in C++ mode.
17593         * lib/unistd.in.h: Include c++defs.h.
17594         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
17595         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
17596         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
17597         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
17598         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
17599         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
17600         symbol.
17601         (environ): Update.
17602         * modules/unistd (Depends-on): Add c++defs.
17603         (Makefile.am): Update unistd.h rule.
17604
17605         time: Avoid #define replacements in C++ mode.
17606         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
17607         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
17608         define a namespaced alias symbol.
17609         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
17610         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
17611         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
17612         * modules/time (Depends-on): Add c++defs, warn-on-use.
17613         (Makefile.am): Update time.h rule.
17614         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17615         * modules/nanosleep (configure.ac): Likewise.
17616         * modules/strptime (configure.ac): Likewise.
17617         * modules/timegm (configure.ac): Likewise.
17618
17619         sys_time: Avoid #define replacements in C++ mode.
17620         * lib/sys_time.in.h: Include c++defs.h.
17621         (gettimeofday): In C++, define a namespaced alias symbol.
17622         * modules/sys_time (Depends-on): Add c++defs.
17623         (Makefile.am): Update sys/time.h rule.
17624
17625         sys_stat: Avoid #define replacements in C++ mode.
17626         * lib/sys_stat.in.h: Include c++defs.h.
17627         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
17628         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
17629         namespaced alias symbol.
17630         In C++, define a namespaced alias symbol.
17631         * modules/sys_stat (Depends-on): Add c++defs.
17632         (Makefile.am): Update sys/stat.h rule.
17633
17634         sys_socket: Avoid #define replacements in C++ mode.
17635         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
17636         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
17637         definitions also when the system has a <sys/socket.h>.
17638         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17639         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
17640         In C++, define a namespaced alias symbol.
17641         * modules/sys_socket (Depends-on): Add c++defs.
17642         (Makefile.am): Update sys/socket.h rule.
17643
17644         sys_select: Avoid #define replacements in C++ mode.
17645         * lib/sys_select.in.h: Include c++defs.h. Enable the function
17646         definitions also when the system has a <sys/select.h>.
17647         (select): In C++, define a namespaced alias symbol.
17648         * modules/sys_select (Depends-on): Add c++defs.
17649         (Makefile.am): Update sys/select.h rule.
17650
17651         sys_ioctl: Avoid #define replacements in C++ mode.
17652         * lib/sys_ioctl.in.h: Include c++defs.h.
17653         (ioctl): In C++, define a namespaced alias symbol.
17654         * modules/sys_ioctl (Depends-on): Add c++defs.
17655         (Makefile.am): Update sys/ioctl.h rule.
17656
17657         string: Avoid #define replacements in C++ mode.
17658         * lib/string.in.h: Include c++defs.h.
17659         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
17660         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17661         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17662         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
17663         strsignal, strverscmp): In C++, define a namespaced alias symbol.
17664         * modules/string (Depends-on): Add c++defs.
17665         (Makefile.am): Update string.h rule.
17666
17667         stdlib: Avoid #define replacements in C++ mode.
17668         * lib/stdlib.in.h: Include c++defs.h.
17669         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
17670         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
17671         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
17672         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
17673         symbol.
17674         * modules/stdlib (Depends-on): Add c++defs.
17675         (Makefile.am): Update stdlib.h rule.
17676
17677         stdio: Avoid #define replacements in C++ mode.
17678         * lib/stdio.in.h: Include c++defs.h.
17679         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
17680         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
17681         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
17682         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
17683         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
17684         namespaced alias symbol.
17685         * modules/stdio (Depends-on): Add c++defs.
17686         (Makefile.am): Update stdio.h rule.
17687
17688         spawn: Avoid #define replacements in C++ mode.
17689         * lib/spawn.in.h: Include c++defs.h.
17690         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17691         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17692         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17693         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17694         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17695         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17696         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17697         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17698         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17699         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17700         In C++, define a namespaced alias symbol.
17701         * modules/spawn (Depends-on): Add c++defs.
17702         (Makefile.am): Update spawn.h rule.
17703
17704         signal: Avoid #define replacements in C++ mode.
17705         * lib/signal.in.h: Include c++defs.h.
17706         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17707         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
17708         namespaced alias symbol.
17709         * modules/signal (Depends-on): Add c++defs.
17710         (Makefile.am): Update signal.h rule.
17711
17712         search: Avoid #define replacements in C++ mode.
17713         * lib/search.in.h: Include c++defs.h.
17714         (_gl_search_compar_fn, _gl_search_action_fn): New types.
17715         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
17716         symbol.
17717         * modules/search (Depends-on): Add c++defs.
17718         (Makefile.am): Update search.h rule.
17719
17720         math: Avoid #define replacements in C++ mode.
17721         * lib/math.in.h: Include c++defs.h.
17722         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
17723         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
17724         trunc, truncl): In C++, define a namespaced alias symbol.
17725         * modules/math (Depends-on): Add c++defs.
17726         (Makefile.am): Update math.h rule.
17727
17728         locale: Avoid #define replacements in C++ mode.
17729         * lib/locale.in.h: Include c++defs.h.
17730         (duplocale): In C++, define a namespaced alias symbol.
17731         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
17732         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
17733         * modules/locale (Depends-on): Add c++defs.
17734         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
17735
17736         langinfo: Avoid #define replacements in C++ mode.
17737         * lib/langinfo.in.h: Include c++defs.h.
17738         (nl_langinfo): In C++, define a namespaced alias symbol.
17739         * modules/langinfo (Depends-on): Add c++defs.
17740         (Makefile.am): Update langinfo.h rule.
17741
17742         iconv-h: Avoid #define replacements in C++ mode.
17743         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
17744         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
17745         symbol.
17746         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17747         whenever iconv is present.
17748         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
17749         (Makefile.am): Update iconv.h rule.
17750
17751         glob: Avoid #define replacements in C++ mode.
17752         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
17753         (_gl_glob_errfunc_fn): New type.
17754         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
17755         symbol.
17756         * modules/glob (Depends-on): Add c++defs, warn-on-use.
17757         (Makefile.am): Update glob.h rule.
17758
17759         fcntl-h: Avoid #define replacements in C++ mode.
17760         * lib/fcntl.in.h: Include c++defs.h.
17761         (fcntl, open, openat): In C++, define a namespaced alias symbol.
17762         * modules/fcntl-h (Depends-on): Add c++defs.
17763         (Makefile.am): Update fcntl.h rule.
17764
17765         dirent: Avoid #define replacements in C++ mode.
17766         * lib/dirent.in.h: Include c++defs.h.
17767         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
17768         namespaced alias symbol.
17769         (dirfd): Update declaration.
17770         * modules/dirent (Depends-on): Add c++defs.
17771         (Makefile.am): Update dirent.h rule.
17772
17773         ctype: Make it usable in C++ code.
17774         * lib/ctype.in.h: Include c++defs.h.
17775         (isblank): Declare as extern "C".
17776         * modules/ctype (Depends-on): Add c++defs.
17777         (Makefile.am): Update ctype.h rule.
17778
17779         New module 'c++defs'.
17780         * modules/c++defs: New file.
17781         * build-aux/c++defs.h: New file.
17782         Reported by John W. Eaton <jwe@gnu.org>.
17783
17784 2010-03-07  Bruno Haible  <bruno@clisp.org>
17785
17786         logb: Provide missing declaration for Cygwin.
17787         * lib/math.in.h (logb): New declaration.
17788         * m4/logb.m4: New file.
17789         * modules/logb (Files): Add m4/logb.m4.
17790         (Depends-on): Add math.
17791         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
17792         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
17793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
17794         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
17795         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
17796
17797 2010-03-07  Bruno Haible  <bruno@clisp.org>
17798
17799         Fix test-cond link error.
17800         * tests/test-cond.c: Include <stdio.h>.
17801
17802 2010-03-07  Bruno Haible  <bruno@clisp.org>
17803
17804         Fix test-dirent-safer link error.
17805         * modules/dirent-safer-tests (Makefile.am): Define
17806         test_dirent_safer_LDADD.
17807
17808 2010-03-07  Bruno Haible  <bruno@clisp.org>
17809
17810         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
17811         among default module list.
17812
17813 2010-03-07  Bruno Haible  <bruno@clisp.org>
17814
17815         Fix link error on platforms with GNU libiconv.
17816         * modules/unistr/u8-strcoll-tests (Makefile): Define
17817         test_u8_strcoll_LDADD.
17818         * modules/unistr/u16-strcoll-tests (Makefile): Define
17819         test_u16_strcoll_LDADD.
17820         * modules/unistr/u32-strcoll-tests (Makefile): Define
17821         test_u32_strcoll_LDADD.
17822
17823 2010-03-07  Bruno Haible  <bruno@clisp.org>
17824
17825         Use POSIX declarations for socket functions.
17826         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
17827         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
17828         rpl_sendto): Change declaration to match POSIX.
17829         * lib/connect.c (rpl_connect): Likewise.
17830         * lib/accept.c (rpl_accept): Likewise.
17831         * lib/bind.c (rpl_bind): Likewise.
17832         * lib/getpeername.c (rpl_getpeername): Likewise.
17833         * lib/getsockname.c (rpl_getsockname): Likewise.
17834         * lib/recv.c (rpl_recv): Likewise.
17835         * lib/send.c (rpl_send): Likewise.
17836         * lib/recvfrom.c (rpl_recvfrom): Likewise.
17837         * lib/sendto.c (rpl_sendto): Likewise.
17838
17839 2010-03-06  Bruno Haible  <bruno@clisp.org>
17840
17841         Clarify access, euidaccess, faccessat.
17842         * doc/posix-functions/faccessat.texi: Mention security problem under
17843         "Other problems", not "Portability problems".
17844         * doc/posix-functions/access.texi: Likewise. Mention a related security
17845         problem.
17846         * doc/glibc-functions/euidaccess.texi: Mention security problems.
17847         * lib/euidaccess.c: Add comments about platforms.
17848         * lib/unistd.in.h (access, euidaccess): Add warnings.
17849
17850 2010-03-07  Bruno Haible  <bruno@clisp.org>
17851
17852         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
17853         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
17854         (POSIX_SPAWN_SETSCHEDULER): Likewise.
17855         (POSIX_SPAWN_USEVFORK): Define in a way that works when
17856         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17857         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
17858         declare when POSIX_SPAWN_SETSCHEDULER is zero.
17859         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
17860         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
17861         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
17862         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
17863         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
17864         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
17865         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
17866         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
17867         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
17868         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
17869         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
17870         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
17871         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
17872         Likewise.
17873         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
17874         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
17875         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
17876         Likewise.
17877         * tests/test-spawn.c (main): Make it work when
17878         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17879
17880 2010-03-07  Bruno Haible  <bruno@clisp.org>
17881
17882         Fix incorrect Makefile.am generation in German locale.
17883         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17884         Execute sed command with character range in C locale.
17885
17886 2010-03-06  Bruno Haible  <bruno@clisp.org>
17887
17888         Tests for module 'iconv-h'.
17889         * modules/iconv-h-tests: New file.
17890         * tests/test-iconv-h.c: New file.
17891
17892         New module 'iconv-h'.
17893         * modules/iconv-h: New file.
17894         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
17895         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
17896         (configure.ac): Remove gl_ICONV_H.
17897         (Makefile.am): Remove rule for iconv.h.
17898
17899 2010-03-06  Bruno Haible  <bruno@clisp.org>
17900
17901         More consistent naming of *.m4 files.
17902         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
17903         * modules/wctype (Files): Update.
17904
17905         More consistent naming of *.m4 files.
17906         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
17907         * modules/wchar (Files): Update.
17908
17909 2010-03-06  Jim Meyering  <meyering@redhat.com>
17910
17911         euidaccess: relax license to LGPLv2+
17912         * modules/euidaccess (License): Relax to LGPLv2+.
17913
17914 2010-03-06  Bruno Haible  <bruno@clisp.org>
17915
17916         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
17917         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
17918         (Makefile.am): Augment lib_SOURCES instead.
17919
17920 2010-03-04  Jim Meyering  <meyering@redhat.com>
17921
17922         utime: remove obsolete module
17923         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
17924         unnecessary for years, and has been marked as obsolete for 10 months.
17925         * modules/utime: Remove file.
17926         * lib/utime.c: Remove file.
17927         * m4/utime.m4: Remove file.
17928         * m4/utimes-null.m4: Remove file.
17929         * doc/posix-functions/utime.texi (utime): Remove reference to
17930         the module.  Move the sole "fixed by gnulib" item into the
17931         "problems not fixed by Gnulib" list.
17932         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
17933
17934 2010-03-05  Simon Josefsson  <simon@josefsson.org>
17935
17936         * modules/exit (License): Relax license to LGPLv2+.
17937         (Status): Mark as obsolete.
17938         * NEWS: Mention deprecated 'exit' module.
17939         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
17940         of now obsolete 'exit'.
17941
17942 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17943
17944         fts-lgpl: remove unused module
17945         * modules/fts-lgpl: Remove.
17946         * MODULES.html.sh (func_all_modules): Adjust.
17947         * check-module (find_included_lib_files): Adjust.
17948         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
17949
17950 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
17951
17952         copy-acl: enhance Solaris ACL error handling
17953         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
17954         * lib/set-mode-acl.c (qset_acl): Likewise.
17955
17956 2010-03-02  Bruno Haible  <bruno@clisp.org>
17957
17958         spawn: Don't override the system defined values on FreeBSD 8.
17959         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
17960         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
17961         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
17962         if HAVE_POSIX_SPAWN is 1.
17963         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
17964
17965 2010-03-01  Bruno Haible  <bruno@clisp.org>
17966
17967         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
17968         regarding Automake.
17969
17970 2010-02-25  Bruno Haible  <bruno@clisp.org>
17971
17972         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17973         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17974         setting, not afterwards.
17975         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17976
17977 2010-02-24  Eric Blake  <eblake@redhat.com>
17978
17979         bootstrap, git-version-gen: use timestamp
17980         * build-aux/git-version-gen (scriptversion): Force UTC.
17981         * build-aux/bootstrap (scriptversion): New variable.
17982
17983         bootstrap: allow older git
17984         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17985         older than 1.6.4.  Requested by the libvirt project.
17986
17987 2010-02-23  Eric Blake  <eblake@redhat.com>
17988
17989         warn-on-use: work with old autoconf
17990         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17991         AS_VAR semantics of autoconf 2.60.
17992         Reported by Bruno Haible.
17993
17994         bootstrap: improve some comments
17995         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17996         clarification comments.
17997
17998         gettimeofday: provide correct function
17999         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
18000         when replacement is declared, otherwise provide gettimeofday.
18001         Reported by Michael Goffioul.
18002
18003 2010-02-23  Jim Meyering  <meyering@redhat.com>
18004
18005         lib-ignore: relax license to "unlimited", not LGPLv2+
18006         * modules/lib-ignore (License): Relax to "unlimited".
18007
18008 2010-02-23  Jim Meyering  <meyering@redhat.com>
18009
18010         lib-ignore: relax license to LGPLv2+
18011         * modules/lib-ignore (License): Relax to LGPLv2+.
18012
18013 2010-02-22  Eric Blake  <eblake@redhat.com>
18014
18015         lseek: avoid bash 3.2 broken pipe bug
18016         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
18017         warning from bash 3.2.
18018         Reported by Ben Pfaff, with analysis from Bruno Haible.
18019
18020         bootstrap: support non-FSF copyright holder
18021         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
18022         bootstrap.conf override of COPYRIGHT_HOLDER.
18023         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
18024
18025         bootstrap: interoperate with gettext 0.14.1
18026         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
18027
18028         bootstrap: allow for alternate submodule location
18029         * build-aux/bootstrap (gnulib_path): New variable; use instead of
18030         hardcoding submodule location.
18031         (gnulib_mk): Allow direct use of Makefile.am.
18032
18033         bootstrap: use GNULIB_SRCDIR to reduce disk usage
18034         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
18035         rather than reconfiguring where the submodule points.
18036
18037         gettimeofday: restore support for platforms that lack function
18038         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
18039         replacement if function is missing.
18040         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
18041         * modules/sys_time (Makefile.am): Substitute it.
18042         * lib/sys_time.in.h (gettimeofday): Check it.
18043         Reported by Michael Goffioul.
18044
18045 2010-02-21  Bruno Haible  <bruno@clisp.org>
18046
18047         * lib/stdio.in.h (obstack_printf): Fix typo.
18048
18049 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
18050
18051         vc-list-files: use bzr ls's -R option
18052         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
18053         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
18054
18055 2010-02-21  Jim Meyering  <meyering@redhat.com>
18056
18057         init.sh: fix EXEEXT shims to work also for names like test-prog
18058         * tests/init.sh: Re-exec a better shell, when needed.
18059         If the current shell lacks support for posix $(...), an init.sh-using
18060         test will now try to find a shell that supports that.  If EXEEXT is
18061         nonempty, we also require support for hyphen-in-alias-name and shell
18062         substitutions like ${var#glob}.  Failure to find such a shell results
18063         in a skipped test.
18064
18065 2010-02-21  Bruno Haible  <bruno@clisp.org>
18066
18067         Really work around around "broken pipe" error message from bash 3.2.
18068         * gnulib-tool (func_reset_sigpipe): Remove function.
18069         (echo): In bash 3.2, define to a function that uses printf.
18070         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
18071
18072 2010-02-20  Bruno Haible  <bruno@clisp.org>
18073
18074         Restore support for automake 1.9.6 with autoconf 2.61.
18075         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
18076         Reported by James Youngman <jay@gnu.org>.
18077
18078 2010-02-20  Bruno Haible  <bruno@clisp.org>
18079
18080         Improve *printf warning condition.
18081         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
18082         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
18083         and the function is overridden due to SIGPIPE emulation.
18084
18085 2010-02-20  Bruno Haible  <bruno@clisp.org>
18086
18087         * lib/stdio.in.h: Tweak comments.
18088
18089 2010-02-19  Bruno Haible  <bruno@clisp.org>
18090
18091         Make it easier to find modules. New gnulib-tool option '--find'.
18092         * gnulib-tool: New option --find.
18093         (func_usage): Document it.
18094         (func_sanitize_modulelist): New function, extracted from
18095         func_all_modules.
18096         (func_all_modules): Invoke it.
18097         * doc/gnulib-tool.texi (Which modules?): New node.
18098
18099 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
18100
18101         * lib/sys_select.in.h: Provide select replacement even if
18102         sys/select.h exists on a system, for Interix.
18103
18104 2010-02-18  Jim Meyering  <meyering@redhat.com>
18105
18106         init.sh: don't use $(...) just yet
18107         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
18108         to accommodate e.g., Solaris' /bin/sh.
18109
18110 2010-02-17  Bruno Haible  <bruno@clisp.org>
18111
18112         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
18113         Reported by Ludovic Courtès <ludo@gnu.org>.
18114
18115 2010-02-16  Simon Josefsson  <simon@josefsson.org>
18116
18117         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
18118         linking with -lintl.
18119
18120 2010-02-17  Simon Josefsson  <simon@josefsson.org>
18121
18122         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
18123         if not provided by the system's netdb.h.  Reported by
18124         ludo@gnu.org (Ludovic Courtès).
18125
18126 2010-02-15  Jim Meyering  <meyering@redhat.com>
18127
18128         init.sh: improve portability and efficiency
18129         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
18130         "dummy" in a for loop.
18131         Use '!', not '^' to select the complement of a character set used
18132         in a "case" statement.
18133         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
18134         Suggestions from Eric Blake.
18135
18136         init.sh: automatically accommodate programs with the .exe suffix
18137         Automatically arrange for an invocation of "prog" to execute the
18138         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
18139         may use the simpler "prog", yet still work when built on a system
18140         that requires specifying the added suffix.
18141         Do this by constructing a function named "prog" that invokes
18142         "prog.exe" for each .exe file in selected directories.
18143         * tests/init.sh (find_exe_basenames_): New function.
18144         (create_exe_shim_functions_): New function.
18145         (path_prepend_): Use it.
18146
18147         maint.mk: mark syntax-check sc_*.m rules as .PHONY
18148         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
18149         "make -t syntax-check" doesn't create a ton of sc_*.m files.
18150
18151 2010-02-14  Jim Meyering  <meyering@redhat.com>
18152
18153         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
18154         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
18155         (sc_prohibit_hash_pjw_without_use): New rule.
18156
18157         maint.mk: allow the default upload destination dir to be overridden
18158         * top/maint.mk (upload_dest_dir_): Define with a default that
18159         preserves the status quo.
18160         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
18161         Reported by Peter Simons.
18162
18163         maint.mk: prohibit inclusion of "hash.h" without_use
18164         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
18165
18166 2010-02-10  Jim Meyering  <meyering@redhat.com>
18167
18168         maint.mk: prohibit inclusion of "ignore-value.h" without_use
18169         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
18170
18171 2010-02-09  Eric Blake  <ebb9@byu.net>
18172         and Bruno Haible  <bruno@clisp.org>
18173
18174         obstack-printf-posix: ensure declaration
18175         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
18176         extracted from gl_FUNC_OBSTACK_PRINTF.
18177         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
18178         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
18179         Likewise.
18180         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
18181         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
18182         0.
18183
18184 2010-02-08  Bruno Haible  <bruno@clisp.org>
18185
18186         gnulib-tool: Fix typo in 2010-02-07 commit.
18187         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
18188         Reported by Eric Blake.
18189
18190 2010-02-07  Bruno Haible  <bruno@clisp.org>
18191
18192         gnulib-tool: Fix up caching patches.
18193         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
18194         option --no-cache. Use associative arrays when supported by the shell.
18195         (sed_comments): New variable.
18196         (modcache): Renamed from do_cache.
18197         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
18198         abbreviate unnecessarily.
18199         (have_associative): New variable.
18200         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
18201         way also for ksh and zsh.
18202         (func_init_sed_convert_to_cache_statements): New function, extracted
18203         from func_cache_lookup_module. Add support for associative arrays.
18204         Don't set the c_MODULE_cached variable here. Ignore all lines before
18205         the first field header. Remove only the final newline, not all trailing
18206         newlines. Support empty fields correctly. Limit the use of 'eval' to
18207         assignments.
18208         (func_get_description, func_get_status, func_get_notice,
18209         func_get_applicability, func_get_filelist, func_get_dependencies,
18210         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
18211         func_get_automake_snippet, func_get_include_directive,
18212         func_get_link_directive, func_get_license, func_get_maintainer):
18213         Update documentation. List the unoptimized code first. Add support for
18214         associative arrays. Limit the use of 'eval' to assignments.
18215         (func_get_applicability): Undo stylistic pessimisations.
18216         (func_get_automake_snippet, func_get_include_directive): Reduce code
18217         duplication.
18218         (func_modules_transitive_closure, func_modules_add_dummy,
18219         func_modules_notice, func_modules_to_filelist, func_add_file,
18220         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
18221         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
18222         func_create_testdir, func_create_megatestdir): Update documentation.
18223
18224 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18225
18226         * gnulib-tool (func_cache_lookup_module): Store the module name
18227         belonging to the cache variable; error out if two different
18228         module names map to the same cache variable name.
18229
18230 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18231
18232         gnulib-tool: Make caching optional.
18233         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
18234         Update matching short versions of --no-changelog.
18235         (func_usage): Update.
18236         (sed_extract_cache_prog): Renamed from ...
18237         (sed_extract_prog): ... this; revert to old extraction script.
18238         (func_get_description, func_get_status)
18239         (func_get_notice, func_get_applicability, func_get_filelist)
18240         (func_get_dependencies, func_get_autoconf_early_snippet)
18241         (func_get_autoconf_snippet, func_get_automake_snippet)
18242         (func_get_include_directive, func_get_link_directive)
18243         (func_get_license, func_get_maintainer): If $do_cache is false,
18244         use old, non-caching extraction scripts.
18245         Suggestion by Bruno Haible.
18246
18247 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18248
18249         gnulib-tool: cache module metainformation.
18250         * gnulib-tool (sed_extract_prog): Match newline before each
18251         header, and rewrite header to a shell variable suffix.
18252         (func_cache_var, func_cache_lookup_module): New functions,
18253         to turn a module name into a cache variable prefix, and to
18254         look up and cache module metainformation.
18255         (func_get_description, func_get_status)
18256         (func_get_notice, func_get_applicability, func_get_filelist)
18257         (func_get_dependencies, func_get_autoconf_early_snippet)
18258         (func_get_autoconf_snippet, func_get_automake_snippet)
18259         (func_get_include_directive, func_get_link_directive)
18260         (func_get_license, func_get_maintainer): Use
18261         func_cache_lookup_module.
18262
18263 2010-02-07  Bruno Haible  <bruno@clisp.org>
18264
18265         fnctl: Fix missing dependency.
18266         * modules/fcntl (Depends-on): Add getdtablesize.
18267         Reported by John W. Eaton <jwe@gnu.org>.
18268
18269 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
18270
18271         Argp: fix recognition of short alias options.
18272
18273         * lib/argp-parse.c (convert_options): Fix improper use of
18274         `|' between character values.
18275         * tests/test-argp.c (group1_option): New alias option
18276         --read (-r).
18277         (group1_parser): Special handling for 'r'.
18278         (test15): New test case.
18279         (test_fun): Add test15.
18280         * tests/test-argp-2.sh: Update expected --help and --usage
18281         outputs.
18282
18283 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
18284
18285         * tests/test-argp.c: Fix indentation.
18286
18287 2010-02-04  Eric Blake  <ebb9@byu.net>
18288
18289         gettimeofday: expose type of second argument
18290         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
18291         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
18292         * tests/test-gettimeofday.c: Use it to silence warning.
18293         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
18294         the issue.
18295
18296 2010-02-03  Jim Meyering  <meyering@redhat.com>
18297
18298         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
18299         * lib/regcomp.c (TYPE_SIGNED): Define.
18300         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
18301
18302         regcomp.c: avoid a new -Wshadow warning
18303         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
18304
18305 2010-02-01  Jim Meyering  <meyering@redhat.com>
18306
18307         removing useless parentheses in cpp #define directives
18308         For motivation, see commit c0221df4, "define STREQ(a,b)
18309         consistently, removing useless parentheses"
18310         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
18311         * lib/mountlist.c (MNT_IGNORE): Likewise.
18312         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
18313
18314 2010-02-01  Eric Blake  <ebb9@byu.net>
18315
18316         sys_time: use link-warning
18317         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
18318         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
18319         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
18320         * modules/sys_time (Depends-on): Add warn-on-use.
18321         (Makefile.am): Always build replacement.
18322         (configure.ac): Update substitutions.
18323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
18324         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
18325         bother with SYS_TIME_H.
18326         * modules/gettimeofday (configure.ac): Declare indicator.
18327         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
18328         in use.
18329
18330         closein-tests: silence compiler warning
18331         * tests/test-closein.c (main): Ignore fread result.
18332         * modules/closein-tests (Depends-on): Add ignore-value.
18333
18334         tests: silence warning about system return
18335         * tests/test-areadlink-with-size.c (main): Ignore system result.
18336         * tests/test-areadlink.c (main): Likewise.
18337         * tests/test-areadlinkat-with-size.c (main): Likewise.
18338         * tests/test-areadlinkat.c (main): Likewise.
18339         * tests/test-canonicalize-lgpl.c (main): Likewise.
18340         * tests/test-canonicalize.c (main): Likewise.
18341         * tests/test-chown.c (main): Likewise.
18342         * tests/test-fchownat.c (main): Likewise.
18343         * tests/test-fdutimensat.c (main): Likewise.
18344         * tests/test-fstatat.c (main): Likewise.
18345         * tests/test-futimens.c (main): Likewise.
18346         * tests/test-lchown.c (main): Likewise.
18347         * tests/test-link.c (main): Likewise.
18348         * tests/test-linkat.c (main): Likewise.
18349         * tests/test-lstat.c (main): Likewise.
18350         * tests/test-mkdir.c (main): Likewise.
18351         * tests/test-mkdirat.c (main): Likewise.
18352         * tests/test-mkfifo.c (main): Likewise.
18353         * tests/test-mkfifoat.c (main): Likewise.
18354         * tests/test-mknod.c (main): Likewise.
18355         * tests/test-readlink.c (main): Likewise.
18356         * tests/test-remove.c (main): Likewise.
18357         * tests/test-rename.c (main): Likewise.
18358         * tests/test-renameat.c (main): Likewise.
18359         * tests/test-rmdir.c (main): Likewise.
18360         * tests/test-symlink.c (main): Likewise.
18361         * tests/test-symlinkat.c (main): Likewise.
18362         * tests/test-unlink.c (main): Likewise.
18363         * tests/test-unlinkat.c (main): Likewise.
18364         * tests/test-utimens.c (main): Likewise.
18365         * tests/test-utimensat.c (main): Likewise.
18366         * modules/areadlink-tests (Depends-on): Add ignore-value.
18367         * modules/areadlink-with-size-tests (Depends-on): Likewise.
18368         * modules/areadlinkat-tests (Depends-on): Likewise.
18369         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
18370         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18371         * modules/canonicalize-tests (Depends-on): Likewise.
18372         * modules/chown-tests (Depends-on): Likewise.
18373         * modules/fdutimensat-tests (Depends-on): Likewise.
18374         * modules/futimens-tests (Depends-on): Likewise.
18375         * modules/lchown-tests (Depends-on): Likewise.
18376         * modules/link-tests (Depends-on): Likewise.
18377         * modules/linkat-tests (Depends-on): Likewise.
18378         * modules/lstat-tests (Depends-on): Likewise.
18379         * modules/mkdir-tests (Depends-on): Likewise.
18380         * modules/mkfifo-tests (Depends-on): Likewise.
18381         * modules/mkfifoat-tests (Depends-on): Likewise.
18382         * modules/mknod-tests (Depends-on): Likewise.
18383         * modules/openat-tests (Depends-on): Likewise.
18384         * modules/readlink-tests (Depends-on): Likewise.
18385         * modules/remove-tests (Depends-on): Likewise.
18386         * modules/rename-tests (Depends-on): Likewise.
18387         * modules/renameat-tests (Depends-on): Likewise.
18388         * modules/rmdir-tests (Depends-on): Likewise.
18389         * modules/symlink-tests (Depends-on): Likewise.
18390         * modules/symlinkat-tests (Depends-on): Likewise.
18391         * modules/unlink-tests (Depends-on): Likewise.
18392         * modules/utimens-tests (Depends-on): Likewise.
18393         * modules/utimensat-tests (Depends-on): Likewise.
18394
18395 2010-01-31  Bruno Haible  <bruno@clisp.org>
18396
18397         Perform the same test for many <math.h> functions.
18398         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
18399         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
18400         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
18401         of gl_MATHFUNC.
18402         * modules/acos (configure.ac): Likewise.
18403         * modules/asin (configure.ac): Likewise.
18404         * modules/atan (configure.ac): Likewise.
18405         * modules/atan2 (configure.ac): Likewise.
18406         * modules/cbrt (configure.ac): Likewise.
18407         * modules/copysign (configure.ac): Likewise.
18408         * modules/cos (configure.ac): Likewise.
18409         * modules/cosh (configure.ac): Likewise.
18410         * modules/erf (configure.ac): Likewise.
18411         * modules/erfc (configure.ac): Likewise.
18412         * modules/exp (configure.ac): Likewise.
18413         * modules/fmod (configure.ac): Likewise.
18414         * modules/hypot (configure.ac): Likewise.
18415         * modules/j0 (configure.ac): Likewise.
18416         * modules/j1 (configure.ac): Likewise.
18417         * modules/jn (configure.ac): Likewise.
18418         * modules/lgamma (configure.ac): Likewise.
18419         * modules/log (configure.ac): Likewise.
18420         * modules/log10 (configure.ac): Likewise.
18421         * modules/log1p (configure.ac): Likewise.
18422         * modules/pow (configure.ac): Likewise.
18423         * modules/remainder (configure.ac): Likewise.
18424         * modules/sin (configure.ac): Likewise.
18425         * modules/sinh (configure.ac): Likewise.
18426         * modules/tan (configure.ac): Likewise.
18427         * modules/tanh (configure.ac): Likewise.
18428         * modules/y0 (configure.ac): Likewise.
18429         * modules/y1 (configure.ac): Likewise.
18430         * modules/yn (configure.ac): Likewise.
18431         Suggested by Paolo Bonzini.
18432
18433 2010-01-31  Bruno Haible  <bruno@clisp.org>
18434
18435         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
18436
18437 2010-01-31  Bruno Haible  <bruno@clisp.org>
18438
18439         Work around getdelim() bug on FreeBSD 8.0.
18440         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
18441         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
18442         not work.
18443         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
18444         is 1.
18445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
18446         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
18447         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
18448         a non-zero size.
18449         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
18450
18451 2010-01-31  Bruno Haible  <bruno@clisp.org>
18452
18453         Work around getline() bug on FreeBSD 8.0.
18454         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
18455         and a non-zero size.
18456         * tests/test-getline.c (main): Likewise.
18457         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
18458         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
18459
18460 2010-01-28  Eric Blake  <ebb9@byu.net>
18461
18462         regex: fix build failure
18463         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
18464         platforms.
18465
18466 2010-01-28  Jim Meyering  <meyering@redhat.com>
18467
18468         regex: do not ignore memory allocation failure
18469         * lib/regex_internal.c (create_cd_newstate): Detect
18470         re_node_set_init_copy failure.   Extracted from glibc commit
18471         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18472
18473         regex: sync more white-space changes from libc
18474         * lib/regex_internal.c: White-space only changes.
18475         * lib/regexec.c: Likewise.
18476
18477         regex: add many uses of __attribute_warn_unused_result__
18478         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
18479         * lib/regexec.c: Likewise.
18480         Extracted from a messy glibc commit.
18481
18482         regcomp.c: spelling and merge-artifact from glibc
18483         * lib/regcomp.c: Merge remainder of glibc's
18484         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18485
18486         regcomp.c: sync white-space changes from glibc
18487         * lib/regcomp.c: Merge to accommodate white space
18488         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18489
18490         regcomp.c: do not ignore internal return values
18491         * lib/regcomp.c: Do not ignore internal return values.
18492         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
18493         but without its white-space changes and spelling fixes.
18494
18495         regex_internal.h: define __attribute_warn_unused_result__
18496         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
18497
18498         maint: add a syntax-check rule to check for vulnerable Makefile.in
18499         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
18500
18501 2010-01-27  Jim Meyering  <meyering@redhat.com>
18502
18503         ncftpput-ftp: clean up spaces
18504         * build-aux/ncftpput-ftp: Make Copyright line consistent.
18505         Remove trailing blanks.
18506
18507 2010-01-27  Simon Josefsson  <simon@josefsson.org>
18508
18509         * build-aux/git-version-gen: Fix copyright statement.
18510         * build-aux/gnupload: Likewise.
18511         * tests/test-arcfour.c: Likewise.
18512         * tests/test-arctwo.c: Likewise.
18513         * tests/test-count-one-bits.c: Likewise.
18514         * tests/test-crc.c: Likewise.
18515         * tests/test-des.c: Likewise.
18516         * tests/test-gc-arcfour.c: Likewise.
18517         * tests/test-gc-arctwo.c: Likewise.
18518         * tests/test-gc-des.c: Likewise.
18519         * tests/test-gc-hmac-md5.c: Likewise.
18520         * tests/test-gc-hmac-sha1.c: Likewise.
18521         * tests/test-gc-md2.c: Likewise.
18522         * tests/test-gc-md4.c: Likewise.
18523         * tests/test-gc-md5.c: Likewise.
18524         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18525         * tests/test-gc-rijndael.c: Likewise.
18526         * tests/test-gc-sha1.c: Likewise.
18527         * tests/test-gc.c: Likewise.
18528         * tests/test-gethostname.c: Likewise.
18529         * tests/test-gettimeofday.c: Likewise.
18530         * tests/test-hash.c: Likewise.
18531         * tests/test-hmac-md5.c: Likewise.
18532         * tests/test-hmac-sha1.c: Likewise.
18533         * tests/test-md2.c: Likewise.
18534         * tests/test-md4.c: Likewise.
18535         * tests/test-md5.c: Likewise.
18536         * tests/test-memchr.c: Likewise.
18537         * tests/test-memchr2.c: Likewise.
18538         * tests/test-memcmp.c: Likewise.
18539         * tests/test-memmem.c: Likewise.
18540         * tests/test-memrchr.c: Likewise.
18541         * tests/test-rawmemchr.c: Likewise.
18542         * tests/test-read-file.c: Likewise.
18543         * tests/test-rijndael.c: Likewise.
18544         * tests/test-sockets.c: Likewise.
18545         * tests/test-strchrnul.c: Likewise.
18546         * tests/test-strstr.c: Likewise.
18547         * tests/test-strtod.c: Likewise.
18548         * build-aux/ncftpput-ftp: Likewise.
18549
18550 2010-01-26  Eric Blake  <ebb9@byu.net>
18551
18552         ignore-value: update recommended header name
18553         * modules/ignore-value (Include): Only use <> for headers that
18554         exist in glibc.
18555
18556 2010-01-26  Jim Meyering  <meyering@redhat.com>
18557
18558         test-userspec.c: avoid compiler warnings
18559         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
18560         and "initialization discards qualifiers..." warnings.
18561         Put the first "uid" in its own scope, and make char* members "const".
18562
18563 2010-01-25  Bruno Haible  <bruno@clisp.org>
18564
18565         gnulib-tool: Make warning diagnostics consistent.
18566         * gnulib-tool (func_warning): New function.
18567         Use it everywhere where gnulib-tool produces output to stderr and it is
18568         not a fatal error.
18569
18570 2010-01-25  Bruno Haible  <bruno@clisp.org>
18571
18572         Fix test dependencies.
18573         * modules/xstrtol-tests (Depends-on): Add inttypes.
18574         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
18575
18576 2010-01-25 Pádraig Brady <P@draigBrady.com>
18577
18578         syntax-check: detect incorrect boolean macro values in config.h
18579         * modules/maintainer-makefile (configure.ac): Parameterize the location
18580         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
18581         The logic is from Eric Blake and the location indicated by Jim Meyering.
18582         Note the more natural CONFIG_HEADER name is prohibited by automake
18583         for backwards compatibility reasons.
18584         * top/maint.mk (sc_Wundef_boolean): New rule.
18585
18586 2010-01-25  Jim Meyering  <meyering@redhat.com>
18587
18588         bootstrap: detect MacOS 10.6's shasum, too
18589         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
18590         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
18591
18592 2010-01-23  Jim Meyering  <meyering@redhat.com>
18593
18594         xstrtoll: new module
18595         * modules/xstrtoll: New file.
18596         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
18597         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
18598         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
18599         ./configure fails if you use this module and lack "long long".
18600         * modules/xstrtoll-tests: New module.
18601         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
18602         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
18603         new init.sh-based test framework.
18604
18605 2010-01-24  Bruno Haible  <bruno@clisp.org>
18606
18607         Tests for module 'yn'.
18608         * modules/yn-tests: New file.
18609         * tests/test-yn.c: New file.
18610
18611         Tests for module 'y1'.
18612         * modules/y1-tests: New file.
18613         * tests/test-y1.c: New file.
18614
18615         Tests for module 'y0'.
18616         * modules/y0-tests: New file.
18617         * tests/test-y0.c: New file.
18618
18619         Tests for module 'tanh'.
18620         * modules/tanh-tests: New file.
18621         * tests/test-tanh.c: New file.
18622
18623         Tests for module 'tan'.
18624         * modules/tan-tests: New file.
18625         * tests/test-tan.c: New file.
18626
18627         Tests for module 'sqrt'.
18628         * modules/sqrt-tests: New file.
18629         * tests/test-sqrt.c: New file.
18630
18631         Tests for module 'sinh'.
18632         * modules/sinh-tests: New file.
18633         * tests/test-sinh.c: New file.
18634
18635         Tests for module 'sin'.
18636         * modules/sin-tests: New file.
18637         * tests/test-sin.c: New file.
18638
18639         Tests for module 'rint'.
18640         * modules/rint-tests: New file.
18641         * tests/test-rint.c: New file.
18642
18643         Tests for module 'remainder'.
18644         * modules/remainder-tests: New file.
18645         * tests/test-remainder.c: New file.
18646
18647         Tests for module 'pow'.
18648         * modules/pow-tests: New file.
18649         * tests/test-pow.c: New file.
18650
18651         Tests for module 'nextafter'.
18652         * modules/nextafter-tests: New file.
18653         * tests/test-nextafter.c: New file.
18654
18655         Tests for module 'modf'.
18656         * modules/modf-tests: New file.
18657         * tests/test-modf.c: New file.
18658
18659         Tests for module 'logb'.
18660         * modules/logb-tests: New file.
18661         * tests/test-logb.c: New file.
18662
18663         Tests for module 'log1p'.
18664         * modules/log1p-tests: New file.
18665         * tests/test-log1p.c: New file.
18666
18667         Tests for module 'log10'.
18668         * modules/log10-tests: New file.
18669         * tests/test-log10.c: New file.
18670
18671         Tests for module 'log'.
18672         * modules/log-tests: New file.
18673         * tests/test-log.c: New file.
18674
18675         Tests for module 'lgamma'.
18676         * modules/lgamma-tests: New file.
18677         * tests/test-lgamma.c: New file.
18678
18679         Tests for module 'ldexp'.
18680         * modules/ldexp-tests: New file.
18681         * tests/test-ldexp.c: New file.
18682
18683         Tests for module 'jn'.
18684         * modules/jn-tests: New file.
18685         * tests/test-jn.c: New file.
18686
18687         Tests for module 'j1'.
18688         * modules/j1-tests: New file.
18689         * tests/test-j1.c: New file.
18690
18691         Tests for module 'j0'.
18692         * modules/j0-tests: New file.
18693         * tests/test-j0.c: New file.
18694
18695         Tests for module 'hypot'.
18696         * modules/hypot-tests: New file.
18697         * tests/test-hypot.c: New file.
18698
18699         Tests for module 'fmod'.
18700         * modules/fmod-tests: New file.
18701         * tests/test-fmod.c: New file.
18702
18703         Tests for module 'fabs'.
18704         * modules/fabs-tests: New file.
18705         * tests/test-fabs.c: New file.
18706
18707         Tests for module 'exp'.
18708         * modules/exp-tests: New file.
18709         * tests/test-exp.c: New file.
18710
18711         Tests for module 'erfc'.
18712         * modules/erfc-tests: New file.
18713         * tests/test-erfc.c: New file.
18714
18715         Tests for module 'erf'.
18716         * modules/erf-tests: New file.
18717         * tests/test-erf.c: New file.
18718
18719         Tests for module 'cosh'.
18720         * modules/cosh-tests: New file.
18721         * tests/test-cosh.c: New file.
18722
18723         Tests for module 'cos'.
18724         * modules/cos-tests: New file.
18725         * tests/test-cos.c: New file.
18726
18727         Tests for module 'copysign'.
18728         * modules/copysign-tests: New file.
18729         * tests/test-copysign.c: New file.
18730
18731         Tests for module 'cbrt'.
18732         * modules/cbrt-tests: New file.
18733         * tests/test-cbrt.c: New file.
18734
18735         Tests for module 'atan2'.
18736         * modules/atan2-tests: New file.
18737         * tests/test-atan2.c: New file.
18738
18739         Tests for module 'atan'.
18740         * modules/atan-tests: New file.
18741         * tests/test-atan.c: New file.
18742
18743         Tests for module 'asin'.
18744         * modules/asin-tests: New file.
18745         * tests/test-asin.c: New file.
18746
18747         Tests for module 'acos'.
18748         * modules/acos-tests: New file.
18749         * tests/test-acos.c: New file.
18750
18751 2010-01-24  Bruno Haible  <bruno@clisp.org>
18752
18753         Fix tests for common <math.h> functions.
18754         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
18755         code snippet that references the function pointer, rather than merely
18756         calling the function. Substitute the FUNC_LIBM variable.
18757         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
18758         * modules/acos (configure.ac): Likewise.
18759         * modules/asin (configure.ac): Likewise.
18760         * modules/atan (configure.ac): Likewise.
18761         * modules/atan2 (configure.ac): Likewise.
18762         * modules/cbrt (configure.ac): Likewise.
18763         * modules/copysign (configure.ac): Likewise.
18764         * modules/cos (configure.ac): Likewise.
18765         * modules/cosh (configure.ac): Likewise.
18766         * modules/erf (configure.ac): Likewise.
18767         * modules/erfc (configure.ac): Likewise.
18768         * modules/exp (configure.ac): Likewise.
18769         * modules/fabs (configure.ac): Likewise.
18770         * modules/fmod (configure.ac): Likewise.
18771         * modules/hypot (configure.ac): Likewise.
18772         * modules/j0 (configure.ac): Likewise.
18773         * modules/j1 (configure.ac): Likewise.
18774         * modules/jn (configure.ac): Likewise.
18775         * modules/ldexp (configure.ac): Likewise.
18776         * modules/lgamma (configure.ac): Likewise.
18777         * modules/log (configure.ac): Likewise.
18778         * modules/log10 (configure.ac): Likewise.
18779         * modules/log1p (configure.ac): Likewise.
18780         * modules/logb (configure.ac): Likewise.
18781         * modules/modf (configure.ac): Likewise.
18782         * modules/nextafter (configure.ac): Likewise.
18783         * modules/pow (configure.ac): Likewise.
18784         * modules/remainder (configure.ac): Likewise.
18785         * modules/rint (configure.ac): Likewise.
18786         * modules/sin (configure.ac): Likewise.
18787         * modules/sinh (configure.ac): Likewise.
18788         * modules/tan (configure.ac): Likewise.
18789         * modules/tanh (configure.ac): Likewise.
18790         * modules/y0 (configure.ac): Likewise.
18791         * modules/y1 (configure.ac): Likewise.
18792         * modules/yn (configure.ac): Likewise.
18793
18794 2010-01-24  Bruno Haible  <bruno@clisp.org>
18795
18796         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
18797         * tests/test-acosl.c (x): New variable.
18798         (main): Store argument in x and fetch it from x.
18799         * tests/test-asinl.c (x): New variable.
18800         (main): Store argument in x and fetch it from x.
18801         * tests/test-atanl.c (x): New variable.
18802         (main): Store argument in x and fetch it from x.
18803         * tests/test-cosl.c (x): New variable.
18804         (main): Store argument in x and fetch it from x.
18805         * tests/test-expl.c (x): New variable.
18806         (main): Store argument in x and fetch it from x.
18807         * tests/test-logl.c (x): New variable.
18808         (main): Store argument in x and fetch it from x.
18809         * tests/test-sinl.c (x): New variable.
18810         (main): Store argument in x and fetch it from x.
18811         * tests/test-sqrtl.c (x): New variable.
18812         (main): Store argument in x and fetch it from x.
18813         * tests/test-tanl.c (x): New variable.
18814         (main): Store argument in x and fetch it from x.
18815
18816 2010-01-24  Bruno Haible  <bruno@clisp.org>
18817
18818         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
18819         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
18820         assignments to the initial TESTS_ENVIRONMENT.
18821         * doc/gnulib.texi (Unit test modules): Document it.
18822         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
18823         TESTS_ENVIRONMENT.
18824         * modules/btowc-tests (Makefile.am): Likewise.
18825         * modules/c-stack-tests (Makefile.am): Likewise.
18826         * modules/c-strcase-tests (Makefile.am): Likewise.
18827         * modules/copy-file-tests (Makefile.am): Likewise.
18828         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
18829         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
18830         * modules/mbrtowc-tests (Makefile.am): Likewise.
18831         * modules/mbscasecmp-tests (Makefile.am): Likewise.
18832         * modules/mbscasestr-tests (Makefile.am): Likewise.
18833         * modules/mbschr-tests (Makefile.am): Likewise.
18834         * modules/mbscspn-tests (Makefile.am): Likewise.
18835         * modules/mbsinit-tests (Makefile.am): Likewise.
18836         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
18837         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
18838         * modules/mbspbrk-tests (Makefile.am): Likewise.
18839         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
18840         * modules/mbsrchr-tests (Makefile.am): Likewise.
18841         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
18842         * modules/mbsspn-tests (Makefile.am): Likewise.
18843         * modules/mbsstr-tests (Makefile.am): Likewise.
18844         * modules/nl_langinfo-tests (Makefile.am): Likewise.
18845         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
18846         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
18847         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
18848         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
18849         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
18850         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
18851         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
18852         * modules/wcrtomb-tests (Makefile.am): Likewise.
18853         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
18854         * modules/wcsrtombs-tests (Makefile.am): Likewise.
18855         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
18856         assignments from TESTS_ENVIRONMENT.
18857         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
18858         augmentation.
18859         * modules/argp-version-etc-tests (Makefile.am): Likewise.
18860         * modules/atexit-tests (Makefile.am): Likewise.
18861         * modules/binary-io-tests (Makefile.am): Likewise.
18862         * modules/closein-tests (Makefile.am): Likewise.
18863         * modules/dprintf-posix-tests (Makefile.am): Likewise.
18864         * modules/exclude-tests (Makefile.am): Likewise.
18865         * modules/fflush-tests (Makefile.am): Likewise.
18866         * modules/fpending-tests (Makefile.am): Likewise.
18867         * modules/fprintf-posix-tests (Makefile.am): Likewise.
18868         * modules/freadahead-tests (Makefile.am): Likewise.
18869         * modules/freadptr-tests (Makefile.am): Likewise.
18870         * modules/freadseek-tests (Makefile.am): Likewise.
18871         * modules/fseek-tests (Makefile.am): Likewise.
18872         * modules/fseeko-tests (Makefile.am): Likewise.
18873         * modules/ftell-tests (Makefile.am): Likewise.
18874         * modules/ftello-tests (Makefile.am): Likewise.
18875         * modules/idpriv-drop-tests (Makefile.am): Likewise.
18876         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
18877         * modules/lseek-tests (Makefile.am): Likewise.
18878         * modules/parse-duration-tests (Makefile.am): Likewise.
18879         * modules/perror-tests (Makefile.am): Likewise.
18880         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
18881         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
18882         * modules/pipe-tests (Makefile.am): Likewise.
18883         * modules/pread-tests (Makefile.am): Likewise.
18884         * modules/printf-posix-tests (Makefile.am): Likewise.
18885         * modules/select-tests (Makefile.am): Likewise.
18886         * modules/sigpipe-tests (Makefile.am): Likewise.
18887         * modules/tsearch-tests (Makefile.am): Likewise.
18888         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
18889         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
18890         * modules/uniname/uniname-tests (Makefile.am): Likewise.
18891         * modules/uniwidth/width-tests (Makefile.am): Likewise.
18892         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
18893         * modules/version-etc-tests (Makefile.am): Likewise.
18894         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
18895         * modules/vprintf-posix-tests (Makefile.am): Likewise.
18896         * modules/xalloc-die-tests (Makefile.am): Likewise.
18897         * modules/xprintf-posix-tests (Makefile.am): Likewise.
18898         * modules/xstrtoimax-tests (Makefile.am): Likewise.
18899         * modules/xstrtol-tests (Makefile.am): Likewise.
18900         * modules/xstrtoumax-tests (Makefile.am): Likewise.
18901         * modules/yesno-tests (Makefile.am): Likewise.
18902         Suggested by Jim Meyering.
18903
18904 2010-01-24  Bruno Haible  <bruno@clisp.org>
18905
18906         More documentation.
18907         * doc/gnulib.texi (Writing modules): New chapter.
18908         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
18909         the new chapter.
18910
18911 2010-01-24  Jim Meyering  <meyering@redhat.com>
18912
18913         maint.mk: do not prepend "./" after filtering
18914         * top/maint.mk (_prepend_srcdir_prefix): New variable
18915         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
18916         "./" when $(srcdir) is ".".
18917
18918         define STREQ(a,b) consistently, removing useless parentheses
18919         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
18920         since the only risk is that "a" or "b" contains an unparenthesized
18921         comma, but if either did that, STREQ would have 3 or more arguments.
18922         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
18923         * lib/fts.c (STREQ): Remove unnecessary parentheses.
18924         * lib/hash-triple.c (STREQ): Likewise.
18925         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
18926         * lib/getugroups.c (STREQ): Likewise.
18927
18928 2010-01-23  Jim Meyering  <meyering@redhat.com>
18929
18930         maint.mk: fix syntax-check in a non-srcdir build directory
18931         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
18932         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
18933
18934 2010-01-22  Jim Meyering  <meyering@redhat.com>
18935
18936         userspec: add unit tests
18937         * tests/test-userspec.c: New file.
18938         * modules/userspec-tests: Likewise.
18939
18940 2010-01-21  Jim Meyering  <meyering@redhat.com>
18941
18942         maint.mk: handle source file names containing "." robustly
18943         * top/maint.mk (_dot_escaped_srcdir): Define.
18944         (VC_LIST): Use it in LHS of sed substitution.
18945
18946 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
18947
18948         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
18949         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
18950         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
18951         from a non-srcdir build.
18952
18953 2010-01-20  Eric Blake  <ebb9@byu.net>
18954
18955         warn-on-use: use instead of link-warning
18956         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
18957         * modules/unistd (Depends-on, Makefile.am): Likewise.
18958         * modules/arpa_inet (Depends-on): Replace link-warning with
18959         warn-on-use.
18960         (Makefile.am): Update rules accordingly.
18961         * modules/ctype (Depends-on, Makefile.am): Likewise.
18962         * modules/dirent (Depends-on, Makefile.am): Likewise.
18963         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
18964         * modules/inttypes (Depends-on, Makefile.am): Likewise.
18965         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18966         * modules/locale (Depends-on, Makefile.am): Likewise.
18967         * modules/math (Depends-on, Makefile.am): Likewise.
18968         * modules/search (Depends-on, Makefile.am): Likewise.
18969         * modules/signal (Depends-on, Makefile.am): Likewise.
18970         * modules/spawn (Depends-on, Makefile.am): Likewise.
18971         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18972         * modules/string (Depends-on, Makefile.am): Likewise.
18973         * modules/strings (Depends-on, Makefile.am): Likewise.
18974         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18975         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18976         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18977         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18978         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18979         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18980         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18981         * modules/wchar (Depends-on, Makefile.am): Likewise.
18982         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18983         should be poisoned.
18984         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18985         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18986         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18987         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18988         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18989         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18990         * m4/math_h.m4 (gl_MATH_H): Likewise.
18991         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18992         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18993         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18994         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18995         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18996         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18997         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18998         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18999         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
19000         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19001         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
19002         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
19003         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19004         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19005         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19006         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19007         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
19008         GL_LINK_WARNING.
19009         * lib/ctype.in.h: Likewise.
19010         * lib/dirent.in.h: Likewise.
19011         * lib/fcntl.in.h: Likewise.
19012         * lib/inttypes.in.h: Likewise.
19013         * lib/langinfo.in.h: Likewise.
19014         * lib/locale.in.h: Likewise.
19015         * lib/math.in.h: Likewise.
19016         * lib/search.in.h: Likewise.
19017         * lib/signal.in.h: Likewise.
19018         * lib/spawn.in.h: Likewise.
19019         * lib/stdio.in.h: Likewise.
19020         * lib/stdlib.in.h: Likewise.
19021         * lib/string.in.h: Likewise.
19022         * lib/strings.in.h: Likewise.
19023         * lib/sys_file.in.h: Likewise.
19024         * lib/sys_ioctl.in.h: Likewise.
19025         * lib/sys_select.in.h: Likewise.
19026         * lib/sys_socket.in.h: Likewise.
19027         * lib/sys_stat.in.h: Likewise.
19028         * lib/sys_times.in.h: Likewise.
19029         * lib/sys_utsname.in.h: Likewise.
19030         * lib/unistd.in.h: Likewise.
19031         * lib/wchar.in.h: Likewise.
19032
19033 2010-01-20  Bruno Haible  <bruno@clisp.org>
19034
19035         Avoid duplicate -lm.
19036         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
19037         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
19038         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
19039         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
19040         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
19041         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
19042         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
19043         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
19044         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
19045         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
19046         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
19047         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
19048         Reported by Paolo Bonzini.
19049
19050 2010-01-19  Bruno Haible  <bruno@clisp.org>
19051
19052         langinfo, nl_langinfo: Relicense under LGPLv2+.
19053         * modules/langinfo (License): Change to LGPLv2+.
19054         * modules/nl_langinfo (License): Likewise.
19055         Patch by David Lutterkort <lutter@redhat.com>.
19056
19057 2010-01-19  Bruno Haible  <bruno@clisp.org>
19058
19059         Avoid compilation error with cc on OSF/1 5.1.
19060         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
19061         statement, not before.
19062         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19063
19064 2010-01-18  Bruno Haible  <bruno@clisp.org>
19065
19066         Avoid a link error due to the __printf__ symbol.
19067         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
19068         and 2.6.x.
19069         (__format__, __printf__): Remove definitions.
19070         * lib/argp-fmtstream.h: Likewise.
19071         * lib/argp.h: Likewise.
19072         * lib/error.h: Likewise.
19073         * lib/vasnprintf.h: Likewise.
19074         * lib/xprintf.h: Likewise.
19075         * lib/xvasprintf.h: Likewise.
19076         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19077
19078 2010-01-18  Bruno Haible  <bruno@clisp.org>
19079
19080         Tests for module 'tanl'.
19081         * modules/tanl-tests: New file.
19082         * tests/test-tanl.c: New file.
19083
19084         Tests for module 'sqrtl'.
19085         * modules/sqrtl-tests: New file.
19086         * tests/test-sqrtl.c: New file.
19087
19088         Tests for module 'sinl'.
19089         * modules/sinl-tests: New file.
19090         * tests/test-sinl.c: New file.
19091
19092         Tests for module 'logl'.
19093         * modules/logl-tests: New file.
19094         * tests/test-logl.c: New file.
19095
19096         Tests for module 'expl'.
19097         * modules/expl-tests: New file.
19098         * tests/test-expl.c: New file.
19099
19100         Tests for module 'cosl'.
19101         * modules/cosl-tests: New file.
19102         * tests/test-cosl.c: New file.
19103
19104         Tests for module 'atanl'.
19105         * modules/atanl-tests: New file.
19106         * tests/test-atanl.c: New file.
19107
19108         Tests for module 'asinl'.
19109         * modules/asinl-tests: New file.
19110         * tests/test-asinl.c: New file.
19111
19112         Tests for module 'acosl'.
19113         * modules/acosl-tests: New file.
19114         * tests/test-acosl.c: New file.
19115
19116         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19117         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
19118         tanl): Use the standard gnulib idiom.
19119         * lib/cosl.c: Don't include trigl.c and sincosl.c.
19120         * lib/sinl.c: Likewise.
19121         * lib/tanl.c: Don't include trigl.c.
19122         (kernel_tanl): Make static.
19123         * lib/sincosl.c: Include trigl.h first.
19124         * lib/trigl.c: Likewise.
19125         * m4/acosl.m4: New file.
19126         * m4/asinl.m4: New file.
19127         * m4/atanl.m4: New file.
19128         * m4/cosl.m4: New file.
19129         * m4/expl.m4: New file.
19130         * m4/logl.m4: New file.
19131         * m4/sinl.m4: New file.
19132         * m4/sqrtl.m4: New file.
19133         * m4/tanl.m4: New file.
19134         * m4/mathl.m4: Remove file.
19135         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
19136         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19137         Don't initialize GNULIB_MATHL.
19138         * modules/acosl: New file.
19139         * modules/asinl: New file.
19140         * modules/atanl: New file.
19141         * modules/cosl: New file.
19142         * modules/expl: New file.
19143         * modules/logl: New file.
19144         * modules/sinl: New file.
19145         * modules/sqrtl: New file.
19146         * modules/tanl: New file.
19147         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
19148         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
19149         substitute GNULIB_MATHL.
19150         * modules/mathl: Rewritten.
19151         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
19152         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
19153         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
19154         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
19155         * doc/posix-functions/expl.texi: Mention the 'expl' module.
19156         * doc/posix-functions/logl.texi: Mention the 'logl' module.
19157         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
19158         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
19159         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
19160
19161 2010-01-18  Bruno Haible  <bruno@clisp.org>
19162
19163         sqrt: Make gl_FUNC_SQRT requirable.
19164         * m4/sqrt.m4: New file.
19165         * modules/sqrt (Files): Add it.
19166         (configure.ac): Invoke gl_FUNC_SQRT.
19167
19168 2010-01-18  Bruno Haible  <bruno@clisp.org>
19169
19170         New modules for common <math.h> functions.
19171         * m4/mathfunc.m4: New file.
19172         * modules/acos: New file.
19173         * modules/asin: New file.
19174         * modules/atan: New file.
19175         * modules/atan2: New file.
19176         * modules/cbrt: New file.
19177         * modules/copysign: New file.
19178         * modules/cos: New file.
19179         * modules/cosh: New file.
19180         * modules/erf: New file.
19181         * modules/erfc: New file.
19182         * modules/exp: New file.
19183         * modules/fabs: New file.
19184         * modules/fmod: New file.
19185         * modules/hypot: New file.
19186         * modules/j0: New file.
19187         * modules/j1: New file.
19188         * modules/jn: New file.
19189         * modules/ldexp: New file.
19190         * modules/lgamma: New file.
19191         * modules/log: New file.
19192         * modules/log10: New file.
19193         * modules/log1p: New file.
19194         * modules/logb: New file.
19195         * modules/modf: New file.
19196         * modules/nextafter: New file.
19197         * modules/pow: New file.
19198         * modules/remainder: New file.
19199         * modules/rint: New file.
19200         * modules/sin: New file.
19201         * modules/sinh: New file.
19202         * modules/sqrt: New file.
19203         * modules/tan: New file.
19204         * modules/tanh: New file.
19205         * modules/y0: New file.
19206         * modules/y1: New file.
19207         * modules/yn: New file.
19208         * doc/posix-functions/acos.texi: Mention the 'acos' module.
19209         * doc/posix-functions/asin.texi: Mention the 'asin' module.
19210         * doc/posix-functions/atan.texi: Mention the 'atan' module.
19211         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
19212         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
19213         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
19214         * doc/posix-functions/cos.texi: Mention the 'cos' module.
19215         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
19216         * doc/posix-functions/erf.texi: Mention the 'erf' module.
19217         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
19218         * doc/posix-functions/exp.texi: Mention the 'exp' module.
19219         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
19220         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
19221         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
19222         * doc/posix-functions/j0.texi: Mention the 'j0' module.
19223         * doc/posix-functions/j1.texi: Mention the 'j1' module.
19224         * doc/posix-functions/jn.texi: Mention the 'jn' module.
19225         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
19226         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
19227         * doc/posix-functions/log.texi: Mention the 'log' module.
19228         * doc/posix-functions/log10.texi: Mention the 'log10' module.
19229         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
19230         * doc/posix-functions/logb.texi: Mention the 'logb' module.
19231         * doc/posix-functions/modf.texi: Mention the 'modf' module.
19232         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
19233         * doc/posix-functions/pow.texi: Mention the 'pow' module.
19234         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
19235         * doc/posix-functions/rint.texi: Mention the 'rint' module.
19236         * doc/posix-functions/sin.texi: Mention the 'sin' module.
19237         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
19238         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
19239         * doc/posix-functions/tan.texi: Mention the 'tan' module.
19240         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
19241         * doc/posix-functions/y0.texi: Mention the 'y0' module.
19242         * doc/posix-functions/y1.texi: Mention the 'y1' module.
19243         * doc/posix-functions/yn.texi: Mention the 'yn' module.
19244
19245 2010-01-18  Jim Meyering  <meyering@redhat.com>
19246
19247         ignore-value: relax license to LGPLv2+
19248         * modules/ignore-value (License): Relax to LGPLv2+.
19249
19250         getdate: don't leak when TZ contains two or more '"'s
19251         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
19252         double quote in TZ after the first one.
19253
19254         readtokens: do not leak internal token_lengths buffer
19255         * lib/readtokens.c (readtokens): Free the local, lengths,
19256         when the supplied "token_lengths" parameter is NULL.
19257
19258 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19259
19260         Fix a couple of missing LIBTHREAD link failures on AIX.
19261         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
19262         $(LIBTHREAD).
19263         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
19264
19265         Link test-poll against INET_PTON_LIB.
19266         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
19267         for inet_pton on Solaris 10.
19268
19269 2010-01-17  Bruno Haible  <bruno@clisp.org>
19270
19271         unistdio/*-sprintf: Fix typo in module description.
19272         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
19273         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
19274         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
19275         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
19276         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
19277         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
19278         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
19279         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19280
19281 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19282
19283         gnulib-tool: fix filelist for AIX, HP-UX ksh.
19284         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
19285         variables in shell case patterns, for AIX and HP-UX ksh.
19286
19287         Split large sed scripts, for HP-UX sed.
19288         * modules/stdio: Split sed scripts around 50 sed commands,
19289         to avoid HP-UX limit of 99 commands, in the near future.
19290         * modules/string: Likewise.
19291         * modules/unistd: Likewise.
19292
19293         gnulib-tool: avoid writing in the current directory.
19294         * gnulib-tool (func_emit_lib_Makefile_am)
19295         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
19296         not in the current directory, so concurrent gnulib-tool
19297         instances do not interfere.
19298
19299 2010-01-16  Jim Meyering  <meyering@redhat.com>
19300
19301         doc: update users.txt
19302         * users.txt: Add grep.
19303         (diffutils, gzip): Update URLs.
19304
19305 2010-01-12  Bruno Haible  <bruno@clisp.org>
19306
19307         posix_spawn: Avoid test failure on Cygwin.
19308         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
19309         characters.
19310         Reported by Simon Josefsson.
19311
19312 2010-01-12  Bruno Haible  <bruno@clisp.org>
19313
19314         * tests/test-cond.c (main): When skipping the test, show the reason.
19315
19316 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19317
19318         * lib/striconv.c (str_cd_iconv): Avoid if before free.
19319
19320 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19321
19322         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
19323         VC_LIST_ALWAYS_EXCLUDE_REGEX.
19324
19325 2010-01-12  Eric Blake  <ebb9@byu.net>
19326
19327         build: guarantee AS_VAR_IF
19328         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
19329         (gl_AS_VAR_IF): Move...
19330         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
19331         Reported by Simon Josefsson.
19332
19333 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19334
19335         * lib/stdio.in.h: Fix typo.
19336
19337 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19338
19339         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
19340         libgpg-error.
19341
19342 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19343
19344         * tests/test-xalloc-die.sh: Use $EXEEXT.
19345
19346 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19347             Bruno Haible  <bruno@clisp.org>
19348
19349         getlogin, getlogin_r: Avoid test failure.
19350         * tests/test-getlogin.c: Include <stdio.h>.
19351         (main): Skip the test when the function fails because stdin is not a
19352         tty.
19353         * tests/test-getlogin_r.c: Include <stdio.h>.
19354         (main): Skip the test when the function fails because stdin is not a
19355         tty.
19356
19357 2010-01-11  Eric Blake  <ebb9@byu.net>
19358
19359         tests: avoid more large file warnings
19360         * tests/test-fflush.c: Avoid warning about ftell use.
19361         * tests/test-fseek.c: Avoid warning about fseek use.
19362
19363 2010-01-10  Bruno Haible  <bruno@clisp.org>
19364
19365         nproc: Work better on Linux when /proc and /sys are not mounted.
19366         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
19367         as lower bound when, on glibc/Linux systems,
19368         sysconf (_SC_NPROCESSORS_CONF) returns 1.
19369         Suggested by Pádraig Brady <P@draigbrady.com>.
19370         Reported by Dmitry V. Levin <ldv@altlinux.org>.
19371
19372         nproc: Refactor.
19373         * lib/nproc.c (num_processors_via_affinity_mask): New function,
19374         extracted from num_processors.
19375         (num_processors): Call it.
19376
19377 2010-01-11  Jim Meyering  <meyering@redhat.com>
19378
19379         utimecmp: avoid new warning from upcoming gcc-4.5.0
19380         * lib/utimecmp.c (BILLION): Define using #define rather than an
19381         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
19382
19383 2010-01-11  Eric Blake  <ebb9@byu.net>
19384
19385         math: add portability warnings for classification macros
19386         * modules/math (Depends-on): Add warn-on-use.
19387         (Makefile.am): Provide new substitutions.
19388         * m4/math_h.m4 (gl_MATH_H): Require inline.
19389         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
19390         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
19391         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
19392         implement warnings.
19393
19394         unistd: warn on use of environ without module
19395         * modules/unistd (Depends-on): Add warn-on-use.
19396         (Makefile.am): Provide new substitutions.
19397         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
19398         * lib/unistd.in.h (environ): Wrap with a warning helper function.
19399
19400         stdio: warn on suspicious uses
19401         * modules/stdio (Depends-on): Add warn-on-use.
19402         (Makefile.am): Provide new substitutions.
19403         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
19404         fseeko.
19405         * lib/stdio.in.h (gets): Always warn on use.
19406         (fseek, ftell): Adjust when warnings are issued, and honor
19407         _GL_NO_LARGE_FILES as a way to silence the warning.
19408         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
19409         any warning about large file offsets.
19410         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
19411         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
19412         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
19413         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
19414         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
19415         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
19416         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
19417         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
19418
19419         warn-on-use: new module
19420         * modules/warn-on-use: New file.
19421         * build-aux/warn-on-use.h: Likewise.
19422         * m4/warn-on-use.m4: Likewise.
19423         * MODULES.html.sh (Support for building): Mention it.
19424
19425 2010-01-10  Bruno Haible  <bruno@clisp.org>
19426
19427         Tests for module 'unistr/u32-strdup'.
19428         * modules/unistr/u32-strdup-tests: New file.
19429         * tests/unistr/test-u32-strdup.c: New file.
19430
19431         Tests for module 'unistr/u16-strdup'.
19432         * modules/unistr/u16-strdup-tests: New file.
19433         * tests/unistr/test-u16-strdup.c: New file.
19434
19435         Tests for module 'unistr/u8-strdup'.
19436         * modules/unistr/u8-strdup-tests: New file.
19437         * tests/unistr/test-u8-strdup.c: New file.
19438         * tests/unistr/test-strdup.h: New file.
19439
19440         Tests for module 'unistr/u32-strncmp'.
19441         * modules/unistr/u32-strncmp-tests: New file.
19442         * tests/unistr/test-u32-strncmp.c: New file.
19443
19444         Tests for module 'unistr/u16-strncmp'.
19445         * modules/unistr/u16-strncmp-tests: New file.
19446         * tests/unistr/test-u16-strncmp.c: New file.
19447
19448         Tests for module 'unistr/u8-strncmp'.
19449         * modules/unistr/u8-strncmp-tests: New file.
19450         * tests/unistr/test-u8-strncmp.c: New file.
19451         * tests/unistr/test-strncmp.h: New file.
19452
19453         Tests for module 'unistr/u32-strcoll'.
19454         * modules/unistr/u32-strcoll-tests: New file.
19455         * tests/unistr/test-u32-strcoll.c: New file.
19456
19457         Tests for module 'unistr/u16-strcoll'.
19458         * modules/unistr/u16-strcoll-tests: New file.
19459         * tests/unistr/test-u16-strcoll.c: New file.
19460
19461         Tests for module 'unistr/u8-strcoll'.
19462         * modules/unistr/u8-strcoll-tests: New file.
19463         * tests/unistr/test-u8-strcoll.c: New file.
19464
19465         Tests for module 'unistr/u32-strcmp'.
19466         * modules/unistr/u32-strcmp-tests: New file.
19467         * tests/unistr/test-u32-strcmp.c: New file.
19468         * tests/unistr/test-u32-strcmp.h: New file.
19469
19470         Tests for module 'unistr/u16-strcmp'.
19471         * modules/unistr/u16-strcmp-tests: New file.
19472         * tests/unistr/test-u16-strcmp.c: New file.
19473         * tests/unistr/test-u16-strcmp.h: New file.
19474
19475         Tests for module 'unistr/u8-strcmp'.
19476         * modules/unistr/u8-strcmp-tests: New file.
19477         * tests/unistr/test-u8-strcmp.c: New file.
19478         * tests/unistr/test-u8-strcmp.h: New file.
19479         * tests/unistr/test-strcmp.h: New file.
19480
19481         Tests for module 'unistr/u32-strncat'.
19482         * modules/unistr/u32-strncat-tests: New file.
19483         * tests/unistr/test-u32-strncat.c: New file.
19484
19485         Tests for module 'unistr/u16-strncat'.
19486         * modules/unistr/u16-strncat-tests: New file.
19487         * tests/unistr/test-u16-strncat.c: New file.
19488
19489         Tests for module 'unistr/u8-strncat'.
19490         * modules/unistr/u8-strncat-tests: New file.
19491         * tests/unistr/test-u8-strncat.c: New file.
19492         * tests/unistr/test-strncat.h: New file.
19493
19494         Tests for module 'unistr/u32-strcat'.
19495         * modules/unistr/u32-strcat-tests: New file.
19496         * tests/unistr/test-u32-strcat.c: New file.
19497
19498         Tests for module 'unistr/u16-strcat'.
19499         * modules/unistr/u16-strcat-tests: New file.
19500         * tests/unistr/test-u16-strcat.c: New file.
19501
19502         Tests for module 'unistr/u8-strcat'.
19503         * modules/unistr/u8-strcat-tests: New file.
19504         * tests/unistr/test-u8-strcat.c: New file.
19505         * tests/unistr/test-strcat.h: New file.
19506
19507         Tests for module 'unistr/u32-stpncpy'.
19508         * modules/unistr/u32-stpncpy-tests: New file.
19509         * tests/unistr/test-u32-stpncpy.c: New file.
19510
19511         Tests for module 'unistr/u16-stpncpy'.
19512         * modules/unistr/u16-stpncpy-tests: New file.
19513         * tests/unistr/test-u16-stpncpy.c: New file.
19514
19515         Tests for module 'unistr/u8-stpncpy'.
19516         * modules/unistr/u8-stpncpy-tests: New file.
19517         * tests/unistr/test-u8-stpncpy.c: New file.
19518         * tests/unistr/test-stpncpy.h: New file.
19519
19520         Tests for module 'unistr/u32-strncpy'.
19521         * modules/unistr/u32-strncpy-tests: New file.
19522         * tests/unistr/test-u32-strncpy.c: New file.
19523
19524         Tests for module 'unistr/u16-strncpy'.
19525         * modules/unistr/u16-strncpy-tests: New file.
19526         * tests/unistr/test-u16-strncpy.c: New file.
19527
19528         Tests for module 'unistr/u8-strncpy'.
19529         * modules/unistr/u8-strncpy-tests: New file.
19530         * tests/unistr/test-u8-strncpy.c: New file.
19531         * tests/unistr/test-strncpy.h: New file.
19532
19533         Tests for module 'unistr/u32-stpcpy'.
19534         * modules/unistr/u32-stpcpy-tests: New file.
19535         * tests/unistr/test-u32-stpcpy.c: New file.
19536
19537         Tests for module 'unistr/u16-stpcpy'.
19538         * modules/unistr/u16-stpcpy-tests: New file.
19539         * tests/unistr/test-u16-stpcpy.c: New file.
19540
19541         Tests for module 'unistr/u8-stpcpy'.
19542         * modules/unistr/u8-stpcpy-tests: New file.
19543         * tests/unistr/test-u8-stpcpy.c: New file.
19544         * tests/unistr/test-stpcpy.h: New file.
19545
19546         Tests for module 'unistr/u32-strcpy'.
19547         * modules/unistr/u32-strcpy-tests: New file.
19548         * tests/unistr/test-u32-strcpy.c: New file.
19549
19550         Tests for module 'unistr/u16-strcpy'.
19551         * modules/unistr/u16-strcpy-tests: New file.
19552         * tests/unistr/test-u16-strcpy.c: New file.
19553
19554         Tests for module 'unistr/u8-strcpy'.
19555         * modules/unistr/u8-strcpy-tests: New file.
19556         * tests/unistr/test-u8-strcpy.c: New file.
19557         * tests/unistr/test-strcpy.h: New file.
19558
19559         Tests for module 'unistr/u32-strnlen'.
19560         * modules/unistr/u32-strnlen-tests: New file.
19561         * tests/unistr/test-u32-strnlen.c: New file.
19562
19563         Tests for module 'unistr/u16-strnlen'.
19564         * modules/unistr/u16-strnlen-tests: New file.
19565         * tests/unistr/test-u16-strnlen.c: New file.
19566
19567         Tests for module 'unistr/u8-strnlen'.
19568         * modules/unistr/u8-strnlen-tests: New file.
19569         * tests/unistr/test-u8-strnlen.c: New file.
19570         * tests/unistr/test-strnlen.h: New file.
19571
19572         Tests for module 'unistr/u32-strlen'.
19573         * modules/unistr/u32-strlen-tests: New file.
19574         * tests/unistr/test-u32-strlen.c: New file.
19575
19576         Tests for module 'unistr/u16-strlen'.
19577         * modules/unistr/u16-strlen-tests: New file.
19578         * tests/unistr/test-u16-strlen.c: New file.
19579
19580         Tests for module 'unistr/u8-strlen'.
19581         * modules/unistr/u8-strlen-tests: New file.
19582         * tests/unistr/test-u8-strlen.c: New file.
19583
19584         Tests for module 'unistr/u32-prev'.
19585         * modules/unistr/u32-prev-tests: New file.
19586         * tests/unistr/test-u32-prev.c: New file.
19587
19588         Tests for module 'unistr/u16-prev'.
19589         * modules/unistr/u16-prev-tests: New file.
19590         * tests/unistr/test-u16-prev.c: New file.
19591
19592         Tests for module 'unistr/u8-prev'.
19593         * modules/unistr/u8-prev-tests: New file.
19594         * tests/unistr/test-u8-prev.c: New file.
19595
19596         Tests for module 'unistr/u32-next'.
19597         * modules/unistr/u32-next-tests: New file.
19598         * tests/unistr/test-u32-next.c: New file.
19599
19600         Tests for module 'unistr/u16-next'.
19601         * modules/unistr/u16-next-tests: New file.
19602         * tests/unistr/test-u16-next.c: New file.
19603
19604         Tests for module 'unistr/u8-next'.
19605         * modules/unistr/u8-next-tests: New file.
19606         * tests/unistr/test-u8-next.c: New file.
19607
19608         Tests for module 'unistr/u32-strmbtouc'.
19609         * modules/unistr/u32-strmbtouc-tests: New file.
19610         * tests/unistr/test-u32-strmbtouc.c: New file.
19611
19612         Tests for module 'unistr/u16-strmbtouc'.
19613         * modules/unistr/u16-strmbtouc-tests: New file.
19614         * tests/unistr/test-u16-strmbtouc.c: New file.
19615
19616         Tests for module 'unistr/u8-strmbtouc'.
19617         * modules/unistr/u8-strmbtouc-tests: New file.
19618         * tests/unistr/test-u8-strmbtouc.c: New file.
19619
19620         Tests for module 'unistr/u32-strmblen'.
19621         * modules/unistr/u32-strmblen-tests: New file.
19622         * tests/unistr/test-u32-strmblen.c: New file.
19623
19624         Tests for module 'unistr/u16-strmblen'.
19625         * modules/unistr/u16-strmblen-tests: New file.
19626         * tests/unistr/test-u16-strmblen.c: New file.
19627
19628         Tests for module 'unistr/u8-strmblen'.
19629         * modules/unistr/u8-strmblen-tests: New file.
19630         * tests/unistr/test-u8-strmblen.c: New file.
19631
19632         Tests for module 'unistr/u32-cpy-alloc'.
19633         * modules/unistr/u32-cpy-alloc-tests: New file.
19634         * tests/unistr/test-u32-cpy-alloc.c: New file.
19635
19636         Tests for module 'unistr/u16-cpy-alloc'.
19637         * modules/unistr/u16-cpy-alloc-tests: New file.
19638         * tests/unistr/test-u16-cpy-alloc.c: New file.
19639
19640         Tests for module 'unistr/u8-cpy-alloc'.
19641         * modules/unistr/u8-cpy-alloc-tests: New file.
19642         * tests/unistr/test-u8-cpy-alloc.c: New file.
19643         * tests/unistr/test-cpy-alloc.h: New file.
19644
19645         Tests for module 'unistr/u32-mbsnlen'.
19646         * modules/unistr/u32-mbsnlen-tests: New file.
19647         * tests/unistr/test-u32-mbsnlen.c: New file.
19648
19649         Tests for module 'unistr/u16-mbsnlen'.
19650         * modules/unistr/u16-mbsnlen-tests: New file.
19651         * tests/unistr/test-u16-mbsnlen.c: New file.
19652
19653         Tests for module 'unistr/u8-mbsnlen'.
19654         * modules/unistr/u8-mbsnlen-tests: New file.
19655         * tests/unistr/test-u8-mbsnlen.c: New file.
19656
19657         Tests for module 'unistr/u32-chr'.
19658         * modules/unistr/u32-chr-tests: New file.
19659         * tests/unistr/test-u32-chr.c: New file.
19660
19661         Tests for module 'unistr/u16-chr'.
19662         * modules/unistr/u16-chr-tests: New file.
19663         * tests/unistr/test-u16-chr.c: New file.
19664
19665         Tests for module 'unistr/u8-chr'.
19666         * modules/unistr/u8-chr-tests: New file.
19667         * tests/unistr/test-u8-chr.c: New file.
19668         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
19669
19670         Tests for module 'unistr/u32-cmp2'.
19671         * modules/unistr/u32-cmp2-tests: New file.
19672         * tests/unistr/test-u32-cmp2.c: New file.
19673
19674         Tests for module 'unistr/u16-cmp2'.
19675         * modules/unistr/u16-cmp2-tests: New file.
19676         * tests/unistr/test-u16-cmp2.c: New file.
19677
19678         Tests for module 'unistr/u8-cmp2'.
19679         * modules/unistr/u8-cmp2-tests: New file.
19680         * tests/unistr/test-u8-cmp2.c: New file.
19681         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
19682
19683         Tests for module 'unistr/u32-cmp'.
19684         * modules/unistr/u32-cmp-tests: New file.
19685         * tests/unistr/test-u32-cmp.c: New file.
19686
19687         Tests for module 'unistr/u16-cmp'.
19688         * modules/unistr/u16-cmp-tests: New file.
19689         * tests/unistr/test-u16-cmp.c: New file.
19690
19691         Tests for module 'unistr/u8-cmp'.
19692         * modules/unistr/u8-cmp-tests: New file.
19693         * tests/unistr/test-u8-cmp.c: New file.
19694         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
19695
19696         Tests for module 'unistr/u32-set'.
19697         * modules/unistr/u32-set-tests: New file.
19698         * tests/unistr/test-u32-set.c: New file.
19699
19700         Tests for module 'unistr/u16-set'.
19701         * modules/unistr/u16-set-tests: New file.
19702         * tests/unistr/test-u16-set.c: New file.
19703
19704         Tests for module 'unistr/u8-set'.
19705         * modules/unistr/u8-set-tests: New file.
19706         * tests/unistr/test-u8-set.c: New file.
19707         * tests/unistr/test-set.h: New file.
19708
19709         Tests for module 'unistr/u32-move'.
19710         * modules/unistr/u32-move-tests: New file.
19711         * tests/unistr/test-u32-move.c: New file.
19712
19713         Tests for module 'unistr/u16-move'.
19714         * modules/unistr/u16-move-tests: New file.
19715         * tests/unistr/test-u16-move.c: New file.
19716
19717         Tests for module 'unistr/u8-move'.
19718         * modules/unistr/u8-move-tests: New file.
19719         * tests/unistr/test-u8-move.c: New file.
19720         * tests/unistr/test-move.h: New file.
19721
19722         Tests for module 'unistr/u32-cpy'.
19723         * modules/unistr/u32-cpy-tests: New file.
19724         * tests/unistr/test-u32-cpy.c: New file.
19725
19726         Tests for module 'unistr/u16-cpy'.
19727         * modules/unistr/u16-cpy-tests: New file.
19728         * tests/unistr/test-u16-cpy.c: New file.
19729
19730         Tests for module 'unistr/u8-cpy'.
19731         * modules/unistr/u8-cpy-tests: New file.
19732         * tests/unistr/test-u8-cpy.c: New file.
19733         * tests/unistr/test-cpy.h: New file.
19734
19735 2010-01-09  Bruno Haible  <bruno@clisp.org>
19736
19737         Tests for module 'unistr/u32-uctomb'.
19738         * modules/unistr/u32-uctomb-tests: New file.
19739         * tests/unistr/test-u32-uctomb.c: New file.
19740
19741         Tests for module 'unistr/u16-uctomb'.
19742         * modules/unistr/u16-uctomb-tests: New file.
19743         * tests/unistr/test-u16-uctomb.c: New file.
19744
19745         Tests for module 'unistr/u8-uctomb'.
19746         * modules/unistr/u8-uctomb-tests: New file.
19747         * tests/unistr/test-u8-uctomb.c: New file.
19748
19749         Tests for module 'unistr/u32-mbtoucr'.
19750         * modules/unistr/u32-mbtoucr-tests: New file.
19751         * tests/unistr/test-u32-mbtoucr.c: New file.
19752
19753         Tests for module 'unistr/u16-mbtoucr'.
19754         * modules/unistr/u16-mbtoucr-tests: New file.
19755         * tests/unistr/test-u16-mbtoucr.c: New file.
19756
19757         Tests for module 'unistr/u8-mbtoucr'.
19758         * modules/unistr/u8-mbtoucr-tests: New file.
19759         * tests/unistr/test-u8-mbtoucr.c: New file.
19760
19761         Tests for module 'unistr/u32-mbtouc'.
19762         * modules/unistr/u32-mbtouc-tests: New file.
19763         * tests/unistr/test-u32-mbtouc.c: New file.
19764
19765         Tests for module 'unistr/u16-mbtouc'.
19766         * modules/unistr/u16-mbtouc-tests: New file.
19767         * tests/unistr/test-u16-mbtouc.c: New file.
19768
19769         Tests for module 'unistr/u8-mbtouc'.
19770         * modules/unistr/u8-mbtouc-tests: New file.
19771         * tests/unistr/test-u8-mbtouc.c: New file.
19772
19773         Tests for module 'unistr/u32-mbtouc-unsafe'.
19774         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
19775         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
19776         * tests/unistr/test-u32-mbtouc.h: New file.
19777
19778         Tests for module 'unistr/u16-mbtouc-unsafe'.
19779         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
19780         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
19781         * tests/unistr/test-u16-mbtouc.h: New file.
19782
19783         Tests for module 'unistr/u8-mbtouc-unsafe'.
19784         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
19785         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
19786         * tests/unistr/test-u8-mbtouc.h: New file.
19787
19788         Tests for module 'unistr/u32-mblen'.
19789         * modules/unistr/u32-mblen-tests: New file.
19790         * tests/unistr/test-u32-mblen.c: New file.
19791
19792         Tests for module 'unistr/u16-mblen'.
19793         * modules/unistr/u16-mblen-tests: New file.
19794         * tests/unistr/test-u16-mblen.c: New file.
19795
19796         Tests for module 'unistr/u8-mblen'.
19797         * modules/unistr/u8-mblen-tests: New file.
19798         * tests/unistr/test-u8-mblen.c: New file.
19799
19800         Tests for module 'unistr/u32-to-u16'.
19801         * modules/unistr/u32-to-u16-tests: New file.
19802         * tests/unistr/test-u32-to-u16.c: New file.
19803
19804         Tests for module 'unistr/u32-to-u8'.
19805         * modules/unistr/u32-to-u8-tests: New file.
19806         * tests/unistr/test-u32-to-u8.c: New file.
19807
19808         Tests for module 'unistr/u16-to-u32'.
19809         * modules/unistr/u16-to-u32-tests: New file.
19810         * tests/unistr/test-u16-to-u32.c: New file.
19811
19812         Tests for module 'unistr/u16-to-u8'.
19813         * modules/unistr/u16-to-u8-tests: New file.
19814         * tests/unistr/test-u16-to-u8.c: New file.
19815
19816         Tests for module 'unistr/u8-to-u32'.
19817         * modules/unistr/u8-to-u32-tests: New file.
19818         * tests/unistr/test-u8-to-u32.c: New file.
19819
19820         Tests for module 'unistr/u8-to-u16'.
19821         * modules/unistr/u8-to-u16-tests: New file.
19822         * tests/unistr/test-u8-to-u16.c: New file.
19823
19824         Tests for module 'unistr/u32-check'.
19825         * modules/unistr/u32-check-tests: New file.
19826         * tests/unistr/test-u32-check.c: New file.
19827
19828         Tests for module 'unistr/u16-check'.
19829         * modules/unistr/u16-check-tests: New file.
19830         * tests/unistr/test-u16-check.c: New file.
19831
19832         Tests for module 'unistr/u8-check'.
19833         * modules/unistr/u8-check-tests: New file.
19834         * tests/unistr/test-u8-check.c: New file.
19835
19836         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
19837         (category_equals): New function.
19838         (main): Add more tests.
19839         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
19840
19841         * tests/unictype/test-bidi_byname.c (main): Add more tests.
19842
19843 2010-01-10  Bruno Haible  <bruno@clisp.org>
19844
19845         unistr/u*-strcoll: Try harder to distinguish different strings.
19846         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
19847         compare s1 and s2 to see if they are different.
19848
19849 2010-01-10  Bruno Haible  <bruno@clisp.org>
19850
19851         unistr/u*-stpncpy: Fix the return value.
19852         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
19853         description of the return value consistent with stpncpy in glibc.
19854         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
19855         written non-NUL unit.
19856
19857 2010-01-10  Bruno Haible  <bruno@clisp.org>
19858
19859         unistr/u*-next: Add missing dependencies.
19860         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
19861         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
19862         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
19863
19864 2010-01-10  Bruno Haible  <bruno@clisp.org>
19865
19866         unistr/u8-mbsnlen: Fix return value for incomplete character.
19867         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
19868         u8_mblen.
19869         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
19870         Remove unistr/u8-mblen.
19871         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
19872         u16_mblen.
19873         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
19874         Remove unistr/u16-mblen.
19875
19876 2010-01-10  Bruno Haible  <bruno@clisp.org>
19877
19878         wchar: Fix compilation error when <wchar.h> is used from coreutils.
19879         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
19880         Reported by Brian Gough <bjg@gnu.org> and
19881         Chris Clayton <chris2553@googlemail.com> via
19882         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
19883
19884 2010-01-09  Bruno Haible  <bruno@clisp.org>
19885
19886         unistr/u16-to-u32: Reject invalid input.
19887         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
19888         u16_mbtouc.
19889         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
19890         Remove unistr/u16-mbtouc.
19891
19892         unistr/u16-to-u8: Reject invalid input.
19893         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
19894         u16_mbtouc.
19895         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
19896         Remove unistr/u16-mbtouc.
19897
19898         unistr/u8-to-u32: Reject invalid input.
19899         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
19900         u8_mbtouc.
19901         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
19902         Remove unistr/u8-mbtouc.
19903
19904         unistr/u8-to-u16: Reject invalid input.
19905         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
19906         u8_mbtouc.
19907         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
19908         Remove unistr/u8-mbtouc.
19909
19910 2010-01-09  Bruno Haible  <bruno@clisp.org>
19911
19912         Tests for module 'getlogin'.
19913         * modules/getlogin-tests: New file.
19914         * tests/test-getlogin.c: New file.
19915
19916         New module 'getlogin'.
19917         * lib/unistd.in.h (getlogin): New declaration.
19918         * lib/getlogin.c: New file.
19919         * m4/getlogin.m4: New file.
19920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
19921         HAVE_GETLOGIN.
19922         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
19923         HAVE_GETLOGIN.
19924         * modules/getlogin: New file.
19925         * doc/posix-functions/getlogin.texi: Mention the new module.
19926         Reported by John W. Eaton <jwe@gnu.org>.
19927
19928 2010-01-09  Bruno Haible  <bruno@clisp.org>
19929
19930         getlogin_r: Support for native Windows.
19931         * lib/getlogin_r.c: Include <windows.h>
19932         (getlogin_r): Implement for native Windows.
19933         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
19934         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
19935         via John W. Eaton <jwe@gnu.org>.
19936
19937 2010-01-09  Bruno Haible  <bruno@clisp.org>
19938
19939         getlogin_r: Small fixes.
19940         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
19941         succeeds.
19942         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
19943         before testing whether getlogin_r is declared. No need to set
19944         HAVE_DECL_GETLOGIN_R to 1.
19945         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
19946
19947 2010-01-09  Bruno Haible  <bruno@clisp.org>
19948
19949         * lib/unistd.in.h (getlogin_r): Add comment.
19950
19951 2010-01-09  Bruno Haible  <bruno@clisp.org>
19952
19953         Tests for module 'getlogin_r'.
19954         * modules/getlogin_r-tests: New file.
19955         * tests/test-getlogin_r.c: New file.
19956
19957 2010-01-09  Jim Meyering  <meyering@redhat.com>
19958
19959         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
19960         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
19961         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
19962
19963 2010-01-08  Simon Josefsson  <simon@josefsson.org>
19964
19965         * lib/dup2.c (rpl_dup2): Improve comment.
19966
19967 2010-01-08  Eric Blake  <ebb9@byu.net>
19968
19969         maint.mk: allow packages to add makefile @@ exceptions
19970         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19971         (sc_makefile_check): Rename...
19972         (sc_makefile_at_at_check): ...to this, and use hook.
19973
19974         dup2: work around mingw bug
19975         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19976         Reported by Simon Josefsson.
19977
19978 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19979
19980         glob: Fix C++ compilation.
19981         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19982         C++.
19983
19984 2010-01-07  Bruno Haible  <bruno@clisp.org>
19985
19986         Fix indentation of wctype.in.h, broken since 2007-01-06.
19987         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19988
19989 2010-01-07  Bruno Haible  <bruno@clisp.org>
19990
19991         mbslen: Avoid collision with system function.
19992         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19993         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19994         * m4/mbslen.m4: New file.
19995         * modules/mbslen (Files): Add it.
19996         (configure.ac): Invoke gl_MBSLEN.
19997         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19998         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19999         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
20000         via Ian Beckwith <ianb@erislabs.net>.
20001
20002 2010-01-07  Bruno Haible  <bruno@clisp.org>
20003
20004         dirent: Document the last fix.
20005         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
20006
20007 2010-01-07  Bruno Haible  <bruno@clisp.org>
20008
20009         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
20010         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
20011         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
20012         va_list are defined.
20013         * doc/posix-headers/stdio.texi: Document the bug of missing types.
20014         Reported by Eric Blake.
20015
20016 2010-01-07  Bruno Haible  <bruno@clisp.org>
20017
20018         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
20019         * modules/xlist (Depends-on): Add 'list',
20020         * modules/xoset (Depends-on): Add 'oset'.
20021         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20022
20023 2010-01-07  Bruno Haible  <bruno@clisp.org>
20024
20025         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
20026         * doc/posix-functions/strncasecmp.texi: Likewise.
20027
20028 2010-01-07  Bruno Haible  <bruno@clisp.org>
20029
20030         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
20031
20032 2010-01-07  John W. Eaton  <jwe@octave.org>
20033
20034         wctype: allow C++ use
20035         * lib/wctype.in.h: Add extern "C" block for C++.
20036
20037 2010-01-06  Eric Blake  <ebb9@byu.net>
20038
20039         maint.mk: detect incorrect GFDL usage
20040         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
20041
20042 2010-01-06  Jim Meyering  <meyering@redhat.com>
20043         and Eric Blake  <ebb9@byu.net>
20044
20045         maint.mk: ignore multi-line copyright in NEWS
20046         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
20047
20048 2010-01-06  Eric Blake  <ebb9@byu.net>
20049
20050         select: add missing dependency
20051         * modules/select-tests (Depends-on): Move sockets dependency...
20052         * modules/select (Depends-on): ...here.
20053         Reported by Ian Beckwith.
20054
20055         doc: regenerate INSTALL
20056         * doc/INSTALL: Reflect recent autoconf update.
20057         * doc/INSTALL.ISO: Likewise.
20058         * doc/INSTALL.UTF-8: Likewise.
20059
20060         pread: fix compilation on glibc
20061         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
20062         Reported by Ralf Wildenhues.
20063
20064         dirent: fix test failure
20065         * lib/dirent.in.h (includes): Guarantee ino_t.
20066         Reported by Ralf Wildenhues.
20067
20068 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
20069
20070         linkat, renameat: avoid bad free
20071         * lib/at-func2.c (at_func2): Fix typo.
20072         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
20073
20074 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20075
20076         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
20077         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
20078         to avoid failure of symlink test later.
20079
20080 2010-01-06  Eric Blake  <ebb9@byu.net>
20081
20082         stdio, unistd: guarantee ssize_t
20083         * lib/unistd.in.h (includes): Ensure that types required by POSIX
20084         2008 are exposed when needed.
20085         * lib/stdio.in.h (includes): Likewise.
20086         Reported by Ralf Wildenhues.
20087
20088 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
20089
20090         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
20091         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
20092         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
20093
20094 2010-01-06  Jim Meyering  <meyering@redhat.com>
20095
20096         readtokens: this module *does* require xalloc.h
20097         It uses only functions that were omitted by the old syntax-check rule.
20098         * lib/readtokens.c: Include "xalloc.h" once again.
20099         * modules/readtokens (Depends-on): Add xalloc.
20100         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
20101
20102 2010-01-05  Eric Blake  <ebb9@byu.net>
20103
20104         maint: support 'make announcement' from a VPATH build
20105         * top/maint.mk (announcement): Look for correct NEWS file.
20106
20107 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
20108
20109         utimens (fdutimens): ignore a negative FD, per contract
20110         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
20111         when we have a valid file descriptor.  Otherwise, using a brand
20112         new glibc (with just-patched futimens that now fails with EBADF)
20113         would cause this function to fail with ENOSYS.
20114         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
20115         See also http://bugzilla.redhat.com/552320.
20116
20117 2010-01-05  Eric Blake  <ebb9@byu.net>
20118
20119         strcase: document what it provides
20120         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
20121         gnulib module.
20122         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
20123         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
20124
20125 2010-01-05  Jim Meyering  <meyering@redhat.com>
20126
20127         maint: remove useless inclusions of "xalloc.h"
20128         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
20129         * lib/readtokens.c: Likewise.
20130         * lib/same.c: Likewise.
20131         * modules/getloadavg (Depends-on): Remove xalloc.
20132         * modules/readtokens: Likewise.
20133         * modules/same: Likewise.
20134
20135         maint.mk: include 4 more function names in alloca.h-checking regexp
20136         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
20137         regexp.  Before, we would give a false-positive (saying alloca.h
20138         is included unnecessarily) when the only uses involved omitted symbols.
20139
20140         xalloc.h: use consistent formatting
20141         * lib/xalloc.h: Move declarations to start in the first column.
20142
20143 2010-01-05  Eric Blake  <ebb9@byu.net>
20144
20145         mkdir: avoid xalloc
20146         * lib/mkdir.c (includes): Drop unused header.
20147         Reported by John W. Eaton.
20148
20149 2010-01-04  Jim Meyering  <meyering@redhat.com>
20150
20151         nl_langinfo: avoid configure-time syntax error
20152         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
20153         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
20154         the empty string.  Don't let that provoke a shell syntax error.
20155
20156         regcomp, regexec, fnmatch: avoid array bounds read error
20157         * lib/regcomp.c (build_equiv_class): From glibc:
20158         Use only the low 24 bits of a findidx return value as an index
20159         into the weights array.  Patch by Ulrich Drepper:
20160         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
20161         * lib/regexec.c (check_node_accept_bytes): Likewise.
20162         * lib/fnmatch_loop.c (FCT): Likewise.
20163
20164         regcomp: skip collseq lookup when there are no rules
20165         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
20166         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
20167
20168         regcomp: recognize ill-formed { } expressions
20169         * lib/regcomp.c (parse_dup_op): From glibc:
20170         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
20171
20172         regcomp: fix typo in comment
20173         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
20174         s/satisfy/satisfies/.
20175
20176         regcomp: sync from glibc: remove dead store
20177         * lib/regcomp.c (duplicate_node_closure): Remove useless
20178         search_duplicated_node call and dead store.
20179
20180         regcomp: sync from glibc; always use nl_langinfo
20181         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
20182         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
20183         * modules/regex (Depends-on): Add nl_langinfo.
20184
20185 2010-01-04  Eric Blake  <ebb9@byu.net>
20186
20187         fdopendir: fix configure test
20188         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
20189
20190 2010-01-01  Bruno Haible  <bruno@clisp.org>
20191
20192         wchar: Remove unused configure check.
20193         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
20194
20195 2010-01-01  Eric Blake  <ebb9@byu.net>
20196
20197         headers: make check of system header explicit
20198         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
20199         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
20200         ourselves.
20201         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20202         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20203         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
20204         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
20205         internals.
20206         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
20207         missing.
20208         Suggested by Bruno Haible.
20209
20210 2010-01-01  Jim Meyering  <meyering@redhat.com>
20211
20212         ChangeLog: tweak to eliminate unnecessary copyright line
20213         * ChangeLog: Remove a copyright line that was mistakenly updated
20214         by today's update-copyright run.  Reported by Eric Blake.
20215
20216         test-update-copyright: don't let envvar setting cause test failure
20217         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20218
20219 2010-01-01  Bruno Haible  <bruno@clisp.org>
20220
20221         localename: Avoid gcc warning.
20222         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
20223         function if it is not used.
20224
20225 2010-01-01  Jim Meyering  <meyering@redhat.com>
20226
20227         update nearly all FSF copyright year lists to include 2010
20228         Use the same procedure as for 2009, outlined in
20229         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
20230
20231         version-etc: set COPYRIGHT_YEAR to 2010
20232         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
20233
20234 2009-12-31  Eric Blake  <ebb9@byu.net>
20235
20236         doc: correct availability of cygwin 1.5.x getopt
20237         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
20238         variables.
20239         * doc/posix-functions/opterr.texi (opterr): Likewise.
20240         * doc/posix-functions/optind.texi (optind): Likewise.
20241         * doc/posix-functions/optopt.texi (optopt): Likewise.
20242         * doc/posix-functions/tzname.texi (tzname): Likewise.
20243
20244         openat: update maintainer
20245         * modules/openat (Maintainer): Add myself.
20246
20247         utimens: avoid shadowing warning
20248         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
20249         buffers into one, to avoid shadowing, as well as avoiding a
20250         redundant stat.
20251         Reported by Jim Meyering.
20252
20253         test-dup2: avoid compiler warning
20254         * tests/test-dup2.c (is_inheritable): Only define if used.
20255
20256 2010-01-01  Bruno Haible  <bruno@clisp.org>
20257
20258         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
20259         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
20260         defined, use wctomb instead of wcrtomb.
20261
20262 2010-01-01  Bruno Haible  <bruno@clisp.org>
20263
20264         iconv: Reject native Solaris iconv.
20265         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
20266         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
20267
20268 2009-12-31  Bruno Haible  <bruno@clisp.org>
20269
20270         * tests/test-signal.c (main): Remove test of 'SIG'.
20271
20272 2009-12-31  Bruno Haible  <bruno@clisp.org>
20273
20274         spawn: Fix incomplete fix.
20275         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
20276         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
20277         warnings for GNULIB_POSIXCHECK again.
20278         Reported by Eric Blake.
20279
20280 2009-12-31  Bruno Haible  <bruno@clisp.org>
20281
20282         Avoid namespace pollution on glibc systems.
20283         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
20284         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
20285         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
20286         glibc systems.
20287
20288 2009-12-31  Bruno Haible  <bruno@clisp.org>
20289
20290         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
20291         (gl_REPLACE_WCHAR_H): Turn into a no-op.
20292         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
20293         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20294         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20295         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20296         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20297
20298 2009-12-31  Bruno Haible  <bruno@clisp.org>
20299
20300         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
20301         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
20302         afterwards.
20303
20304 2009-12-31  Bruno Haible  <bruno@clisp.org>
20305
20306         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
20307         SYS_UTSNAME_H.
20308
20309 2009-12-31  Bruno Haible  <bruno@clisp.org>
20310
20311         spawn: Fix misapplied patch.
20312         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
20313         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
20314         warnings for GNULIB_POSIXCHECK.
20315
20316 2009-12-31  Bruno Haible  <bruno@clisp.org>
20317
20318         times: Update after sys_times changed.
20319         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
20320         * modules/times (Files): Add it.
20321         (configure.ac): Invoke gl_FUNC_TIMES.
20322
20323 2009-12-31  Bruno Haible  <bruno@clisp.org>
20324
20325         Use AC_C_INLINE where necessary.
20326         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
20327         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
20328         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
20329         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
20330         * m4/mbfile.m4 (gl_MBFILE): Likewise.
20331         * m4/mbiter.m4 (gl_MBITER): Likewise.
20332         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
20333         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20334         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
20335         * modules/u64 (configure.ac): Likewise.
20336
20337 2009-12-31  Bruno Haible  <bruno@clisp.org>
20338
20339         Use AC_C_INLINE instead of module 'inline' where possible.
20340         * modules/inline (Description): Clarify purpose.
20341         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
20342         * modules/count-one-bits (Depends-on): Remove inline.
20343         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
20344         * modules/openat (Depends-on): Remove inline.
20345         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
20346         instead of depending on module 'inline'.
20347         * modules/filevercmp (Depends-on, configure.ac): Likewise.
20348         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
20349         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
20350         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
20351         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
20352         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
20353         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
20354         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
20355         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
20356         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
20357         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
20358         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
20359         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
20360         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
20361         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
20362         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
20363         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
20364         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
20365         Likewise.
20366         * modules/unictype/property-ascii-hex-digit (Depends-on,
20367         configure.ac): Likewise.
20368         * modules/unictype/property-bidi-arabic-digit (Depends-on,
20369         configure.ac): Likewise.
20370         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
20371         configure.ac): Likewise.
20372         * modules/unictype/property-bidi-block-separator (Depends-on,
20373         configure.ac): Likewise.
20374         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
20375         configure.ac): Likewise.
20376         * modules/unictype/property-bidi-common-separator (Depends-on,
20377         configure.ac): Likewise.
20378         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
20379         Likewise.
20380         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
20381         configure.ac): Likewise.
20382         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
20383         configure.ac): Likewise.
20384         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
20385         configure.ac): Likewise.
20386         * modules/unictype/property-bidi-european-digit (Depends-on,
20387         configure.ac): Likewise.
20388         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
20389         configure.ac): Likewise.
20390         * modules/unictype/property-bidi-left-to-right (Depends-on,
20391         configure.ac): Likewise.
20392         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
20393         configure.ac): Likewise.
20394         * modules/unictype/property-bidi-other-neutral (Depends-on,
20395         configure.ac): Likewise.
20396         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
20397         Likewise.
20398         * modules/unictype/property-bidi-segment-separator (Depends-on,
20399         configure.ac): Likewise.
20400         * modules/unictype/property-bidi-whitespace (Depends-on,
20401         configure.ac): Likewise.
20402         * modules/unictype/property-combining (Depends-on, configure.ac):
20403         Likewise.
20404         * modules/unictype/property-composite (Depends-on, configure.ac):
20405         Likewise.
20406         * modules/unictype/property-currency-symbol (Depends-on,
20407         configure.ac): Likewise.
20408         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
20409         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
20410         Likewise.
20411         * modules/unictype/property-default-ignorable-code-point (Depends-on,
20412         configure.ac): Likewise.
20413         * modules/unictype/property-deprecated (Depends-on, configure.ac):
20414         Likewise.
20415         * modules/unictype/property-diacritic (Depends-on, configure.ac):
20416         Likewise.
20417         * modules/unictype/property-extender (Depends-on, configure.ac):
20418         Likewise.
20419         * modules/unictype/property-format-control (Depends-on, configure.ac):
20420         Likewise.
20421         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
20422         Likewise.
20423         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
20424         Likewise.
20425         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
20426         Likewise.
20427         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
20428         Likewise.
20429         * modules/unictype/property-hyphen (Depends-on, configure.ac):
20430         Likewise.
20431         * modules/unictype/property-id-continue (Depends-on, configure.ac):
20432         Likewise.
20433         * modules/unictype/property-id-start (Depends-on, configure.ac):
20434         Likewise.
20435         * modules/unictype/property-ideographic (Depends-on, configure.ac):
20436         Likewise.
20437         * modules/unictype/property-ids-binary-operator (Depends-on,
20438         configure.ac): Likewise.
20439         * modules/unictype/property-ids-trinary-operator (Depends-on,
20440         configure.ac): Likewise.
20441         * modules/unictype/property-ignorable-control (Depends-on,
20442         configure.ac): Likewise.
20443         * modules/unictype/property-iso-control (Depends-on, configure.ac):
20444         Likewise.
20445         * modules/unictype/property-join-control (Depends-on, configure.ac):
20446         Likewise.
20447         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
20448         Likewise.
20449         * modules/unictype/property-line-separator (Depends-on, configure.ac):
20450         Likewise.
20451         * modules/unictype/property-logical-order-exception (Depends-on,
20452         configure.ac): Likewise.
20453         * modules/unictype/property-lowercase (Depends-on, configure.ac):
20454         Likewise.
20455         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
20456         * modules/unictype/property-non-break (Depends-on, configure.ac):
20457         Likewise.
20458         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
20459         Likewise.
20460         * modules/unictype/property-numeric (Depends-on, configure.ac):
20461         Likewise.
20462         * modules/unictype/property-other-alphabetic (Depends-on,
20463         configure.ac): Likewise.
20464         * modules/unictype/property-other-default-ignorable-code-point
20465         (Depends-on, configure.ac): Likewise.
20466         * modules/unictype/property-other-grapheme-extend (Depends-on,
20467         configure.ac): Likewise.
20468         * modules/unictype/property-other-id-continue (Depends-on,
20469         configure.ac): Likewise.
20470         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
20471         Likewise.
20472         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
20473         Likewise.
20474         * modules/unictype/property-other-math (Depends-on, configure.ac):
20475         Likewise.
20476         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
20477         Likewise.
20478         * modules/unictype/property-paired-punctuation (Depends-on,
20479         configure.ac): Likewise.
20480         * modules/unictype/property-paragraph-separator (Depends-on,
20481         configure.ac): Likewise.
20482         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
20483         Likewise.
20484         * modules/unictype/property-pattern-white-space (Depends-on,
20485         configure.ac): Likewise.
20486         * modules/unictype/property-private-use (Depends-on, configure.ac):
20487         Likewise.
20488         * modules/unictype/property-punctuation (Depends-on, configure.ac):
20489         Likewise.
20490         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
20491         Likewise.
20492         * modules/unictype/property-radical (Depends-on, configure.ac):
20493         Likewise.
20494         * modules/unictype/property-sentence-terminal (Depends-on,
20495         configure.ac): Likewise.
20496         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
20497         Likewise.
20498         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
20499         * modules/unictype/property-terminal-punctuation (Depends-on,
20500         configure.ac): Likewise.
20501         * modules/unictype/property-titlecase (Depends-on, configure.ac):
20502         Likewise.
20503         * modules/unictype/property-unassigned-code-value (Depends-on,
20504         configure.ac): Likewise.
20505         * modules/unictype/property-unified-ideograph (Depends-on,
20506         configure.ac): Likewise.
20507         * modules/unictype/property-uppercase (Depends-on, configure.ac):
20508         Likewise.
20509         * modules/unictype/property-variation-selector (Depends-on,
20510         configure.ac): Likewise.
20511         * modules/unictype/property-white-space (Depends-on, configure.ac):
20512         Likewise.
20513         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
20514         Likewise.
20515         * modules/unictype/property-xid-start (Depends-on, configure.ac):
20516         Likewise.
20517         * modules/unictype/property-zero-width (Depends-on, configure.ac):
20518         Likewise.
20519         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
20520         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
20521         Likewise.
20522
20523 2009-12-31  Bruno Haible  <bruno@clisp.org>
20524
20525         Remove unnecessary AC_C_INLINE invocation.
20526         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
20527         since 2009-08-21.
20528
20529 2009-12-31  Jim Meyering  <meyering@redhat.com>
20530
20531         maint.mk: don't require explicit gpg_key_ID in cfg.mk
20532         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
20533         With this change, we can all remove the gpg_key_ID = ... definition
20534         from our respective cfg.mk files.
20535
20536         maint.mk: create announcement template in ~/, not in /tmp
20537         * top/maint.mk (emit_upload_commands): Adjust.
20538         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
20539         Remove temporary file, .ci-msg.
20540
20541 2009-12-31  Eric Blake  <ebb9@byu.net>
20542
20543         link-warning: always build headers with link warnings
20544         * modules/arpa_inet (Makefile.am): Always build replacement
20545         header.
20546         * modules/ctype (Makefile.am): Likewise.
20547         * modules/dirent (Makefile.am): Likewise.
20548         * modules/inttypes (Makefile.am): Likewise.
20549         * modules/langinfo (Makefile.am): Likewise.
20550         * modules/locale (Makefile.am): Likewise.
20551         * modules/spawn (Makefile.am): Likewise.
20552         * modules/sys_file (Makefile.am): Likewise.
20553         * modules/sys_ioctl (Makefile.am): Likewise.
20554         * modules/sys_select (Makefile.am): Likewise.
20555         * modules/sys_socket (Makefile.am): Likewise.
20556         * modules/sys_times (Makefile.am): Likewise.
20557         * modules/sys_utsname (Makefile.am): Likewise.
20558         * modules/sys_wait (Makefile.am): Likewise.
20559         * modules/wchar (Makefile.am): Likewise.
20560         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
20561         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
20562         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
20563         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
20564         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
20565         Likewise.
20566         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20567         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20568         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
20569         Likewise.
20570         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
20571         Likewise.
20572         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20573         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
20574         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
20575         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20576         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20577         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20578         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20579         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
20580         (gl_WCHAR_H_DEFAULTS): Likewise.
20581
20582 2009-12-31  Eric Blake  <ebb9@byu.net>
20583
20584         signal, spawn: use link warnings
20585         * lib/signal.in.h (sigset_t): Make unconditional.
20586         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
20587         (sigpending, sigprocmask, sigaction): Add link warnings.
20588         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
20589         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
20590         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
20591         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
20592         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
20593         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
20594         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
20595         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
20596         (posix_spawn_file_actions_destroy)
20597         (posix_spawn_file_actions_addopen)
20598         (posix_spawn_file_actions_addclose)
20599         (posix_spawn_file_actions_adddup2): Likewise.
20600         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
20601         * tests/test-signal.c (main): Enhance test.
20602
20603         spawn: improve wrapper support
20604         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
20605         (gl_SPAWN_H_DEFAULTS): New defaults.
20606         * modules/spawn (Makefile.am): Substitute them.
20607         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
20608         Only declare if missing or broken.
20609
20610         sys_times, sys_utsname: use include_next
20611         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
20612         header.
20613         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
20614         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20615         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20616         * modules/sys_times (Depends-on): Add include_next.
20617         (Makefile.am): Substitute additional values.
20618         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20619         * lib/sys_times.in.h (includes): Include native header, if
20620         available.
20621         * lib/sys_utsname.in.h (includes): Likewise.
20622         * tests/test-sys_times.c (main): Enhance test.
20623
20624         fdutimensat: revert prior patch
20625         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
20626         utimens.h.
20627         Reported by Bruno Haible.
20628
20629 2009-12-30  Eric Blake  <ebb9@byu.net>
20630
20631         sys_wait: drop link-warning dependency
20632         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
20633         link-warning efforts.
20634         * lib/sys_wait.in.h: Likewise.
20635
20636         fdutimensat: remove bogus dependency
20637         * modules/fdutimensat (Depends-on): Drop inline.
20638
20639         unistd: fix typo
20640         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
20641
20642 2009-12-30  Bruno Haible  <bruno@clisp.org>
20643
20644         Fix compilation error with Solaris cc.
20645         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
20646         * lib/unicase/u16-is-invariant.c: Likewise.
20647         * lib/unicase/u32-is-invariant.c: Likewise.
20648         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20649
20650 2009-12-30  Bruno Haible  <bruno@clisp.org>
20651
20652         Fix test crash.
20653         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
20654         locales.
20655         Reported by Simon Josefsson <simon@josefsson.org>.
20656
20657 2009-12-30  Bruno Haible  <bruno@clisp.org>
20658
20659         Fix compilation error on most platforms.
20660         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
20661         Reported by Simon Josefsson <simon@josefsson.org>
20662         and Nelson H. F. Beebe <beebe@math.utah.edu>.
20663
20664 2009-12-30  Eric Blake  <ebb9@byu.net>
20665
20666         futimens, utimensat: work around ntfs-3g bug
20667         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
20668         a ctime bug is present, and expand workaround to cover ntfs-3g.
20669         * lib/utimens.c (fdutimens, lutimens): Likewise.
20670         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
20671         (validate_timespec): Adjust return value.
20672         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
20673         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20674         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
20675
20676 2009-12-29  Eric Blake  <ebb9@byu.net>
20677
20678         link-warning: make usage consistent
20679         * modules/ctype (Depends-on): Add link-warning.
20680         (Makefile.am): Update rules accordingly.
20681         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20682         * modules/locale (Depends-on, Makefile.am): Likewise.
20683         * modules/sys_file (Makefile.am): Likewise.
20684         * modules/getopt-posix (Makefile.am): Delete unused link warning
20685         efforts.
20686         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
20687         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
20688         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
20689         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
20690
20691         stdio: remove unused variables
20692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
20693         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
20694         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20695
20696         tests: test more substitute headers
20697         * modules/ctype-tests: New file.
20698         * modules/dirent-tests: Likewise.
20699         * modules/spawn-tests: Likewise.
20700         * modules/sys_file-tests: Likewise.
20701         * modules/sys_ioctl-tests: Likewise.
20702         * modules/sys_wait-tests: Likewise.
20703         * tests/test-ctype.c: Likewise.
20704         * tests/test-dirent.c: Likewise.
20705         * tests/test-spawn.c: Likewise.
20706         * tests/test-sys_file.c: Likewise.
20707         * tests/test-sys_ioctl.c: Likewise.
20708         * tests/test-sys_wait.c: Likewise.
20709         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
20710         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
20711         whether or not flock is in use.
20712
20713         tests: remove License section from module
20714         * modules/arpa_inet-tests: Remove unneeded section.
20715         * modules/byteswap-tests: Likewise.
20716         * modules/ceilf-tests: Likewise.
20717         * modules/ceill-tests: Likewise.
20718         * modules/crypto/des-tests: Likewise.
20719         * modules/crypto/gc-arcfour-tests: Likewise.
20720         * modules/crypto/gc-arctwo-tests: Likewise.
20721         * modules/crypto/gc-des-tests: Likewise.
20722         * modules/crypto/gc-hmac-md5-tests: Likewise.
20723         * modules/crypto/gc-hmac-sha1-tests: Likewise.
20724         * modules/crypto/gc-md2-tests: Likewise.
20725         * modules/crypto/gc-md4-tests: Likewise.
20726         * modules/crypto/gc-md5-tests: Likewise.
20727         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
20728         * modules/crypto/gc-rijndael-tests: Likewise.
20729         * modules/crypto/gc-sha1-tests: Likewise.
20730         * modules/crypto/gc-tests: Likewise.
20731         * modules/crypto/md2-tests: Likewise.
20732         * modules/crypto/md4-tests: Likewise.
20733         * modules/fcntl-h-tests: Likewise.
20734         * modules/floorf-tests: Likewise.
20735         * modules/floorl-tests: Likewise.
20736         * modules/frexp-nolibm-tests: Likewise.
20737         * modules/frexp-tests: Likewise.
20738         * modules/frexpl-nolibm-tests: Likewise.
20739         * modules/frexpl-tests: Likewise.
20740         * modules/getaddrinfo-tests: Likewise.
20741         * modules/inttypes-tests: Likewise.
20742         * modules/isfinite-tests: Likewise.
20743         * modules/isinf-tests: Likewise.
20744         * modules/ldexpl-tests: Likewise.
20745         * modules/locale-tests: Likewise.
20746         * modules/math-tests: Likewise.
20747         * modules/netdb-tests: Likewise.
20748         * modules/netinet_in-tests: Likewise.
20749         * modules/printf-frexp-tests: Likewise.
20750         * modules/printf-frexpl-tests: Likewise.
20751         * modules/priv-set-tests: Likewise.
20752         * modules/random_r-tests: Likewise.
20753         * modules/round-tests: Likewise.
20754         * modules/roundf-tests: Likewise.
20755         * modules/roundl-tests: Likewise.
20756         * modules/search-tests: Likewise.
20757         * modules/select-tests: Likewise.
20758         * modules/signal-tests: Likewise.
20759         * modules/stdbool-tests: Likewise.
20760         * modules/stddef-tests: Likewise.
20761         * modules/stdint-tests: Likewise.
20762         * modules/stdio-tests: Likewise.
20763         * modules/stdlib-tests: Likewise.
20764         * modules/string-tests: Likewise.
20765         * modules/strings-tests: Likewise.
20766         * modules/sys_select-tests: Likewise.
20767         * modules/sys_socket-tests: Likewise.
20768         * modules/sys_stat-tests: Likewise.
20769         * modules/sys_time-tests: Likewise.
20770         * modules/sys_utsname-tests: Likewise.
20771         * modules/sysexits-tests: Likewise.
20772         * modules/time-tests: Likewise.
20773         * modules/trunc-tests: Likewise.
20774         * modules/truncf-tests: Likewise.
20775         * modules/truncl-tests: Likewise.
20776         * modules/tsearch-tests: Likewise.
20777         * modules/unistd-tests: Likewise.
20778         * modules/wchar-tests: Likewise.
20779         * modules/wctype-tests: Likewise.
20780
20781         tests: fix license on several tests
20782         * tests/test-des.c: Update to GPLv3+.
20783         * tests/test-flock.c: Likewise.
20784         * tests/test-fsync.c: Likewise.
20785         * tests/test-futimens.h: Likewise.
20786         * tests/test-gc-arcfour.c: Likewise.
20787         * tests/test-gc-arctwo.c: Likewise.
20788         * tests/test-gc-des.c: Likewise.
20789         * tests/test-gc-hmac-md5.c: Likewise.
20790         * tests/test-gc-hmac-sha1.c: Likewise.
20791         * tests/test-gc-md2.c: Likewise.
20792         * tests/test-gc-md4.c: Likewise.
20793         * tests/test-gc-md5.c: Likewise.
20794         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20795         * tests/test-gc-rijndael.c: Likewise.
20796         * tests/test-gc-sha1.c: Likewise.
20797         * tests/test-gc.c: Likewise.
20798         * tests/test-getcwd.c: Likewise.
20799         * tests/test-link.c: Likewise.
20800         * tests/test-link.h: Likewise.
20801         * tests/test-lutimens.h: Likewise.
20802         * tests/test-md2.c: Likewise.
20803         * tests/test-md4.c: Likewise.
20804         * tests/test-mkdir.h: Likewise.
20805         * tests/test-rename.c: Likewise.
20806         * tests/test-rename.h: Likewise.
20807         * tests/test-safe-alloc.c: Likewise.
20808         * tests/test-utimens-common.h: Likewise.
20809         * tests/test-utimens.h: Likewise.
20810
20811         maint: sync license texts
20812         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
20813         * doc/gpl-3.0.texi: Revert copyright year update.
20814         * doc/lgpl-3.0.texi: Likewise.
20815
20816 2009-12-29  Jim Meyering  <meyering@redhat.com>
20817
20818         update nearly all FSF copyright year lists to include 2009
20819         The files named by the following are exempted:
20820             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
20821               test -f "$dst" && { echo "$dst"; continue; }
20822               test -d "$dst" || continue
20823               echo "$dst"/$(basename "$src")
20824             done > exempt
20825             git ls-files tests/unictype >> exempt
20826         In the remaining files, convert to all-interval notation if
20827         - there is already at least one year interval like 2000-2003
20828         - the file is maintained by me
20829         - the file is in lib/uni*/, where that style already prevails
20830         Otherwise, use update-copyright's default.
20831
20832 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20833         and Eric Blake  <ebb9@byu.net>
20834
20835         tests: don't require debug system() to pass
20836         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
20837         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20838         * tests/test-unlink.h (test_unlink_func): Likewise.
20839         * tests/test-fstatat.c (main): ...into callers.
20840         * tests/test-lstat.c (main): Likewise.
20841         * tests/test-rmdir.c (main): Likewise.
20842         * tests/test-unlink.c (main): Likewise.
20843         * tests/test-unlinkat.c (main): Likewise.
20844         * tests/test-areadlink-with-size.c (main): Don't require a
20845         debug-only system call to pass, aiding cross-testing to mingw.
20846         * tests/test-areadlink.c (main): Likewise.
20847         * tests/test-areadlinkat-with-size.c (main): Likewise.
20848         * tests/test-areadlinkat.c (main): Likewise.
20849         * tests/test-canonicalize-lgpl.c (main): Likewise.
20850         * tests/test-canonicalize.c (main): Likewise.
20851         * tests/test-chown.c (main): Likewise.
20852         * tests/test-fchownat.c (main): Likewise.
20853         * tests/test-lchown.c (main): Likewise.
20854         * tests/test-fdutimensat.c (main): Likewise.
20855         * tests/test-futimens.c (main): Likewise.
20856         * tests/test-link.c (main): Likewise.
20857         * tests/test-linkat.c (main): Likewise.
20858         * tests/test-mkdir.c (main): Likewise.
20859         * tests/test-mkdirat.c (main): Likewise.
20860         * tests/test-mkfifo.c (main): Likewise.
20861         * tests/test-mkfifoat.c (main): Likewise.
20862         * tests/test-mknod.c (main): Likewise.
20863         * tests/test-readlink.c (main): Likewise.
20864         * tests/test-remove.c (main): Likewise.
20865         * tests/test-rename.c (main): Likewise.
20866         * tests/test-renameat.c (main): Likewise.
20867         * tests/test-symlink.c (main): Likewise.
20868         * tests/test-symlinkat.c (main): Likewise.
20869         * tests/test-utimens.c (main): Likewise.
20870         * tests/test-utimensat.c (main): Likewise.
20871
20872 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20873
20874         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
20875         on $(UNUSED_PARAMETER_H) to avoid build failure.
20876
20877 2009-12-28  Jim Meyering  <meyering@redhat.com>
20878
20879         update-copyright: you may specify a max. line length other than 72
20880         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20881
20882         maint: use consistent FSF copyright line syntax
20883         * lib/posixtm.c: Add missing comma in FSF copyright line.
20884         * lib/posixtm.h: Likewise.
20885         * lib/getugroups.c: Add missing ", Inc.".
20886
20887         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
20888         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
20889         FSF copyright line.  Remove trailing blanks.
20890
20891 2009-12-28  Eric Blake  <ebb9@byu.net>
20892
20893         test-dup2: reduce dependencies
20894         * modules/cloexec (Configure.ac): Set witness.
20895         * modules/dup2-tests (Depends-on): Drop cloexec.
20896         * tests/test-dup2.c (main): Skip portion of test if cloexec module
20897         not present.
20898         Suggested by Bruno Haible.
20899
20900 2009-12-26  Bruno Haible  <bruno@clisp.org>
20901
20902         Remove an unneeded dependency.
20903         * modules/fseterr (Depends-on): Remove dup2.
20904
20905 2009-12-26  Eric Blake  <ebb9@byu.net>
20906
20907         tests: use macros.h in more places
20908         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
20909         (ASSERT_STREAM): Provide default of stderr.
20910         * tests/test-dirent-safer.c: Include macros.h, using alternate
20911         stream for assertions.
20912         * tests/test-dup-safer.c: Likewise.
20913         * tests/test-freopen-safer.c: Likewise.
20914         * tests/test-getopt.c: Likewise.
20915         * tests/test-openat-safer.c: Likewise.
20916         * tests/test-pipe.c: Likewise.
20917         * tests/test-popen-safer.c: Likewise.
20918         * modules/dirent-safer-tests (Files): Include macros.h.
20919         * modules/unistd-safer-tests (Files): Likewise.
20920         * modules/freopen-safer-tests (Files): Likewise.
20921         * modules/getopt-posix-tests (Files): Likewise.
20922         * modules/openat-safer-tests (Files): Likewise.
20923         * modules/pipe-tests (Files): Likewise.
20924
20925 2009-12-26  Bruno Haible  <bruno@clisp.org>
20926
20927         javacomp: Portability fix.
20928         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
20929         that it also works on Solaris.
20930
20931 2009-12-26  Bruno Haible  <bruno@clisp.org>
20932
20933         localename: Fix storage allocation of gl_locale_name_thread's result.
20934         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
20935         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
20936         all platforms that have 'uselocale'.
20937         (gl_locale_name_thread_unsafe): New function, extracted from
20938         gl_locale_name_thread.
20939         (gl_locale_name_thread): Call struniq on all platforms that have
20940         'uselocale'.
20941         * tests/test-localename.c (test_locale_name_thread): Check that the
20942         resulting strings are permanently allocated.
20943         * modules/localename-tests (Depends-on): Add strdup.
20944
20945 2009-12-26  Bruno Haible  <bruno@clisp.org>
20946
20947         * tests/test-localename.c (categories): Fill in the strings.
20948
20949 2009-12-26  Jim Meyering  <meyering@redhat.com>
20950
20951         isdir: complete the removal of m4/isdir.m4
20952         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
20953
20954         isdir: clean up, since at least grep still uses it
20955         * lib/isdir.c: Include "isdir.h".
20956         (S_ISDIR): Remove now-unneeded definition.
20957         * modules/isdir (Files): Add lib/isdir.h.
20958         * lib/isdir.h: New file, with declaration.
20959         * m4/isdir.m4: Remove file -- unneeded.
20960
20961 2009-12-25  Bruno Haible  <bruno@clisp.org>
20962
20963         selinux-h: Make generated .h files standalone.
20964         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
20965         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
20966         * lib/se-selinux.in.h: Likewise.
20967         * modules/selinux-h (Depends-on): Add unused-parameter.
20968         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
20969         selinux/selinux.h and selinux/context.h.
20970         Suggested by Eric Blake.
20971
20972 2009-12-25  Bruno Haible  <bruno@clisp.org>
20973
20974         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20975         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20976         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20977         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20978         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20979
20980 2009-12-24  Bruno Haible  <bruno@clisp.org>
20981
20982         openat: Fix warning.
20983         * lib/openat-proc.c: Include <unistd.h>.
20984
20985 2009-12-24  Bruno Haible  <bruno@clisp.org>
20986
20987         New module 'unused-parameter'.
20988         * build-aux/unused-parameter.h: New file, extracted from earlier
20989         gnulib-common.m4.
20990         * modules/unused-parameter: New file.
20991         * lib/unistr.h: Include unused-parameter.h.
20992         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20993         _GL_UNUSED.
20994         * modules/unistr/base (Depends-on): Add unused-parameter.
20995
20996 2009-12-24  Bruno Haible  <bruno@clisp.org>
20997
20998         Add missing dependencies to 'extensions' module.
20999         * m4/extensions.m4: Add comment.
21000         * modules/accept4 (Depends-on): Add extensions.
21001         * modules/dup3 (Depends-on): Likewise.
21002         * modules/fcntl (Depends-on): Likewise.
21003         * modules/futimens (Depends-on): Likewise.
21004         * modules/mknod (Depends-on): Likewise.
21005         * modules/pipe2 (Depends-on): Likewise.
21006         * modules/stat-time (Depends-on): Likewise.
21007         * modules/strcasestr-simple (Depends-on): Likewise.
21008         * modules/strsignal (Depends-on): Likewise.
21009         * modules/utimensat (Depends-on): Likewise.
21010         * modules/localcharset (Depends-on): Likewise. Needed because of
21011         gl_FCNTL_O_FLAGS.
21012         * modules/wcrtomb (Depends-on): Likewise. Needed because of
21013         AC_TYPE_MBSTATE_T.
21014         * modules/wcsnrtombs (Depends-on): Likewise.
21015         * modules/wcsrtombs (Depends-on): Likewise.
21016
21017 2009-12-24  Bruno Haible  <bruno@clisp.org>
21018
21019         binary-io: Avoid gcc warning due to SET_BINARY.
21020         * lib/binary-io.h (SET_BINARY): Cast the result to void.
21021         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
21022
21023 2009-12-24  Bruno Haible  <bruno@clisp.org>
21024
21025         Avoid future namespace pollution on glibc systems.
21026         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
21027         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
21028         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
21029         glibc systems.
21030
21031 2009-12-24  Bruno Haible  <bruno@clisp.org>
21032
21033         Refactor common macros used in tests.
21034         * tests/macros.h: New file.
21035         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
21036         and/or <stdlib.h>, if appropriate.
21037         (ASSERT, SIZEOF): Remove macros.
21038         * tests/test-areadlink-with-size.c: Likewise.
21039         * tests/test-areadlinkat.c: Likewise.
21040         * tests/test-areadlinkat-with-size.c: Likewise.
21041         * tests/test-argmatch.c: Likewise.
21042         * tests/test-argv-iter.c: Likewise.
21043         * tests/test-array-mergesort.c: Likewise.
21044         * tests/test-array_list.c: Likewise.
21045         * tests/test-array_oset.c: Likewise.
21046         * tests/test-avltree_list.c: Likewise.
21047         * tests/test-avltree_oset.c: Likewise.
21048         * tests/test-avltreehash_list.c: Likewise.
21049         * tests/test-base64.c: Likewise.
21050         * tests/test-binary-io.c: Likewise.
21051         * tests/test-bitrotate.c: Likewise.
21052         * tests/test-btowc.c: Likewise.
21053         * tests/test-byteswap.c: Likewise.
21054         * tests/test-c-ctype.c: Likewise.
21055         * tests/test-c-stack.c: Likewise.
21056         * tests/test-c-strcasecmp.c: Likewise.
21057         * tests/test-c-strcasestr.c: Likewise.
21058         * tests/test-c-strncasecmp.c: Likewise.
21059         * tests/test-c-strstr.c: Likewise.
21060         * tests/test-canonicalize-lgpl.c: Likewise.
21061         * tests/test-canonicalize.c: Likewise.
21062         * tests/test-carray_list.c: Likewise.
21063         * tests/test-ceilf1.c: Likewise.
21064         * tests/test-ceilf2.c: Likewise.
21065         * tests/test-ceill.c: Likewise.
21066         * tests/test-chown.c: Likewise.
21067         * tests/test-cloexec.c: Likewise.
21068         * tests/test-copy-acl.c: Likewise.
21069         * tests/test-copy-file.c: Likewise.
21070         * tests/test-count-one-bits.c: Likewise.
21071         * tests/test-dprintf-posix.c: Likewise.
21072         * tests/test-dup2.c: Likewise.
21073         * tests/test-dup3.c: Likewise.
21074         * tests/test-duplocale.c: Likewise.
21075         * tests/test-fbufmode.c: Likewise.
21076         * tests/test-fchdir.c: Likewise.
21077         * tests/test-fchownat.c: Likewise.
21078         * tests/test-fcntl-safer.c: Likewise.
21079         * tests/test-fcntl.c: Likewise.
21080         * tests/test-fdopendir.c: Likewise.
21081         * tests/test-fdutimensat.c: Likewise.
21082         * tests/test-fflush2.c: Likewise.
21083         * tests/test-file-has-acl.c: Likewise.
21084         * tests/test-filevercmp.c: Likewise.
21085         * tests/test-flock.c: Likewise.
21086         * tests/test-floorf1.c: Likewise.
21087         * tests/test-floorf2.c: Likewise.
21088         * tests/test-floorl.c: Likewise.
21089         * tests/test-fnmatch.c: Likewise.
21090         * tests/test-fopen.h: Likewise.
21091         * tests/test-fpending.c: Likewise.
21092         * tests/test-fprintf-posix.c: Likewise.
21093         * tests/test-fpurge.c: Likewise.
21094         * tests/test-freadable.c: Likewise.
21095         * tests/test-freadahead.c: Likewise.
21096         * tests/test-freading.c: Likewise.
21097         * tests/test-freadptr.c: Likewise.
21098         * tests/test-freadptr2.c: Likewise.
21099         * tests/test-freadseek.c: Likewise.
21100         * tests/test-freopen.c: Likewise.
21101         * tests/test-frexp.c: Likewise.
21102         * tests/test-frexpl.c: Likewise.
21103         * tests/test-fseek.c: Likewise.
21104         * tests/test-fseeko.c: Likewise.
21105         * tests/test-fstatat.c: Likewise.
21106         * tests/test-fstrcmp.c: Likewise.
21107         * tests/test-fsync.c: Likewise.
21108         * tests/test-ftell.c: Likewise.
21109         * tests/test-ftello.c: Likewise.
21110         * tests/test-func.c: Likewise.
21111         * tests/test-futimens.c: Likewise.
21112         * tests/test-fwritable.c: Likewise.
21113         * tests/test-fwriting.c: Likewise.
21114         * tests/test-getcwd.c: Likewise.
21115         * tests/test-getdate.c: Likewise.
21116         * tests/test-getdelim.c: Likewise.
21117         * tests/test-getdtablesize.c: Likewise.
21118         * tests/test-getgroups.c: Likewise.
21119         * tests/test-getline.c: Likewise.
21120         * tests/test-getndelim2.c: Likewise.
21121         * tests/test-glob.c: Likewise.
21122         * tests/test-hash.c: Likewise.
21123         * tests/test-i-ring.c: Likewise.
21124         * tests/test-iconv-utf.c: Likewise.
21125         * tests/test-iconv.c: Likewise.
21126         * tests/test-idpriv-drop.c: Likewise.
21127         * tests/test-idpriv-droptemp.c: Likewise.
21128         * tests/test-inet_ntop.c: Likewise.
21129         * tests/test-inet_pton.c: Likewise.
21130         * tests/test-isblank.c: Likewise.
21131         * tests/test-isfinite.c: Likewise.
21132         * tests/test-isinf.c: Likewise.
21133         * tests/test-isnan.c: Likewise.
21134         * tests/test-isnand.h: Likewise.
21135         * tests/test-isnanf.h: Likewise.
21136         * tests/test-isnanl.h: Likewise.
21137         * tests/test-lchown.c: Likewise.
21138         * tests/test-ldexpl.c: Likewise.
21139         * tests/test-link.c: Likewise.
21140         * tests/test-linkat.c: Likewise.
21141         * tests/test-linked_list.c: Likewise.
21142         * tests/test-linkedhash_list.c: Likewise.
21143         * tests/test-localename.c: Likewise.
21144         * tests/test-lseek.c: Likewise.
21145         * tests/test-lstat.c: Likewise.
21146         * tests/test-mbmemcasecmp.c: Likewise.
21147         * tests/test-mbmemcasecoll.c: Likewise.
21148         * tests/test-mbrtowc.c: Likewise.
21149         * tests/test-mbscasecmp.c: Likewise.
21150         * tests/test-mbscasestr1.c: Likewise.
21151         * tests/test-mbscasestr2.c: Likewise.
21152         * tests/test-mbscasestr3.c: Likewise.
21153         * tests/test-mbscasestr4.c: Likewise.
21154         * tests/test-mbschr.c: Likewise.
21155         * tests/test-mbscspn.c: Likewise.
21156         * tests/test-mbsinit.c: Likewise.
21157         * tests/test-mbsncasecmp.c: Likewise.
21158         * tests/test-mbsnrtowcs.c: Likewise.
21159         * tests/test-mbspbrk.c: Likewise.
21160         * tests/test-mbspcasecmp.c: Likewise.
21161         * tests/test-mbsrchr.c: Likewise.
21162         * tests/test-mbsrtowcs.c: Likewise.
21163         * tests/test-mbsspn.c: Likewise.
21164         * tests/test-mbsstr1.c: Likewise.
21165         * tests/test-mbsstr2.c: Likewise.
21166         * tests/test-mbsstr3.c: Likewise.
21167         * tests/test-memchr.c: Likewise.
21168         * tests/test-memchr2.c: Likewise.
21169         * tests/test-memcmp.c: Likewise.
21170         * tests/test-memmem.c: Likewise.
21171         * tests/test-memrchr.c: Likewise.
21172         * tests/test-mkdir.c: Likewise.
21173         * tests/test-mkdirat.c: Likewise.
21174         * tests/test-mkfifo.c: Likewise.
21175         * tests/test-mkfifoat.c: Likewise.
21176         * tests/test-mknod.c: Likewise.
21177         * tests/test-nanosleep.c: Likewise.
21178         * tests/test-nl_langinfo.c: Likewise.
21179         * tests/test-obstack-printf.c: Likewise.
21180         * tests/test-open.c: Likewise.
21181         * tests/test-openat.c: Likewise.
21182         * tests/test-pipe-filter-gi1.c: Likewise.
21183         * tests/test-pipe-filter-gi2-main.c: Likewise.
21184         * tests/test-pipe-filter-ii1.c: Likewise.
21185         * tests/test-pipe-filter-ii2-main.c: Likewise.
21186         * tests/test-pipe2.c: Likewise.
21187         * tests/test-popen.h: Likewise.
21188         * tests/test-posixtm.c: Likewise.
21189         * tests/test-pread.c: Likewise.
21190         * tests/test-printf-frexp.c: Likewise.
21191         * tests/test-printf-frexpl.c: Likewise.
21192         * tests/test-printf-posix.c: Likewise.
21193         * tests/test-priv-set.c: Likewise.
21194         * tests/test-quotearg.c: Likewise.
21195         * tests/test-random_r.c: Likewise.
21196         * tests/test-rawmemchr.c: Likewise.
21197         * tests/test-rbtree_list.c: Likewise.
21198         * tests/test-rbtree_oset.c: Likewise.
21199         * tests/test-rbtreehash_list.c: Likewise.
21200         * tests/test-readlink.c: Likewise.
21201         * tests/test-remove.c: Likewise.
21202         * tests/test-rename.c: Likewise.
21203         * tests/test-renameat.c: Likewise.
21204         * tests/test-rmdir.c: Likewise.
21205         * tests/test-round1.c: Likewise.
21206         * tests/test-roundf1.c: Likewise.
21207         * tests/test-roundl.c: Likewise.
21208         * tests/test-safe-alloc.c: Likewise.
21209         * tests/test-sameacls.c: Likewise.
21210         * tests/test-set-mode-acl.c: Likewise.
21211         * tests/test-setenv.c: Likewise.
21212         * tests/test-sigaction.c: Likewise.
21213         * tests/test-signbit.c: Likewise.
21214         * tests/test-sleep.c: Likewise.
21215         * tests/test-snprintf-posix.c: Likewise.
21216         * tests/test-snprintf.c: Likewise.
21217         * tests/test-sprintf-posix.c: Likewise.
21218         * tests/test-stat-time.c: Likewise.
21219         * tests/test-stat.c: Likewise.
21220         * tests/test-strcasestr.c: Likewise.
21221         * tests/test-strchrnul.c: Likewise.
21222         * tests/test-strerror.c: Likewise.
21223         * tests/test-striconv.c: Likewise.
21224         * tests/test-striconveh.c: Likewise.
21225         * tests/test-striconveha.c: Likewise.
21226         * tests/test-strsignal.c: Likewise.
21227         * tests/test-strstr.c: Likewise.
21228         * tests/test-strtod.c: Likewise.
21229         * tests/test-strverscmp.c: Likewise.
21230         * tests/test-symlink.c: Likewise.
21231         * tests/test-symlinkat.c: Likewise.
21232         * tests/test-trunc1.c: Likewise.
21233         * tests/test-trunc2.c: Likewise.
21234         * tests/test-truncf1.c: Likewise.
21235         * tests/test-truncf2.c: Likewise.
21236         * tests/test-truncl.c: Likewise.
21237         * tests/test-uname.c: Likewise.
21238         * tests/test-unlink.c: Likewise.
21239         * tests/test-unlinkat.c: Likewise.
21240         * tests/test-unsetenv.c: Likewise.
21241         * tests/test-usleep.c: Likewise.
21242         * tests/test-utimens.c: Likewise.
21243         * tests/test-utimensat.c: Likewise.
21244         * tests/test-vasnprintf-posix.c: Likewise.
21245         * tests/test-vasnprintf-posix2.c: Likewise.
21246         * tests/test-vasnprintf.c: Likewise.
21247         * tests/test-vasprintf-posix.c: Likewise.
21248         * tests/test-vasprintf.c: Likewise.
21249         * tests/test-vdprintf-posix.c: Likewise.
21250         * tests/test-vfprintf-posix.c: Likewise.
21251         * tests/test-vprintf-posix.c: Likewise.
21252         * tests/test-vsnprintf-posix.c: Likewise.
21253         * tests/test-vsnprintf.c: Likewise.
21254         * tests/test-vsprintf-posix.c: Likewise.
21255         * tests/test-wcrtomb.c: Likewise.
21256         * tests/test-wcsnrtombs.c: Likewise.
21257         * tests/test-wcsrtombs.c: Likewise.
21258         * tests/test-wctype.c: Likewise.
21259         * tests/test-wcwidth.c: Likewise.
21260         * tests/test-xfprintf-posix.c: Likewise.
21261         * tests/test-xmemdup0.c: Likewise.
21262         * tests/test-xprintf-posix.c: Likewise.
21263         * tests/test-xvasprintf.c: Likewise.
21264         * tests/unicase/test-locale-language.c: Likewise.
21265         * tests/unicase/test-mapping-part1.h: Likewise.
21266         * tests/unicase/test-predicate-part1.h: Likewise.
21267         * tests/unicase/test-u8-casecmp.c: Likewise.
21268         * tests/unicase/test-u8-casecoll.c: Likewise.
21269         * tests/unicase/test-u8-casefold.c: Likewise.
21270         * tests/unicase/test-u8-is-cased.c: Likewise.
21271         * tests/unicase/test-u8-is-casefolded.c: Likewise.
21272         * tests/unicase/test-u8-is-lowercase.c: Likewise.
21273         * tests/unicase/test-u8-is-titlecase.c: Likewise.
21274         * tests/unicase/test-u8-is-uppercase.c: Likewise.
21275         * tests/unicase/test-u8-tolower.c: Likewise.
21276         * tests/unicase/test-u8-totitle.c: Likewise.
21277         * tests/unicase/test-u8-toupper.c: Likewise.
21278         * tests/unicase/test-u16-casecmp.c: Likewise.
21279         * tests/unicase/test-u16-casecoll.c: Likewise.
21280         * tests/unicase/test-u16-casefold.c: Likewise.
21281         * tests/unicase/test-u16-is-cased.c: Likewise.
21282         * tests/unicase/test-u16-is-casefolded.c: Likewise.
21283         * tests/unicase/test-u16-is-lowercase.c: Likewise.
21284         * tests/unicase/test-u16-is-titlecase.c: Likewise.
21285         * tests/unicase/test-u16-is-uppercase.c: Likewise.
21286         * tests/unicase/test-u16-tolower.c: Likewise.
21287         * tests/unicase/test-u16-totitle.c: Likewise.
21288         * tests/unicase/test-u16-toupper.c: Likewise.
21289         * tests/unicase/test-u32-casecmp.c: Likewise.
21290         * tests/unicase/test-u32-casecoll.c: Likewise.
21291         * tests/unicase/test-u32-casefold.c: Likewise.
21292         * tests/unicase/test-u32-is-cased.c: Likewise.
21293         * tests/unicase/test-u32-is-casefolded.c: Likewise.
21294         * tests/unicase/test-u32-is-lowercase.c: Likewise.
21295         * tests/unicase/test-u32-is-titlecase.c: Likewise.
21296         * tests/unicase/test-u32-is-uppercase.c: Likewise.
21297         * tests/unicase/test-u32-tolower.c: Likewise.
21298         * tests/unicase/test-u32-totitle.c: Likewise.
21299         * tests/unicase/test-u32-toupper.c: Likewise.
21300         * tests/unicase/test-ulc-casecmp.c: Likewise.
21301         * tests/unicase/test-ulc-casecoll.c: Likewise.
21302         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
21303         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
21304         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
21305         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
21306         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
21307         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
21308         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
21309         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
21310         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
21311         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
21312         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
21313         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
21314         * tests/unictype/test-bidi_byname.c: Likewise.
21315         * tests/unictype/test-bidi_name.c: Likewise.
21316         * tests/unictype/test-bidi_of.c: Likewise.
21317         * tests/unictype/test-bidi_test.c: Likewise.
21318         * tests/unictype/test-block_list.c: Likewise.
21319         * tests/unictype/test-block_of.c: Likewise.
21320         * tests/unictype/test-block_test.c: Likewise.
21321         * tests/unictype/test-categ_and.c: Likewise.
21322         * tests/unictype/test-categ_and_not.c: Likewise.
21323         * tests/unictype/test-categ_byname.c: Likewise.
21324         * tests/unictype/test-categ_name.c: Likewise.
21325         * tests/unictype/test-categ_none.c: Likewise.
21326         * tests/unictype/test-categ_of.c: Likewise.
21327         * tests/unictype/test-categ_or.c: Likewise.
21328         * tests/unictype/test-categ_test_withtable.c: Likewise.
21329         * tests/unictype/test-combining.c: Likewise.
21330         * tests/unictype/test-decdigit.c: Likewise.
21331         * tests/unictype/test-digit.c: Likewise.
21332         * tests/unictype/test-mirror.c: Likewise.
21333         * tests/unictype/test-numeric.c: Likewise.
21334         * tests/unictype/test-pr_byname.c: Likewise.
21335         * tests/unictype/test-pr_test.c: Likewise.
21336         * tests/unictype/test-predicate-part1.h: Likewise.
21337         * tests/unictype/test-scripts.c: Likewise.
21338         * tests/unictype/test-sy_c_ident.c: Likewise.
21339         * tests/unictype/test-sy_java_ident.c: Likewise.
21340         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
21341         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
21342         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
21343         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
21344         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
21345         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
21346         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
21347         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
21348         * tests/uninorm/test-canonical-decomposition.c: Likewise.
21349         * tests/uninorm/test-compat-decomposition.c: Likewise.
21350         * tests/uninorm/test-composition.c: Likewise.
21351         * tests/uninorm/test-decomposing-form.c: Likewise.
21352         * tests/uninorm/test-decomposition.c: Likewise.
21353         * tests/uninorm/test-u8-nfc.c: Likewise.
21354         * tests/uninorm/test-u8-nfd.c: Likewise.
21355         * tests/uninorm/test-u8-nfkc.c: Likewise.
21356         * tests/uninorm/test-u8-nfkd.c: Likewise.
21357         * tests/uninorm/test-u8-normcmp.c: Likewise.
21358         * tests/uninorm/test-u8-normcoll.c: Likewise.
21359         * tests/uninorm/test-u16-nfc.c: Likewise.
21360         * tests/uninorm/test-u16-nfd.c: Likewise.
21361         * tests/uninorm/test-u16-nfkc.c: Likewise.
21362         * tests/uninorm/test-u16-nfkd.c: Likewise.
21363         * tests/uninorm/test-u16-normcmp.c: Likewise.
21364         * tests/uninorm/test-u16-normcoll.c: Likewise.
21365         * tests/uninorm/test-u32-nfc.c: Likewise.
21366         * tests/uninorm/test-u32-nfd.c: Likewise.
21367         * tests/uninorm/test-u32-nfkc.c: Likewise.
21368         * tests/uninorm/test-u32-nfkd.c: Likewise.
21369         * tests/uninorm/test-u32-normalize-big.c: Likewise.
21370         * tests/uninorm/test-u32-normcmp.c: Likewise.
21371         * tests/uninorm/test-u32-normcoll.c: Likewise.
21372         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
21373         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21374         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21375         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21376         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21377         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21378         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21379         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21380         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21381         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21382         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21383         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21384         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21385         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21386         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21387         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21388         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21389         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21390         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21391         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21392         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21393         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21394         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21395         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21396         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21397         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21398         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21399         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21400         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21401         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
21402         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
21403         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
21404         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
21405         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21406         * tests/uniwidth/test-u8-width.c: Likewise.
21407         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21408         * tests/uniwidth/test-u16-width.c: Likewise.
21409         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21410         * tests/uniwidth/test-u32-width.c: Likewise.
21411         * tests/uniwidth/test-uc_width.c: Likewise.
21412         * tests/uniwidth/test-uc_width2.c: Likewise.
21413         * modules/acl-tests (Files): Add tests/macros.h.
21414         * modules/areadlink-tests (Files): Likewise.
21415         * modules/areadlink-with-size-tests (Files): Likewise.
21416         * modules/areadlinkat-tests (Files): Likewise.
21417         * modules/areadlinkat-with-size-tests (Files): Likewise.
21418         * modules/argmatch-tests (Files): Likewise.
21419         * modules/argv-iter-tests (Files): Likewise.
21420         * modules/array-list-tests (Files): Likewise.
21421         * modules/array-mergesort-tests (Files): Likewise.
21422         * modules/array-oset-tests (Files): Likewise.
21423         * modules/avltree-list-tests (Files): Likewise.
21424         * modules/avltree-oset-tests (Files): Likewise.
21425         * modules/avltreehash-list-tests (Files): Likewise.
21426         * modules/base64-tests (Files): Likewise.
21427         * modules/binary-io-tests (Files): Likewise.
21428         * modules/bitrotate-tests (Files): Likewise.
21429         * modules/btowc-tests (Files): Likewise.
21430         * modules/byteswap-tests (Files): Likewise.
21431         * modules/c-ctype-tests (Files): Likewise.
21432         * modules/c-stack-tests (Files): Likewise.
21433         * modules/c-strcase-tests (Files): Likewise.
21434         * modules/c-strcasestr-tests (Files): Likewise.
21435         * modules/c-strstr-tests (Files): Likewise.
21436         * modules/canonicalize-lgpl-tests (Files): Likewise.
21437         * modules/canonicalize-tests (Files): Likewise.
21438         * modules/carray-list-tests (Files): Likewise.
21439         * modules/ceilf-tests (Files): Likewise.
21440         * modules/ceill-tests (Files): Likewise.
21441         * modules/chown-tests (Files): Likewise.
21442         * modules/cloexec-tests (Files): Likewise.
21443         * modules/copy-file-tests (Files): Likewise.
21444         * modules/count-one-bits-tests (Files): Likewise.
21445         * modules/dprintf-posix-tests (Files): Likewise.
21446         * modules/dup2-tests (Files): Likewise.
21447         * modules/dup3-tests (Files): Likewise.
21448         * modules/duplocale-tests (Files): Likewise.
21449         * modules/fbufmode-tests (Files): Likewise.
21450         * modules/fchdir-tests (Files): Likewise.
21451         * modules/fcntl-safer-tests (Files): Likewise.
21452         * modules/fcntl-tests (Files): Likewise.
21453         * modules/fdopendir-tests (Files): Likewise.
21454         * modules/fdutimensat-tests (Files): Likewise.
21455         * modules/fflush-tests (Files): Likewise.
21456         * modules/filevercmp-tests (Files): Likewise.
21457         * modules/flock-tests (Files): Likewise.
21458         * modules/floorf-tests (Files): Likewise.
21459         * modules/floorl-tests (Files): Likewise.
21460         * modules/fnmatch-tests (Files): Likewise.
21461         * modules/fopen-safer-tests (Files): Likewise.
21462         * modules/fopen-tests (Files): Likewise.
21463         * modules/fpending-tests (Files): Likewise.
21464         * modules/fprintf-posix-tests (Files): Likewise.
21465         * modules/fpurge-tests (Files): Likewise.
21466         * modules/freadable-tests (Files): Likewise.
21467         * modules/freadahead-tests (Files): Likewise.
21468         * modules/freading-tests (Files): Likewise.
21469         * modules/freadptr-tests (Files): Likewise.
21470         * modules/freadseek-tests (Files): Likewise.
21471         * modules/freopen-tests (Files): Likewise.
21472         * modules/frexp-nolibm-tests (Files): Likewise.
21473         * modules/frexp-tests (Files): Likewise.
21474         * modules/frexpl-nolibm-tests (Files): Likewise.
21475         * modules/frexpl-tests (Files): Likewise.
21476         * modules/fseek-tests (Files): Likewise.
21477         * modules/fseeko-tests (Files): Likewise.
21478         * modules/fstrcmp-tests (Files): Likewise.
21479         * modules/fsync-tests (Files): Likewise.
21480         * modules/ftell-tests (Files): Likewise.
21481         * modules/ftello-tests (Files): Likewise.
21482         * modules/func-tests (Files): Likewise.
21483         * modules/futimens-tests (Files): Likewise.
21484         * modules/fwritable-tests (Files): Likewise.
21485         * modules/fwriting-tests (Files): Likewise.
21486         * modules/getcwd-tests (Files): Likewise.
21487         * modules/getdate-tests (Files): Likewise.
21488         * modules/getdelim-tests (Files): Likewise.
21489         * modules/getdtablesize-tests (Files): Likewise.
21490         * modules/getgroups-tests (Files): Likewise.
21491         * modules/getline-tests (Files): Likewise.
21492         * modules/getndelim2-tests (Files): Likewise.
21493         * modules/glob-tests (Files): Likewise.
21494         * modules/hash-tests (Files): Likewise.
21495         * modules/i-ring-tests (Files): Likewise.
21496         * modules/iconv-tests (Files): Likewise.
21497         * modules/iconv_open-utf-tests (Files): Likewise.
21498         * modules/idpriv-drop-tests (Files): Likewise.
21499         * modules/idpriv-droptemp-tests (Files): Likewise.
21500         * modules/inet_ntop-tests (Files): Likewise.
21501         * modules/inet_pton-tests (Files): Likewise.
21502         * modules/isblank-tests (Files): Likewise.
21503         * modules/isfinite-tests (Files): Likewise.
21504         * modules/isinf-tests (Files): Likewise.
21505         * modules/isnan-tests (Files): Likewise.
21506         * modules/isnand-nolibm-tests (Files): Likewise.
21507         * modules/isnand-tests (Files): Likewise.
21508         * modules/isnanf-nolibm-tests (Files): Likewise.
21509         * modules/isnanf-tests (Files): Likewise.
21510         * modules/isnanl-nolibm-tests (Files): Likewise.
21511         * modules/isnanl-tests (Files): Likewise.
21512         * modules/lchown-tests (Files): Likewise.
21513         * modules/ldexpl-tests (Files): Likewise.
21514         * modules/link-tests (Files): Likewise.
21515         * modules/linkat-tests (Files): Likewise.
21516         * modules/linked-list-tests (Files): Likewise.
21517         * modules/linkedhash-list-tests (Files): Likewise.
21518         * modules/localename-tests (Files): Likewise.
21519         * modules/lseek-tests (Files): Likewise.
21520         * modules/lstat-tests (Files): Likewise.
21521         * modules/mbmemcasecmp-tests (Files): Likewise.
21522         * modules/mbmemcasecoll-tests (Files): Likewise.
21523         * modules/mbrtowc-tests (Files): Likewise.
21524         * modules/mbscasecmp-tests (Files): Likewise.
21525         * modules/mbscasestr-tests (Files): Likewise.
21526         * modules/mbschr-tests (Files): Likewise.
21527         * modules/mbscspn-tests (Files): Likewise.
21528         * modules/mbsinit-tests (Files): Likewise.
21529         * modules/mbsncasecmp-tests (Files): Likewise.
21530         * modules/mbsnrtowcs-tests (Files): Likewise.
21531         * modules/mbspbrk-tests (Files): Likewise.
21532         * modules/mbspcasecmp-tests (Files): Likewise.
21533         * modules/mbsrchr-tests (Files): Likewise.
21534         * modules/mbsrtowcs-tests (Files): Likewise.
21535         * modules/mbsspn-tests (Files): Likewise.
21536         * modules/mbsstr-tests (Files): Likewise.
21537         * modules/memchr-tests (Files): Likewise.
21538         * modules/memchr2-tests (Files): Likewise.
21539         * modules/memcmp-tests (Files): Likewise.
21540         * modules/memmem-tests (Files): Likewise.
21541         * modules/memrchr-tests (Files): Likewise.
21542         * modules/mkdir-tests (Files): Likewise.
21543         * modules/mkfifo-tests (Files): Likewise.
21544         * modules/mkfifoat-tests (Files): Likewise.
21545         * modules/mknod-tests (Files): Likewise.
21546         * modules/nanosleep-tests (Files): Likewise.
21547         * modules/nl_langinfo-tests (Files): Likewise.
21548         * modules/obstack-printf-tests (Files): Likewise.
21549         * modules/open-tests (Files): Likewise.
21550         * modules/openat-tests (Files): Likewise.
21551         * modules/pipe-filter-gi-tests (Files): Likewise.
21552         * modules/pipe-filter-ii-tests (Files): Likewise.
21553         * modules/pipe2-tests (Files): Likewise.
21554         * modules/popen-safer-tests (Files): Likewise.
21555         * modules/popen-tests (Files): Likewise.
21556         * modules/posixtm-tests (Files): Likewise.
21557         * modules/pread-tests (Files): Likewise.
21558         * modules/printf-frexp-tests (Files): Likewise.
21559         * modules/printf-frexpl-tests (Files): Likewise.
21560         * modules/printf-posix-tests (Files): Likewise.
21561         * modules/priv-set-tests (Files): Likewise.
21562         * modules/quotearg-tests (Files): Likewise.
21563         * modules/random_r-tests (Files): Likewise.
21564         * modules/rawmemchr-tests (Files): Likewise.
21565         * modules/rbtree-list-tests (Files): Likewise.
21566         * modules/rbtree-oset-tests (Files): Likewise.
21567         * modules/rbtreehash-list-tests (Files): Likewise.
21568         * modules/readlink-tests (Files): Likewise.
21569         * modules/remove-tests (Files): Likewise.
21570         * modules/rename-tests (Files): Likewise.
21571         * modules/renameat-tests (Files): Likewise.
21572         * modules/rmdir-tests (Files): Likewise.
21573         * modules/round-tests (Files): Likewise.
21574         * modules/roundf-tests (Files): Likewise.
21575         * modules/roundl-tests (Files): Likewise.
21576         * modules/safe-alloc-tests (Files): Likewise.
21577         * modules/setenv-tests (Files): Likewise.
21578         * modules/sigaction-tests (Files): Likewise.
21579         * modules/signbit-tests (Files): Likewise.
21580         * modules/sleep-tests (Files): Likewise.
21581         * modules/snprintf-posix-tests (Files): Likewise.
21582         * modules/snprintf-tests (Files): Likewise.
21583         * modules/sprintf-posix-tests (Files): Likewise.
21584         * modules/stat-tests (Files): Likewise.
21585         * modules/stat-time-tests (Files): Likewise.
21586         * modules/strcasestr-tests (Files): Likewise.
21587         * modules/strchrnul-tests (Files): Likewise.
21588         * modules/strerror-tests (Files): Likewise.
21589         * modules/striconv-tests (Files): Likewise.
21590         * modules/striconveh-tests (Files): Likewise.
21591         * modules/striconveha-tests (Files): Likewise.
21592         * modules/strsignal-tests (Files): Likewise.
21593         * modules/strstr-tests (Files): Likewise.
21594         * modules/strtod-tests (Files): Likewise.
21595         * modules/strverscmp-tests (Files): Likewise.
21596         * modules/symlink-tests (Files): Likewise.
21597         * modules/symlinkat-tests (Files): Likewise.
21598         * modules/trunc-tests (Files): Likewise.
21599         * modules/truncf-tests (Files): Likewise.
21600         * modules/truncl-tests (Files): Likewise.
21601         * modules/uname-tests (Files): Likewise.
21602         * modules/unicase/cased-tests (Files): Likewise.
21603         * modules/unicase/ignorable-tests (Files): Likewise.
21604         * modules/unicase/locale-language-tests (Files): Likewise.
21605         * modules/unicase/tolower-tests (Files): Likewise.
21606         * modules/unicase/totitle-tests (Files): Likewise.
21607         * modules/unicase/toupper-tests (Files): Likewise.
21608         * modules/unicase/u8-casecmp-tests (Files): Likewise.
21609         * modules/unicase/u8-casecoll-tests (Files): Likewise.
21610         * modules/unicase/u8-casefold-tests (Files): Likewise.
21611         * modules/unicase/u8-is-cased-tests (Files): Likewise.
21612         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
21613         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
21614         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
21615         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
21616         * modules/unicase/u8-tolower-tests (Files): Likewise.
21617         * modules/unicase/u8-totitle-tests (Files): Likewise.
21618         * modules/unicase/u8-toupper-tests (Files): Likewise.
21619         * modules/unicase/u16-casecmp-tests (Files): Likewise.
21620         * modules/unicase/u16-casecoll-tests (Files): Likewise.
21621         * modules/unicase/u16-casefold-tests (Files): Likewise.
21622         * modules/unicase/u16-is-cased-tests (Files): Likewise.
21623         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
21624         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
21625         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
21626         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
21627         * modules/unicase/u16-tolower-tests (Files): Likewise.
21628         * modules/unicase/u16-totitle-tests (Files): Likewise.
21629         * modules/unicase/u16-toupper-tests (Files): Likewise.
21630         * modules/unicase/u32-casecmp-tests (Files): Likewise.
21631         * modules/unicase/u32-casecoll-tests (Files): Likewise.
21632         * modules/unicase/u32-casefold-tests (Files): Likewise.
21633         * modules/unicase/u32-is-cased-tests (Files): Likewise.
21634         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
21635         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
21636         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
21637         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
21638         * modules/unicase/u32-tolower-tests (Files): Likewise.
21639         * modules/unicase/u32-totitle-tests (Files): Likewise.
21640         * modules/unicase/u32-toupper-tests (Files): Likewise.
21641         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
21642         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
21643         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
21644         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
21645         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
21646         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
21647         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
21648         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
21649         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
21650         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
21651         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
21652         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
21653         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
21654         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
21655         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
21656         * modules/unictype/bidicategory-name-tests (Files): Likewise.
21657         * modules/unictype/bidicategory-of-tests (Files): Likewise.
21658         * modules/unictype/bidicategory-test-tests (Files): Likewise.
21659         * modules/unictype/block-list-tests (Files): Likewise.
21660         * modules/unictype/block-of-tests (Files): Likewise.
21661         * modules/unictype/block-test-tests (Files): Likewise.
21662         * modules/unictype/category-C-tests (Files): Likewise.
21663         * modules/unictype/category-Cc-tests (Files): Likewise.
21664         * modules/unictype/category-Cf-tests (Files): Likewise.
21665         * modules/unictype/category-Cn-tests (Files): Likewise.
21666         * modules/unictype/category-Co-tests (Files): Likewise.
21667         * modules/unictype/category-Cs-tests (Files): Likewise.
21668         * modules/unictype/category-L-tests (Files): Likewise.
21669         * modules/unictype/category-Ll-tests (Files): Likewise.
21670         * modules/unictype/category-Lm-tests (Files): Likewise.
21671         * modules/unictype/category-Lo-tests (Files): Likewise.
21672         * modules/unictype/category-Lt-tests (Files): Likewise.
21673         * modules/unictype/category-Lu-tests (Files): Likewise.
21674         * modules/unictype/category-M-tests (Files): Likewise.
21675         * modules/unictype/category-Mc-tests (Files): Likewise.
21676         * modules/unictype/category-Me-tests (Files): Likewise.
21677         * modules/unictype/category-Mn-tests (Files): Likewise.
21678         * modules/unictype/category-N-tests (Files): Likewise.
21679         * modules/unictype/category-Nd-tests (Files): Likewise.
21680         * modules/unictype/category-Nl-tests (Files): Likewise.
21681         * modules/unictype/category-No-tests (Files): Likewise.
21682         * modules/unictype/category-P-tests (Files): Likewise.
21683         * modules/unictype/category-Pc-tests (Files): Likewise.
21684         * modules/unictype/category-Pd-tests (Files): Likewise.
21685         * modules/unictype/category-Pe-tests (Files): Likewise.
21686         * modules/unictype/category-Pf-tests (Files): Likewise.
21687         * modules/unictype/category-Pi-tests (Files): Likewise.
21688         * modules/unictype/category-Po-tests (Files): Likewise.
21689         * modules/unictype/category-Ps-tests (Files): Likewise.
21690         * modules/unictype/category-S-tests (Files): Likewise.
21691         * modules/unictype/category-Sc-tests (Files): Likewise.
21692         * modules/unictype/category-Sk-tests (Files): Likewise.
21693         * modules/unictype/category-Sm-tests (Files): Likewise.
21694         * modules/unictype/category-So-tests (Files): Likewise.
21695         * modules/unictype/category-Z-tests (Files): Likewise.
21696         * modules/unictype/category-Zl-tests (Files): Likewise.
21697         * modules/unictype/category-Zp-tests (Files): Likewise.
21698         * modules/unictype/category-Zs-tests (Files): Likewise.
21699         * modules/unictype/category-and-not-tests (Files): Likewise.
21700         * modules/unictype/category-and-tests (Files): Likewise.
21701         * modules/unictype/category-byname-tests (Files): Likewise.
21702         * modules/unictype/category-name-tests (Files): Likewise.
21703         * modules/unictype/category-none-tests (Files): Likewise.
21704         * modules/unictype/category-of-tests (Files): Likewise.
21705         * modules/unictype/category-or-tests (Files): Likewise.
21706         * modules/unictype/category-test-withtable-tests (Files): Likewise.
21707         * modules/unictype/combining-class-tests (Files): Likewise.
21708         * modules/unictype/ctype-alnum-tests (Files): Likewise.
21709         * modules/unictype/ctype-alpha-tests (Files): Likewise.
21710         * modules/unictype/ctype-blank-tests (Files): Likewise.
21711         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
21712         * modules/unictype/ctype-digit-tests (Files): Likewise.
21713         * modules/unictype/ctype-graph-tests (Files): Likewise.
21714         * modules/unictype/ctype-lower-tests (Files): Likewise.
21715         * modules/unictype/ctype-print-tests (Files): Likewise.
21716         * modules/unictype/ctype-punct-tests (Files): Likewise.
21717         * modules/unictype/ctype-space-tests (Files): Likewise.
21718         * modules/unictype/ctype-upper-tests (Files): Likewise.
21719         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
21720         * modules/unictype/decimal-digit-tests (Files): Likewise.
21721         * modules/unictype/digit-tests (Files): Likewise.
21722         * modules/unictype/mirror-tests (Files): Likewise.
21723         * modules/unictype/numeric-tests (Files): Likewise.
21724         * modules/unictype/property-alphabetic-tests (Files): Likewise.
21725         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
21726         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
21727         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
21728         Likewise.
21729         * modules/unictype/property-bidi-block-separator-tests (Files):
21730         Likewise.
21731         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
21732         Likewise.
21733         * modules/unictype/property-bidi-common-separator-tests (Files):
21734         Likewise.
21735         * modules/unictype/property-bidi-control-tests (Files): Likewise.
21736         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
21737         Likewise.
21738         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
21739         Likewise.
21740         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
21741         Likewise.
21742         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
21743         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
21744         Likewise.
21745         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
21746         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
21747         Likewise.
21748         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
21749         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
21750         * modules/unictype/property-bidi-segment-separator-tests (Files):
21751         Likewise.
21752         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
21753         * modules/unictype/property-byname-tests (Files): Likewise.
21754         * modules/unictype/property-combining-tests (Files): Likewise.
21755         * modules/unictype/property-composite-tests (Files): Likewise.
21756         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
21757         * modules/unictype/property-dash-tests (Files): Likewise.
21758         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
21759         * modules/unictype/property-default-ignorable-code-point-tests (Files):
21760         Likewise.
21761         * modules/unictype/property-deprecated-tests (Files): Likewise.
21762         * modules/unictype/property-diacritic-tests (Files): Likewise.
21763         * modules/unictype/property-extender-tests (Files): Likewise.
21764         * modules/unictype/property-format-control-tests (Files): Likewise.
21765         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
21766         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
21767         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
21768         * modules/unictype/property-hex-digit-tests (Files): Likewise.
21769         * modules/unictype/property-hyphen-tests (Files): Likewise.
21770         * modules/unictype/property-id-continue-tests (Files): Likewise.
21771         * modules/unictype/property-id-start-tests (Files): Likewise.
21772         * modules/unictype/property-ideographic-tests (Files): Likewise.
21773         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
21774         * modules/unictype/property-ids-trinary-operator-tests (Files):
21775         Likewise.
21776         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
21777         * modules/unictype/property-iso-control-tests (Files): Likewise.
21778         * modules/unictype/property-join-control-tests (Files): Likewise.
21779         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
21780         * modules/unictype/property-line-separator-tests (Files): Likewise.
21781         * modules/unictype/property-logical-order-exception-tests (Files):
21782         Likewise.
21783         * modules/unictype/property-lowercase-tests (Files): Likewise.
21784         * modules/unictype/property-math-tests (Files): Likewise.
21785         * modules/unictype/property-non-break-tests (Files): Likewise.
21786         * modules/unictype/property-not-a-character-tests (Files): Likewise.
21787         * modules/unictype/property-numeric-tests (Files): Likewise.
21788         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
21789         * modules/unictype/property-other-default-ignorable-code-point-tests
21790         (Files): Likewise.
21791         * modules/unictype/property-other-grapheme-extend-tests (Files):
21792         Likewise.
21793         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
21794         * modules/unictype/property-other-id-start-tests (Files): Likewise.
21795         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
21796         * modules/unictype/property-other-math-tests (Files): Likewise.
21797         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
21798         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
21799         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
21800         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
21801         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
21802         * modules/unictype/property-private-use-tests (Files): Likewise.
21803         * modules/unictype/property-punctuation-tests (Files): Likewise.
21804         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
21805         * modules/unictype/property-radical-tests (Files): Likewise.
21806         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
21807         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
21808         * modules/unictype/property-space-tests (Files): Likewise.
21809         * modules/unictype/property-terminal-punctuation-tests (Files):
21810         Likewise.
21811         * modules/unictype/property-test-tests (Files): Likewise.
21812         * modules/unictype/property-titlecase-tests (Files): Likewise.
21813         * modules/unictype/property-unassigned-code-value-tests (Files):
21814         Likewise.
21815         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
21816         * modules/unictype/property-uppercase-tests (Files): Likewise.
21817         * modules/unictype/property-variation-selector-tests (Files): Likewise.
21818         * modules/unictype/property-white-space-tests (Files): Likewise.
21819         * modules/unictype/property-xid-continue-tests (Files): Likewise.
21820         * modules/unictype/property-xid-start-tests (Files): Likewise.
21821         * modules/unictype/property-zero-width-tests (Files): Likewise.
21822         * modules/unictype/scripts-tests (Files): Likewise.
21823         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
21824         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
21825         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
21826         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
21827         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
21828         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
21829         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
21830         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
21831         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
21832         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
21833         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
21834         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
21835         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
21836         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
21837         * modules/uninorm/composition-tests (Files): Likewise.
21838         * modules/uninorm/decomposing-form-tests (Files): Likewise.
21839         * modules/uninorm/decomposition-tests (Files): Likewise.
21840         * modules/uninorm/filter-tests (Files): Likewise.
21841         * modules/uninorm/nfc-tests (Files): Likewise.
21842         * modules/uninorm/nfd-tests (Files): Likewise.
21843         * modules/uninorm/nfkc-tests (Files): Likewise.
21844         * modules/uninorm/nfkd-tests (Files): Likewise.
21845         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
21846         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
21847         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
21848         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
21849         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
21850         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
21851         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
21852         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21853         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
21854         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
21855         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
21856         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
21857         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21858         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
21859         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
21860         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
21861         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
21862         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21863         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
21864         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
21865         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
21866         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
21867         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21868         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
21869         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
21870         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
21871         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
21872         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
21873         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
21874         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
21875         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
21876         * modules/uniwidth/u8-width-tests (Files): Likewise.
21877         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
21878         * modules/uniwidth/u16-width-tests (Files): Likewise.
21879         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
21880         * modules/uniwidth/u32-width-tests (Files): Likewise.
21881         * modules/uniwidth/width-tests (Files): Likewise.
21882         * modules/unlink-tests (Files): Likewise.
21883         * modules/unsetenv-tests (Files): Likewise.
21884         * modules/usleep-tests (Files): Likewise.
21885         * modules/utimens-tests (Files): Likewise.
21886         * modules/utimensat-tests (Files): Likewise.
21887         * modules/vasnprintf-posix-tests (Files): Likewise.
21888         * modules/vasnprintf-tests (Files): Likewise.
21889         * modules/vasprintf-posix-tests (Files): Likewise.
21890         * modules/vasprintf-tests (Files): Likewise.
21891         * modules/vdprintf-posix-tests (Files): Likewise.
21892         * modules/vfprintf-posix-tests (Files): Likewise.
21893         * modules/vprintf-posix-tests (Files): Likewise.
21894         * modules/vsnprintf-posix-tests (Files): Likewise.
21895         * modules/vsnprintf-tests (Files): Likewise.
21896         * modules/vsprintf-posix-tests (Files): Likewise.
21897         * modules/wcrtomb-tests (Files): Likewise.
21898         * modules/wcsnrtombs-tests (Files): Likewise.
21899         * modules/wcsrtombs-tests (Files): Likewise.
21900         * modules/wctype-tests (Files): Likewise.
21901         * modules/wcwidth-tests (Files): Likewise.
21902         * modules/xmemdup0-tests (Files): Likewise.
21903         * modules/xprintf-posix-tests (Files): Likewise.
21904         * modules/xvasprintf-tests (Files): Likewise.
21905
21906 2009-12-24  Eric Blake  <ebb9@byu.net>
21907
21908         test-nanosleep: fix typo
21909         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
21910         patch.
21911         Reported by Bruno Haible.
21912
21913 2009-12-24  Bruno Haible  <bruno@clisp.org>
21914
21915         Reduce namespace pollution on glibc systems.
21916         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
21917         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
21918         systems.
21919         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
21920         <getopt.h> on glibc systems.
21921         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
21922         systems.
21923         * lib/fcntl.c: Include <unistd.h> here instead.
21924
21925 2009-12-24  Bruno Haible  <bruno@clisp.org>
21926
21927         * lib/stdlib.in.h (includes): Fix typo in today's commit.
21928
21929 2009-12-24  Eric Blake  <ebb9@byu.net>
21930
21931         tests: add signature checks
21932         * tests/signature.h (SIGNATURE_CHECK): New file.
21933         * modules/atexit-tests (Files): Use it.
21934         * modules/btowc-tests (Files): Likewise.
21935         * modules/canonicalize-lgpl-tests (Files): Likewise.
21936         * modules/ceilf-tests (Files): Likewise.
21937         * modules/ceill-tests (Files): Likewise.
21938         * modules/chown-tests (Files): Likewise.
21939         * modules/dprintf-posix-tests (Files): Likewise.
21940         * modules/dup2-tests (Files): Likewise.
21941         * modules/dup3-tests (Files): Likewise.
21942         * modules/duplocale-tests (Files): Likewise.
21943         * modules/fchdir-tests (Files): Likewise.
21944         * modules/fcntl-tests (Files): Likewise.
21945         * modules/fdopendir-tests (Files): Likewise.
21946         * modules/fflush-tests (Files): Likewise.
21947         * modules/flock-tests (Files): Likewise.
21948         * modules/floorf-tests (Files): Likewise.
21949         * modules/floorl-tests (Files): Likewise.
21950         * modules/fnmatch-tests (Files): Likewise.
21951         * modules/fopen-tests (Files): Likewise.
21952         * modules/fprintf-posix-tests (Files): Likewise.
21953         * modules/freopen-tests (Files): Likewise.
21954         * modules/frexp-nolibm-tests (Files): Likewise.
21955         * modules/frexp-tests (Files): Likewise.
21956         * modules/frexpl-nolibm-tests (Files): Likewise.
21957         * modules/frexpl-tests (Files): Likewise.
21958         * modules/fseek-tests (Files): Likewise.
21959         * modules/fseeko-tests (Files): Likewise.
21960         * modules/fsync-tests (Files): Likewise.
21961         * modules/ftell-tests (Files): Likewise.
21962         * modules/ftello-tests (Files): Likewise.
21963         * modules/futimens-tests (Files): Likewise.
21964         * modules/getaddrinfo-tests (Files): Likewise.
21965         * modules/getcwd-tests (Files): Likewise.
21966         * modules/getdelim-tests (Files): Likewise.
21967         * modules/getdtablesize-tests (Files): Likewise.
21968         * modules/getgroups-tests (Files): Likewise.
21969         * modules/gethostname-tests (Files): Likewise.
21970         * modules/getline-tests (Files): Likewise.
21971         * modules/getopt-posix-tests (Files): Likewise.
21972         * modules/gettimeofday-tests (Files): Likewise.
21973         * modules/glob-tests (Files): Likewise.
21974         * modules/iconv-tests (Files): Likewise.
21975         * modules/inet_ntop-tests (Files): Likewise.
21976         * modules/inet_pton-tests (Files): Likewise.
21977         * modules/isblank-tests (Files): Likewise.
21978         * modules/lchown-tests (Files): Likewise.
21979         * modules/ldexpl-tests (Files): Likewise.
21980         * modules/link-tests (Files): Likewise.
21981         * modules/linkat-tests (Files): Likewise.
21982         * modules/lseek-tests (Files): Likewise.
21983         * modules/lstat-tests (Files): Likewise.
21984         * modules/mbrtowc-tests (Files): Likewise.
21985         * modules/mbsinit-tests (Files): Likewise.
21986         * modules/mbsnrtowcs-tests (Files): Likewise.
21987         * modules/mbsrtowcs-tests (Files): Likewise.
21988         * modules/memchr-tests (Files): Likewise.
21989         * modules/memcmp-tests (Files): Likewise.
21990         * modules/memmem-tests (Files): Likewise.
21991         * modules/memrchr-tests (Files): Likewise.
21992         * modules/mkdir-tests (Files): Likewise.
21993         * modules/mkfifo-tests (Files): Likewise.
21994         * modules/mkfifoat-tests (Files): Likewise.
21995         * modules/mknod-tests (Files): Likewise.
21996         * modules/nanosleep-tests (Files): Likewise.
21997         * modules/nl_langinfo-tests (Files): Likewise.
21998         * modules/obstack-printf-tests (Files): Likewise.
21999         * modules/open-tests (Files): Likewise.
22000         * modules/openat-tests (Files): Likewise.
22001         * modules/perror-tests (Files): Likewise.
22002         * modules/pipe2-tests (Files): Likewise.
22003         * modules/poll-tests (Files): Likewise.
22004         * modules/popen-tests (Files): Likewise.
22005         * modules/posix_spawn-tests (Files): Likewise.
22006         * modules/posix_spawnp-tests (Files): Likewise.
22007         * modules/pread-tests (Files): Likewise.
22008         * modules/printf-posix-tests (Files): Likewise.
22009         * modules/pty-tests (Files): Likewise.
22010         * modules/random_r-tests (Files): Likewise.
22011         * modules/rawmemchr-tests (Files): Likewise.
22012         * modules/readlink-tests (Files): Likewise.
22013         * modules/remove-tests (Files): Likewise.
22014         * modules/rename-tests (Files): Likewise.
22015         * modules/renameat-tests (Files): Likewise.
22016         * modules/rmdir-tests (Files): Likewise.
22017         * modules/round-tests (Files): Likewise.
22018         * modules/roundf-tests (Files): Likewise.
22019         * modules/roundl-tests (Files): Likewise.
22020         * modules/select-tests (Files): Likewise.
22021         * modules/setenv-tests (Files): Likewise.
22022         * modules/sigaction-tests (Files): Likewise.
22023         * modules/sleep-tests (Files): Likewise.
22024         * modules/snprintf-posix-tests (Files): Likewise.
22025         * modules/snprintf-tests (Files): Likewise.
22026         * modules/sprintf-posix-tests (Files): Likewise.
22027         * modules/stat-tests (Files): Likewise.
22028         * modules/strcasestr-tests (Files): Likewise.
22029         * modules/strchrnul-tests (Files): Likewise.
22030         * modules/strerror-tests (Files): Likewise.
22031         * modules/strsignal-tests (Files): Likewise.
22032         * modules/strstr-tests (Files): Likewise.
22033         * modules/strtod-tests (Files): Likewise.
22034         * modules/strverscmp-tests (Files): Likewise.
22035         * modules/symlink-tests (Files): Likewise.
22036         * modules/symlinkat-tests (Files): Likewise.
22037         * modules/times-tests (Files): Likewise.
22038         * modules/trunc-tests (Files): Likewise.
22039         * modules/truncf-tests (Files): Likewise.
22040         * modules/truncl-tests (Files): Likewise.
22041         * modules/tsearch-tests (Files): Likewise.
22042         * modules/uname-tests (Files): Likewise.
22043         * modules/unlink-tests (Files): Likewise.
22044         * modules/unsetenv-tests (Files): Likewise.
22045         * modules/usleep-tests (Files): Likewise.
22046         * modules/utimensat-tests (Files): Likewise.
22047         * modules/vasprintf-tests (Files): Likewise.
22048         * modules/vdprintf-posix-tests (Files): Likewise.
22049         * modules/vfprintf-posix-tests (Files): Likewise.
22050         * modules/vprintf-posix-tests (Files): Likewise.
22051         * modules/vsnprintf-posix-tests (Files): Likewise.
22052         * modules/vsnprintf-tests (Files): Likewise.
22053         * modules/vsprintf-posix-tests (Files): Likewise.
22054         * modules/wcrtomb-tests (Files): Likewise.
22055         * modules/wcsnrtombs-tests (Files): Likewise.
22056         * modules/wcsrtombs-tests (Files): Likewise.
22057         * modules/wcwidth-tests (Files): Likewise.
22058         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
22059         * tests/test-isinf.c (isinf): Likewise.
22060         * tests/test-isnan.c (isnan): Likewise.
22061         * tests/test-signbit.c (signbit): Likewise.
22062         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
22063         declaration, either as macro or with correct signature.
22064         (select): Ensure function under test is declared with correct
22065         signature in correct header.
22066         * tests/test-atexit.c (atexit): Likewise.
22067         * tests/test-btowc.c (btowc): Likewise.
22068         * tests/test-canonicalize-lgpl.c (realpath)
22069         (canonicalize_file_name): Likewise.
22070         * tests/test-ceilf1.c (ceilf): Likewise.
22071         * tests/test-ceill.c (ceill): Likewise.
22072         * tests/test-chown.c (chown): Likewise.
22073         * tests/test-dprintf-posix.c (dprintf): Likewise.
22074         * tests/test-dup2.c (dup2): Likewise.
22075         * tests/test-dup3.c (dup3): Likewise.
22076         * tests/test-duplocale.c (duplocale): Likewise.
22077         * tests/test-fchdir.c (fchdir): Likewise.
22078         * tests/test-fchownat.c (fchownat): Likewise.
22079         * tests/test-fcntl.c (fcntl): Likewise.
22080         * tests/test-fdopendir.c (fdopendir): Likewise.
22081         * tests/test-fflush.c (fflush): Likewise.
22082         * tests/test-flock.c (flock): Likewise.
22083         * tests/test-floorf1.c (floorf): Likewise.
22084         * tests/test-floorl.c (floorl): Likewise.
22085         * tests/test-fnmatch.c (fnmatch): Likewise.
22086         * tests/test-fopen.c (fopen): Likewise.
22087         * tests/test-fprintf-posix.c (fprintf): Likewise.
22088         * tests/test-freopen.c (freopen): Likewise.
22089         * tests/test-frexp.c (frexp): Likewise.
22090         * tests/test-frexpl.c (frexpl): Likewise.
22091         * tests/test-fseek.c (fseek): Likewise.
22092         * tests/test-fseeko.c (fseeko): Likewise.
22093         * tests/test-fstatat.c (fstatat): Likewise.
22094         * tests/test-fsync.c (fsync): Likewise.
22095         * tests/test-ftell.c (ftell): Likewise.
22096         * tests/test-ftello.c (ftello): Likewise.
22097         * tests/test-futimens.c (futimens): Likewise.
22098         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
22099         (gai_strerror): Likewise.
22100         * tests/test-getcwd.c (getcwd): Likewise.
22101         * tests/test-getdelim.c (getdelim): Likewise.
22102         * tests/test-getdtablesize.c (getdtablesize): Likewise.
22103         * tests/test-getgroups.c (getgroups): Likewise.
22104         * tests/test-gethostname.c (gethostname): Likewise.
22105         * tests/test-getline.c (getline): Likewise.
22106         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
22107         Likewise.
22108         * tests/test-gettimeofday.c (gettimeofday): Likewise.
22109         * tests/test-glob.c (glob, globfree): Likewise.
22110         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
22111         * tests/test-inet_ntop.c (inet_ntop): Likewise.
22112         * tests/test-inet_pton.c (inet_pton): Likewise.
22113         * tests/test-isblank.c (isblank): Likewise.
22114         * tests/test-lchown.c (lchown): Likewise.
22115         * tests/test-ldexpl.c (ldexpl): Likewise.
22116         * tests/test-link.c (link): Likewise.
22117         * tests/test-linkat.c (linkat): Likewise.
22118         * tests/test-lseek.c (lseek): Likewise.
22119         * tests/test-lstat.c (lstat): Likewise.
22120         * tests/test-mbrtowc.c (mbrtowc): Likewise.
22121         * tests/test-mbsinit.c (mbsinit): Likewise.
22122         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
22123         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
22124         * tests/test-memchr.c (memchr): Likewise.
22125         * tests/test-memcmp.c (memcmp): Likewise.
22126         * tests/test-memmem.c (memmem): Likewise.
22127         * tests/test-memrchr.c (memrchr): Likewise.
22128         * tests/test-mkdir.c (mkdir): Likewise.
22129         * tests/test-mkdirat.c (mkdirat): Likewise.
22130         * tests/test-mkfifo.c (mkfifo): Likewise.
22131         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
22132         * tests/test-mknod.c (mknod): Likewise.
22133         * tests/test-nanosleep.c (nanosleep): Likewise.
22134         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
22135         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
22136         Likewise.
22137         * tests/test-open.c (open): Likewise.
22138         * tests/test-openat.c (openat): Likewise.
22139         * tests/test-perror.c (perror): Likewise.
22140         * tests/test-pipe2.c (pipe2): Likewise.
22141         * tests/test-poll.c (poll): Likewise.
22142         * tests/test-popen.c (popen, pclose): Likewise.
22143         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
22144         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
22145         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
22146         (posix_spawn_file_actions_destroy)
22147         (posix_spawn_file_actions_addclose)
22148         (posix_spawn_file_actions_addopen)
22149         (posix_spawn_file_actions_adddup2): Likewise.
22150         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
22151         * tests/test-pread.c (pread): Likewise.
22152         * tests/test-printf-posix.c (printf): Likewise.
22153         * tests/test-pty.c (openpty, forkpty): Likewise.
22154         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
22155         (random_r): Likewise.
22156         * tests/test-rawmemchr.c (rawmemchr): Likewise.
22157         * tests/test-readlink.c (readlink): Likewise.
22158         * tests/test-remove.c (remove): Likewise.
22159         * tests/test-rename.c (rename): Likewise.
22160         * tests/test-renameat.c (renameat): Likewise.
22161         * tests/test-rmdir.c (rmdir): Likewise.
22162         * tests/test-round1.c (round): Likewise.
22163         * tests/test-roundf1.c (roundf): Likewise.
22164         * tests/test-roundl.c (roundl): Likewise.
22165         * tests/test-setenv.c (setenv): Likewise.
22166         * tests/test-sigaction.c (sigaction): Likewise.
22167         * tests/test-sleep.c (sleep): Likewise.
22168         * tests/test-snprintf.c (snprintf): Likewise.
22169         * tests/test-sprintf-posix.c (sprintf): Likewise.
22170         * tests/test-stat.c (stat): Likewise.
22171         * tests/test-stpncpy.c (stpncpy): Likewise.
22172         * tests/test-strcasestr.c (strcasestr): Likewise.
22173         * tests/test-strchrnul.c (strchrnul): Likewise.
22174         * tests/test-strerror.c (strerror): Likewise.
22175         * tests/test-strsignal.c (strsignal): Likewise.
22176         * tests/test-strstr.c (strstr): Likewise.
22177         * tests/test-strtod.c (strtod): Likewise.
22178         * tests/test-strverscmp.c (strverscmp): Likewise.
22179         * tests/test-symlink.c (symlink): Likewise.
22180         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
22181         * tests/test-times.c (times): Likewise.
22182         * tests/test-trunc1.c (trunc): Likewise.
22183         * tests/test-truncf1.c (truncf): Likewise.
22184         * tests/test-truncl.c (truncl): Likewise.
22185         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
22186         Likewise.
22187         * tests/test-uname.c (uname): Likewise.
22188         * tests/test-unlink.c (unlink): Likewise.
22189         * tests/test-unlinkat.c (unlinkat): Likewise.
22190         * tests/test-unsetenv.c (unsetenv): Likewise.
22191         * tests/test-usleep.c (usleep): Likewise.
22192         * tests/test-utimensat.c (utimensat): Likewise.
22193         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
22194         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
22195         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
22196         * tests/test-vprintf-posix.c (vprintf): Likewise.
22197         * tests/test-vsnprintf.c (vsnprintf): Likewise.
22198         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
22199         * tests/test-wcrtomb.c (wcrtomb): Likewise.
22200         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
22201         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
22202         * tests/test-wcwidth.c (wcwidth): Likewise.
22203
22204         build: pull in conditional headers during GNULIB_POSIXCHECK
22205         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
22206         definitions from any conditionally-included headers.
22207         * lib/stdlib.in.h (includes): Likewise.
22208         * lib/unistd.in.h (includes): Likewise.
22209
22210 2009-12-24  Bruno Haible  <bruno@clisp.org>
22211
22212         * tests/test-argv-iter.c: Include header file being tested immediately
22213         after config.h.
22214         * tests/test-base64.c: Likewise.
22215         * tests/test-flock.c: Likewise.
22216         * tests/test-fsync.c: Likewise.
22217         * tests/test-getdate.c: Likewise.
22218         * tests/test-getndelim2.c: Likewise.
22219         * tests/test-isfinite.c: Likewise.
22220         * tests/test-isinf.c: Likewise.
22221         * tests/test-strerror.c: Likewise.
22222         * tests/test-strsignal.c: Likewise.
22223
22224 2009-12-23  Eric Blake  <ebb9@byu.net>
22225
22226         unistd: work around cygwin bug
22227         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
22228         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
22229         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22230
22231 2009-12-23  Bruno Haible  <bruno@clisp.org>
22232
22233         localename: More tests.
22234         * tests/test-localename.c (SIZEOF): New macro.
22235         (categories): New variable.
22236         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
22237         test_locale_name_default): Add test w.r.t. thread locale.
22238         (test_locale_name_thread): New function.
22239         (main): Invoke it.
22240
22241         localename: Make aware of thread locale.
22242         * lib/localename.h (gl_locale_name_thread): New declaration.
22243         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
22244         behaviour with respect to thread locale.
22245         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
22246         <langinfo.h>, glthread/lock.h.
22247         (SIZE_BITS): New macro.
22248         (string_hash): New function.
22249         (struct hash_node): New type.
22250         (HASH_TABLE_SIZE): New macro.
22251         (struniq_hash_table, struniq_lock): New variables.
22252         (struniq): New function.
22253         (gl_locale_name_thread): New function.
22254         (gl_locale_name): Invoke it.
22255         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
22256         * modules/localename (Depends-on): Add lock.
22257         Reported by Mike Gran <spk121@yahoo.com>.
22258
22259 2009-12-23  Eric Blake  <ebb9@byu.net>
22260
22261         va-args: new module
22262         * modules/va-args: New file.
22263         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
22264         * MODULES.html.sh (Core language properties): Mention it.
22265
22266         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
22267         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
22268         named alias for __attribute__((__unused__)).
22269         * lib/chown.c: Update client.
22270         * lib/fchmodat.c: Likewise.
22271         * lib/fts.c: Likewise.
22272         * lib/getdate.y: Likewise.
22273         * lib/getgroups.c: Likewise.
22274         * lib/getopt.c: Likewise.
22275         * lib/getugroups.c: Likewise.
22276         * lib/mkdir.c: Likewise.
22277         * lib/mkfifo.c: Likewise.
22278         * lib/mkfifoat.c: Likewise.
22279         * lib/mknod.c: Likewise.
22280         * lib/mknodat.c: Likewise.
22281         * lib/readlink.c: Likewise.
22282         * lib/se-context.in.h: Likewise.
22283         * lib/se-selinux.in.h: Likewise.
22284         * lib/sockets.c: Likewise.
22285         * lib/symlink.c: Likewise.
22286         * lib/symlinkat.c: Likewise.
22287         * lib/unicodeio.c: Likewise.
22288         * lib/unistr.h: Likewise.
22289         * tests/test-areadlink.c: Likewise.
22290         * tests/test-areadlinkat.c: Likewise.
22291         * tests/test-filenamecat.c: Likewise.
22292         * tests/test-fseeko.c: Likewise.
22293         * tests/test-ftello.c: Likewise.
22294         * tests/test-getdate.c: Likewise.
22295         * tests/test-getgroups.c: Likewise.
22296         * tests/test-gethostname.c: Likewise.
22297         * tests/test-quotearg.c: Likewise.
22298         * tests/test-version-etc.c: Likewise.
22299         * tests/test-xalloc-die.c: Likewise.
22300         * tests/test-xfprintf-posix.c: Likewise.
22301         * tests/test-xprintf-posix.c: Likewise.
22302         * tests/test-xvasprintf.c: Likewise.
22303
22304         tests: avoid compiler warnings
22305         * tests/test-fcntl.c (main): Delete unused parameters.
22306         * tests/test-freopen-safer.c (main): Likewise.
22307         * tests/test-xalloc-die.c (main): Mark unused parameters.
22308         * tests/test-fseeko.c (main): Likewise.
22309         * tests/test-ftello.c (main): Likewise.
22310         * tests/test-nanosleep.c (main): Avoid declaration warning.
22311         * tests/test-sleep.c (main): Likewise.
22312         * tests/test-unsetenv.c (main): Silence warning about string
22313         literal.
22314         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
22315
22316 2009-12-23  Bruno Haible  <bruno@clisp.org>
22317
22318         * tests/test-localename.c (test_locale_name): New function, extracted
22319         from main. Also test mixed situations.
22320         (test_locale_name_posix, test_locale_name_environ,
22321         test_locale_name_default): New functions.
22322         (main): Invoke them all.
22323         * modules/localename-tests (configure.ac): Test for newlocale.
22324
22325 2009-12-23  Bruno Haible  <bruno@clisp.org>
22326
22327         unistd: Ensure getcwd gets declared before being overridden.
22328         * lib/unistd.in.h: Conditionally include <io.h>.
22329
22330 2009-12-22  Bruno Haible  <bruno@clisp.org>
22331
22332         wchar: Diagnose broken combination of glibc and gcc versions and flags.
22333         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
22334         (gl_WCHAR_H): Invoke it.
22335         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
22336         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
22337         Reported by Karl Berry <karl@freefriends.org>.
22338
22339 2009-12-22  Eric Blake  <ebb9@byu.net>
22340
22341         math, unistd: avoid redundant includes
22342         * lib/math.in.h (isnan): No need to re-include <math.h>.
22343         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
22344
22345         getsubopt: work around cygwin bug
22346         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
22347         avoid conflicting with system getsubopt.
22348         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
22349         bug.
22350
22351         getopt: synchronize from glibc
22352         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
22353         parameter order.  Adjust all callers.
22354         (_getopt_internal_r, main): Adjust quoting in error messages.
22355         Drop considerations for outdated POSIX 1003.2 error message.
22356         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
22357         callers.
22358         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
22359
22360         test-getopt: test stderr behavior
22361         * modules/getopt-posix-tests (Depends-on): Add dup2.
22362         * tests/test-getopt.c (ASSERT): Avoid stderr.
22363         (main): Move stderr to a temporary file.
22364         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
22365         Instead, add parameter to inform caller if output occurred.
22366         (test_getopt): Adjust all existing tests to expect silence, and
22367         add new tests of leading ":".
22368         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22369         glibc shortcomings with leading "-:" or "+:" in optstring.
22370         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22371         Likewise.
22372         * doc/posix-functions/getopt.texi (getopt): Likewise.
22373
22374         test-getopt: enhance test
22375         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
22376         supports optind=0.
22377         * tests/test-getopt.c (OPTIND_MIN): Move...
22378         * tests/test-getopt.h (OPTIND_MIN): ...here.
22379         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
22380         Require that optind=0 works, since modern BSD supports it in
22381         addition to optreset, and since coreutils expects it.
22382         (test_getopt_long_only): New test.
22383         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22384         glibc shortcomings with 'W;', and enforcement of optind=0.
22385         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22386         Likewise.
22387
22388 2009-12-21  Bruno Haible  <bruno@clisp.org>
22389
22390         localename: Improvements for MacOS X and Cygwin.
22391         * lib/localename.h (gl_locale_name_environ): New declaration.
22392         * lib/localename.c (gl_locale_name_environ): New function, extracted from
22393         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
22394         (gl_locale_name_posix): Invoke it.
22395         (gl_locale_name_default): Add comments. Use Windows native API also on
22396         Cygwin.
22397
22398 2009-12-21  Bruno Haible  <bruno@clisp.org>
22399
22400         Update list of Win32 locale ids.
22401         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
22402         (LANG_SAMI): Renamed from LANG_SAAMI.
22403         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
22404         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
22405         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
22406         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
22407         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
22408         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
22409         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
22410         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
22411         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
22412         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
22413         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
22414         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
22415         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
22416         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
22417         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
22418         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
22419         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
22420         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
22421         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
22422         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
22423         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
22424         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
22425         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
22426         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
22427         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
22428         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
22429         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
22430         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
22431         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
22432         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
22433         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
22434         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
22435         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
22436         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
22437         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
22438         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
22439         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
22440         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
22441         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
22442         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
22443         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
22444         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
22445         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
22446         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
22447         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
22448         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
22449         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
22450         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
22451         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
22452         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
22453         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
22454         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
22455         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
22456         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
22457         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
22458         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
22459         Add more languages and countries for Sami, Sorbian. Add more countries
22460         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
22461         for Pashto. Change country for Syriac, Tswana.
22462
22463 2009-12-21  Eric Blake  <ebb9@byu.net>
22464
22465         test-utimens: avoid spurious failure
22466         * tests/test-chown.h (nap): Factor...
22467         * tests/nap.h: ...into new file.
22468         * tests/test-lchown.h (nap): Avoid duplication.
22469         * tests/test-utimens-common.h (nap): Use shared implementation,
22470         necessary on file systems with 1-second resolution.
22471         * modules/chown-tests (Files): Include new file.
22472         * modules/fdutimensat-tests (Files): Likewise.
22473         * modules/futimens-tests (Files): Likewise.
22474         * modules/lchown-tests (Files): Likewise.
22475         * modules/openat-tests (Files): Likewise.
22476         * modules/utimens-tests (Files): Likewise.
22477         * modules/utimensat-tests (Files): Likewise.
22478
22479 2009-12-19  Eric Blake  <ebb9@byu.net>
22480
22481         futimens, utimensat: work around Linux bug
22482         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
22483         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22484         * lib/utimensat.c (rpl_utimensat): Work around it.
22485         * lib/futimens.c (rpl_futimens): Adjust comment.
22486
22487         utimens: work around Linux ctime bug
22488         * lib/utimens.c (detect_ctime_bug): New helper function.
22489         (update_timespec): Differentiate between workaround needed for
22490         this bug vs. what is needed for systems that lack utimensat.
22491         (fdutimens, lutimens): Work around bug.
22492
22493         utimens: check for ctime update
22494         * tests/test-utimens-common.h (check_ctime): Define.
22495         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
22496         * tests/test-futimens.h (test_futimens): Likewise.
22497         * tests/test-lutimens.h (test_lutimens): Likewise.
22498         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22499         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22500
22501 2009-12-19  Bruno Haible  <bruno@clisp.org>
22502
22503         dprintf-posix: Check against memory leak fixed on 2009-12-15.
22504         * tests/test-dprintf-posix2.sh: New file.
22505         * tests/test-dprintf-posix2.c: New file.
22506         * modules/dprintf-posix-tests (Files): Add them.
22507         (configure.ac): Check for getrlimit and setrlimit.
22508         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22509
22510 2009-12-19  Bruno Haible  <bruno@clisp.org>
22511
22512         fprintf-posix: Check against memory leak fixed on 2009-12-15.
22513         * tests/test-fprintf-posix3.sh: New file.
22514         * tests/test-fprintf-posix3.c: New file.
22515         * modules/fprintf-posix-tests (Files): Add them.
22516         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22517
22518 2009-12-19  Eric Blake  <ebb9@byu.net>
22519
22520         dirfd: fix prototype
22521         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
22522         * lib/dirfd.c (dirfd): Likewise.
22523
22524         canonicalize: reduce memory usage
22525         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
22526         allocation to size.
22527         Reported by Solar Designer <solar@openwall.com>.
22528
22529 2009-12-19  Bruno Haible  <bruno@clisp.org>
22530
22531         New module attribute 'Applicability'.
22532         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
22533         * gnulib-tool: New option --extract-applicability.
22534         (func_usage): Document it.
22535         (sed_extract_prog): Recognize it.
22536         (func_get_applicability): New function.
22537         (func_import): Generalize handling of 'link-warning' module.
22538         * modules/link-warning (Applicability): New section.
22539         * modules/arg-nonnull (Applicability): New section.
22540         Repoted by Simon Josefsson <simon@josefsson.org>.
22541
22542 2009-12-19  Bruno Haible  <bruno@clisp.org>
22543
22544         fflush: tweak
22545         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
22546         * lib/fseeko.c (rpl_fseeko): Likewise.
22547
22548 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
22549
22550         * lib/gl_list.h: Fix typo in comment.
22551
22552 2009-12-16  Eric Blake  <ebb9@byu.net>
22553
22554         fcntl: use to simplify other modules
22555         * modules/cloexec (Depends-on): Add fcntl.
22556         * modules/fchdir (Depends-on): Likewise.
22557         * modules/fd-safer-flag (Depends-on): Likewise.
22558         * modules/unistd-safer (Depends-on): Likewise.
22559         * modules/dup3 (configure.ac): Set module indicator.
22560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
22561         missing.
22562         * lib/fchdir.c (_gl_register_dup): Fix comment.
22563         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
22564         * lib/dup-safer.c (dup_safer): Likewise.
22565         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
22566         * lib/dup3.c (dup3): Likewise.
22567         * tests/test-fchdir.c (main): Enhance test.
22568         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
22569
22570         fcntl: port portions of fcntl to mingw
22571         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
22572         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
22573         replacement for mingw.
22574         * modules/fcntl (Description): Update.
22575         (Depends-on): Add dup2.
22576         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
22577         * modules/fcntl-h (Makefile.am): Substitute it.
22578         * lib/fcntl.in.h (fcntl): Update declaration.
22579         (F_DUPFD, F_GETFD): New macros, when needed.
22580         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22581         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
22582         * tests/test-fcntl.c (check_flags, main): Enhance test for items
22583         we now guarantee.
22584
22585         fcntl: work around cygwin bug in F_DUPFD
22586         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
22587         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
22588         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
22589         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
22590         * doc/posix-functions/fcntl.texi (fcntl): Document it.
22591
22592         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
22593         * modules/fcntl (Files): List new files.
22594         (configure.ac): Run a test.
22595         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
22596         * lib/fcntl.c (rpl_fcntl): Likewise.
22597         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
22598         (gl_FCNTL_H): Always replace fcntl.h.
22599         * modules/fcntl-h (Makefile.am): Substitute witnesses.
22600         * lib/fcntl.in.h (fcntl): Declare replacement.
22601         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
22602         needed, plus a witness.
22603         * doc/posix-functions/fcntl.texi (fcntl): Document this.
22604         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
22605         * tests/test-fcntl.c: New file.
22606         * modules/fcntl-tests: Likewise.
22607
22608         binary-io: avoid potential compilation warning
22609         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
22610         directives.
22611
22612         fflush: avoid compilation error on NetBSD
22613         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
22614         between off_t and fpos_t, since the latter is sometimes a struct.
22615         * lib/fseeko.c (rpl_fseeko): Likewise.
22616         Reported by Alexander Nasonov <alnsn@yandex.ru>.
22617
22618 2009-12-15  Eric Blake  <ebb9@byu.net>
22619
22620         fcntl-h, stdio, sys_ioctl: fix declarations
22621         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
22622         function must not take arguments.
22623         * lib/sys_ioctl.in.h (ioctl): Likewise.
22624         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
22625         (open): Add a link warning.
22626
22627 2009-12-15  Jim Meyering  <meyering@redhat.com>
22628
22629         areadlink, areadlink-with-size: relax license to LGPLv2+
22630         * modules/areadlink (License): Relax to LGPLv2+.
22631         * modules/areadlink-with-size (License): Likewise.
22632
22633 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
22634             Bruno Haible  <bruno@clisp.org>
22635
22636         *printf: Fix memory leak.
22637         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
22638         * lib/vfprintf.c (vfprintf): Likewise.
22639         * lib/dprintf.c (dprintf): Likewise.
22640         * lib/vdprintf.c (vdprintf): Likewise.
22641
22642 2009-12-14  Eric Blake  <ebb9@byu.net>
22643
22644         accept4: adjust module dependencies
22645         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
22646
22647         utimens: one more try at avoiding compiler warning
22648         * lib/utimens.c (lutimens): Lower scope of result.
22649
22650 2009-12-13  Bruno Haible  <bruno@clisp.org>
22651
22652         Move the malloc checking from module 'list' to new module 'xlist'.
22653         * modules/xlist: New file.
22654         * lib/gl_xlist.h: New file.
22655         * lib/gl_xlist.c: New file.
22656         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
22657         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
22658         gl_list_add_last, gl_list_add_before, gl_list_add_after,
22659         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
22660         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
22661         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
22662         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
22663         gl_sortedlist_nx_add): New declarations.
22664         (struct gl_list_implementation): Rename and change methods accordingly.
22665         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
22666         (gl_list_nx_create): Renamed from gl_list_create.
22667         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22668         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22669         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22670         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22671         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22672         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22673         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22674         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22675         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
22676         gl_list_create_empty.
22677         (gl_list_nx_create): Renamed from gl_list_create.
22678         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22679         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22680         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22681         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22682         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22683         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22684         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22685         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22686         * lib/gl_array_list.c: Don't include xalloc.h.
22687         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
22688         NULL upon out-of-memory.
22689         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
22690         out-of-memory.
22691         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
22692         Change return type to 'int'.
22693         (gl_array_nx_set_at): Renamed from gl_array_set_at.
22694         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22695         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
22696         upon out-of-memory.
22697         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
22698         upon out-of-memory.
22699         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
22700         upon out-of-memory.
22701         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
22702         upon out-of-memory.
22703         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
22704         out-of-memory.
22705         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
22706         Update.
22707         (gl_array_list_implementation): Update.
22708         * lib/gl_carray_list.c: Don't include xalloc.h.
22709         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
22710         Return NULL upon out-of-memory.
22711         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
22712         out-of-memory.
22713         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
22714         Change return type to 'int'.
22715         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
22716         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22717         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
22718         upon out-of-memory.
22719         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
22720         upon out-of-memory.
22721         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
22722         out-of-memory.
22723         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
22724         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
22725         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
22726         Update.
22727         (gl_carray_list_implementation): Update.
22728         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
22729         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
22730         gl_linked_create_empty. Return NULL upon out-of-memory.
22731         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
22732         out-of-memory.
22733         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
22734         Change return type to 'int'. Return -1 upon out-of-memory.
22735         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
22736         out-of-memory.
22737         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
22738         upon out-of-memory.
22739         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
22740         upon out-of-memory.
22741         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
22742         NULL upon out-of-memory.
22743         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
22744         upon out-of-memory.
22745         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
22746         out-of-memory.
22747         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
22748         Update.
22749         * lib/gl_linked_list.c: Don't include xalloc.h.
22750         (gl_linked_list_implementation): Update.
22751         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
22752         (add_to_bucket): Change return type to 'int'.
22753         (gl_linkedhash_list_implementation): Update.
22754         * lib/gl_anytree_list1.h (free_subtree): New function.
22755         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
22756         gl_tree_create_empty. Return NULL upon out-of-memory.
22757         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
22758         Change return type to 'int'. Return -1 upon out-of-memory.
22759         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
22760         out-of-memory.
22761         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
22762         (gl_tree_remove_node): New function, moved here from
22763         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
22764         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
22765         Update.
22766         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
22767         malloc, not xmalloc. Return NULL upon out-of-memory.
22768         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22769         out-of-memory.
22770         (gl_tree_remove_node_from_tree): New function, extracted from
22771         gl_tree_remove_node.
22772         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22773         upon out-of-memory.
22774         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22775         out-of-memory.
22776         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22777         upon out-of-memory.
22778         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22779         upon out-of-memory.
22780         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22781         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
22782         not xmalloc. Return NULL upon out-of-memory.
22783         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22784         out-of-memory.
22785         (gl_tree_remove_node_from_tree): New function, extracted from
22786         gl_tree_remove_node.
22787         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22788         upon out-of-memory.
22789         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22790         out-of-memory.
22791         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22792         upon out-of-memory.
22793         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22794         upon out-of-memory.
22795         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22796         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
22797         gl_anytree_list1.h before gl_anyavltree_list2.h.
22798         (gl_avltree_list_implementation): Update.
22799         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
22800         gl_anytree_list1.h before gl_anyavltree_list2.h.
22801         (gl_rbtree_list_implementation): Update.
22802         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
22803         Change return type to 'int'. Return -1 upon out-of-memory. Use
22804         __builtin_expect.
22805         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
22806         (gl_avltreehash_list_implementation): Update.
22807         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
22808         (gl_rbtreehash_list_implementation): Update.
22809         * modules/array-list (Depends-on): Remove xalloc.
22810         * modules/carray-list (Depends-on): Likewise.
22811         * modules/linked-list (Depends-on): Likewise.
22812         * modules/linkedhash-list (Depends-on): Likewise.
22813         * modules/avltree-list (Depends-on): Likewise.
22814         * modules/rbtree-list (Depends-on): Likewise.
22815         * modules/avltreehash-list (Depends-on): Likewise.
22816         * modules/rbtreehash-list (Depends-on): Likewise.
22817
22818         * modules/xsublist: New file.
22819         * lib/gl_xsublist.h: New file.
22820         * lib/gl_xsublist.c: New file.
22821         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
22822         (gl_sublist_nx_create): New declaration.
22823         * lib/gl_sublist.c: Don't include xalloc.h.
22824         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
22825         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
22826         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
22827         Change return type to 'int'. Return -1 upon out-of-memory.
22828         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
22829         upon out-of-memory.
22830         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
22831         NULL upon out-of-memory.
22832         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
22833         upon out-of-memory.
22834         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
22835         NULL upon out-of-memory.
22836         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
22837         NULL upon out-of-memory.
22838         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
22839         upon out-of-memory.
22840         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
22841         (gl_sublist_list_implementation): Update.
22842         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
22843         upon out-of-memory.
22844         * modules/sublist (Depends-on): Remove xalloc.
22845
22846         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
22847         * tests/test-carray_list.c: Likewise.
22848         * tests/test-linked_list.c: Likewise.
22849         * tests/test-linkedhash_list.c: Likewise.
22850         * tests/test-avltree_list.c: Likewise.
22851         * tests/test-rbtree_list.c: Likewise.
22852         * tests/test-avltreehash_list.c: Likewise.
22853         * tests/test-rbtreehash_list.c: Likewise.
22854         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
22855         * modules/carray-list-tests (Makefile.am): Likewise.
22856         * modules/linked-list-tests (Makefile.am): Likewise.
22857         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22858         * modules/avltree-list-tests (Makefile.am): Likewise.
22859         * modules/rbtree-list-tests (Makefile.am): Likewise.
22860         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22861         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22862
22863         * NEWS: Mention the changes.
22864
22865         * lib/clean-temp.c: Include gl_xlist.h.
22866         * modules/clean-temp (Depends-on): Add xlist.
22867
22868         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
22869         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
22870
22871         * tests/test-array_oset.c: Include gl_xlist.h.
22872         * modules/array-oset-tests (Depends-on): Add xlist.
22873
22874         Reported by José E. Marchesi <jemarch@gnu.org>.
22875
22876 2009-12-13  Bruno Haible  <bruno@clisp.org>
22877
22878         Move the malloc checking from module 'oset' to new module 'xoset'.
22879         * modules/xoset: New file.
22880         * lib/gl_xoset.h: New file.
22881         * lib/gl_xoset.c: New file.
22882         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
22883         declarations.
22884         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
22885         (struct gl_oset_implementation): Rename and change methods accordingly.
22886         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
22887         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22888         'int'. Mark as __warn_unused_result__.
22889         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
22890         gl_oset_create_empty.
22891         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22892         'int'.
22893         * lib/gl_array_oset.c: Don't include xalloc.h.
22894         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
22895         malloc, not xmalloc.
22896         (grow): Change return type to 'int'. Don't call xalloc_die.
22897         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
22898         to 'int'.
22899         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
22900         'int'.
22901         (gl_array_oset_implementation): Update.
22902         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
22903         gl_tree_create_empty.
22904         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
22905         'int'.
22906         * lib/gl_avltree_oset.c: Don't include xalloc.h.
22907         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22908         xmalloc.
22909         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22910         not xmalloc.
22911         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22912         xmalloc.
22913         (gl_avltree_oset_implementation): Update.
22914         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
22915         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22916         xmalloc.
22917         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22918         not xmalloc.
22919         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22920         xmalloc.
22921         (gl_rbtree_oset_implementation): Update.
22922         * modules/array-oset (Depends-on): Remove xalloc.
22923         * modules/avltree-oset (Depends-on): Likewise.
22924         * modules/rbtree-oset (Depends-on): Likewise.
22925         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
22926         * tests/test-avltree_oset.c: Likewise.
22927         * tests/test-rbtree_oset.c: Likewise.
22928         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
22929         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
22930         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22931         * NEWS: Mention the change.
22932
22933 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
22934
22935         maint.mk: allow a project to override release-prep commands
22936         * top/maint.mk (alpha, beta, stable): Move release-preparatory
22937         commands into a new rule.
22938         (release-prep): New rule.
22939         (release-prep-hook): New overridable variable.
22940
22941 2009-12-13  Bruno Haible  <bruno@clisp.org>
22942
22943         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
22944
22945 2009-12-13  Jim Meyering  <meyering@redhat.com>
22946
22947         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
22948         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
22949
22950 2009-12-12  Bruno Haible  <bruno@clisp.org>
22951
22952         duplocale: Tweak.
22953         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
22954
22955 2009-12-12  Karl Berry  <karl@gnu.org>
22956
22957         * config/srclist.txt (strtoll.c): tab changes, no more sync.
22958
22959 2009-12-12  Bruno Haible  <bruno@clisp.org>
22960
22961         * m4/po.m4: Undo incorrect untabification.
22962
22963 2009-12-12  Bruno Haible  <bruno@clisp.org>
22964
22965         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
22966         * modules/c-strtod (Depends-on): Add locale.
22967         * modules/c-strtold (Depends-on): Likewise.
22968
22969 2009-12-12  Bruno Haible  <bruno@clisp.org>
22970
22971         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22972
22973 2009-12-11  Eric Blake  <ebb9@byu.net>
22974
22975         setenv: relax requirement in light of POSIX ruling
22976         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22977         not NULL.
22978         * tests/test-setenv.c (main): Relax test.
22979         * tests/test-unsetenv.c (main): Likewise.
22980         * doc/posix-functions/setenv.texi (setenv): Document this.
22981         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22982
22983 2009-12-11  Bruno Haible  <bruno@clisp.org>
22984
22985         New module 'fd-safer-flag'.
22986         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22987         * lib/dup-safer.c (dup_safer_flag): Remove function.
22988         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22989         * lib/fd-safer.c (fd_safer_flag): Remove function.
22990         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22991         * modules/cloexec (configure.ac): Drop indicator macro.
22992         * modules/fd-safer-flag: New file.
22993         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22994         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22995         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22996
22997 2009-12-11  Bruno Haible  <bruno@clisp.org>
22998
22999         Tests for module 'nl_langinfo'.
23000         * modules/nl_langinfo-tests: New file.
23001         * tests/test-nl_langinfo.sh: New file.
23002         * tests/test-nl_langinfo.c: New file.
23003
23004         New module 'nl_langinfo'.
23005         * lib/nl_langinfo.c: New file.
23006         * m4/nl_langinfo.m4: New file.
23007         * modules/nl_langinfo: New file.
23008         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
23009
23010 2009-12-11  Bruno Haible  <bruno@clisp.org>
23011
23012         Tests for module 'langinfo'.
23013         * modules/langinfo-tests: New file.
23014         * tests/test-langinfo.c: New file.
23015
23016         New module 'langinfo'.
23017         * lib/langinfo.in.h: New file.
23018         * m4/langinfo_h.m4: New file.
23019         * modules/langinfo: New file.
23020         * doc/posix-headers/langinfo.texi: Mention the new module.
23021
23022 2009-12-11  Bruno Haible  <bruno@clisp.org>
23023
23024         * lib/config.charset: Untabify.
23025
23026 2009-12-11  Bruno Haible  <bruno@clisp.org>
23027
23028         * modules/unistd-safer (configure.ac): Drop indicator macro.
23029
23030 2009-12-11  Bruno Haible  <bruno@clisp.org>
23031
23032         Move pipe2-safer code to its own file.
23033         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
23034         * lib/pipe-safer.c (pipe2_safer): Remove function.
23035         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
23036         (Makefile.am): Add it to lib_SOURCES.
23037
23038 2009-12-10  Bruno Haible  <bruno@clisp.org>
23039
23040         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
23041
23042 2009-12-10  Bruno Haible  <bruno@clisp.org>
23043
23044         Declare which arguments expect non-NULL values, for GCC and clang.
23045         * build-aux/arg-nonnull.h: New file.
23046         * modules/arg-nonnull: New file.
23047         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
23048         (inet_ntop, inet_pton): Use it.
23049         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
23050         (closedir, dirfd, opendir, scandir, alphasort): Use it.
23051         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
23052         (open, openat): Use it.
23053         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
23054         (fnmatch): Use it.
23055         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
23056         (getopt, getopt_long, getopt_long_only): Use it.
23057         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
23058         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
23059         Use it.
23060         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
23061         (iconv_open): Use it.
23062         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
23063         (strtoimax, strtoumax): Use it.
23064         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
23065         (duplocale): Use it.
23066         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
23067         (frexp, frexpl): Use it.
23068         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
23069         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
23070         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
23071         (tsearch, tfind, tdelete, twalk): Use it.
23072         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
23073         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
23074         sigpending): Use it.
23075         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
23076         (posix_spawn, posix_spawnp, posix_spawnattr_init,
23077         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
23078         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
23079         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
23080         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
23081         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
23082         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23083         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
23084         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
23085         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
23086         Use it.
23087         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
23088         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
23089         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
23090         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
23091         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
23092         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
23093         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
23094         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
23095         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
23096         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
23097         strtoull, unsetenv): Use it.
23098         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
23099         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
23100         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
23101         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23102         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23103         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
23104         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
23105         (strcasecmp, strncasecmp): Use it.
23106         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
23107         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
23108         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
23109         rpl_setsockopt): Use it.
23110         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
23111         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
23112         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
23113         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
23114         (gettimeofday): Use it.
23115         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
23116         (times): Use it.
23117         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
23118         (uname): Use it.
23119         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
23120         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
23121         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
23122         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
23123         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
23124         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
23125         unlinkat, write): Use it.
23126         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
23127         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
23128         * lib/argv-iter.h: Include arg-nonnull.h.
23129         (_ATTRIBUTE_NONNULL_): Remove macro.
23130         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
23131         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
23132         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
23133         optimization.
23134         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
23135         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
23136         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
23137         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
23138         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
23139         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
23140         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
23141         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
23142         * modules/arpa_inet (Depends-on): Add arg-nonnull.
23143         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
23144         * modules/dirent (Depends-on): Add arg-nonnull.
23145         (Makefile.am): Insert arg-nonnull.h into dirent.h.
23146         * modules/fcntl-h (Depends-on): Add arg-nonnull.
23147         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
23148         * modules/fnmatch (Depends-on): Add arg-nonnull.
23149         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
23150         * modules/getopt-posix (Depends-on): Add arg-nonnull.
23151         (Makefile.am): Insert arg-nonnull.h into getopt.h.
23152         * modules/glob (Depends-on): Add arg-nonnull.
23153         (Makefile.am): Insert arg-nonnull.h into glob.h.
23154         * modules/iconv_open (Depends-on): Add arg-nonnull.
23155         (Makefile.am): Insert arg-nonnull.h into iconv.h.
23156         * modules/inttypes (Depends-on): Add arg-nonnull.
23157         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
23158         * modules/locale (Depends-on): Add arg-nonnull.
23159         (Makefile.am): Insert arg-nonnull.h into locale.h.
23160         * modules/math (Depends-on): Add arg-nonnull.
23161         (Makefile.am): Insert arg-nonnull.h into math.h.
23162         * modules/netdb (Depends-on): Add arg-nonnull.
23163         (Makefile.am): Insert arg-nonnull.h into netdb.h.
23164         * modules/search (Depends-on): Add arg-nonnull.
23165         (Makefile.am): Insert arg-nonnull.h into search.h.
23166         * modules/signal (Depends-on): Add arg-nonnull.
23167         (Makefile.am): Insert arg-nonnull.h into signal.h.
23168         * modules/spawn (Depends-on): Add arg-nonnull.
23169         (Makefile.am): Insert arg-nonnull.h into spawn.h.
23170         * modules/stdio (Depends-on): Add arg-nonnull.
23171         (Makefile.am): Insert arg-nonnull.h into stdio.h.
23172         * modules/stdlib (Depends-on): Add arg-nonnull.
23173         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
23174         * modules/string (Depends-on): Add arg-nonnull.
23175         (Makefile.am): Insert arg-nonnull.h into string.h.
23176         * modules/strings (Depends-on): Add arg-nonnull.
23177         (Makefile.am): Insert arg-nonnull.h into strings.h.
23178         * modules/sys_socket (Depends-on): Add arg-nonnull.
23179         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
23180         * modules/sys_stat (Depends-on): Add arg-nonnull.
23181         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
23182         * modules/sys_time (Depends-on): Add arg-nonnull.
23183         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
23184         * modules/sys_times (Depends-on): Add arg-nonnull.
23185         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
23186         * modules/sys_utsname (Depends-on): Add arg-nonnull.
23187         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
23188         * modules/time (Depends-on): Add arg-nonnull.
23189         (Makefile.am): Insert arg-nonnull.h into time.h.
23190         * modules/unistd (Depends-on): Add arg-nonnull.
23191         (Makefile.am): Insert arg-nonnull.h into unistd.h.
23192         * modules/wchar (Depends-on): Add arg-nonnull.
23193         (Makefile.am): Insert arg-nonnull.h into wchar.h.
23194         * modules/argv-iter (Depends-on): Add arg-nonnull.
23195         * tests/test-canonicalize.c (null_ptr): New function.
23196         (main): Use it.
23197         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
23198         (main): Use it.
23199         * tests/test-memmem.c (null_ptr): New function.
23200         (main): Use it.
23201         Reported by Jim Meyering.
23202
23203 2009-12-10  Bruno Haible  <bruno@clisp.org>
23204
23205         Use spaces for indentation, not tabs.
23206         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23207         * m4/*.m4: Untabify.
23208         * build-aux/*.h: Untabify.
23209         * tests/**/*.[hc]: Untabify.
23210         * README: New section "Indent with spaces, not TABs", based on
23211         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
23212         * NEWS: Mention the change.
23213
23214 2009-12-10  Bruno Haible  <bruno@clisp.org>
23215
23216         pty test: Fix link error.
23217         * modules/pty-tests (Makefile.am): Add the default LDADD value to
23218         test_pty_LDADD.
23219
23220 2009-12-07  Simon Josefsson  <simon@josefsson.org>
23221
23222         * modules/pty: New file.
23223         * modules/pty-tests: New file.
23224         * m4/pty.m4: New file.
23225         * tests/test-pty.c: New file.
23226         * doc/glibc-headers/pty.texi: Modified.
23227         * doc/glibc-functions/forkpty.texi: Modified.
23228         * doc/glibc-functions/openpty.texi: Modified.
23229
23230 2009-12-10  Bruno Haible  <bruno@clisp.org>
23231
23232         Avoid syntax error in C++ mode.
23233         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
23234
23235 2009-12-10  Bruno Haible  <bruno@clisp.org>
23236
23237         Use sed with option -e.
23238         * gnulib-tool (func_version, func_emit_copyright_notice,
23239         func_emit_initmacro_end, func_import, func_create_testdir): Pass
23240         option -e to sed.
23241         * modules/link-warning (Makefile.am): Likewise.
23242
23243 2009-12-10  Jim Meyering  <meyering@redhat.com>
23244
23245         mgetgroups: do not write bytes beyond end of malloc'd buffer
23246         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
23247         username, we call getgroups with a one-element-shorter buffer,
23248         but still told it the length was original, max_n_groups.
23249
23250 2009-12-09  Eric Blake  <ebb9@byu.net>
23251
23252         cloexec: relax license
23253         * modules/cloexec (Maintainer): Add myself.
23254         (License): Use LGPL, not GPL.
23255
23256         link-warning: optimize generation
23257         * modules/link-warning (Makefile.am): Reduce process usage.
23258
23259 2009-12-09  Bruno Haible  <bruno@clisp.org>
23260
23261         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
23262         workaround was added on 2009-11-17.
23263
23264 2009-12-09  Jim Meyering  <meyering@redhat.com>
23265             Bruno Haible  <bruno@clisp.org>
23266
23267         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
23268         * modules/link-warning (Makefile.am): Make the comment-removing sed
23269         command more robust in the face of bootstrap-prepended comment lines.
23270
23271 2009-12-09  Bruno Haible  <bruno@clisp.org>
23272
23273         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
23274         most one group.
23275
23276 2009-12-09  Simon Josefsson <simon@josefsson.org>
23277             Bruno Haible  <bruno@clisp.org>
23278
23279         * build-aux/link-warning.h: Add copyright notice.
23280         * modules/link-warning (Makefile.am): Generate link-warning.h from
23281         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
23282         * NEWS: Mention change in link-warning module.
23283         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
23284         * modules/dirent (Makefile.am): Add dependency to dirent.h.
23285         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
23286         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
23287         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
23288         * modules/math (Makefile.am): Add dependency to math.h.
23289         * modules/search (Makefile.am): Add dependency to search.h.
23290         * modules/signal (Makefile.am): Add dependency to signal.h.
23291         * modules/spawn (Makefile.am): Add dependency to spawn.h.
23292         * modules/stdio (Makefile.am): Add dependency to stdio.h.
23293         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
23294         * modules/string (Makefile.am): Add dependency to string.h.
23295         * modules/strings (Makefile.am): Add dependency to strings.h.
23296         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
23297         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
23298         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
23299         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
23300         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
23301         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
23302         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
23303         * modules/unistd (Makefile.am): Add dependency to unistd.h.
23304         * modules/wchar (Makefile.am): Add dependency to wchar.h.
23305
23306 2009-12-09  Bruno Haible  <bruno@clisp.org>
23307
23308         fchdir: Optimize away rpl_fstat when possible.
23309         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
23310         REPLACE_OPEN_DIRECTORY.
23311         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
23312
23313 2009-12-09  Bruno Haible  <bruno@clisp.org>
23314
23315         * lib/fchdir.c: Update comment.
23316
23317 2009-12-09  Bruno Haible  <bruno@clisp.org>
23318
23319         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
23320
23321 2009-12-08  Eric Blake  <ebb9@byu.net>
23322
23323         fchdir: avoid memory leak on re-registration.
23324         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
23325
23326 2009-12-08  Jim Meyering  <meyering@redhat.com>
23327
23328         init.sh: avoid Solaris 10 /bin/sh portability problem
23329         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
23330         sourced script:
23331           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
23332           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
23333           bar
23334         tests/init.sh relied on that, accepting a --set-path=DIR argument,
23335         and two tests used that idiom.
23336         * tests/init.sh: Update suggested usage comments.
23337         (path_prepend_): New function, to be used in place
23338         of the --src-path=DIR option.
23339         (setup_): Move PATH-prepending code into path_prepend_.
23340         * tests/test-pread.sh: Adapt to new usage.
23341         * tests/test-xalloc-die.sh: Likewise.
23342
23343 2009-12-08  Simon Josefsson  <simon@josefsson.org>
23344
23345         * doc/gnulib.texi (Glibc pty.h): Add.
23346         * doc/glibc-functions/forkpty.texi: Add.
23347         * doc/glibc-functions/openpty.texi: Add.
23348         Suggested by Bruno Haible.
23349
23350 2009-12-08  Eric Blake  <ebb9@byu.net>
23351
23352         fchdir: fix logic bugs
23353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
23354         * tests/test-fchdir.c (main): Enhance test.
23355         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
23356         is in use.
23357
23358         dup2: fix logic bugs
23359         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
23360         REPLACE_DUP2 to decide when rpl_dup2 is needed.
23361         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
23362         exists.
23363         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
23364
23365 2009-12-07  Eric Blake  <ebb9@byu.net>
23366
23367         unlink: fix m4 detection
23368         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
23369
23370         unistd-safer: add unit test
23371         * modules/unistd-safer-tests: New file.
23372         * tests/test-dup-safer.c: Likewise.
23373         * tests/test-cloexec.c (setmode): Avoid compiler warning.
23374         * tests/test-dup2.c (setmode): Likewise.
23375         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
23376
23377         cloexec: preserve text vs. binary across dup_cloexec
23378         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
23379         mode.
23380         * modules/dup2-tests (Depends-on): Add binary-io.
23381         * modules/cloexec-tests (Depends-on): Likewise.
23382         * tests/test-dup2.c (setmode, is_mode): New helpers.
23383         (main): Add tests that translation mode is preserved.
23384         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
23385         Reported by Bruno Haible.
23386
23387         mgetgroups: reduce duplicate listings
23388         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
23389         resulting array.
23390         * tests/test-chown.h (test_chown): Simplify client.
23391         * tests/test-lchown.h (test_lchown): Likewise.
23392
23393 2009-12-06  Bruno Haible  <bruno@clisp.org>
23394
23395         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
23396         value.
23397
23398 2009-12-06  Bruno Haible  <bruno@clisp.org>
23399
23400         * lib/progname.c: Include stdio.h, stdlib.h.
23401         (set_program_name): Reject a NULL argument.
23402
23403 2009-12-05  Eric Blake  <ebb9@byu.net>
23404
23405         pipe2-safer: new module
23406         * modules/pipe2-safer: New file.
23407         * lib/unistd-safer.h (pipe2_safer): New prototype.
23408         * lib/unistd--.h (pipe2): New wrapper.
23409         * lib/pipe-safer.c (pipe2_safer): New function.
23410         * modules/pipe (Depends-on): Add pipe2-safer.
23411         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
23412
23413         stdlib-safer: preserve cloexec flag for mkostemp[s]
23414         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
23415         fd_safer_flag.
23416
23417         unistd-safer: allow preservation of cloexec status via flag
23418         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
23419         prototypes.
23420         * lib/dup-safer.c (dup_safer_flag): New function.
23421         * lib/fd-safer.c (fd_safer_flag): Likewise.
23422         * modules/cloexec (configure.ac): Set witness.
23423
23424         test-dup2: enhance test
23425         * modules/dup2-tests (Depends-on): Add cloexec.
23426         * tests/test-dup2.c (main): Enhance test.
23427
23428         cloexec: add dup_cloexec
23429         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
23430         header and comments.
23431         * lib/cloexec.c (set_cloexec_flag): Add comments.
23432         (dup_cloexec): New function, with mingw implementation borrowed
23433         from...
23434         * lib/w32spawn.h (dup_noinherit): ...here.
23435         * modules/execute (Depends-on): Add cloexec.
23436         * modules/pipe (Depends-on): Likewise.
23437         * modules/cloexec (Depends-on): Add dup2.
23438         * modules/cloexec-tests (Files): New file.
23439         * tests/test-cloexec.c: Likewise.
23440
23441         test-xalloc-die: fix test for mingw
23442         * modules/xalloc-die-tests (Files): Add tests/init.sh.
23443         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
23444         directory and .exe suffix off argv[0] output.
23445
23446         test-fseeko: fix test for mingw
23447         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
23448         than undefining fseek, so test will pass on mingw.
23449
23450 2009-12-05  Bruno Haible  <bruno@clisp.org>
23451
23452         * lib/progname.h (set_program_name): Clarify specification.
23453         * lib/progname.c (set_program_name): Likewise.
23454         Reported by Jim Meyering.
23455
23456 2009-12-05  Jim Meyering  <meyering@redhat.com>
23457
23458         maint.mk: backslash-escape parens in default regexp
23459         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
23460         backslash-escape the literal parentheses.
23461
23462         maint.mk: news-date-check: use grep -E
23463         * top/maint.mk (today): Define a Make variable, not a...
23464         (news-date-check): ...shell variable.
23465         (news-date-regexp): Use the Make variable.
23466         Use grep's -E option.  Change the failing diagnostic to mention
23467         the variable, $(news-date-regexp).
23468
23469 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
23470
23471         maintainer-makefile: allow customization of NEWS entry format
23472         * top/maint.mk (news-date-regexp): New overridable variable.
23473         (news-date-check): Use it.
23474
23475 2009-12-04  Eric Blake  <ebb9@byu.net>
23476
23477         mgetgroups: add xgetgroups, and avoid ENOSYS failures
23478         * lib/mgetgroups.h (xgetgroups): New prototype.
23479         * lib/mgetgroups.c (xgetgroups): New wrapper.
23480         (mgetgroups): Handle ENOSYS.
23481         * modules/mgetgroups (Depends-on): Add realloc.
23482         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
23483
23484         mgetgroups: avoid argument promotion issues with -1
23485         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
23486         for invalid gid_t.
23487         * tests/test-chown.h (getegid, test_chown): Likewise.
23488         * tests/test-lchown.h (getegid, test_lchown): Likewise.
23489
23490 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
23491
23492         exclude: Fix header file problems.
23493         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
23494
23495 2009-12-01  Jim Meyering  <meyering@redhat.com>
23496
23497         fts: fts_open: do not let an empty string cause immediate failure
23498         This is required in support of GNU rm, for which the command
23499         "rm A '' B" must process and remove both A and B, in spite of
23500         the empty string argument.
23501         * lib/fts.c (fts_open): Do not let the presence of an empty string
23502         cause fts_open to fail immediately.  Most fts-using tools must be
23503         able to process all arguments, in order, and can be expected to
23504         diagnose such arguments themselves.
23505
23506 2009-11-30  Eric Blake  <ebb9@byu.net>
23507
23508         utimens: fix compilation error
23509         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
23510         Declare variable at right scope.
23511
23512 2009-11-29  Jim Meyering  <meyering@redhat.com>
23513
23514         bootstrap: handle perl-5.11's changed --version output
23515         * build-aux/bootstrap (get_version): Handle perl separately,
23516         since perl-5.11's --version output is different.
23517
23518 2009-11-28  Jim Meyering  <meyering@redhat.com>
23519
23520         userspec: depend on the inttostr module, too
23521         * modules/userspec (Depends-on): Add inttostr.
23522
23523         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
23524         * lib/userspec.c (parse_with_separator): Do not accept a user ID
23525         number of MAXUID when it evaluates to (uid_t) -1.
23526         Likewise for group ID.  Reported by Matt McCutchen in
23527         <http://savannah.gnu.org/bugs/?28113>
23528
23529         userspec: reformat to use spaces, not TABs
23530         * lib/userspec.c: Expand TABs to spaces.
23531         Add Emacs' "indent-tabs-mode: nil" hint.
23532
23533 2009-11-27  Eric Blake  <ebb9@byu.net>
23534
23535         getopt-gnu: flush out another BSD bug
23536         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
23537         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
23538         flush out BSD bug.
23539         * tests/test-getopt.h (test_getopt): End lists with NULL.
23540         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23541         (test_getopt_long_posix): Enhance test.
23542         * modules/getopt-posix-tests (Depends-on): Add stdbool.
23543         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
23544         getopt-gnu.
23545         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23546         Likewise.
23547
23548 2009-11-27  Simon Josefsson  <simon@josefsson.org>
23549
23550         * modules/idpriv-droptemp-tests (Notice): Fix text.
23551
23552 2009-11-27  Jim Meyering  <meyering@redhat.com>
23553
23554         test-xalloc-die: avoid spurious failure due to libtool argv difference
23555         In a libtool-enabled project, this test would fail due to a difference
23556         in the emitted program name, e.g.,
23557         -test-xalloc-die: memory exhausted
23558         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
23559         Use program to avoid that.
23560         * modules/xalloc-die-tests (Depends-on): Add progname.
23561         * tests/test-xalloc-die.c: Include progname.h".
23562         (program_name): Remove decl.
23563         (main): Call set_program_name.
23564         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
23565
23566 2009-11-26  Richard Jones  <rjones@redhat.com>
23567
23568         w32sock: leave win32 error in place.
23569         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
23570
23571 2009-11-26  Eric Blake  <ebb9@byu.net>
23572
23573         init.sh: suggest to use skip_ and fail_ functions in comments
23574         * tests/init.sh: Add a sentence.
23575
23576 2009-11-25  Bruno Haible  <bruno@clisp.org>
23577
23578         init.sh: add documentation in comments
23579         * tests/init.sh: Add some developer and user documentation.
23580
23581 2009-11-26  Jim Meyering  <meyering@redhat.com>
23582
23583         init.sh: accommodate even those who specify bogus srcdir manually
23584         * tests/init.sh: Normally, srcdir is guaranteed by automake and
23585         configure-time tests to be sanitized, so that there is no need to
23586         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
23587         (with no double quotes) suffices.  However, since tests may be
23588         invoked manually, and since you may explicitly set srcdir to the
23589         name of a directory containing spaces, do quote its uses here.
23590         * tests/test-pread.sh: Likewise.
23591         Suggested by Bruno Haible.
23592
23593         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
23594         * tests/test-pread.sh: Write no data into the pipe, because
23595         test-pread actually reads none.  This avoids a diagnostic,
23596         "bash: echo: write error: Broken pipe", that arises in the unusual
23597         event something is ignoring SIGPIPE, and might be interpreted
23598         as some sort of failure.  Reported by Bruno Haible.
23599
23600 2009-11-25  Jim Meyering  <meyering@redhat.com>
23601
23602         test-pread: cover failure with ESPIPE and EINVAL
23603         * tests/test-pread.c (main): Test for failure, too.
23604         * tests/test-pread.sh: Invoke with stdin on a pipe.
23605         Suggested by Eric Blake.
23606
23607         pread: improvement and fix
23608         * modules/pread (Depends-on): Depend on lseek, for portability to
23609         e.g., mingw.  Suggested by Eric Blake.
23610         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
23611
23612         unistd.in.h: correct declaration of pread
23613         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
23614         Reported by Richard W.M. Jones.
23615
23616         test-pread.sh: distribute the test script
23617         * modules/pread-tests (Files): Include test-pread.sh.
23618
23619         test-pread.sh: clean up
23620         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
23621         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
23622         That is unnecessary, since it's always ".".
23623         Suggestion from Eric Blake.
23624
23625         test-pread.sh: make executable
23626         * tests/test-pread.sh: Set executable bit.
23627         Reported by Eric Blake.
23628
23629         correct typo in test-pread.sh
23630         * tests/test-pread.sh: Add #! line.
23631
23632         test pread
23633         * tests/test-pread.c: New file.
23634         * tests/test-pread.sh: Likewise.
23635         * modules/pread-tests: Likewise.
23636
23637         pread: new module
23638         * modules/pread: New file.
23639         * lib/unistd.in.h (pread): Define/declare.
23640         * lib/pread.c (pread): New file.
23641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
23642         * modules/unistd (Makefile.am): Substitute witnesses.
23643         * doc/posix-functions/pread.texi (pread): Update.
23644         * MODULES.html.sh: Add pread.
23645
23646 2009-11-25  Jim Meyering  <meyering@redhat.com>
23647
23648         tests/init.sh: new file to be used via most *.sh tests
23649         * tests/init.sh: New file.
23650
23651 2009-11-25  Eric Blake  <ebb9@byu.net>
23652
23653         utimens: work around older Linux failure with symlinks
23654         * lib/utimens.c (lutimensat_works_really): New variable.
23655         (fdutimens, lutimens): Use it to manage kernels that support
23656         nanosecond times on files, but not on symlinks.
23657         Reported by OndÅ™ej Vašík.
23658
23659         utimes: fix configure grammar
23660         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
23661
23662 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
23663
23664         regex: Fix fastmap for multibyte character ranges.
23665         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
23666         characters when a multibyte character range is included.
23667
23668 2009-11-22  Andy Wingo  <wingo@pobox.com>
23669
23670         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
23671         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
23672
23673 2009-11-24  Bruno Haible  <bruno@clisp.org>
23674
23675         doc: Most *_l functions exist in MacOS X 10.5.
23676         * doc/posix-functions/duplocale.texi: Update platforms list.
23677         * doc/posix-functions/freelocale.texi: Likewise.
23678         * doc/posix-functions/newlocale.texi: Likewise.
23679         * doc/posix-functions/uselocale.texi: Likewise.
23680         * doc/posix-functions/isalnum_l.texi: Likewise.
23681         * doc/posix-functions/isalpha_l.texi: Likewise.
23682         * doc/posix-functions/isblank_l.texi: Likewise.
23683         * doc/posix-functions/iscntrl_l.texi: Likewise.
23684         * doc/posix-functions/isdigit_l.texi: Likewise.
23685         * doc/posix-functions/isgraph_l.texi: Likewise.
23686         * doc/posix-functions/islower_l.texi: Likewise.
23687         * doc/posix-functions/isprint_l.texi: Likewise.
23688         * doc/posix-functions/ispunct_l.texi: Likewise.
23689         * doc/posix-functions/isspace_l.texi: Likewise.
23690         * doc/posix-functions/isupper_l.texi: Likewise.
23691         * doc/posix-functions/iswalnum_l.texi: Likewise.
23692         * doc/posix-functions/iswalpha_l.texi: Likewise.
23693         * doc/posix-functions/iswblank_l.texi: Likewise.
23694         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23695         * doc/posix-functions/iswctype_l.texi: Likewise.
23696         * doc/posix-functions/iswdigit_l.texi: Likewise.
23697         * doc/posix-functions/iswgraph_l.texi: Likewise.
23698         * doc/posix-functions/iswlower_l.texi: Likewise.
23699         * doc/posix-functions/iswprint_l.texi: Likewise.
23700         * doc/posix-functions/iswpunct_l.texi: Likewise.
23701         * doc/posix-functions/iswspace_l.texi: Likewise.
23702         * doc/posix-functions/iswupper_l.texi: Likewise.
23703         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23704         * doc/posix-functions/isxdigit_l.texi: Likewise.
23705         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
23706         * doc/posix-functions/strcasecmp_l.texi: Likewise.
23707         * doc/posix-functions/strcoll_l.texi: Likewise.
23708         * doc/posix-functions/strfmon_l.texi: Likewise.
23709         * doc/posix-functions/strftime_l.texi: Likewise.
23710         * doc/posix-functions/strncasecmp_l.texi: Likewise.
23711         * doc/posix-functions/strxfrm_l.texi: Likewise.
23712         * doc/posix-functions/tolower_l.texi: Likewise.
23713         * doc/posix-functions/toupper_l.texi: Likewise.
23714         * doc/posix-functions/towctrans_l.texi: Likewise.
23715         * doc/posix-functions/towlower_l.texi: Likewise.
23716         * doc/posix-functions/towupper_l.texi: Likewise.
23717         * doc/posix-functions/wcscoll_l.texi: Likewise.
23718         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23719         * doc/posix-functions/wctrans_l.texi: Likewise.
23720         * doc/posix-functions/wctype_l.texi: Likewise.
23721         * doc/glibc-functions/strptime_l.texi: Likewise.
23722         * doc/glibc-functions/strtod_l.texi: Likewise.
23723         * doc/glibc-functions/strtof_l.texi: Likewise.
23724         * doc/glibc-functions/strtol_l.texi: Likewise.
23725         * doc/glibc-functions/strtold_l.texi: Likewise.
23726         * doc/glibc-functions/strtoll_l.texi: Likewise.
23727         * doc/glibc-functions/strtoul_l.texi: Likewise.
23728         * doc/glibc-functions/strtoull_l.texi: Likewise.
23729         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23730         * doc/glibc-functions/wcstod_l.texi: Likewise.
23731         * doc/glibc-functions/wcstof_l.texi: Likewise.
23732         * doc/glibc-functions/wcstol_l.texi: Likewise.
23733         * doc/glibc-functions/wcstold_l.texi: Likewise.
23734         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23735         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23736         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23737
23738 2009-11-24  Bruno Haible  <bruno@clisp.org>
23739
23740         duplocale: Fix logic bug.
23741         * lib/duplocale.c: Don't include <langinfo.h>.
23742         (_NL_LOCALE_NAME): Remove macro.
23743         (rpl_duplocale): Use setlocale instead of nl_langinfo.
23744         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
23745
23746 2009-11-23  Jim Meyering  <meyering@redhat.com>
23747
23748         test-update-copyright: don't hard-code /usr/bin/perl
23749         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
23750         perl to print the current year.  Gilles Espinasse reported that
23751         the replaced use of perl was hard-coded as /usr/bin/perl.
23752
23753 2009-11-23  Bruno Haible  <bruno@clisp.org>
23754
23755         duplocale: Add support for glibc 2.3.x.
23756         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
23757
23758 2009-11-22  Bruno Haible  <bruno@clisp.org>
23759
23760         vasnprintf: Tiny optimization.
23761         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
23762         MacOS X.
23763
23764 2009-11-22  Bruno Haible  <bruno@clisp.org>
23765
23766         Tests for module 'duplocale'.
23767         * modules/duplocale-tests: New file.
23768         * tests/test-duplocale.c: New file.
23769
23770         New module 'duplocale'.
23771         * m4/duplocale.m4: New file.
23772         * lib/locale.in.h (duplocale): New declaration.
23773         * lib/duplocale.c: New file.
23774         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
23775         gl_LOCALE_H_DEFAULTS): New macros.
23776         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
23777         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
23778         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
23779         REPLACE_DUPLOCALE.
23780         * modules/duplocale: New file.
23781         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
23782
23783 2009-11-22  Bruno Haible  <bruno@clisp.org>
23784
23785         * modules/locale-tests (configure.ac): Test for newlocale function.
23786         * tests/test-locale.c: When the system has extended locale functions,
23787         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
23788
23789         locale: Make locale_t available when possible.
23790         * lib/locale.in.h: Include <xlocale.h> when it exists.
23791         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
23792         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
23793         * modules/locale (Depends-on): Add extensions.
23794         (Makefile.am): Also substitute HAVE_XLOCALE_H.
23795         * doc/posix-headers/locale.texi: Document the problem with locale_t.
23796
23797 2009-11-22  Bruno Haible  <bruno@clisp.org>
23798
23799         Add comments.
23800         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
23801         invocation.
23802         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23803         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23804         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23805
23806 2009-11-22  Bruno Haible  <bruno@clisp.org>
23807
23808         error: account for the possibility of freopen (stdout).
23809         * lib/error.c: Include <unistd.h>.
23810         (flush_stdout): New function, extracted from error and error_at_line.
23811         Determine stdout's fd dynamically.
23812         (error, error_at_line): Invoke flush_stdout.
23813         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
23814         * modules/error (Depends-on): Add unistd.
23815
23816 2009-11-22  Bruno Haible  <bruno@clisp.org>
23817
23818         diffseq: Add comment.
23819         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
23820
23821 2009-11-22  Jim Meyering  <meyering@redhat.com>
23822
23823         c-stack: avoid defining an unused static function
23824         * lib/c-stack.c (find_stack_direction): Do not define this function
23825         when it will not be used.
23826
23827         diffseq: avoid spurious gcc warnings
23828         * lib/diffseq.h (IF_LINT2): Define.
23829         (compareseq): Use it to initialize two members of "part".
23830         This avoids two used-uninitialized warnings.
23831
23832 2009-11-21  Jim Meyering  <meyering@redhat.com>
23833
23834         c-stack: avoid "ignoring return value of `write'" warning
23835         * lib/c-stack.c: Include "ignore-value.h".
23836         (die): Explicitly ignore each write return value.
23837         * modules/c-stack (Depends-on): Add ignore-value.
23838
23839 2009-11-21  Bruno Haible  <bruno@clisp.org>
23840
23841         diffseq: reduce scope of variable 'best'.
23842         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
23843         variable, earlier used for two different purposes.
23844
23845 2009-11-21  Jim Meyering  <meyering@redhat.com>
23846
23847         diffseq: remove useless assignment to "best"
23848         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
23849         assignment.  At that point "best" is already guaranteed to be zero.
23850
23851 2009-11-20  Eric Blake  <ebb9@byu.net>
23852
23853         build: mention ftp redirector in release announcements
23854         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
23855         values that used to come from cfg.mk; mention FTP redirect URL.
23856         * build-aux/announce-gen: Mention the mirror list.
23857         Suggested by Karl Berry.
23858
23859         nanosleep: improve port to mingw
23860         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
23861         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
23862         LIB_NANOSLEEP, but only when needed.
23863         * modules/select (Link): Document LIBSOCKET.
23864         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
23865         enough.
23866
23867         nanosleep: work around cygwin bug
23868         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
23869         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
23870         bug.
23871         (getnow): Delete, not needed.
23872         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
23873         LIB_CLOCK_GETTIME.
23874         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
23875         clock-time, gettime.
23876         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
23877         bug.
23878         * modules/nanosleep-tests: New test.
23879         * tests/test-nanosleep.c: New file.
23880
23881         sleep: work around cygwin bug
23882         * lib/sleep.c (rpl_sleep): Work around the bug.
23883         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
23884         (gl_PREREQ_SLEEP): Delete unused macro.
23885         * modules/sleep (Depends-on): Add verify.
23886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23887         * modules/unistd (Makefile.am): Substitute witness.
23888         * lib/unistd.in.h (sleep): Update prototype.
23889         * doc/posix-functions/sleep.texi (sleep): Document the bug.
23890         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
23891         * modules/sleep-tests (Depends-on): Check for alarm.
23892
23893 2009-11-20  Jim Meyering  <meyering@redhat.com>
23894
23895         maint.mk: improve sc_prohibit_magic_number_exit
23896         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
23897         so it does not match uses like System.exit(1).
23898         Add comments showing how to correct all offenders.
23899
23900 2009-11-19  Eric Blake  <ebb9@byu.net>
23901
23902         xalloc-die-tests: add missing library
23903         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
23904
23905         test-xvasprintf: silence compiler warnings
23906         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
23907         empty string from gcc.
23908
23909 2009-11-19  Jim Meyering  <meyering@redhat.com>
23910
23911         xfreopen: new module, from coreutils
23912         * modules/xfreopen: New module.
23913         * lib/xfreopen.c: New file.
23914         * lib/xfreopen.h: New file.
23915         * MODULES.html.sh (File stream based Input/Output"): Add it.
23916
23917 2009-11-19  Eric Blake  <ebb9@byu.net>
23918
23919         manywarnings: depend on warnings
23920         * modules/manywarnings (Depends-on): Add warnings.
23921
23922         build: avoid compiler warnings
23923         * lib/select.c (rpl_select): Delete unused variable.
23924         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
23925
23926 2009-11-18  Eric Blake  <ebb9@byu.net>
23927
23928         tests: avoid false negative with --with-packager
23929         * tests/test-version-etc.sh: Discard packager information.
23930         * tests/test-argp-version-etc-1.sh: Likewise.
23931         Reported by Mike Frysinger.
23932
23933         utimens: fix regression on Solaris
23934         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
23935         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
23936         can only change fd timestamps via futimesat.  Instead, use an
23937         additional witness macro to avoid BSD bug.
23938         Reported by Jim Meyering.
23939
23940 2009-11-17  Eric Blake  <ebb9@byu.net>
23941
23942         usleep: use it to simplify tests
23943         * modules/stat-time-tests (Depends-on): Add usleep.
23944         (configure.ac): Drop usleep check.
23945         * modules/chown-tests (Depends-on, configure.ac): Likewise.
23946         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
23947         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
23948         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
23949         * modules/openat-tests (Depends-on, configure.ac): Likewise.
23950         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
23951         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
23952         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
23953         Likewise.
23954         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
23955         * tests/test-lchown.h (nap): Likewise.
23956         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
23957         * tests/test-stat-time.c (nap): Likewise.
23958         * tests/test-utimens-common.h (nap): Update comments.
23959
23960         usleep: new module
23961         * modules/usleep: New file.
23962         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23963         * lib/usleep.c (usleep): Likewise.
23964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23965         * modules/unistd (Makefile.am): Substitute witnesses.
23966         * lib/unistd.in.h (usleep): Add declaration.
23967         * doc/pastposix-functions/usleep.texi (usleep): Document this.
23968         * MODULES.html.sh (Date and time): Likewise.
23969         * modules/usleep-tests (Depends-on): New test.
23970         * tests/test-usleep.c: New file.
23971
23972         chown: work around OpenBSD bug
23973         * lib/chown.c (rpl_chown): Work around the bug.
23974         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23975         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23976         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23977         * modules/chown (Depends-on): Add stdbool.
23978         * modules/lchown (Depends-on): Likewise.
23979         * doc/posix-functions/chown.texi (chown): Document the bug.
23980         * doc/posix-functions/lchown.texi (lchown): Likewise.
23981         * tests/test-lchown.h (test_chown): Relax test.
23982
23983         mkstemp: avoid conflict with C++ keyword template
23984         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23985         * lib/mkostemp.c (mkostemp): Likewise.
23986         * lib/mkostemps.c (mkostemps): Likewise.
23987         * lib/mkstemp.c (mkstemp): Likewise.
23988         * lib/mkstemps.c (mkstemps): Likewise.
23989
23990         xalloc-die-tests: optimize
23991         * tests/test-xalloc-die.sh: Reduce number of processes.
23992
23993 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23994
23995         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23996         patch from ludo@gnu.org (Ludovic Courtès).
23997
23998 2009-11-17  Jim Meyering  <meyering@redhat.com>
23999
24000         version-etc: use proper license string
24001         * modules/version-etc (License): Use LGPL, not LGPLv3+.
24002         * modules/version-etc-fsf: Likewise.
24003
24004 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24005
24006         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
24007         printed to stdout.  Deal with EOL differences.
24008
24009 2009-11-17  Eric Blake  <ebb9@byu.net>
24010
24011         unsetenv: work around Solaris bug
24012         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
24013         * lib/unsetenv.c (rpl_unsetenv): Work around it.
24014         Reported by Jim Meyering.
24015
24016         vasnprintf: avoid compiler warnings
24017         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
24018         variables.
24019         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
24020
24021 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24022
24023         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
24024         settings since xalloc-die is no longer the self test,
24025         xalloc-die.sh is.
24026
24027 2009-11-17  Jim Meyering  <meyering@redhat.com>
24028
24029         test-xalloc-die.sh: make the code agree with the commit log
24030         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
24031         at the end, just in case you happen to have a test-xalloc-die
24032         program in some other PATH directory.
24033
24034         test-xalloc-die.sh: fix a portability bug
24035         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
24036         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
24037         Otherwise, argv[0] (as often seen in diagnostics) would be too
24038         system-dependent, sometimes with, and sometimes without the leading "./".
24039
24040         version-etc-fsf: relax license to LGPLv3+
24041         * modules/version-etc-fsf (License): Relax license.
24042
24043 2009-11-16  Eric Blake  <ebb9@byu.net>
24044
24045         xalloc-die-tests: avoid printing null pointer
24046         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
24047         shell script.
24048         * tests/test-xalloc-die.c (program_name): Declare.
24049         * tests/test-xalloc-die.sh (tmpfiles): New file.
24050
24051         setenv, unsetenv: work around various bugs
24052         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
24053         (setenv) [HAVE_SETENV]: Work around bugs.
24054         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
24055         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
24056         for bugs.
24057         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
24058         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
24059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
24060         * modules/stdlib (Makefile.am): Update substitutions.
24061         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
24062         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
24063         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24064         * modules/setenv-tests: New test.
24065         * modules/unsetenv-tests: Likewise.
24066         * tests/test-setenv.c: New file.
24067         * tests/test-unsetenv.c: Likewise.
24068
24069 2009-11-16  Jim Meyering  <meyering@redhat.com>
24070
24071         version-etc: relax license to LGPLv3+
24072         * modules/version-etc (License): Relax license.
24073
24074         better AC_REQUIRE expanded-before-required-warning avoidance
24075         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
24076         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
24077         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
24078         which is no longer needed.
24079
24080 2009-11-16  Eric Blake  <ebb9@byu.net>
24081
24082         test-freading: clean up temporary file
24083         * tests/test-freading.c (main): Remove file on success, and use
24084         ASSERT more liberally.
24085         Reported by Jim Meyering.
24086
24087 2009-11-16  Jim Meyering  <meyering@redhat.com>
24088
24089         avoid new AC_REQUIRE expanded-before-required warnings
24090         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
24091         merely using it.
24092         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
24093         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
24094
24095 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24096
24097         * tests/test-xalloc-die.c: New file.
24098         * modules/xalloc-die-tests: New file.
24099         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
24100         XFAIL_TESTS so it can be appended by modules.
24101
24102 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24103
24104         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
24105         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
24106
24107 2009-11-14  Eric Blake  <ebb9@byu.net>
24108
24109         fnmatch: avoid compiler warning
24110         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
24111         to silence compiler warning about mismatch signedness in ?:.
24112         Reported by Robert Millan.
24113
24114         intprops: add double-inclusion guard
24115         * lib/intprops.h: Allow idempotent includes.
24116         Suggested by Bruce Korb.
24117
24118         openat: detect Solaris fchownat bug
24119         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
24120         penalizing glibc chownat when only lchownat is broken.
24121         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
24122         trailing slash bugs.
24123         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
24124         * modules/openat-tests (Files): Include more files.
24125         (Depends-on): Add mgetgroups, sleep, stat-time.
24126         (configure.ac): Add additional checks.
24127         (Makefile.am): Build new test.
24128         * tests/test-fchownat.c: New file.
24129
24130         lchown: detect Solaris and FreeBSD bug
24131         * lib/lchown.c (rpl_lchown): Work around bug.
24132         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
24133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24134         * modules/unistd (Makefile.am): Populate it.
24135         * lib/unistd.in.h (lchown): Update declaration.
24136         * doc/posix-functions/lchown.texi (lchown): Document the bug.
24137         * modules/lchown-tests: New file.
24138         * tests/test-lchown.h (test_lchown): Likewise.
24139         * tests/test-lchown.c (main): Likewise.
24140
24141         chown: detect Solaris and FreeBSD bug
24142         * lib/chown.c (rpl_chown): Work around bug.
24143         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
24144         (gl_PREREQ_CHOWN): Delete.
24145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24146         * modules/unistd (Makefile.am): Populate it.
24147         * lib/unistd.in.h (chown): Update declaration.
24148         * lib/lchown.c (chown): Update client.
24149         * modules/lchown (Depends-on): Add lstat.
24150         * doc/posix-functions/chown.texi (chown): Document the bug.
24151         * doc/posix-functions/getgroups.texi (getgroups): Document
24152         getgroups pitfall.
24153         * modules/chown-tests: New file.
24154         * tests/test-chown.h (test_chown): Likewise.
24155         * tests/test-chown.c (main): Likewise.
24156
24157 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
24158
24159         gnulib-tool: correctly detect absence of m4 directories
24160         * gnulib-tool: Avoid extra newline on data passed to wc -l.
24161
24162 2009-11-14  Jim Meyering  <meyering@redhat.com>
24163
24164         maint.mk: Prohibit inclusion of "xalloc.h" without use.
24165         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24166
24167 2009-11-14  John W. Eaton  <jwe@gnu.org>
24168
24169         strftime.h: wrap funtion declaration in extern "C" block
24170         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
24171
24172 2009-11-13  Eric Blake  <ebb9@byu.net>
24173
24174         getgroups: avoid compiler warning
24175         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
24176
24177         getgroups: work around FreeBSD bug
24178         * lib/getgroups.c (rpl_getgroups): Work around the bug.
24179         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
24180         * doc/posix-functions/getgroups.texi (getgroups): Document it.
24181         * tests/test-getgroups.c (main): Fix buffer overrun.
24182
24183         getgroups: avoid compilation failure
24184         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
24185         * modules/getgroups (Depends-on): Add stdint.
24186
24187 2009-11-13  Jim Meyering  <meyering@redhat.com>
24188
24189         test-getgroups: avoid compilation failure
24190         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
24191
24192 2009-11-13  Eric Blake  <ebb9@byu.net>
24193
24194         mgetgroups: new module, taken from coreutils
24195         * modules/mgetgroups: New file.
24196         * lib/mgetgroups.h: Likewise.
24197         * lib/mgetgroups.c (mgetgroups): Likewise.
24198         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
24199         * MODULES.html.sh (Users and groups): Mention it.
24200
24201         getgroups: don't expose GETGROUPS_T to user
24202         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
24203         an element at a time if GETGROUPS_T is wrong size.
24204         * lib/getugroups.h (getugroups): Change signature.
24205         * lib/unistd.in.h (getgroups): Likewise.
24206         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
24207         signature needs fixing.
24208         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
24209         AC_TYPE_GETGROUPS.
24210         * modules/group-member (Depends-on): Add getgroups.
24211         * lib/group-member.c (group_info, get_group_info): Use gid_t.
24212         (group_member): Rely on getgroups replacement.
24213         * lib/getugroups.c (getugroups): Use gid_t.
24214         * tests/test-getgroups.c (main): Likewise.
24215         * NEWS: Mention the signature change.
24216         * doc/posix-functions/getgroups.texi (getgroups): Mention the
24217         problem with signature.
24218         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
24219         GETGROUPS_T is still useful for setgroups.
24220
24221         getgroups, getugroups: provide stubs for mingw
24222         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
24223         * lib/getugroups.c (getugroups): Likewise.
24224         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
24225         function.  Modernize replacement scheme.
24226         (gl_PREREQ_GETGROUPS): Delete.
24227         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
24228         * modules/getgroups (configure.ac): Declare witness.
24229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
24230         * modules/unistd (Depends-on): Substitute witness.
24231         * lib/unistd.in.h (getgroups): Declare replacement.
24232
24233         getgroups: avoid calling exit
24234         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
24235         drop xalloc.
24236         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
24237         dependencies.
24238         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
24239         exiting, in the rare case of malloc failure.
24240
24241         getgroups: fix logic error
24242         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
24243         has more than 20 groups.
24244         * modules/getgroups-tests: New test.
24245         * tests/test-getgroups.c: New file.
24246
24247 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24248
24249         * tests/test-base64.c: Improve.
24250
24251 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24252
24253         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
24254         Blake <ebb9@byu.net>.
24255
24256 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24257
24258         * tests/test-xvasprintf.c: Add %s%s related checks.
24259
24260 2009-11-12  Eric Blake  <ebb9@byu.net>
24261
24262         version-etc: match standards.texi style
24263         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
24264         and use <> only for URLs.
24265
24266 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
24267
24268         fts: do not fail on a submount during traversal
24269         * lib/fts.c (fts_build): Read the stat info again after opening
24270         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
24271         Original report at http://bugzilla.redhat.com/501848.
24272
24273 2009-11-12  Jim Meyering  <meyering@redhat.com>
24274
24275         bootstrap: sync from coreutils
24276         * build-aux/bootstrap (bootstrap_epilogue): New function.
24277         Use git_modules_config in one more place.  This make bootstrap's
24278         --gnulib-srcdir option more useful for testing.
24279
24280         bootstrap: generalize autoheader check
24281         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
24282         AC_CONFIG_HEADERS.
24283
24284 2009-11-11  Eric Blake  <ebb9@byu.net>
24285
24286         mkfifoat: use new modules for Solaris and BSD bugs
24287         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
24288         * lib/mkfifoat.c (mknodat): Split...
24289         * lib/mknodat.c (mknodat): ...into new file.
24290         * modules/mkfifoat (Files): Ship new file.
24291         (Depends-on): Add mkfifo, mknod.
24292         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
24293         (Depends-on): Add symlink.
24294         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
24295         redundant with test_mkfifo.h.
24296         (do_mkfifoat, do_mknodat): New helpers.
24297
24298         mknod: new module
24299         * modules/mknod: New file.
24300         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
24301         * lib/mknod.c (mknod): Likewise.
24302         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
24303         defaults.
24304         * modules/sys_stat (Makefile.am): Substitute them.
24305         * lib/sys_stat.in.h (mknod): Declare replacement.
24306         * MODULES.html.sh (Support for systems lacking POSIX:2008):
24307         Document it.
24308         * doc/posix-functions/mknod.texi (mknod): Likewise.
24309         * modules/mknod-tests: New test.
24310         * tests/test-mknod.c: Likewise.
24311
24312         mkfifo: new module
24313         * modules/mkfifo: New file.
24314         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24315         * lib/mkfifo.c (mkfifo): Likewise.
24316         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
24317         defaults.
24318         * modules/sys_stat (Makefile.am): Substitute them.
24319         * lib/sys_stat.in.h (mkfifo): Declare replacement.
24320         * MODULES.html.sh (Support for systems lacking POSIX:2008):
24321         Document it.
24322         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
24323         * modules/mkfifo-tests: New test.
24324         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
24325         from test-mkfifoat.c.
24326         * tests/test-mkfifo.c: New file.
24327
24328         readlink: detect FreeBSD bug
24329         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
24330         slash on symlink.
24331         * doc/posix-functions/readlink.texi (readlink): Document the bug.
24332         * tests/test-readlink.h (test_readlink): Enhance test.
24333
24334         symlink: detect FreeBSD bug
24335         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
24336         slash on symlink.
24337         * doc/posix-functions/symlink.texi (symlink): Document the bug.
24338         * tests/test-symlink.h (test_symlink): Enhance test.
24339
24340 2009-11-10  Eric Blake  <ebb9@byu.net>
24341
24342         link: detect FreeBSD bug
24343         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
24344         symlink.
24345         * doc/posix-functions/link.texi (link): Document the bug.
24346         * tests/test-link.h (test_link): Enhance test.
24347         * tests/test-linkat.c (main): Update caller.
24348
24349         unlink, remove: detect FreeBSD bug
24350         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
24351         slash on symlink.
24352         * doc/posix-functions/unlink.texi (unlink): Document the bug.
24353         * doc/posix-functions/remove.texi (remove): Likewise.
24354         * tests/test-unlink.h (test_unlink): Enhance test.
24355         * tests/test-remove.c (main): Likewise.
24356
24357 2009-11-09  Eric Blake  <ebb9@byu.net>
24358
24359         rename: detect FreeBSD bug
24360         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
24361         slash on symlink.
24362         * modules/renameat-tests (Depends-on): Add filenamecat.
24363         * tests/test-rename.h (test_rename): Allow one more errno.
24364         * tests/test-renameat.c (main): Likewise.
24365         * doc/posix-functions/rename.texi (rename): Document the bug.
24366
24367         open: detect FreeBSD bug
24368         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
24369         symlink.
24370         * doc/posix-functions/open.texi (open): Document the bug.
24371         * doc/posix-functions/utimes.texi (utimes): Likewise.
24372         * tests/test-open.h (test_open): Add parameters, and test symlink
24373         handling.
24374         * tests/test-open.c (main): Adjust caller.
24375         * tests/test-fcntl-safer.c (main): Likewise.
24376         * modules/open-tests (Depends-on): Add stdbool, symlink.
24377         * modules/fcntl-safer-tests (Depends-on): Likewise.
24378         * tests/test-openat.c (main): Add test-open tests.
24379
24380         stat: detect FreeBSD bug
24381         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
24382         symlink.
24383         * doc/posix-functions/stat.texi (stat): Document the bug.
24384         * tests/test-stat.h (test_stat_func): Add argument.
24385         * tests/test-stat.c (main): Adjust caller.
24386         * tests/test-fstatat.c (main): Likewise.
24387         * modules/stat-tests (Depends-on): Add stdbool, symlink.
24388         Reported by Jim Meyering.
24389
24390 2009-11-09  James Youngman  <jay@gnu.org>
24391
24392         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
24393         * lib/strftime.c: Correct placement of #include "ignore-value.h".
24394
24395 2009-11-08  Jim Meyering  <meyering@redhat.com>
24396
24397         utimens: remove invalid futimesat call
24398         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
24399         It used the file descriptor of the target file as the DIR_FD
24400         parameter and NULL as the file name.  That caused failure with
24401         errno == EFAULT on FreeBSD-8.0-rc2
24402
24403 2009-11-07  Eric Blake  <ebb9@byu.net>
24404
24405         fflush, freadseek: use fseeko, not fseek
24406         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
24407         (clear_ungetc_buffer): Avoid potential problems on large files.
24408         * lib/freadseek.c (freadseek): Likewise.
24409         * modules/freadseek (Depends-on): Add fseeko.
24410         * modules/fseek (configure.ac): Set a witness.
24411         * tests/test-fflush.c (main): Use fseeko.
24412         * tests/test-fpurge.c (fseek): Disable link warning.
24413         * tests/test-freadable.c (fseek): Likewise.
24414         * tests/test-freading.c (fseek): Likewise.
24415         * tests/test-fseeko.c (fseek): Likewise.
24416         * tests/test-ftell.c (fseek): Likewise.
24417         * tests/test-ftello.c (fseek): Likewise.
24418         * tests/test-fwritable.c (fseek): Likewise.
24419         * tests/test-fwriting.c (fseek): Likewise.
24420
24421 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24422
24423         * modules/memchr (Depends-on): Drop getpagesize dependency.
24424
24425 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24426
24427         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
24428         Reported by Ludovic Courtès.
24429         * build-aux/pmccabe2html: Improve example usage.
24430         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
24431
24432 2009-11-06  Jim Meyering  <meyering@redhat.com>
24433
24434         do-release-commit-and-tag: New module.
24435         Automate the release-commit and tag process.
24436         * build-aux/do-release-commit-and-tag: New script, from coreutils.
24437         * modules/do-release-commit-and-tag: New file.
24438         * MODULES.html.sh (Support for maintaining and releasing): Add it.
24439
24440 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24441
24442         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
24443         because test-select.c uses inet_pton.
24444
24445 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24446
24447         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
24448         GETADDRINFO_LIB.  Bump serial number.
24449         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
24450         Suggested by Eric Blake <ebb9@byu.net>.
24451
24452 2009-11-05  Eric Blake  <ebb9@byu.net>
24453
24454         strtod: detect darwin bug
24455         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
24456         Reported by Leo Davis.
24457
24458         freopen-safer: new module
24459         * modules/freopen-safer: New module.
24460         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
24461         * lib/freopen-safer.c (freopen_safer): New file.
24462         * lib/stdio-safer.h (freopen_safer): New declaration.
24463         * lib/stdio--.h (freopen): New override.
24464         * MODULES.html.sh (File stream based Input/Output): Mention it.
24465         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
24466         freopen-safer module.
24467         * doc/posix-functions/stderr.texi (stderr): Likewise.
24468         * doc/posix-functions/stdin.texi (stdin): Likewise.
24469         * doc/posix-functions/stdout.texi (stdout): Likewise.
24470         * modules/freopen-safer-tests: New test.
24471         * tests/test-reopen-safer.c: New file.
24472
24473 2009-11-05  Jim Meyering  <meyering@redhat.com>
24474
24475         maint.mk: Prohibit inclusion of "close-stream.h" without use.
24476         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24477
24478 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24479
24480         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
24481
24482 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24483
24484         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
24485
24486 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24487
24488         Fix link error.
24489         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24490         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24491
24492 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24493
24494         * tests/test-func.c: Also test value of __func__.
24495
24496 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24497
24498         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
24499         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
24500
24501 2009-11-05  Bruno Haible  <bruno@clisp.org>
24502
24503         Fix link error.
24504         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24505         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24506         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
24507
24508 2009-11-05  Bruno Haible  <bruno@clisp.org>
24509
24510         Tests for module 'inet_pton'.
24511         * modules/inet_pton-tests: New file.
24512         * tests/test-inet_pton.c: New file.
24513
24514 2009-11-05  Bruno Haible  <bruno@clisp.org>
24515
24516         Tests for module 'inet_ntop'.
24517         * modules/inet_ntop-tests: New file.
24518         * tests/test-inet_ntop.c: New file.
24519
24520 2009-11-04  Eric Blake  <ebb9@byu.net>
24521
24522         stdlib-safer: wrap all mkstemp variants
24523         * modules/mkostemp (configure.ac): Set witness.
24524         * modules/mkostemps (configure.ac): Likewise.
24525         * modules/mkstemps (configure.ac): Likewise.
24526         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
24527         (mkstemps_safer): Wrap more functions.
24528         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
24529         wrapping.
24530         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
24531         (mkstemps_safer): Implement the wrappers.
24532
24533         mkstemps, mkostemps: new modules
24534         * modules/mkostemps: New module.
24535         * modules/mkstemps: Likewise.
24536         * lib/mkostemps.c (mkostemps): New file.
24537         * lib/mkstemps.c (mkstemps): Likewise.
24538         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
24539         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
24540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
24541         * modules/stdlib (Makefile.am): Substitute them.
24542         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
24543         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
24544         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24545         * doc/gnulib.texi (Glibc stdlib.h): Include them.
24546         * MODULES.html.sh (File system functions): Mention them.
24547
24548         tempname: resync from glibc
24549         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
24550         same values for __GT_FILE as glibc.  Abort even when assertions
24551         are disabled.
24552         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
24553         match its value otherwise.  Allow idempotent inclusion.
24554         * lib/mkdtemp.c (mkdtemp): Adjust caller.
24555         * lib/mkostemp.c (mkostemp): Likewise.
24556         * lib/mkstemp.c (mkstemp): Likewise.
24557         * lib/tmpfile.c (tmpfile): Likewise.
24558         * NEWS: Document this.
24559
24560         utimens: fix use of futimens on older Linux
24561         * lib/utimens.c (fdutimens): Use updated, rather than original,
24562         timespec to avoid bug in older Linux kernel.
24563         Reported by Simon Josefsson.
24564
24565 2009-11-04  Bruno Haible  <bruno@clisp.org>
24566
24567         Make num_processors more flexible and consistent.
24568         * lib/nproc.h (enum nproc_query): New type.
24569         (num_processors): Add a 'query' argument.
24570         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
24571         (num_processors): Add a 'query' argument. Test the value of the
24572         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
24573         mingw, count the number of CPUs available for the current process.
24574         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
24575         Check for sched_getaffinity and sched_getaffinity_np.
24576         * modules/nproc (Depends-on): Add c-ctype, extensions.
24577         * NEWS: Mention the change.
24578
24579 2009-11-03  Bruno Haible  <bruno@clisp.org>
24580
24581         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
24582
24583 2009-11-03  Jim Meyering  <meyering@redhat.com>
24584
24585         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
24586         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
24587         if it is defined.
24588
24589 2009-11-02  Eric Blake  <ebb9@byu.net>
24590
24591         mktime, timegm: share common declaration
24592         * lib/mktime-internal.h: New file.
24593         * lib/mktime.c: Use it rather than open-coding a declaration.
24594         * lib/timegm.c: Likewise.
24595         * modules/mktime (Files): Ship it.
24596         * modules/timegm (Files): Likewise.
24597         Suggested by Bruno Haible.
24598
24599         test-update-copyright: update test to match script changes
24600         * tests/test-update-copyright.sh: Avoid hard-coding perl
24601         location.  Don't update *.bak created by earlier runs.
24602
24603 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24604             Simon Josefsson  <simon@josefsson.org>
24605             Bruno Haible  <bruno@clisp.org>
24606
24607         Fix link error on Solaris 8.
24608         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
24609         also in libnsl. Define also INET_PTON_LIB.
24610         * modules/inet_pton (Link): New section.
24611
24612 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24613             Bruno Haible  <bruno@clisp.org>
24614
24615         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
24616         * modules/inet_ntop (Link): New section.
24617         Reported by Boyan Kasarov <bkasarov@gmail.com>.
24618
24619 2009-11-02  Eric Blake  <ebb9@byu.net>
24620
24621         maint: avoid compiler warnings in m4 macros
24622         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
24623         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
24624
24625 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24626
24627         * m4/pmccabe2html.m4: Remove file.
24628         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
24629         function.  Change maintainer.
24630         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
24631         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
24632         Courtès).
24633
24634 2009-10-31  Eric Blake  <ebb9@byu.net>
24635
24636         fseeko: fix m4 regression
24637         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
24638         regression from 2009-10-27.
24639         Reported by Ralf Wildenhues.
24640
24641 2009-10-31  Jim Meyering  <meyering@redhat.com>
24642
24643         inttostr: aesthetics and improved (compile-time) safety
24644         Define inttype_is_signed rather than inttype_is_unsigned,
24645         since the sole use is via "#if inttype_is_signed".
24646         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
24647         inttype_is_unsigned.
24648         * lib/offtostr.c (inttype_is_signed): Likewise.
24649         * lib/uinttostr.c (inttype_is_signed): Likewise.
24650         * lib/umaxtostr.c (inttype_is_signed): Likewise.
24651         * lib/inttostr.c (inttostr): Use verify to cross-check the
24652         inttype_is_signed value and the signedness of the actual type.
24653         * modules/inttostr (Depends-on): Add verify.
24654
24655 2009-10-30  Eric Blake  <ebb9@byu.net>
24656
24657         build: avoid compiler warnings
24658         * lib/fchmodat.c (lchmod): Mark unused variables.
24659         * lib/getopt.c (_getopt_initialize): Likewise.
24660         * lib/mktime.c (__mktime_internal): Provide prototype.
24661         * lib/inttostr.c (inttostr): Avoid compiler warning even with
24662         older gcc that do not understand #pragma GCC diagnostic.
24663         * lib/uinttostr.c (inttype_is_unsigned): Define.
24664         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
24665
24666 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24667
24668         stat: fix compilation on AIX
24669         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
24670         only see struct stat64.
24671
24672 2009-10-30  Eric Blake  <ebb9@byu.net>
24673
24674         exclude: make more robust
24675         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
24676         rather than masking a coding bug.
24677         Suggested by Bruno Haible.
24678
24679 2009-10-30  Jim Meyering  <meyering@redhat.com>
24680
24681         perl scripts: remove #!/usr/bin/perl in favor of more portable...
24682         Rather than putting #!/usr/bin/perl on the first line,
24683         start with a variant of what's recommended by "man perlrun" that
24684         invokes the first "perl" program from your shell's search path.
24685         * build-aux/gitlog-to-changelog: Replace #!... as above.
24686         Add a "Local Variables" perl mode setting.
24687         Prompted by a patch from Ludovic Courtès.
24688         Improved by Eric Blake.
24689         * build-aux/useless-if-before-free: Likewise.
24690         * build-aux/announce-gen: Likewise.
24691         * build-aux/update-copyright: Likewise.
24692
24693 2009-10-29  Eric Blake  <ebb9@byu.net>
24694
24695         filenamecat-lgpl: adjust clients
24696         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
24697         filenamecat.
24698         * modules/renameat (Depends-on): Likewise.
24699
24700         filenamecat: split into filenamecat-lgpl
24701         * modules/filenamecat-lgpl: New module.
24702         * modules/filenamecat (Files): Move library-safe files into
24703         filenamecat-lgpl.
24704         (Depends-on): Add filenamecat-lgpl.
24705         (configure.ac): Declare witness.
24706         * lib/filenamecat.h (file_name_concat): Only declare when using
24707         GPL module.
24708         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
24709         Move...
24710         * lib/filenamecat-lgpl.c: ...into new file.
24711         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
24712         (gl_FILE_NAME_CONCAT): Use it.
24713         * MODULES.html.sh (File system functions): Mention new module.
24714
24715         argp: avoid memory leak
24716         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
24717         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
24718         base_name, since the latter malloc()s and can call exit().
24719         Leak introduced 2006-07-03.
24720
24721         dirname-lgpl: adjust clients that don't need full dirname
24722         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
24723         * modules/filenamecat (Depends-on): Likewise.
24724         * modules/linkat (Depends-on): Likewise.
24725         * modules/mkancesdirs (Depends-on): Likewise.
24726         * modules/mkdir (Depends-on): Likewise.
24727         * modules/openat (Depends-on): Likewise.
24728         * modules/savewd (Depends-on): Likewise.
24729         * modules/rename (Depends-on): Likewise.
24730         (License): Relax license.
24731         * modules/mkdir-tests (Depends-on): Drop progname.
24732         (Makefile.am): Delete unneeded LDADD.
24733         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
24734
24735         dirname: split into dirname-lgpl
24736         * modules/dirname-lgpl: New module.
24737         * modules/dirname (Files): Move library-safe files into
24738         dirname-lgpl.
24739         (Depends-on): Add dirname-lgpl.
24740         (configure.ac): Declare witness.
24741         * modules/double-slash-root (License): Relax license.
24742         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
24743         module.
24744         * lib/dirname.c (dir_len, mdir_name): Move...
24745         * lib/dirname-lgpl.c: ...into new file.
24746         * lib/basename.c (last_component, base_len): Move...
24747         * lib/basename-lgpl.c: ...into new file.
24748         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
24749         (gl_DIRNAME): Use it.
24750         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
24751         Mention new module.
24752         * modules/dirname-tests (Depends-on): Add progname.
24753         * tests/test-dirname.c (program_name): Delete.
24754
24755         mkdir: make safe for libraries
24756         * modules/mkdir (Depends-on): Drop xalloc.
24757         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
24758         exit.
24759
24760         tests: avoid some compiler warnings
24761         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
24762         literals.
24763         * tests/test-memchr.c (main): Avoid type mismatch.
24764         * tests/test-arpa_inet.c (main): Avoid unused parameters.
24765         * tests/test-base64.c (main): Likewise.
24766         * tests/test-getdelim.c (main): Likewise.
24767         * tests/test-gethostname.c (main): Likewise.
24768         * tests/test-getline.c (main): Likewise.
24769         * tests/test-netinet_in.c (main): Likewise.
24770         * tests/test-select.c (open_server_socket, main): Likewise.
24771         * tests/test-select-stdin.c (main): Likewise.
24772         * tests/test-sockets.c (main): Likewise.
24773         * tests/test-strsignal.c (main): Likewise.
24774         * tests/test-sys_select.c (main): Likewise.
24775         * tests/test-sys_socket.c (main): Likewise.
24776         * tests/test-u64.c (main): Likewise.
24777         * tests/test-xfprintf-posix.c (main): Likewise.
24778         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
24779
24780         sockets: avoid compiler warning
24781         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
24782
24783         maint: detect usage(1) and other suspicious exits
24784         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
24785
24786 2009-10-29  Jim Meyering  <meyering@redhat.com>
24787
24788         timespec: long-to-int truncation could make timespec_cmp malfunction
24789         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
24790         a multiple of 2^32 nanoseconds as no difference.
24791
24792 2009-10-28  Jim Meyering  <meyering@redhat.com>
24793
24794         fprintftime: wrap macro code argument in "do {...} while(0)"
24795         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
24796         cpy macro must be a statement that can be followed by a semicolon.
24797         Now that the else clause contains a comment and is hence longer
24798         than one line, I require curly braces.  That in turn requires
24799         that we wrap this code block in the standard do...while(0).
24800
24801         fprintftime: remove stray semicolon from previous change
24802         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
24803
24804         fprintftime: avoid a warning about ignored fwrite return value
24805         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
24806         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
24807         that is unsafe.
24808         * modules/fprintftime (Depends-on): Add ignore-value.
24809
24810         exclude: avoid an unwarranted warning
24811         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
24812
24813 2009-10-27  Eric Blake  <ebb9@byu.net>
24814
24815         fseek: avoid compilation failure when fflush is replaced
24816         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
24817         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
24818         module is in use.
24819         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
24820         module is not in use; since REPLACE_FSEEK worked otherwise.
24821         (GNULIB_FTELLO): Likewise for ftell.
24822         Reported by Ian Beckwith and others.
24823
24824 2009-10-27  Bruno Haible  <bruno@clisp.org>
24825
24826         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
24827         Reported by Jim Meyering.
24828
24829 2009-10-27  Jim Meyering  <jim@meyering.net>
24830             Bruno Haible  <bruno@clisp.org>
24831
24832         Avoid warning despite dropping the return value of fwrite.
24833         * lib/unicodeio.c: Include ignore-value.h.
24834         (fwrite_success_callback): Explicitly ignore fwrite's return value.
24835         * modules/unicodeio (Depends-on): Add ignore-value.
24836
24837 2009-10-26  Eric Blake  <ebb9@byu.net>
24838
24839         areadlinkat: fix fallback path
24840         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
24841         pointer and zero.
24842
24843 2009-10-22  Pádraig Brady  <P@draigBrady.com>
24844
24845         Use a better IO block size for modern systems
24846         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
24847         * lib/md2.c: Likewise.
24848         * lib/md4.c: Likewise.
24849         * lib/md5.c: Likewise.
24850         * lib/sha1.c: Likewise.
24851         * lib/sha256.c: Likewise.
24852         * lib/sha512.c: Likewise.
24853
24854 2009-10-22  Eric Blake  <ebb9@byu.net>
24855
24856         tests: avoid several compiler warnings
24857         * tests/test-getcwd.c (main): Avoid buffer underflow.
24858         * tests/test-getdate.c (main): String literals are not safe with
24859         putenv, so use setenv.  Declare unused argument.
24860         * modules/getdate-tests (Depends-on): Add setenv.
24861         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
24862         problems with string literals in char *.
24863         * tests/test-hash.c (main): Avoid shadowing declaration.
24864         (insert_new): Treat string literals as char const *.
24865         * tests/test-getopt.h (test_getopt): Likewise.
24866         (getopt_loop): Alter types to minimize casting elsewhere.
24867         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
24868         (test_getopt_long_posix): Likewise.
24869         (do_getopt_long): Add wrapper to minimize casting.
24870         * tests/test-atexit.c (clear_temp_file): Use void.
24871         * tests/test-areadlink-with-size.c (main): Declare unused
24872         arguments.
24873         * tests/test-areadlink.c (main): Likewise.
24874         * tests/test-areadlinkat-with-size.c (main): Likewise.
24875         * tests/test-areadlinkat.c (main): Likewise.
24876         * tests/test-canonicalize-lgpl.c (main): Likewise.
24877         * tests/test-canonicalize.c (main): Likewise.
24878         * tests/test-dirent-safer.c (main): Likewise.
24879         * tests/test-dirname.c (main): Likewise.
24880         * tests/test-dup2.c (main): Likewise.
24881         * tests/test-fchdir.c (main): Likewise.
24882         * tests/test-fcntl-h.c (main): Likewise.
24883         * tests/test-fcntl-safer.c (main): Likewise.
24884         * tests/test-fdopendir.c (main): Likewise.
24885         * tests/test-fdutimensat.c (main): Likewise.
24886         * tests/test-fflush.c (main): Likewise.
24887         * tests/test-filenamecat.c (main): Likewise.
24888         * tests/test-filevercmp.c (main): Likewise.
24889         * tests/test-fopen-safer.c (main): Likewise.
24890         * tests/test-fopen.c (main): Likewise.
24891         * tests/test-fpending.c (main): Likewise.
24892         * tests/test-fpurge.c (main): Likewise.
24893         * tests/test-freading.c (main): Likewise.
24894         * tests/test-fstatat.c (main): Likewise.
24895         * tests/test-fsync.c (main): Likewise.
24896         * tests/test-futimens.c (main): Likewise.
24897         * tests/test-getndelim2.c (main): Likewise.
24898         * tests/test-gettimeofday.c (main): Likewise.
24899         * tests/test-getopt.c (main): Likewise.
24900         * tests/test-i-ring.c (main): Likewise.
24901         * tests/test-inttypes.c (main): Likewise.
24902         * tests/test-link.c (main): Likewise.
24903         * tests/test-lstat.c (main): Likewise.
24904         * tests/test-math.c (main): Likewise.
24905         * tests/test-md5.c (main): Likewise.
24906         * tests/test-memchr2.c (main): Likewise.
24907         * tests/test-memrchr.c (main): Likewise.
24908         * tests/test-mkdir.c (main): Likewise.
24909         * tests/test-mkdirat.c (main): Likewise.
24910         * tests/test-mkfifoat.c (main): Likewise.
24911         * tests/test-open.c (main): Likewise.
24912         * tests/test-openat-safer.c (main): Likewise.
24913         * tests/test-openat.c (main): Likewise.
24914         * tests/test-quotearg.c (main): Likewise.
24915         * tests/test-rawmemchr.c (main): Likewise.
24916         * tests/test-readlink.c (main): Likewise.
24917         * tests/test-remove.c (main): Likewise.
24918         * tests/test-rename.c (main): Likewise.
24919         * tests/test-renameat.c (main): Likewise.
24920         * tests/test-rmdir.c (main): Likewise.
24921         * tests/test-sha1.c (main): Likewise.
24922         * tests/test-signal.c (main): Likewise.
24923         * tests/test-sigaction.c (main): Likewise.
24924         * tests/test-stat.c (main): Likewise.
24925         * tests/test-stat-time.c (main): Likewise.
24926         * tests/test-stddef.c (main): Likewise.
24927         * tests/test-stdint.c (main): Likewise.
24928         * tests/test-stdio.c (main): Likewise.
24929         * tests/test-stdlib.c (main): Likewise.
24930         * tests/test-strchrnul.c (main): Likewise.
24931         * tests/test-strerror.c (main): Likewise.
24932         * tests/test-string.c (main): Likewise.
24933         * tests/test-strtod.c (main): Likewise.
24934         * tests/test-strverscmp.c (main): Likewise.
24935         * tests/test-symlink.c (main): Likewise.
24936         * tests/test-symlinkat.c (main): Likewise.
24937         * tests/test-sys_stat.c (main): Likewise.
24938         * tests/test-sys_time.c (main): Likewise.
24939         * tests/test-time.c (main): Likewise.
24940         * tests/test-unistd.c (main): Likewise.
24941         * tests/test-unlink.c (main): Likewise.
24942         * tests/test-unlinkat.c (main): Likewise.
24943         * tests/test-utimens.c (main): Likewise.
24944         * tests/test-utimensat.c (main): Likewise.
24945         * tests/test-version-etc.c (main): Likewise.
24946         * tests/test-wchar.c (main): Likewise.
24947         * tests/test-wctype.c (main): Likewise.
24948         * tests/test-xprintf-posix.c (main): Likewise.
24949         * tests/test-posixtm.c (main): Likewise.
24950         (STREQ): Delete unused macro.
24951         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
24952         shadowed variables.
24953         * tests/test-memchr.c (main): Likewise.
24954
24955 2009-10-21  Eric Blake  <ebb9@byu.net>
24956
24957         areadlinkat: avoid failure on older glibc
24958         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
24959         rather than mis-comparing 0 against FUNC_RESULT of char*.
24960
24961 2009-10-21  Bruno Haible  <bruno@clisp.org>
24962
24963         * modules/stpncpy (License): Relicense under LGPLv2+.
24964         Reported by David Lutterkort <lutter@redhat.com>.
24965
24966 2009-10-20  Eric Blake  <ebb9@byu.net>
24967
24968         utimensat: work around Solaris 9 bug
24969         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
24970         has trailing slash bugs.
24971         * tests/test-lutimens.h (test_lutimens): Enhance test.
24972         * tests/test-utimens.h (test_utimens): Likewise.
24973         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24974         * doc/posix-functions/utimes.texi (utimes): Likewise.
24975         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24976         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24977         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24978         * doc/posix-functions/futimens.texi (futimens): Likewise.
24979
24980         fdutimensat: new module
24981         * modules/fdutimensat: New file.
24982         * lib/fdutimensat.c (fdutimensat): Likewise.
24983         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24984         * MODULES.html.sh (File system functions): Mention module.
24985         * modules/fdutimensat-tests: New test.
24986         * tests/test-fdutimensat.c: Likewise.
24987
24988         doc: regenerate INSTALL
24989         * doc/INSTALL: Reflect recent autoconf update.
24990         * doc/INSTALL.ISO: Likewise.
24991         * doc/INSTALL.UTF-8: Likewise.
24992
24993 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24994
24995         acl: warn if ACL support is not detected
24996         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24997
24998 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24999
25000         * lib/nproc.h: Add extern "C" block for C++.
25001
25002 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
25003             Bruno Haible  <bruno@clisp.org>
25004
25005         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
25006         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
25007         * doc/posix-functions/isalpha.texi: Likewise.
25008         * doc/posix-functions/isblank.texi: Likewise.
25009         * doc/posix-functions/iscntrl.texi: Likewise.
25010         * doc/posix-functions/isdigit.texi: Likewise.
25011         * doc/posix-functions/isgraph.texi: Likewise.
25012         * doc/posix-functions/islower.texi: Likewise.
25013         * doc/posix-functions/isprint.texi: Likewise.
25014         * doc/posix-functions/ispunct.texi: Likewise.
25015         * doc/posix-functions/isspace.texi: Likewise.
25016         * doc/posix-functions/isupper.texi: Likewise.
25017         * doc/posix-functions/isxdigit.texi: Likewise.
25018
25019 2009-10-18  Bruno Haible  <bruno@clisp.org>
25020
25021         Tests for module 'isblank'.
25022         * modules/isblank-tests: New file.
25023         * tests/test-isblank.c: New file.
25024
25025         New module 'isblank'.
25026         * lib/isblank.c: New file.
25027         * m4/isblank.m4: New file.
25028         * modules/isblank: New file.
25029         * doc/posix-functions/isblank.texi: Mention the new module.
25030
25031 2009-10-18  Bruno Haible  <bruno@clisp.org>
25032
25033         New module 'ctype'.
25034         * lib/ctype.in.h: New file.
25035         * m4/ctype.m4: New file.
25036         * modules/ctype: New file.
25037         * doc/posix-headers/ctype.texi: Mention the new module.
25038
25039 2009-10-18  Jim Meyering  <meyering@redhat.com>
25040
25041         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
25042         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
25043         right after its initialization, rather than farther down.
25044         Keeping these in close proximity makes it easier to ensure
25045         that each such variable is initialized.  E.g.,
25046
25047             LIB_CLOCK_GETTIME=
25048             AC_SUBST([LIB_CLOCK_GETTIME])
25049
25050         This change also increments these serial numbers.
25051         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
25052         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25053         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25054
25055 2009-10-18  Bruno Haible  <bruno@clisp.org>
25056
25057         Don't let environment variables perturb build.
25058         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
25059         (gl_PREREQ_GETHRXTIME): ... not here.
25060
25061 2009-10-18  Bruno Haible  <bruno@clisp.org>
25062
25063         Avoid symlink attack in localcharset module.
25064         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
25065         (O_NOFOLLOW): Define fallback.
25066         (get_charset_aliases): Don't open the file if it is a symbolic link.
25067         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
25068         gl_FCNTL_H.
25069         (gl_FCNTL_H): Require it.
25070         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
25071         * modules/localcharset (Files): Add m4/fcntl_h.m4.
25072         Reported by Fergal Glynn <fglynn@veracode.com>.
25073
25074 2009-10-18  Bruno Haible  <bruno@clisp.org>
25075
25076         Implement nproc for mingw.
25077         * lib/nproc.c: Include <windows.h>
25078         (num_processors): On native Windows platforms, try GetSystemInfo.
25079
25080 2009-10-18  Bruno Haible  <bruno@clisp.org>
25081
25082         Implement nproc for IRIX.
25083         * lib/nproc.c: Include <sys/sysmp.h>.
25084         (num_processors): On IRIX systems, try sysmp.
25085         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
25086
25087 2009-10-18  Bruno Haible  <bruno@clisp.org>
25088
25089         Implement nproc for HP-UX.
25090         * lib/nproc.c: Include <sys/pstat.h>
25091         (num_processors): On HP-UX systems, try pstat_getdynamic.
25092         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
25093         pstat_getdynamic.
25094
25095 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
25096             Bruno Haible  <bruno@clisp.org>
25097
25098         Implement nproc for NetBSD, OpenBSD.
25099         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
25100         (ARRAY_SIZE): New macro.
25101         (num_processors): On BSD systems, try sysctl of HW_NCPU.
25102         * m4/nproc.m4: New file.
25103         * modules/nproc (Files): Add m4/nproc.m4.
25104         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
25105         (Makefile.am): Instead, augment lib_SOURCES.
25106
25107 2009-10-18  Bruno Haible  <bruno@clisp.org>
25108
25109         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
25110         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
25111         sys/param.h.
25112
25113 2009-10-16  Eric Blake  <ebb9@byu.net>
25114
25115         utimensat: new module
25116         * modules/utimensat: New file.
25117         * lib/utimensat.c (utimensat): Likewise.
25118         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25119         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
25120         so we can work around Linux bugs.
25121         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25122         * modules/sys_stat (Makefile.am): Substitute them.
25123         * lib/sys_stat.in.h (utimensat): Declare it.
25124         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25125         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25126         * modules/utimensat-tests: New test.
25127         * tests/test-utimensat.c: Likewise.
25128
25129         utimens: let lutimens work on non-symlinks
25130         * lib/utimens.c (lutimens): Fall back to utimens rather than
25131         failing with ENOSYS, when file is not a symlink.
25132         (utimens): Reduce redirection.
25133         * tests/test-lutimens.h (test_lutimens): Update test to cover
25134         non-symlinks.
25135         * tests/test-utimens.h (test_utimens): Update test to cover
25136         symlinks.
25137         * tests/test-utimens.c (main): Update caller.
25138
25139         utimens: cache whether utimensat syscall works
25140         * lib/utimens.c (utimensat_works_really): New cache variable.
25141         (fdutimens, lutimens): Use it to avoid failing syscall.
25142
25143         test-stat-time, test-utimens: improve portability
25144         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
25145         ext4 on alpha, and for cygwin.
25146         * tests/test-utimens-common.h: New file.
25147         (nap): Factor delays into single function.
25148         * tests/test-lutimens.h (test_lutimens): Use new header.
25149         * tests/test-futimens.h (test_futimens): Likewise.
25150         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
25151         timestamps to occur from same machine, as was done previously for
25152         test_utimens.
25153         * modules/utimens-tests (Files): Ship new file.
25154         * modules/futimens-tests (Files): Likewise.
25155         Reported in part by Jim Meyering.
25156
25157         sys_stat: sort replacement declarations
25158         * lib/sys_stat.in.h: Sort declarations.
25159         * lib/futimens.c (futimens): Fix typo.
25160
25161 2009-10-15  Jim Meyering  <meyering@redhat.com>
25162
25163         don't let environment settings perturb build
25164         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
25165         could cause a configure-time and/or build-time malfunction.
25166         Typically, a configure-time function-in-library test is performed
25167         via code like this:
25168
25169           LIB_VAR=
25170           AC_SUBST([LIB_VAR])
25171           prefix_saved_LIBS=$LIBS
25172             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
25173                        [test "$ac_cv_search_FUNC" = "none required" ||
25174                         LIB_VAR=$ac_cv_search_FUNC])
25175           LIBS=$prefix_saved_LIBS
25176
25177         However, in each of the files affected by this change, the LIB_VAR=
25178         initialization was omitted.  Thus, when set in the environment, its
25179         value would propagate into generated Makefiles when FUNC is not found
25180         in LIB_NAME.
25181         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
25182         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25183         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25184
25185 2009-10-14  Eric Blake  <ebb9@byu.net>
25186
25187         fchdir: avoid infinite recursion in mingw
25188         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
25189         recursing.
25190
25191         test-stat-time: port to mingw
25192         * tests/test-stat-time.c (force_unlink): Return a value.
25193         (test_ctime) [W32]: Fix compilation error.
25194         (nap): Don't call usleep with too large an argument.  Use
25195         force_unlink.
25196         * doc/pastposix-functions/usleep.texi (usleep): Document the
25197         portability issue.
25198
25199 2009-10-13  Jim Meyering  <meyering@redhat.com>
25200
25201         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
25202         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
25203         * modules/pipe-filter-ii: Likewise.
25204         * modules/sys_socket-tests: Likewise.
25205         * modules/tsearch-tests: Likewise.
25206         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
25207         (check): Depend on it.
25208
25209 2009-10-12  Eric Blake  <ebb9@byu.net>
25210
25211         utimens-tests: port to NFS file systems
25212         * tests/test-utimens.h (test_utimens): Refactor utimecmp
25213         comparisons to avoid spurious failures from timestamp drift
25214         between NFS machines.
25215
25216 2009-10-12  Eric Blake  <ebb9@byu.net>
25217
25218         stat-time-tests: minor cleanups
25219         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
25220         * tests/test-stat-time.c (nap): Separate assignment from call.
25221         Suggested by Paolo Bonzini and Bruno Haible.
25222
25223         sys_stat: guarantee struct timespec
25224         * lib/sys_stat.in.h (includes): Always include <time.h>
25225         * modules/sys_stat (Depends-on): Add time.
25226         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
25227         mode_t permission values.
25228         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
25229         get at subsecond timestamps.
25230
25231 2009-10-10  Eric Blake  <ebb9@byu.net>
25232
25233         futimens: new module
25234         * modules/futimens: New file.
25235         * lib/futimens.c (futimens): Likewise.
25236         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
25237         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
25238         we can work around Linux bugs.
25239         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25240         * modules/sys_stat (Makefile.am): Substitute them.
25241         * lib/sys_stat.in.h (futimens): Declare it.
25242         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25243         * doc/posix-functions/futimens.texi (futimens): Likewise.
25244         * modules/futimens-tests: New test.
25245         * tests/test-futimens.c: Likewise.
25246
25247         utimens: introduce fdutimens
25248         * lib/utimens.h (fdutimens): New prototype.
25249         * lib/utimens.c (gl_futimens): Move guts...
25250         (fdutimens): ...to new interface.
25251         * tests/test-utimens.c (do_fdutimens): Use it.
25252
25253         utimens: add UTIME_NOW and UTIME_OMIT support
25254         * lib/utimens.c (validate_timespec, update_timespec): New helper
25255         functions.
25256         (gl_futimens, lutimens): Use them.
25257         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
25258         stdbool, sys_stat.
25259         (Link): Mention resulting library dependency.
25260         * modules/utimecmp (Link): Likewise.
25261         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
25262         (Makefile.am): Pick up library dependency.
25263         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
25264         definition.
25265         * tests/test-sys_stat.c: Test the definitions.
25266         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
25267         * NEWS: Document library dependency.
25268
25269         utimecmp: support symlink timestamps
25270         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
25271         hashing when possible.  Use pathconf when available.
25272         (SYSCALL_RESOLUTION): Recognize tighter resolution.
25273         * modules/utimecmp (Depends-on): Add lstat.
25274
25275         utimens: add lutimens interface
25276         * lib/utimens.c (lutimens): New function.
25277         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
25278         * lib/utimens.h (lutimens): Declare new interface.
25279         * tests/test-utimens.c (main): Enhance test.
25280         * tests/test-lutimens.h (test_lutimens): New file.
25281         * modules/utimens-tests (Files): Distribute it.
25282         (Depends-on): Add symlink.
25283         (configure.ac): Check for usleep.
25284
25285         utimens: validate futimens usage
25286         * lib/utimens.c (gl_futimens): Require valid fd up front, using
25287         fewer syscalls on failure later on.  Avoid compiler warning on
25288         mingw.
25289         * modules/utimens (Depends-on): Add dup2.
25290
25291         utimens: add test
25292         * modules/utimens-tests: New test.
25293         * tests/test-utimens.h: New file.
25294         * tests/test-futimens.h: Likewise.
25295         * tests/test-utimens.c: Likewise.
25296
25297         doc: mention timestamp portability issues
25298         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
25299         instead.
25300         * doc/posix-functions/utime.texi (utime): Likewise.
25301         * doc/posix-functions/utimes.texi (utimes): Likewise.
25302         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
25303         instead.
25304         * doc/posix-functions/futimens.texi (futimens): Mention utimens
25305         module.
25306         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25307         Mention weakness with symlink timestamps.
25308         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
25309         to utimensat/futimens instead.
25310         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
25311
25312         test-dup2: enhance test
25313         * tests/test-dup2.c (main): Also check AT_FDCWD.
25314
25315         test-stat-time: avoid more spurious failures
25316         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
25317         xfs; and avoid race if the two timestamps cross quantization edge.
25318
25319         relocatable: prefer 'file system' over 'filesystem'
25320         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
25321         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
25322         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
25323         * doc/relocatable.texi (Enabling Relocatability): Likewise.
25324         * lib/relocatable.c (compute_curr_prefix): Likewise.
25325
25326 2009-10-10  Jim Meyering  <meyering@redhat.com>
25327
25328         stat-time-tests: check for the usleep function
25329         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
25330
25331 2009-10-10  Bruno Haible  <bruno@clisp.org>
25332
25333         * modules/xnanosleep: Put the Link section after the Include section.
25334
25335 2009-10-09  Eric Blake  <ebb9@byu.net>
25336
25337         dup2: work around FreeBSD 6.1 bug
25338         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
25339         * doc/posix-functions/dup2.texi (dup2): Document it.
25340         Reported by Nelson H. F. Beebe and Jim Meyering.
25341
25342         test-stat-time: port to buggy NFS clients
25343         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
25344         (test_ctime): Also skip test if mtime and ctime are skewed.
25345
25346         maint: prefer 'file system' over 'filesystem'
25347         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25348         * doc/posix-functions/lstat.texi (lstat): Likewise.
25349         * lib/file-has-acl.c (file_has_acl): Likewise.
25350         * lib/fwriteerror.c [TEST]: Likewise.
25351         * tests/test-areadlink.h (test_areadlink): Likewise.
25352         * tests/test-areadlinkat-with-size.c (main): Likewise.
25353         * tests/test-areadlinkat.c (main): Likewise.
25354         * tests/test-canonicalize-lgpl.c (main): Likewise.
25355         * tests/test-canonicalize.c (main): Likewise.
25356         * tests/test-fstatat.c (main): Likewise.
25357         * tests/test-linkat.c (main): Likewise.
25358         * tests/test-lstat.h (test_lstat_func): Likewise.
25359         * tests/test-mkdir.h (test_mkdir): Likewise.
25360         * tests/test-readlink.h (test_readlink): Likewise.
25361         * tests/test-remove.c (main): Likewise.
25362         * tests/test-rename.h (test_rename): Likewise.
25363         * tests/test-renameat.c (main): Likewise.
25364         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25365         * tests/test-symlink.h (test_symlink): Likewise.
25366         * tests/test-symlinkat.c (main): Likewise.
25367         * tests/test-unlink.h (test_unlink_func): Likewise.
25368         * tests/test-unlinkat.c (main): Likewise.
25369
25370         maint: make realtime library usage explicit
25371         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
25372         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
25373         * modules/settime (Link): Likewise.
25374         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
25375
25376         test-stat-time: speed up execution
25377         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
25378         warning on mingw.
25379         (nap): New helper function.
25380         (prepare_test): Use it to reduce sleep time.
25381         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
25382         execution.
25383         * modules/stat-time-tests (configure.ac): Check for usleep.
25384
25385 2009-10-09  Jim Meyering  <meyering@redhat.com>
25386
25387         selinux-h: always use getfilecon wrappers
25388         * lib/getfilecon.c: New file.
25389         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
25390         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
25391         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
25392         (fgetfilecon): Provide a stub.
25393         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
25394         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
25395         file unconditionally.
25396         When <selinux/selinux.h> is found, arrange to use wrappers.
25397         * modules/selinux-h (Files): Add getfilecon.c.
25398         (Makefile.am): Substitute include-next-related bits
25399         into the now-always-generated selinux/selinux.h file.
25400         * doc/glibc-functions/lgetfilecon.texi: New file.
25401         * doc/glibc-functions/fgetfilecon.texi: New file.
25402         * doc/glibc-functions/getfilecon.texi: New file.
25403         * doc/glibc-functions/getfilecon-desc.texi: New file.
25404         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
25405         which to pull in the new files.
25406         * MODULES.html.sh (Misc): Add selinux-h.
25407
25408 2009-10-08  Jim Meyering  <meyering@redhat.com>
25409
25410         unistd: fix comment typo
25411         * lib/unistd.in.h (euidaccess): Fix a comment typo.
25412
25413 2009-10-08  Eric Blake  <ebb9@byu.net>
25414
25415         areadlink: use SIZE_MAX consistently
25416         * modules/areadlink (Depends-on): Add stdint.
25417         * modules/areadlink-with-size (Depends-on): Likewise.
25418         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
25419         gives NULL; drop sys/types, since unistd gives size_t; and add
25420         stdint for SIZE_MAX.
25421         (SIZE_MAX): Rely on headers.
25422         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
25423         and add stdint.
25424         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
25425         (SIZE_MAX): Likewise.
25426         (INITIAL_BUF_SIZE): Turn into enum.
25427         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
25428
25429 2009-10-08  Jim Meyering  <meyering@redhat.com>
25430
25431         areadlinkat: avoid compilation failure
25432         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
25433         Fix typo in comment.
25434
25435 2009-10-07  Eric Blake  <ebb9@byu.net>
25436
25437         areadlinkat-with-size: new module
25438         * modules/areadlinkat-with-size: New module.
25439         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
25440         * lib/areadlink.h (areadlinkat): Declare it.
25441         * MODULES.html.sh (File system functions): Mention it.
25442         * modules/areadlinkat-with-size-tests: New test.
25443         * tests/test-areadlinkat-with-size.c: New file.
25444
25445         xreadlinkat: new module
25446         * modules/xreadlinkat: New module.
25447         * lib/xreadlinkat.c (xreadlinkat): New file.
25448         * lib/xreadlink.h (xreadlinkat): Declare it.
25449         * MODULES.html.sh (File system functions): Mention it.
25450
25451         areadlinkat: new module
25452         * lib/at-func.c (FUNC_FAIL): New define.
25453         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
25454         * modules/areadlinkat: New module.
25455         * lib/linkat.c (areadlinkat): Move...
25456         * lib/areadlinkat.c (areadlinkat): ...to new file.
25457         * lib/areadlink.h (areadlinkat): Declare it.
25458         * modules/linkat (Depends-on): Add areadlinkat.
25459         * MODULES.html.sh (File system functions): Mention it.
25460         * modules/areadlinkat-tests: New test.
25461         * tests/test-areadlinkat.c: New file.
25462
25463         areadlink, areadlink-with-size: add tests
25464         * modules/areadlink-tests: New test.
25465         * modules/areadlink-with-size-tests: Likewise.
25466         * tests/test-areadlink.h: New file.
25467         * tests/test-areadlink.c: Likewise.
25468         * tests/test-areadlink-with-size.c: Likewise.
25469
25470         maint: minor cleanups
25471         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
25472         _UNUSED_PARAMETER_ instead.
25473         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
25474         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
25475         * modules/linkat-tests (Files): Distribute test-link.h.
25476
25477         openat, utimens: whitespace cleanup
25478         * lib/openat.c: Prefer space throughout, rather than mix of 8
25479         spaces vs. tabs.
25480         * lib/at-func.c: Likewise.
25481         * lib/utimens.c: Likewise.
25482
25483         openat: avoid using wrong fd
25484         * lib/openat.c (openat_permissive): Reject user's fd if saving the
25485         working directory chooses same fd.
25486         * lib/at-func.c (AT_FUNC_NAME): Likewise.
25487
25488         mkdir, mkdirat: fix cygwin 1.5.x bug
25489         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
25490         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
25491         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
25492         bug.
25493         (gl_PREREQ_MKDIR): Delete unused macro.
25494         * modules/mkdir (Files): Track file rename.
25495         (configure.ac): Update macro name.
25496         * modules/openat (Depends-on): Add mkdir.
25497         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
25498
25499         mkdir, mkdirat: add tests
25500         * modules/mkdir-tests: New test.
25501         * tests/test-mkdir.h: New file.
25502         * tests/test-mkdir.c: Likewise.
25503         * tests/test-mkdirat.c: Likewise.
25504         * modules/openat-tests (Files): Add new files.
25505         (Makefile.am): Run new test.
25506
25507 2009-10-06  Eric Blake  <ebb9@byu.net>
25508
25509         doc: tweak *at function documentation
25510         * doc/posix-functions/faccessat.texi (faccessat): Mention
25511         known issue with replacement.
25512         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
25513         * doc/posix-functions/linkat.texi (linkat): Likewise.
25514         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25515         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25516         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25517         * doc/posix-functions/renameat.texi (renameat): Likewise.
25518         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25519
25520         openat: fix GNU/Hurd bug in unlinkat
25521         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
25522         broken.
25523         * doc/posix-functions/unlink.texi (unlink): Document this.
25524         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
25525
25526         fdopendir: fix GNU/Hurd bug
25527         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
25528         allowing non-directory fds.
25529         * lib/fdopendir.c (rpl_fdopendir): Work around it.
25530         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25531         * modules/dirent (Makefile.am): Substitute it.
25532         * lib/dirent.in.h (fdopendir): Declare replacement.
25533         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
25534         * tests/test-fdopendir.c (main): Test something other than
25535         /dev/null, since on Hurd that behaves like a directory.
25536
25537         test-symlink: port to GNU/Hurd
25538         * tests/test-symlink.h (test_symlink): Relax expected errno.
25539
25540         doc: tweak more cygwin information
25541         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
25542         now compatible with glibc.
25543         * doc/posix-functions/getopt.texi (getopt): Likewise.
25544
25545         getopt-gnu: add another test
25546         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
25547         guarantee behavior relied on by m4.
25548         * tests/test-getopt.c (main): Use it.
25549         * modules/getopt-posix-tests (Depends-on): Add setenv.
25550         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
25551
25552         getopt: fix compilation on darwin
25553         * lib/getopt.in.h (includes): Leave breadcrumbs during system
25554         include.
25555         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
25556         Reported by Ludovic Courtès.
25557
25558 2009-10-06  Bruno Haible  <bruno@clisp.org>
25559
25560         * modules/size_max (Description): Discourage its use.
25561         Reported by Simon Josefsson.
25562
25563 2009-10-06  Jim Meyering  <meyering@redhat.com>
25564
25565         linkat: avoid compilation failure
25566         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
25567
25568 2009-10-05  Eric Blake  <ebb9@byu.net>
25569
25570         linkat: support Linux 2.6.17
25571         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
25572         linkat on Linux, but allow cache variable override.
25573         * lib/linkat.c (rpl_linkat): Define override.
25574         * modules/linkat (Depends-on): Add symlinkat.
25575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
25576         * modules/unistd (Makefile.am): Substitute it.
25577         * lib/unistd.in.h (linkat): Declare replacement.
25578         Reported by Pádraig Brady.
25579
25580         quotearg: port test to systems with C.UTF-8 locale
25581         * tests/test-quotearg.c (struct result_strings): Add another
25582         member, differentiating between C.ASCII and C.UTF-8 handling.
25583         (compare_strings): Add parameter.
25584         (main): Adjust all callers.
25585
25586         getopt: avoid clash with FreeBSD _getopt_internal
25587         * lib/getopt.in.h (_getopt_internal): Override the name.
25588         * lib/getopt_int.h (includes): Pick up any overrides.
25589         Reported by Reuben Thomas.
25590
25591         hash: allow C89 compilation
25592         * lib/hash.c (check_tuning): Move declaration before statement.
25593         Reported by Reuben Thomas.
25594
25595 2009-10-05  Karl Berry  <karl@gnu.org>
25596
25597         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
25598
25599 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
25600             Bruno Haible  <bruno@clisp.org>
25601
25602         * lib/uname.c (uname): Use a table-driven algorithm to compute
25603         Windows NT versions.
25604
25605 2009-10-04  Bruno Haible  <bruno@clisp.org>
25606
25607         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
25608         program_invocation_short_name.
25609         * modules/progname (configure.ac): Test for presence of
25610         program_invocation_short_name.
25611         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25612
25613 2009-10-04  Bruno Haible  <bruno@clisp.org>
25614
25615         * lib/progname.c (set_program_name): Fix comment.
25616         Reported by Jim Meyering.
25617
25618 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25619             Bruno Haible  <bruno@clisp.org>
25620
25621         * lib/uname.c: Include <string.h>.
25622         (uname): Do only one call to GetVersionEx in the common case.
25623
25624 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25625             Bruno Haible  <bruno@clisp.org>
25626
25627         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
25628         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
25629         (uname): Add support for Windows CE and various non-x86 CPU types.
25630
25631 2009-10-03  Bruno Haible  <bruno@clisp.org>
25632
25633         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
25634         invocation to tests/configure.ac.
25635         Reported by Ian Beckwith <ianb@erislabs.net>.
25636
25637 2009-10-02  Eric Blake  <ebb9@byu.net>
25638
25639         fchdir: avoid compiler warning
25640         * lib/fchdir.c (canonicalize_file_name)
25641         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
25642
25643         test-open: support mingw errno values
25644         * tests/test-open.h (test_open): Relax test.
25645         * tests/test-fopen.h (test_fopen): Likewise.
25646         * tests/test-openat-safer.c (main): Likewise.
25647
25648         open: fix opening directory on mingw
25649         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
25650
25651         test-open: on GNU/Hurd, /dev/null is a directory
25652         * tests/test-fopen.h (main): Rename...
25653         (test_fopen): ...to this.  Use a guaranteed non-directory when
25654         confirming open behavior on trailing slash.
25655         * tests/test-openat-safer.c (main): Likewise.
25656         * tests/test-open.h (main): Likewise....
25657         (test_open): ...to this.
25658         * tests/test-fopen.c (main): Adjust caller.
25659         * tests/test-fopen-safer.c (main): Likewise.
25660         * tests/test-open.c (main): Likewise.
25661         * tests/test-fcntl-safer.c (main): Likewise.
25662         Reported by Samuel Thibault.
25663
25664         rename, fchdir: don't ignore chdir failure
25665         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
25666         * lib/rename.c (rpl_rename) [W32]: Likewise.
25667         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
25668         an empty destination directory if source cannot be renamed,
25669         although there is still possibility for failure.
25670         * doc/posix-functions/rename.texi (rename): Document the race.
25671         Reported by Jim Meyering.
25672
25673         maint: cleanup whitespace in recent commits
25674         * lib/rename.c (rpl_rename): Remove tabs.
25675         * tests/test-link.h (test_link): Likewise.
25676         * lib/fchdir.c (get_name): Likewise.
25677         Reported by Jim Meyering.
25678
25679 2009-10-02  Ben Pfaff  <blp@gnu.org>
25680
25681         relocatable-prog-wrapper: Add missing dependency on
25682         double-slash-root.
25683         * modules/relocatable-prog-wrapper: Add dependency.
25684         Reported by Ian Beckwith <ianb@erislabs.net>.
25685
25686 2009-10-02  Eric Blake  <ebb9@byu.net>
25687
25688         renameat: fix Solaris bugs
25689         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
25690         needed fixing.
25691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
25692         * modules/stdio (Makefile.am): Substitute it.
25693         * lib/stdio.in.h (renameat): Declare replacement.
25694         * lib/renameat.c (rpl_renameat): Implement fix.
25695
25696         renameat: new module
25697         * modules/renameat: New file.
25698         * lib/renameat.c (renameat): Likewise.
25699         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
25700         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25701         * modules/stdio (Makefile.am): Substitute them.
25702         * lib/stdio.in.h (renameat): Declare it.
25703         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25704         * doc/posix-functions/renameat.texi (renameat): Likewise.
25705         * modules/renameat-tests: New test.
25706         * tests/test-renameat.c: Likewise.
25707
25708         rename: fix mingw bugs
25709         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
25710         directory overwrite bugs.
25711
25712         rename: fix another cygwin 1.5 bug
25713         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
25714         checks.
25715         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
25716         unnecessary cygwin workarounds.  Also work around bug with moving
25717         full directory onto an empty one.
25718         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
25719
25720         rename-dest-slash: merge into rename module
25721         * modules/rename-dest-slash (Status): Mark obsolete.
25722         (Depends-on): Add rename.
25723         (Files): Let rename do it all.
25724         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
25725         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
25726         * m4/rename-dest-slash.m4: ...so this file can be deleted.
25727         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
25728         * lib/rename.c (rpl_rename): Update comments.
25729
25730         rename: fix cygwin 1.5.x bugs
25731         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
25732         * lib/rename.c (rpl_rename): Work around them.
25733         * modules/rename (Depends-on): Add same-inode.
25734
25735         rename: fix Solaris 10 bug
25736         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25737         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
25738         was the only bug.
25739
25740         rename: fix Solaris 9 bug
25741         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
25742         on non-directory.  Avoid calling exit.
25743         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
25744         strdup.
25745         * modules/rename-tests (Depends-on): Drop lstat.
25746         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25747         (gl_PREREQ_RENAME): Delete unused macro.
25748
25749         rename-dest-slash: fix NetBSD bug
25750         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
25751         links.
25752         * modules/rename-dest-slash (Depends-on): Add same-inode.
25753
25754         rename-tests: new test, exposes several platform bugs
25755         * modules/rename-tests: New file.
25756         * tests/test-rename.h: Likewise.
25757         * tests/test-rename.c: Likewise.
25758         * doc/posix-functions/rename.texi (rename): Improve documentation,
25759         including bugs that will eventually be fixed in gnulib.
25760
25761 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
25762
25763         * lib/uname.c: Include <stdlib.h>
25764         (uname): Assume version info is available.
25765
25766 2009-10-02  Jim Meyering  <meyering@redhat.com>
25767
25768         gnu-web-doc-update: correct --help output
25769         * build-aux/gnu-web-doc-update: Make --help output relevant.
25770
25771         gnu-web-doc-update: add standard options
25772         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
25773
25774         gnu-web-doc-update: New module.
25775         Use this script to automatically update the on-line web documentation
25776         for your GNU project at http://www.gnu.org/software/$pkg/manual/
25777         * modules/gnu-web-doc-update: New file, from coreutils.
25778         * build-aux/gnu-web-doc-update: New script.
25779
25780 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
25781
25782         link: LoadLibrary is not needed.
25783         * lib/link.c: Use GetModuleHandle.
25784
25785 2009-10-01  Eric Blake  <ebb9@byu.net>
25786
25787         getopt: bump serial number
25788         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
25789         change.
25790
25791         tests: tighten link, rmdir, and remove tests
25792         * tests/test-link.h (includes): No need to use <config.h> here.
25793         Clean up if directory hard link was created, otherwise test for
25794         trailing '.'.
25795         * tests/test-linkat.c (main): Simplify.
25796         * tests/test-remove.c (main): Enhance test for trailing '.'.
25797         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25798
25799 2009-10-01  Jim Meyering  <meyering@redhat.com>
25800
25801         maint.mk: requiring "make major" was annoying, for a "minor" release.
25802         What is intended is "stable", to contrast with alpha and beta,
25803         so require "make stable", not "make major".
25804         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
25805         (get_tool_versions): Likewise.
25806         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
25807
25808 2009-09-30  Ben Pfaff  <blp@gnu.org>
25809
25810         Fix broken build of replacement for Windows tmpfile().
25811         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
25812         flags argument added along with the 'mkostemp' module.
25813
25814 2009-09-28  Bruno Haible  <bruno@clisp.org>
25815
25816         Avoid identifier clash with POSIX function 'remove' defined as a macro.
25817         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
25818         to 'remove_elt'.
25819         (gl_list_remove): Update.
25820         * lib/gl_list.c (gl_list_remove): Update.
25821         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
25822         to 'remove_elt'.
25823         (gl_oset_remove): Update.
25824         * lib/gl_list.c (gl_oset_remove): Update.
25825         Reported by Eric Blake.
25826
25827 2009-09-28  Eric Blake  <ebb9@byu.net>
25828
25829         doc: mention yet more cygwin 1.7 status
25830         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
25831         cygwin.
25832         * doc/glibc-functions/execvpe.texi (execvpe): New file.
25833         * doc/gnulib.texi (Glibc unistd.h): Mention it.
25834
25835         argp: fix test failure
25836         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
25837         that are not upper-case.  Pass correct range to tolower.
25838
25839 2009-09-27  Jim Meyering  <meyering@redhat.com>
25840
25841         test-yesno: work around sparc-dash here-document infelicity
25842         Without this change, the literal \177 byte in a here document
25843         would make dash 0.5.5.1-3 access uninitialized memory.
25844         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
25845         Instead, use a marker, "@", and filter through tr to create the desired
25846         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
25847
25848 2009-09-27  Bruno Haible  <bruno@clisp.org>
25849
25850         Disable untested support for new flavours of ACLs on AIX.
25851         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
25852         progress.
25853         * lib/set-mode-acl.c (qset_acl): Likewise.
25854
25855 2008-12-07  Bruno Haible  <bruno@clisp.org>
25856
25857         Add support for new flavours of ACLs on AIX. (Untested.)
25858         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
25859         (file_has_acl): Add support for newer AIX.
25860         * lib/set-mode-acl.c (qset_acl): Likewise.
25861         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
25862         Rainer Tammer <tammer@tammer.net>.
25863
25864 2009-09-26  Eric Blake  <ebb9@byu.net>
25865
25866         argp: fix compilation of getopt
25867         * lib/getopt.in.h (includes): Use different guard than glibc.
25868         Reported by Sergey Poznyakoff.
25869
25870         doc: mention more cygwin 1.7 status
25871         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
25872         bug.
25873         * doc/posix-functions/execl.texi (execl): Likewise.
25874         * doc/posix-functions/execle.texi (execle): Likewise.
25875         * doc/posix-functions/execlp.texi (execlp): Likewise.
25876         * doc/posix-functions/execv.texi (execv): Likewise.
25877         * doc/posix-functions/execve.texi (execve): Likewise.
25878         * doc/posix-functions/execvp.texi (execvp): Likewise.
25879         * doc/glibc-functions/canonicalize_file_name.texi
25880         (canonicalize_file_name): Cygwin 1.7 now provides this.
25881         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
25882         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
25883         on AT_SYMLINK_NOFOLLOW.
25884
25885 2009-09-24  Eric Blake  <ebb9@byu.net>
25886
25887         test-linkat: make test more robust
25888         * tests/test-linkat.c (main): Avoid collision with EEXIST.
25889
25890         getopt: fix inclusion guards for cygwin
25891         * modules/getopt-posix (Depends-on): Add include-next.
25892         (Makefile.am): Substitute more items in replacement header.
25893         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
25894         <getopt.h>.
25895         * lib/getopt.in.h (includes): Use split inclusion guard, and
25896         prefer <getopt.h> over include <unistd.h> when one is present.
25897         (option): Also override name of 'struct option'.
25898
25899         same-inode: revert prior change; it is not yet ready
25900         * NEWS: Undo mention of this change.
25901         * lib/same-inode.h (same-inode.h): Undo tri-state change.
25902         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25903         * lib/cycle-check.c (cycle_check): Likewise.
25904         * lib/same.c (same_name): Likewise.
25905         * lib/at-func2.c (at_func2): Likewise.
25906
25907 2009-09-23  Eric Blake  <ebb9@byu.net>
25908
25909         linkat: new module
25910         * modules/linkat: New file.
25911         * lib/at-func2.c (at_func2): Likewise.
25912         * lib/linkat.c (linkat): Likewise.
25913         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25914         * lib/openat-priv.h (at_func2): Add declaration.
25915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25916         * modules/unistd (Makefile.am): Substitute them.
25917         * lib/unistd.in.h (linkat): Declare it.
25918         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25919         * doc/posix-functions/linkat.texi (linkat): Likewise.
25920         * doc/posix-functions/link.texi (link): Tweak wording.
25921         * tests/test-link.c (main): Move guts...
25922         * tests/test-link.h (test_link): ...into new file.
25923         * modules/linkat-tests: New test.
25924         * tests/test-linkat.c: Likewise.
25925         * modules/link-tests (Files): Ship new file.
25926         (Depends-on): Add stdbool.
25927
25928         dirname: add library-safe mdir_name
25929         * lib/dirname.h (mdir_name): New prototype.
25930         * lib/dirname.c (dir_name): Move guts...
25931         (mdir_name): ...to new function that avoids xalloc_die.
25932
25933         fchdir: another mingw fix
25934         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
25935         * lib/fchdir.c (get_name): New helper method; skips canonicalize
25936         on mingw (where it has not yet been ported), and make it optional
25937         elsewhere.
25938         (_gl_register_fd): Use it.
25939
25940         same-inode: make SAME_INODE tri-state, to port to mingw
25941         * NEWS: Mention this change.
25942         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
25943         st_ino always being 0.
25944         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25945         * lib/cycle-check.c (cycle_check): Likewise.
25946         * lib/same.c (same_name): Likewise.
25947
25948         lstat: avoid mingw compilation error
25949         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
25950         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
25951         lstat ourselves.
25952         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
25953         was adequate.
25954         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
25955         the checks for lstat.
25956         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
25957
25958         link: fix test failure on Solaris 9
25959         * lib/link.c (rpl_link): Don't assume link will catch bogus
25960         trailing slash on source.
25961
25962         test-symlinkat: enhance test
25963         * tests/test-readlink.c (main): Move guts...
25964         * tests/test-readlink.h (test_readlink): ...into new file.
25965         * tests/test-symlink.c (main): Move guts...
25966         * tests/test-symlink.h (test_symlink): ...into new file.
25967         * tests/test-symlinkat.c (main): Use new files for further
25968         coverage.
25969         (do_symlink, do_readlink): New helper functions.
25970         * modules/symlink-tests (Files): Ship new file.
25971         (Depends-on): Add stdbool.
25972         * modules/readlink-tests (Files): Ship new file.
25973         (Depends-on): Add stdbool.
25974         * modules/symlinkat-tests (Files): Use new files.
25975
25976 2009-09-23  Eric Blake  <ebb9@byu.net>
25977
25978         readlink: document portability issue with symlink length
25979         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25980         systems have bogus st_size on symlinks, and mention the
25981         areadlink-with-size module.
25982         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25983         * doc/posix-functions/readlink.texi (readlink): Mention the
25984         areadlink module, and ERANGE failure.
25985         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25986         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25987
25988         readlink: fix Solaris 9 bug with trailing slash
25989         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25990         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25991         * doc/posix-functions/readlink.texi (readlink): Document this.
25992         * modules/readlink-tests: New test.
25993         * tests/test-readlink.c: Likewise.
25994
25995         readlink: fix cygwin 1.5.x bug with return type
25996         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25997         * lib/unistd.in.h (readlink): Use ssize_t.
25998         * lib/readlink.c (readlink): Likewise.
25999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26000         * modules/unistd (Makefile.am): Substitute it.
26001         * lib/unistd.in.h (readlink): Declare replacement.
26002         * doc/posix-functions/readlink.texi (readlink): Document this.
26003
26004         symlink: use throughout gnulib
26005         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
26006         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
26007         symlink is not used.
26008         * modules/symlinkat (Depends-on): Add symlink.
26009         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26010         * modules/canonicalize-tests (Depends-on): Likewise.
26011         * modules/lstat-tests (Depends-on): Likewise.
26012         * modules/openat-tests (Depends-on): Likewise.
26013         * modules/remove-tests (Depends-on): Likewise.
26014         * modules/rmdir-tests (Depends-on): Likewise.
26015         * modules/unlink-tests (Depends-on): Likewise.
26016         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
26017         * tests/test-canonicalize.c (symlink): Likewise.
26018         * tests/test-fstatat.c (symlink): Likewise.
26019         * tests/test-lstat.c (symlink): Likewise.
26020         * tests/test-remove.c (symlink): Likewise.
26021         * tests/test-rmdir.c (symlink): Likewise.
26022         * tests/test-unlink.c (symlink): Likewise.
26023         * tests/test-unlinkat.c (symlink): Likewise.
26024
26025         symlink: new module, for Solaris 9 bug
26026         * modules/symlink: New file.
26027         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26028         * lib/symlink.c: Likewise.
26029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
26030         * modules/unistd (Makefile.am): Substitute them.
26031         * lib/unistd.in.h (symlink): Declare replacement.
26032         * MODULES.html.sh (File system functions): Mention it.
26033         * doc/posix-functions/symlink.texi (symlink): Likewise.
26034         * modules/symlink-tests: New test.
26035         * tests/test-symlink.c: Likewise.
26036
26037 2009-09-23  Bruno Haible  <bruno@clisp.org>
26038
26039         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
26040         when needed.
26041         Test case: gnulib-tool --import --with-tests atexit inttypes.
26042         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
26043
26044 2009-09-23  Bruno Haible  <bruno@clisp.org>
26045
26046         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
26047         subcommand, not in a subshell.
26048
26049 2009-09-22  Eric Blake  <ebb9@byu.net>
26050
26051         unistd: sort replacement declarations
26052         * lib/unistd.in.h: Sort declarations.
26053
26054         open, openat: minor optimization
26055         * lib/open.c (open): If open succeeded, len is non-zero.
26056         * lib/openat.c (rpl_openat): Likewise.
26057
26058         link-follow: ensure correct result
26059         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
26060         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
26061         distinguish between possible failures.
26062
26063 2009-09-21  Eric Blake  <ebb9@byu.net>
26064
26065         fts: avoid compiler warning
26066         * lib/fts.c (dirent_inode_sort_may_be_useful)
26067         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
26068
26069 2009-09-19  Bruno Haible  <bruno@clisp.org>
26070
26071         * lib/progreloc.c (canonicalize_file_name): New declaration.
26072
26073 2009-09-19  Eric Blake  <ebb9@byu.net>
26074
26075         link: fix quoting
26076         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
26077
26078         openat: fix openat bugs on Solaris 9
26079         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
26080         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
26081         * modules/openat (Depends-on): Add open.
26082         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
26083         * modules/fcntl-h (Makefile.am): Substitute it.
26084         * lib/fcntl.in.h (openat): Declare replacement.
26085         * doc/posix-functions/openat.texi (openat): Document this.
26086
26087         openat: move fstatat and unlinkat into correct files
26088         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
26089         compiled.
26090         * lib/openat.c (fstatat, unlinkat): Move...
26091         * lib/fstatat.c (fstatat): ...into correct files.
26092         * lib/unlinkat.c (unlinkat): Likewise.
26093
26094         openat: fix unlinkat bugs on Solaris 9
26095         * lib/unlinkat.c (unlinkat): New file.
26096         * modules/openat (Depends-on): Add unlink.
26097         (Files): Distribute it.
26098         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
26099         trailing slash behavior is broken.
26100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26101         * modules/unistd (Makefile.am): Substitute it.
26102         * lib/unistd.in.h (unlinkat): Declare replacement.
26103         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
26104
26105         openat: fix fstatat bugs on Solaris 9
26106         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
26107         stat.
26108         * doc/posix-functions/fstatat.texi (fstatat): Document this.
26109
26110         test-unlinkat: enhance test, to expose Solaris 9 bug
26111         * tests/test-unlink.c (main): Factor guts...
26112         * tests/test-unlink.h (test_rmdir_func): ...into new file.
26113         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
26114         * tests/test-rmdir.c (main): Adjust caller.
26115         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
26116         (unlinker): New helper function.
26117         (rmdirat): Enhance check.
26118         * modules/rmdir-tests (Depends-on): Add stdbool.
26119         * modules/unlink-tests (Depends-on): Likewise.
26120         (Files): Add test-unlink.h.
26121         * modules/openat-tests (Files): Likewise.
26122         (Depends-on): Add unlinkdir.
26123
26124         test-fstatat: new test, to expose Solaris 9 bugs
26125         * tests/test-stat.c (main): Factor guts...
26126         * tests/test-stat.h (test_stat_func): ...into new file.
26127         * tests/test-lstat.c (main): Factor guts...
26128         * tests/test-lstat.h (test_lstat_func): ...into new file.
26129         * tests/test-fstatat.c: New file.
26130         * modules/stat-tests (Files): Add test-stat.h.
26131         * modules/lstat-tests (Files): Add test-lstat.h.
26132         (Depends-on): Add stdbool.
26133         * modules/openat-tests (Depends-on): Add pathmax.
26134         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
26135         (Makefile.am): Run new test.
26136
26137         remove: new module, for mingw and Solaris 9 bugs
26138         * modules/remove: New file.
26139         * lib/remove.c: Likewise.
26140         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
26141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26142         * modules/stdio (Makefile.am): Use them.
26143         * lib/stdio.in.h (remove): Declare replacement.
26144         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26145         * doc/posix-functions/remove.texi (remove): Likewise.
26146         * modules/remove-tests: New test.
26147         * tests/test-remove.c: Likewise.
26148
26149         unlink: new module, for Solaris 9 bug
26150         * modules/unlink: New file.
26151         * lib/unlink.c: Likewise.
26152         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26154         * modules/unistd (Makefile.am): Use them.
26155         * lib/unistd.in.h (stat): Declare replacement.
26156         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26157         * doc/posix-functions/unlink.texi (unlink): Likewise.
26158         * modules/unlink-tests: New test.
26159         * tests/test-unlink.c: Likewise.
26160
26161         lstat: fix Solaris 9 bug
26162         * lib/lstat.c (lstat): Also check for trailing slash on
26163         non-symlink, non-directories.  Use stat module to simplify logic.
26164         * doc/posix-functions/lstat.texi (lstat): Document it.
26165         * modules/lstat-tests (Depends-on): Add errno, same-inode.
26166         (configure.ac): Check for symlink.
26167         * tests/test-lstat.c (main): Add more tests.
26168
26169         stat: add as dependency to other modules
26170         * modules/chown (Depends-on): Add stat.
26171         * modules/euidaccess (Depends-on): Likewise.
26172         * modules/fchdir (Depends-on): Likewise.
26173         * modules/isdir (Depends-on): Likewise.
26174         * modules/link (Depends-on): Likewise.
26175         * modules/lstat (Depends-on): Likewise.
26176         * modules/mkdir-p (Depends-on): Likewise.
26177         * modules/modechange (Depends-on): Likewise.
26178         * modules/open (Depends-on): Likewise.
26179         * modules/readlink (Depends-on): Likewise.
26180         * modules/same (Depends-on): Likewise.
26181
26182         stat: fix Solaris 9 bug
26183         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
26184         slash.
26185         * lib/stat.c (rpl_stat): Work around it.
26186         * doc/posix-functions/stat.texi (stat): Update documentation.
26187
26188         stat: new module, for mingw bug
26189         * modules/stat: New file.
26190         * lib/stat.c: Likewise.
26191         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26192         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26193         * modules/sys_stat (Makefile.am): Use them.
26194         * lib/sys_stat.in.h (stat): Declare replacement.
26195         * lib/openat.c (fstatat): Deal with lstat and stat being function
26196         macros.
26197         * modules/openat (Depends-on): Add inline.
26198         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26199         * doc/posix-functions/stat.texi (stat): Likewise.
26200         * modules/stat-tests: New test.
26201         * tests/test-stat.c: Likewise.
26202
26203 2009-09-19  Jim Meyering  <meyering@redhat.com>
26204
26205         syntax-check: detect unnecessary inclusion of canonicalize.h
26206         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
26207
26208 2009-09-19  Eric Blake  <ebb9@byu.net>
26209
26210         canonicalize-lgpl: adjust clients to use correct header
26211         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
26212         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
26213         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
26214         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
26215         * lib/progreloc.c (includes): Likewise.
26216
26217 2009-09-19  Jim Meyering  <meyering@redhat.com>
26218
26219         test-posixtm.c: correct a comment
26220         * tests/test-posixtm.c: Correct first-line comment.
26221         Spotted by Eric Blake.
26222
26223 2009-09-16  Jim Meyering  <meyering@redhat.com>
26224
26225         posixtm-tests: make T const-correct; add a test case
26226         * tests/test-posixtm.c (T): Declare const.
26227         Add a test for -(2^31+1).
26228         Remove useless can-succeed-only-in-2002 test.
26229
26230         posixtm-tests: adjust the sole failing test
26231         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
26232         expected output matches what mktime now produces.  Cross-checked via
26233         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
26234
26235         posixtm: move #ifdef'd tests into a new module
26236         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
26237         * tests/test-posixtm.c: ... this new file.
26238         * modules/posixtm-tests: New module.
26239
26240 2009-09-19  Eric Blake  <ebb9@byu.net>
26241
26242         openat: simplify use of at-func.c
26243         * lib/at-func.c (includes): Include prerequisites here, to
26244         simplify requirements on client files.
26245         * lib/openat-priv.h: Add double-inclusion guard.
26246         * lib/faccessat.c (includes): Simplify.
26247         * lib/fchmodat.c (includes): Likewise.
26248         * lib/fchownat.c (includes): Likewise.
26249         * lib/mkdirat.c (includes): Likewise.
26250         * lib/mkfifoat.c (includes): Likewise.
26251         * lib/symlinkat.c (includes): Likewise.
26252
26253         openat: allow return of fd 0
26254         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
26255         * modules/save-cwd (Depends-on): Replace fcntl-safer with
26256         unistd-safer.
26257         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
26258         <fcntl.h>; this module does not leak fds.
26259         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
26260         must be allowed to return 0, leaving openat_safer to add the
26261         safety.
26262         (openat_permissive): Avoid writing to just-opened fd 2 if
26263         restoring the current directory fails.
26264         * lib/openat-die.c (openat_restore_fail): Add comment.
26265         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
26266         (save_cwd): Guarantee safe fd, but without use of open_safer.
26267         * tests/test-openat.c: New test.
26268         * modules/openat-tests (Files, Makefile.am): Distribute and build
26269         new file.
26270
26271         relocatable-prog-wrapper: fix build
26272         * modules/relocatable-prog-wrapper (Files): Update name of
26273         canonicalize m4 file, broken on 2009-09-17.
26274         Reported by emad hajjar <aleppos@hotmail.com>.
26275
26276 2009-09-19  Bruno Haible  <bruno@clisp.org>
26277
26278         * lib/safe-alloc.h: Use the standard header with GPL copyright.
26279         * lib/safe-alloc.c: Likewise.
26280         Reported by Ian Beckwith <ianb@erislabs.net>.
26281
26282 2009-09-18  Bruno Haible  <bruno@clisp.org>
26283
26284         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
26285         Reported by <erobles@sensacd.com.mx>.
26286
26287 2009-09-17  Eric Blake  <ebb9@byu.net>
26288
26289         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
26290         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
26291         slashes when checking if last component is missing.
26292         * tests/test-canonicalize.c (main): Test this.
26293
26294         canonicalize, canonicalize-lgpl: honor // if distinct from /
26295         * modules/canonicalize (Files): Add double-slash-root.m4.
26296         * modules/canonicalize-lgpl (Files): Likewise.
26297         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
26298         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
26299         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
26300         fallback definition.
26301         (canonicalize_filename_mode): Use it to protect //.
26302         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
26303         (__realpath): Likewise.
26304         * tests/test-canonicalize.c (main): Test this.
26305         * tests/test-canonicalize-lgpl.c (main): Likewise.
26306         * modules/canonicalize-tests (Depends-on): Add same-inode.
26307         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26308
26309         canonicalize-lgpl: fix glibc bug with trailing slash
26310         * m4/canonicalize-lgpl.m4: Move contents...
26311         * m4/canonicalize.m4: ...here.
26312         (gl_CANONICALIZE_LGPL): Factor realpath check...
26313         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
26314         glibc 2.3.5 bug, fixed 2005-04-27.
26315         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
26316         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
26317         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
26318         * modules/canonicalize-lgpl (Files): Manage file rename.
26319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
26320         * modules/stdlib (Makefile.am): Substitute witness.
26321         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
26322         is needed.
26323         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
26324         replacement is required.
26325         * lib/canonicalize.c (canonicalize_file_name): Likewise.
26326         * doc/glibc-functions/canonicalize_file_name.texi
26327         (canonicalize_file_name): Document this.
26328         * doc/posix-functions/realpath.texi (realpath): Likewise.
26329
26330         canonicalize-lgpl: reject non-directory with trailing slash
26331         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
26332         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
26333         catches failures in glibc 2.3.5.
26334         * tests/test-canonicalize.c (main): Likewise.
26335
26336         canonicalize-lgpl: use native realpath if it works
26337         * lib/canonicalize-lgpl.c (realpath): Guard with
26338         FUNC_REALPATH_WORKS.
26339         * lib/stdlib.in.h (realpath): Make declaration optional based on
26340         HAVE_REALPATH.
26341         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
26342         native realpath works.
26343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
26344         * modules/stdlib (Makefile.am): Substitute witness.
26345
26346         canonicalize, canonicalize-lgpl: use <stdlib.h>
26347         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
26348         (Include): Mention <stdlib.h>.
26349         (configure.ac): Mention functions we provide.
26350         * modules/canonicalize (configure.ac): Likewise.
26351         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
26352         realpath if canonicalize_file_name is missing.
26353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
26354         * modules/stdlib (Makefile.am): Substitute witnesses.
26355         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
26356         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
26357         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
26358         * NEWS: Document this.
26359         * doc/glibc-functions/canonicalize_file_name.texi
26360         (canonicalize_file_name): Likewise.
26361         * doc/posix-functions/realpath.texi (realpath): Likewise.
26362         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
26363
26364         test-canonicalize: consolidate into single C program
26365         * tests/test-canonicalize.sh: Delete; move setup into...
26366         * tests/test-canonicalize.c (main): ...the program, making it
26367         easier to run in debugger.  Add some tests.
26368         * modules/canonicalize-tests (Files): Remove unused file.
26369         (Depends-on): Add progname.
26370         (configure.ac, Makefile.am): Simplify.
26371
26372         test-canonicalize-lgpl: consolidate into single C program
26373         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
26374         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
26375         easier to run in debugger.  Add some tests.
26376         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
26377         (configure.ac, Makefile.am): Simplify.
26378
26379         canonicalize: avoid resolvepath
26380         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
26381         unnecessary checks.
26382         * lib/canonicalize.c (includes): Simplify.
26383         (canonicalize_file_name): Drop resolvepath implementation.
26384         * modules/canonicalize (Depends-on): Drop filenamecat.
26385
26386         canonicalize: don't lose errno
26387         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
26388         over calls to free.
26389
26390         canonicalize: simplify errno handling
26391         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
26392         assignment.
26393
26394         canonicalize, canonicalize-lgpl: update module dependencies
26395         * modules/canonicalize (Depends-on): Add extensions, lstat,
26396         pathmax, stdlib.
26397         (Files): Drop pathmax.h.
26398         (configure.ac): Adjust macro name.
26399         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
26400         lstat, stdlib, sys_stat.
26401         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
26402         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
26403         extensions.
26404         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
26405         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
26406         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
26407         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
26408         declaration, if available.
26409         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
26410         we can rely on the readlink module.
26411         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
26412         (includes): Use <unistd.h> unconditionally.
26413
26414 2009-09-17  Eric Blake  <ebb9@byu.net>
26415
26416         maint: make Include sections of modules consistent
26417         * modules/alloca: Use only header name; no need to list #include.
26418         * modules/alloca-opt: Likewise.
26419         * modules/arpa_inet: Likewise.
26420         * modules/canon-host: Likewise.
26421         * modules/configmake: Likewise.
26422         * modules/dirent: Likewise.
26423         * modules/eealloc: Likewise.
26424         * modules/environ: Likewise.
26425         * modules/fchdir: Likewise.
26426         * modules/fcntl: Likewise.
26427         * modules/fcntl-h: Likewise.
26428         * modules/gethrxtime: Likewise.
26429         * modules/gettime: Likewise.
26430         * modules/ignore-value: Likewise.
26431         * modules/inet_ntop: Likewise.
26432         * modules/inet_pton: Likewise.
26433         * modules/inttypes: Likewise.
26434         * modules/isnand-nolibm: Likewise.
26435         * modules/isnanf-nolibm: Likewise.
26436         * modules/mbchar: Likewise.
26437         * modules/mbfile: Likewise.
26438         * modules/mbiter: Likewise.
26439         * modules/mbuiter: Likewise.
26440         * modules/netdb: Likewise.
26441         * modules/netinet_in: Likewise.
26442         * modules/nproc: Likewise.
26443         * modules/pagealign_alloc: Likewise.
26444         * modules/poll: Likewise.
26445         * modules/printf-frexp: Likewise.
26446         * modules/pthread: Likewise.
26447         * modules/putenv: Likewise.
26448         * modules/random_r: Likewise.
26449         * modules/relocatable-prog: Likewise.
26450         * modules/search: Likewise.
26451         * modules/select: Likewise.
26452         * modules/selinux-h: Likewise.
26453         * modules/settime: Likewise.
26454         * modules/signal: Likewise.
26455         * modules/size_max: Likewise.
26456         * modules/socklen: Likewise.
26457         * modules/ssize_t: Likewise.
26458         * modules/stdarg: Likewise.
26459         * modules/stdbool: Likewise.
26460         * modules/stddef: Likewise.
26461         * modules/stdint: Likewise.
26462         * modules/stdio: Likewise.
26463         * modules/stdlib: Likewise.
26464         * modules/string: Likewise.
26465         * modules/strings: Likewise.
26466         * modules/sys_file: Likewise.
26467         * modules/sys_ioctl: Likewise.
26468         * modules/sys_select: Likewise.
26469         * modules/sys_socket: Likewise.
26470         * modules/sys_stat: Likewise.
26471         * modules/sys_time: Likewise.
26472         * modules/sys_times: Likewise.
26473         * modules/sys_utsname: Likewise.
26474         * modules/sys_wait: Likewise.
26475         * modules/sysexits: Likewise.
26476         * modules/time: Likewise.
26477         * modules/times: Likewise.
26478         * modules/tmpfile: Likewise.
26479         * modules/trim: Likewise.
26480         * modules/unistd: Likewise.
26481         * modules/wchar: Likewise.
26482         * modules/wctype: Likewise.
26483
26484 2009-09-17  Bruno Haible  <bruno@clisp.org>
26485
26486         Make getdate.y compile on QNX and NetBSD 5 / i386.
26487         * m4/getdate.m4 (gl_GETDATE): Conditionally define
26488         TIME_T_FITS_IN_LONG_INT.
26489         * lib/getdate.y (long_time_t): New type.
26490         (relative_time): Change type of 'seconds' field to long_time_t.
26491         (get_date): Update types of local variables. Check against overflow
26492         during conversion from long_time_t to time_t.
26493         Reported by Matt Kraai <kraai@ftbfs.org>
26494         and Hasso Tepper <hasso@netbsd.org>.
26495
26496 2009-09-17  Bruno Haible  <bruno@clisp.org>
26497
26498         * modules/COPYING: Update copyright years.
26499         * modules/README: Likeiwse.
26500         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
26501         Reported by Ian Beckwith <ianb@erislabs.net>.
26502
26503 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26504
26505         * users.txt: Update references for gnuit package.
26506
26507 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26508
26509         * m4/getdelim.m4: Fix typo in copyright line.
26510
26511 2009-09-17  Bruno Haible  <bruno@clisp.org>
26512
26513         * lib/atoll.c: Use the standard header with GPL copyright.
26514         * lib/argz.in.h: Likewise.
26515         * lib/glob.c: Likewise.
26516         * lib/glob-libc.h: Likewise.
26517         * lib/random_r.c: Likewise.
26518         * lib/siglist.h: Likewise.
26519         * lib/strsignal.c: Likewise.
26520         Reported by Ian Beckwith <ianb@erislabs.net>.
26521
26522 2009-09-17  Eric Blake  <ebb9@byu.net>
26523
26524         rmdir: ensure correct dependency order
26525         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
26526
26527 2009-09-17  Bruno Haible  <bruno@clisp.org>
26528
26529         Disable assertion that fails on NetBSD 5 / i386.
26530         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
26531         Reported by Sam Steingold <sds@gnu.org>
26532         and Hasso Tepper <hasso@netbsd.org>.
26533
26534 2009-09-16  Eric Blake  <ebb9@byu.net>
26535
26536         unlinkdir: port to mingw
26537         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
26538         on which no one can unlink a directory.
26539
26540         stdlib: sort witness names
26541         * modules/stdlib (Makefile.am): Sort replacements.
26542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26543         * lib/stdlib.in.h: Likewise.
26544
26545         parse-duration-tests: avoid link failure
26546         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
26547         LIBINTL.
26548         Reported by Tom G. Christensen.
26549
26550         openat-tests: ensure unlinkat behaves like rmdir
26551         * tests/test-rmdir.c (main): Factor guts...
26552         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
26553         * modules/rmdir-tests (Files): Ship new file.
26554         * modules/openat-tests: New test.
26555         * tests/test-unlinkat.c: Likewise.
26556
26557         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
26558         * modules/rmdir-errno (Status, Notice): Now obsolete.
26559
26560         rmdir: work around cygwin 1.5.x and mingw bugs
26561         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
26562         * lib/rmdir.c (rmdir): Work around it.
26563         * modules/rmdir (Status, Notice): No longer obsolete.
26564         (Files): Add dos.m4.
26565         (Depends-on): Add unistd.
26566         (configure.ac): Set witnesses.
26567         (License): Relax to LGPLv2+.
26568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
26569         * modules/unistd (Makefile.am): Substitute witnesses.
26570         * lib/unistd.in.h (rmdir): Declare replacement.
26571         * doc/posix-functions/rmdir.texi (rmdir): Document this.
26572         * modules/rmdir-tests: New tests.
26573         * tests/test-rmdir.c: Likewise.
26574
26575 2009-09-15  Eric Blake  <ebb9@byu.net>
26576
26577         fchdir: improve use of replacement functions
26578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
26579         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
26580         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
26581         REPLACE_CLOSEDIR.
26582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
26583         * modules/sys_stat (Makefile.am): Substitute correct witness.
26584         * modules/dirent (Makefile.am): Likewise.
26585         * modules/unistd (Makefile.am): Likewise.
26586         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
26587         * lib/unistd.in.h (dup): Likewise.
26588         * lib/sys_stat.in.h (fstat): Likewise.
26589
26590         maint: ignore gnulib-tool temp files
26591         * .gitignore: Ignore files created during gnulib-tool --test.
26592
26593 2009-09-13  Jim Meyering  <meyering@redhat.com>
26594
26595         posixtm: don't reject a time that specify "60" as the number of seconds
26596         * lib/posixtm.c (posixtime): The code to reject invalid dates
26597         would also reject a time specified with the .60 suffix.
26598         But POSIX allows that, in order to accommodate leap seconds.
26599         So don't reject it.
26600         (main): Adjust tests accordingly.
26601         * modules/posixtm (Depends-on): Add stpcpy.
26602
26603 2009-09-11  Jim Meyering  <meyering@redhat.com>
26604
26605         announce-gen: include [$release_type] in emitted Subject:
26606         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
26607         e.g., [stable] in the emitted Subject: line.
26608
26609 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26610
26611         Remove obsolete macros from several modules.
26612         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
26613         obsolete Autoconf macros with their modern counterparts.
26614         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
26615         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
26616         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26617         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
26618         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
26619         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26620         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26621         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26622         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26623         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
26624         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26625         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26626         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
26627         * m4/sockets.m4 (gl_SOCKETS): Likewise.
26628         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
26629         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
26630         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26631         * m4/time_r.m4 (gl_TIME_R): Likewise.
26632         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26633         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
26634         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26635
26636         Fix copyright header in build-aux scripts.
26637         * build-aux/git-version-gen: Fix copyright header to match GPLv3
26638         recommendation.
26639         * build-aux/ncftpput-ftp: Likewise.
26640         * build-aux/update-copyright: Likewise.
26641
26642 2009-09-09  Eric Blake  <ebb9@byu.net>
26643
26644         test-link: allow Linux choice of errno
26645         * tests/test-link.c (main): Relax test for alternate error.
26646
26647         strndup: fix improper m4 caching
26648         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
26649         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
26650         (gl_PREREQ_STRNDUP): Delete.
26651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
26652         * modules/string (Makefile.am): Substitute it.
26653         * lib/string.in.h (strndup): Modernize prototype.
26654
26655         getcwd: port to mingw
26656         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
26657         different from the POSIX assumptions made throughout the getcwd
26658         module; fortunately, the mingw getcwd does not need replacement.
26659         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
26660         * modules/getcwd-tests: New test.
26661         * tests/test-getcwd.c: Likewise.
26662
26663         link: fix platform bugs
26664         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
26665         * lib/link.c (link): Work around them.  Fix related mingw bug.
26666         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
26667         * modules/unistd (Makefile.am): Substitute it.
26668         * lib/unistd.in.h (link): Declare replacement.
26669         * doc/posix-functions/link.texi (link): Document this.
26670         * modules/link (Depends-on): Add strdup-posix, sys_stat.
26671
26672         test-link: consolidate into single C program, test more cases
26673         * tests/test-link.sh: Delete.
26674         * tests/test-link.c: Test more error conditions.  Exposes bugs on
26675         at least Cygwin and Solaris.
26676         * modules/link-tests (Files): Remove unused file.
26677         (Depends-on): Add errno, sys_stat.
26678         (Makefile.am): Simplify.
26679
26680 2009-09-08  Bruno Haible  <bruno@clisp.org>
26681
26682         Work around towlower, towupper bug on mingw.
26683         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
26684         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
26685         * doc/posix-functions/towlower.texi: Mention the mingw bug.
26686         * doc/posix-functions/towupper.texi: Likewise.
26687         Reported by Eric Blake.
26688
26689 2009-09-08  Jim Meyering  <meyering@redhat.com>
26690
26691         build: don't try to run autoheader if we don't use it
26692         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
26693         is not used in configure.ac.
26694
26695 2009-09-08  Eric Blake  <ebb9@byu.net>
26696
26697         euidaccess: fix compilation error
26698         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
26699
26700         rawmemchr: relax license
26701         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
26702         okay.
26703         Reported by Jim Meyering.
26704
26705         mkfifoat: new module
26706         * modules/mkfifoat: New file.
26707         * lib/mkfifoat.c: Likewise.
26708         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
26709         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26710         * modules/sys_stat (Makefile.am): Use them.
26711         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
26712         * MODULES.html.sh (File system functions): Mention module.
26713         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26714         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26715         * modules/mkfifoat-tests: New test.
26716         * tests/test-mkfifoat.c: Likewise.
26717
26718         strchrnul: relax license
26719         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
26720         okay.
26721         Reported by Jim Meyering.
26722
26723 2009-09-08  Eric Blake  <ebb9@byu.net>
26724
26725         fstatat: fix compilation on Solaris
26726         * lib/fstatat.c (includes): Add fcntl.h.
26727         Reported by Pádraig Brady.
26728
26729 2009-09-07  Eric Blake  <ebb9@byu.net>
26730
26731         rename: modernize replacement
26732         * modules/rename (Depends-on): Add stdio.
26733         (configure.ac): Declare witness.
26734         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
26735         stdio take care of replacement.
26736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
26737         * modules/stdio (Makefile.am): Substitute them.
26738         * lib/stdio.in.h (rename): Declare replacement.
26739         * lib/rename.c (includes): Allow cross-compilation to non-windows
26740         machines.
26741         * doc/posix-functions/rename.texi (rename): Improve
26742         documentation.
26743
26744         stdio: sort witness names
26745         * modules/stdio (Makefile.am): Sort replacements.
26746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26747         * lib/stdio.in.h: Likewise.
26748
26749         getcwd: minor cleanups
26750         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
26751         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
26752
26753         openat: provide more convenience names
26754         * modules/faccessat (configure.ac): Add C witness.
26755         * lib/unistd.in.h (readlinkat): Fix typo.
26756         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
26757         convenience wrappers.
26758         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
26759         wrappers in syntax checks.
26760
26761 2009-09-06  Eric Blake  <ebb9@byu.net>
26762
26763         doc: fix comments in recent patches
26764         * lib/faccessat.c: Mention correct function.
26765         * lib/fchmodat.c: Likewise.
26766         * lib/fchownat.c: Likewise.
26767         * lib/symlinkat.c: Likewise.
26768         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
26769         constants.
26770
26771         faccessat, symlinkat: continue cleanup of previous patch
26772         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
26773         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26774         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
26775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
26776         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
26777         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
26778         set.
26779
26780 2009-09-06  Bruno Haible  <bruno@clisp.org>
26781
26782         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
26783         (fstatat): Declare if GNULIB_FSTATAT is set.
26784         (mkdirat): Declare if GNULIB_MKDIRAT is set.
26785         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
26786         (unlinkat): Declare if GNULIB_UNLINKAT is set.
26787         * modules/fcntl-h (Files): Remove m4/openat.m4.
26788         * modules/sys_stat (Files): Remove m4/openat.m4.
26789         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
26790         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
26791         * modules/unistd (Files): Remove m4/openat.m4.
26792         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
26793         GNULIB_OPENAT.
26794         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
26795         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
26796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
26797         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
26798         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
26799         gl_OPENAT_DEFAULTS.
26800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
26801         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
26802         Don't require gl_OPENAT_DEFAULTS.
26803         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
26804         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
26805         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
26806         (gl_OPENAT_DEFAULTS): Remove macro.
26807
26808 2009-09-06  Bruno Haible  <bruno@clisp.org>
26809
26810         * modules/openat (configure.ac): Remove unneeded witness.
26811
26812 2009-09-06  Bruno Haible  <bruno@clisp.org>
26813
26814         Set errno to ENOSYS when a function is entirely unsupported.
26815         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
26816         EOPNOTSUPP.
26817         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26818         * modules/chown (Depends-on): Remove errno.
26819
26820 2009-09-06  Bruno Haible  <bruno@clisp.org>
26821
26822         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
26823
26824 2009-09-06  Bruno Haible  <bruno@clisp.org>
26825
26826         * lib/sys_stat.in.h: Fix preprocessor command indentation.
26827
26828 2009-09-06  Ben Pfaff  <blp@gnu.org>
26829             Bruno Haible  <bruno@clisp.org>
26830
26831         Work around a glibc bug in strtok_r.
26832         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
26833         Undefine if UNDEFINE_STRTOK_R is set.
26834         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
26835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26836         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
26837         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
26838         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
26839         UNDEFINE_STRTOK_R.
26840         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
26841
26842 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26843
26844         exclude: minor fix
26845         * lib/exclude.c: Include wctype.h
26846
26847 2009-09-06  Akim Demaille  <demaille@gostai.com>
26848
26849         bootstrap: improve error message
26850         * build-aux/bootstrap (find_tool): Upon failure, report the list
26851         of candidates.
26852         Honor the initial value of the envvar.
26853
26854 2009-09-05  Eric Blake  <ebb9@byu.net>
26855
26856         symlinkat: new module
26857         * modules/symlinkat: New file.
26858         * lib/symlinkat.c: Likewise.
26859         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
26860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26861         * modules/unistd (Makefile.am): Use them.
26862         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
26863         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
26864         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
26865         * MODULES.html.sh (File system functions): Mention module.
26866         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26867         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26868         * modules/symlinkat-tests: New test.
26869         * tests/test-symlinkat.c: Likewise.
26870
26871         test-openat-safer: add more checks
26872         * tests/test-openat-safer.c (main): Check more code paths.
26873
26874 2009-09-05  Jim Meyering  <meyering@redhat.com>
26875
26876         syntax-check: detect unnecessary inclusion of openat.h
26877         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
26878
26879 2009-09-05  Bruno Haible  <bruno@clisp.org>
26880
26881         Support towlower, towupper.
26882         * doc/posix-functions/towlower.texi: Mention module wctype.
26883         * doc/posix-functions/towupper.texi: Likewise.
26884         * lib/wctype.in.h (towlower, towupper): New functions.
26885         * tests/test-wctype.c: Include stdio.h, stdlib.h.
26886         (ASSERT): New macro.
26887         (e): New variable.
26888         (main): Test also towlower, towupper. Test WEOF argument.
26889         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26890
26891 2009-09-05  Bruno Haible  <bruno@clisp.org>
26892
26893         Fix conversion behaviour when the input is invalid.
26894         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
26895         mark occurring in first pass of indirect conversion.
26896         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
26897         input.
26898         Found by clang's static analyzer.
26899
26900 2009-09-05  Bruno Haible  <bruno@clisp.org>
26901
26902         * tests/test-striconveh.c (main): Test indirect conversion on platforms
26903         where direct conversion is possible.
26904
26905 2009-09-04  Eric Blake  <ebb9@byu.net>
26906
26907         openat: fail with ENOENT on empty name
26908         * lib/openat-proc.c (openat_proc_name): Special-case the empty
26909         buffer.
26910
26911         link-follow: fix logic bug in prior patch
26912         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
26913         reversed sense of yes and no in prior patch.  Avoid confusing
26914         compilation failure with desired semantics.
26915
26916         link-follow: accomodate mingw and cross-compilation
26917         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
26918         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
26919         cross-compilation results to -1, to make linkat easier to
26920         implement when cross-compiling.  Trivially support mingw.
26921         * modules/link-follow (configure.ac): Call new name.
26922         * NEWS: Mention this.
26923
26924 2009-09-03  Eric Blake  <ebb9@byu.net>
26925
26926         faccessat: compile replacement
26927         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
26928         needed.
26929
26930         fts: fix compilation error
26931         * lib/fts.c (includes): Re-add "openat.h", for
26932         openat_needs_fchdir.
26933
26934         faccessat: new module
26935         * modules/faccessat: New file.
26936         * lib/faccessat.c: Likewise.
26937         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26939         * modules/unistd (Makefile.am): Use it.
26940         * lib/unistd.in.h (faccessat): Declare it.
26941         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
26942         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
26943         * MODULES.html.sh (File system functions): Mention it.
26944         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
26945         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26946
26947         euidaccess: prefer POSIX over non-standard implementation
26948         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
26949         * lib/euidaccess.c (euidaccess): Use it if available.
26950
26951         openat: make template easier to use
26952         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
26953         AT_FUNC_F2 to be undefined.
26954         (VALIDATE_FLAG): New macro; use it to reject bad flags.
26955         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
26956         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
26957         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
26958         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
26959         Likewise.
26960         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
26961         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
26962         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
26963         Likewise.
26964
26965         openat: declare in POSIX headers
26966         * NEWS: Mention this.
26967         * modules/openat (configure.ac): Declare witnesses.
26968         (Depends-on): Add fcntl-h, sys_stat, unistd.
26969         (Include): Mention correct headers.
26970         * modules/fcntl-h (Depends-on): Add link-warning.
26971         (Files): Add openat.m4.
26972         (Makefile.am): Substitute witnesses.
26973         * modules/sys_stat (Files, Makefile.am): Likewise.
26974         * modules/unistd (Files, Makefile.am): Likewise.
26975         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26976         (gl_OPENAT_DEFAULTS): New macro.
26977         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26979         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26980         (SYS_STAT_H): Remove unused variable.
26981         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26982         * lib/fcntl--.h (includes): Remove unneeded header.
26983         * lib/openat-safer.c (includes): Likewise.
26984         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26985         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26986         appropriate headers.
26987         (__OPENAT_PREFIX): Delete.
26988         * lib/fcntl.in.h (openat): Provide declaration.
26989         (AT_FDCWD): Fix Solaris bug.
26990         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26991         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26992         * lib/fchmodat.c (includes):  Adjust to find declaration.
26993         * lib/fchownat.c (includes): Likewise.
26994         * lib/mkdirat.c (includes): Likewise.
26995         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26996         still visible.
26997
26998 2009-09-02  Eric Blake  <ebb9@byu.net>
26999
27000         errno: use consistently
27001         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
27002         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
27003         * lib/canonicalize.c (ELOOP): Likewise.
27004         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
27005         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
27006         * lib/lchown.c (EOPNOTSUPP): Likewise.
27007         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
27008         * lib/savewd.c (ESTALE): Likewise.
27009         * lib/settime.c (ENOSYS): Likewise.
27010         * lib/utimens.c (ENOSYS): Likewise.
27011         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
27012         * lib/chdir-safer.c (ELOOP): Likewise.
27013         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
27014         * modules/c-stack (Depends-on): Add errno.
27015         * modules/canonicalize (Depends-on): Likewise.
27016         * modules/chdir-safer (Depends-on): Likewise.
27017         * modules/fdopendir (Depends-on): Likewise.
27018         * modules/inet_ntop (Depends-on): Likewise.
27019         * modules/inet_pton (Depends-on): Likewise.
27020         * modules/lchown (Depends-on): Likewise.
27021         * modules/openat (Depends-on): Likewise.
27022         * modules/savewd (Depends-on): Likewise.
27023         * modules/settime (Depends-on): Likewise.
27024         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
27025
27026         fts: avoid leaking fds
27027         * modules/fts (Depends-on): Add cloexec.
27028         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
27029         flag.
27030
27031         fts: make directory fds more robust
27032         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
27033         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
27034
27035         backupfile, chdir-long, fts, savedir: make safer
27036         * lib/backupfile.c (includes): Use "dirent--.h", since
27037         numbered_backup can write to stderr during readdir.
27038         * lib/savedir.c (includes): Likewise.
27039         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
27040         emulation can write to stderr on failure.
27041         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
27042         * lib/getcwd.c: Document why opendir_safer is unused.
27043         * lib/glob.c: Likewise.
27044         * lib/scandir.c: Likewise.
27045         * lib/openat-proc.c: Likewise, for open_safer.
27046         * modules/backupfile (Depends-on): Add dirent-safer.
27047         * modules/savedir (Depends-on): Likewise.
27048         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
27049         * modules/chdir-long (Depends-on): Add openat-safer.
27050
27051         openat-safer: new module
27052         * modules/openat-safer: New file.
27053         * lib/openat-safer.c: Likewise.
27054         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
27055         * lib/fcntl-safer.h (openat_safer): Declare.
27056         * lib/fcntl--.h (openat): Override.
27057         * MODULES.html.sh (File descriptor based I/O): Mention it.
27058         * lib/openat.h: Add double-inclusion guards.
27059         * lib/openat.c (includes): Only include "fcntl-safer.h", not
27060         "fcntl--.h", so we can implement openat.
27061         * modules/openat-safer-tests: New test.
27062         * tests/test-openat-safer.c: New file.
27063
27064         dirent-safer: new module
27065         * modules/dirent-safer: New file.
27066         * lib/dirent--.h: Likewise.
27067         * lib/dirent-safer.h: Likewise.
27068         * lib/opendir-safer.c: Likewise.
27069         * m4/dirent-safer.m4: Likewise.
27070         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
27071         * modules/dirent-safer-tests: New test.
27072         * tests/test-dirent-safer.c: New file.
27073         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
27074
27075         fdopendir: optimize on mingw
27076         * lib/unistd.in.h (_gl_directory_name): New prototype.
27077         * lib/fchdir.c (_gl_directory_name): Implement it.
27078         (fchdir): Use it to simplify implementation.
27079         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
27080         fchdir, when available, to avoid calling [f]chdir().
27081
27082         fdopendir: split into its own module
27083         * lib/openat.c (fdopendir): Move...
27084         * lib/fdopendir.c: ...into new file.
27085         * modules/fdopendir: New module.
27086         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
27087         * modules/openat (Depends-on): Add fdopendir.
27088         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
27089         fdopendir here.
27090         * modules/savedir (Depends-on): Only need fdopendir, not full
27091         openat.
27092         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
27093         * lib/openat.h (fdopendir): Drop prototype.
27094         * lib/dirent.in.h (fdopendir): Provide prototype.
27095         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
27096         * modules/dirent (Makefile.am): Substitute them.
27097         * MODULES.html.sh (File system functions): Mention it.
27098         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
27099         * modules/fdopendir-tests: New file.
27100         * tests/test-fdopendir.c: Likewise.
27101
27102         fchdir: use more consistent macro convention
27103         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
27104         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
27105         REPLACE_FCHDIR, rather than relying on config.h macros.
27106         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
27107         inside a single make-time REPLACE_FCHDIR block, rather than using
27108         the config.h FCHDIR_REPLACEMENT.
27109         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
27110         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
27111         Manage fstat replacement.
27112         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
27113         REPLACE_FCHDIR.
27114         * modules/sys_stat (Files): Add m4/unistd_h.m4.
27115         (Makefile.am): Substitute REPLACE_FCHDIR.
27116         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
27117         FCHDIR_REPLACEMENT.
27118         * lib/dup-safer.c (dup_safer): Likewise.
27119         * lib/dup2.c (rpl_dup2): Likewise.
27120         * lib/dup3.c (rpl_dup3): Likewise.
27121         * lib/open.c (rpl_open): Likewise.
27122
27123         fchdir: simplify error handling, and support dup3
27124         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
27125         stdbool, malloc-posix, realloc-posix.
27126         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
27127         (ensure_dirs_slot): Return false on allocation failure.
27128         (rpl_dup2): Delete.
27129         (_gl_register_dup): New function.
27130         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
27131         (_gl_register_fd): Close fd on allocation failure.
27132         * lib/fcntl.in.h (_gl_register_fd): Update signature.
27133         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
27134         prototype.
27135         (rpl_dup2_fchdir): Delete prototype.
27136         * lib/open.c (open): Update caller.
27137         * lib/dup2.c (dup2): Track fchdir metadata.
27138         * lib/dup3.c (dup3): Likewise.
27139         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
27140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
27141
27142 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27143
27144         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
27145         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
27146         don't pass arguments to AC_OUTPUT.
27147
27148 2009-09-02  Bruno Haible  <bruno@clisp.org>
27149
27150         * modules/mkdtemp (License): Relicense under LGPLv2+.
27151         Reported by Paolo Bonzini.
27152
27153 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27154
27155         Replace uses of obsolete autoconf macros in Jim's modules.
27156         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
27157         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
27158         can evoke a warning from autoconf when run with -Wobsolete
27159         enabled.  They were declared obsolete for good reasons (see
27160         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
27161         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
27162         should not continue using the deprecated macros.
27163         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
27164         obsolete Autoconf macros with modern counterparts.
27165         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27166         * m4/dos.m4 (gl_AC_DOS): Likewise.
27167         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
27168         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27169         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
27170         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
27171         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
27172         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
27173         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
27174         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
27175         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
27176         Likewise.
27177         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27178         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
27179         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
27180         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
27181         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
27182         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
27183
27184 2009-09-01  Eric Blake  <ebb9@byu.net>
27185
27186         fchdir: fix off-by-one bug in previous patch
27187         * lib/fchdir.c (rpl_fstat): Use correct bounds.
27188         (_gl_unregister_fd): Delete useless if.
27189
27190 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
27191
27192         maint.mk: sort the list of syntax-check rules
27193         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
27194         easier to get a sense of progress when the rules are run sequentially
27195         and take a long time.
27196
27197 2009-09-01  Simon Josefsson  <simon@josefsson.org>
27198
27199         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
27200         * modules/netinet_in: Likewise.
27201         * modules/sys_file: Likewise.
27202         * modules/sys_ioctl: Likewise.
27203         * modules/sys_select: Likewise.
27204         * modules/sys_socket: Likewise.
27205         * modules/sys_stat: Likewise.
27206         * modules/sys_time: Likewise.
27207         * modules/sys_times: Likewise.
27208         * modules/sys_utsname: Likewise.
27209         * modules/sys_wait: Likewise.
27210
27211 2009-09-01  Jim Meyering  <meyering@redhat.com>
27212
27213         fts: help ensure that return values are not ignored
27214         * lib/fts_.h (__GNUC_PREREQ): Define.
27215         (__attribute_warn_unused_result__): Define.
27216         (fts_children, fts_close, fts_open, fts_read): Declare with
27217         __attribute_warn_unused_result__.
27218
27219         fts: fts_close now fails also when closing a dir file descriptor fails
27220         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
27221         and propagate to caller, along with errno.
27222
27223         announce-gen: correct formatting in --help output
27224         * build-aux/announce-gen (usage): Move the one-line description in
27225         --help output "up", to where it belongs, just after Usage:.
27226
27227 2009-08-31  Eric Blake  <ebb9@byu.net>
27228
27229         fchdir: port to mingw
27230         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
27231         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
27232         opened, then use a substitute.
27233         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
27234         replacement.
27235         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
27236         (_gl_register_fd): No need to check stat if open already filters
27237         all directories.
27238         (fchdir): Fix error condition to match POSIX.
27239         * modules/fchdir (Depends-on): Add sys_stat.
27240         * doc/posix-functions/open.texi (open): Document the limitation.
27241         * modules/fchdir-tests: New file.
27242         * tests/test-fchdir.c: Likewise.
27243
27244         canonicalize: allow cross-testing from cygwin to mingw
27245         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
27246         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
27247         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
27248         Likewise.
27249         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
27250         target does not support symlinks.
27251         * tests/test-canonicalize-lgpl.sh: Likewise.
27252
27253         chown: avoid compilation warning on mingw
27254         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
27255         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
27256         mingw.
27257         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
27258         * modules/chown (Depends-on): Add errno.
27259
27260 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27261
27262         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
27263         command.
27264
27265 2009-08-31  Jim Meyering  <meyering@redhat.com>
27266
27267         canonicalize: remove useless initialization
27268         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
27269         initialization of local, "end".
27270
27271 2009-08-30  Bruno Haible  <bruno@clisp.org>
27272
27273         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
27274         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
27275         ENOSYS.
27276
27277 2009-08-30  Bruno Haible  <bruno@clisp.org>
27278
27279         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
27280         /usr/xpg4/bin/tr when it exists.
27281         * tests/test-pipe-filter-gi1.sh: Likewise.
27282
27283 2009-08-30  Bruno Haible  <bruno@clisp.org>
27284
27285         Work around deficient /usr/bin/id program on Solaris.
27286         * tests/test-file-has-acl.sh (ID): New variable.
27287         * tests/test-set-mode-acl.sh (ID): Likewise.
27288         * tests/test-copy-acl.sh (ID): Likewise.
27289         * tests/test-copy-file.sh (ID): Likewise.
27290
27291 2009-08-30  Bruno Haible  <bruno@clisp.org>
27292
27293         New module 'xstriconveh'.
27294         * lib/xstriconveh.h: New file.
27295         * lib/xstriconveh.c: New file.
27296         * modules/xstriconveh: New file.
27297
27298 2009-08-30  Bruno Haible  <bruno@clisp.org>
27299
27300         Make it easier to use mem_cd_iconveh.
27301         * lib/striconveh.h (iconveh_t): New type.
27302         (iconveh_open, iconveh_close): New declarations.
27303         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
27304         with a single 'const iconveh_t *' argument.
27305         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
27306         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
27307         with a single 'const iconveh_t *' argument.
27308         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
27309         * tests/test-striconveh.c (main): Update.
27310         * NEWS: Mention the change.
27311
27312 2009-08-30  Bruno Haible  <bruno@clisp.org>
27313
27314         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
27315         problem.
27316
27317 2009-08-30  Bruno Haible  <bruno@clisp.org>
27318
27319         Work around iconv_open problem on Solaris.
27320         * lib/iconv_open-solaris.gperf: New file.
27321         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
27322         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
27323         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
27324         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
27325         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
27326         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
27327
27328 2009-08-29  Jim Meyering  <meyering@redhat.com>
27329
27330         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
27331         * top/maint.mk (cvs-check): Remove target; it was just an alias
27332         to the better-named vc-diff-check.
27333         (maintainer-distcheck): Remove rule.  It was used only from
27334         the (alpha/beta/major) target, and all of its commands but one
27335         were coreutils-specific.
27336         (vc-dist): Remove rule.
27337         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
27338         Run vc-diff-check, not vc-dist.
27339         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
27340
27341 2009-08-27  Bruno Haible  <bruno@clisp.org>
27342
27343         * tests/test-bitrotate.c (main): Remove test that uses a shift count
27344         of 0.
27345
27346 2009-08-27  Bruno Haible  <bruno@clisp.org>
27347
27348         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
27349         compilers.
27350         * doc/func.texi: Document the SunPRO C bug.
27351
27352 2009-08-27  Bruno Haible  <bruno@clisp.org>
27353
27354         Fix link error on Solaris.
27355         * tests/test-parse-duration.c (xstrdup): Remove function.
27356
27357 2009-08-26  Pádraig Brady  <P@draigbrady.com>
27358
27359         ignore-value: handle pointer types, too
27360         * lib/ignore-value.h (__attribute__): Remove definition.
27361         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
27362         of a more concise and more-often effective "(void) i" statement.
27363         (ignore_ptr): New function to suppress warnings from functions that
27364         return pointers, and to make it explicit that one function doesn't
27365         handle all cases.
27366
27367 2009-08-25  Bruno Haible  <bruno@clisp.org>
27368
27369         dup2: work around a Linux bug.
27370         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
27371         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
27372         * doc/posix-functions/dup2.texi: Mention the Linux bug.
27373         Reported by Simon Josefsson.
27374
27375 2009-08-25  Jim Meyering  <meyering@redhat.com>
27376
27377         libguestfs uses gnulib
27378         * users.txt: Add libguestfs.
27379
27380 2009-08-24  Eric Blake  <ebb9@byu.net>
27381
27382         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
27383         * lib/pipe2.c (includes): Add binary-io.h.
27384         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
27385
27386 2009-08-24  Bruno Haible  <bruno@clisp.org>
27387
27388         Tolerate declared but missing accept4 syscall.
27389         * lib/accept4.c (accept4): Invoke original accept4 function first, if
27390         available.
27391         * lib/sys_socket.in.h (accept4): If the function is already present,
27392         override it.
27393         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
27394         * modules/accept4 (Makefile.am): Compile accept4.c always.
27395         Reported by Paolo Bonzini and Eric Blake.
27396
27397 2009-08-23  Bruno Haible  <bruno@clisp.org>
27398
27399         New module 'accept4'.
27400         * lib/sys_socket.in.h (accept4): New declaration.
27401         * lib/accept4.c: New file.
27402         * m4/accept4.m4: New file.
27403         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27404         GNULIB_ACCEPT4, HAVE_ACCEPT4.
27405         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
27406         HAVE_ACCEPT4.
27407         * modules/accept4: New file.
27408         * doc/glibc-functions/accept4.texi: Mention the new module.
27409
27410 2009-08-24  Jim Meyering  <meyering@redhat.com>
27411
27412         progname: also set global program_invocation_name, when possible
27413         Before this change, a libtool-enabled program that calls glibc's
27414         error function would report the program name as
27415         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
27416         * modules/progname (configure.ac): Check for a declaration of
27417         program_invocation_name.
27418         * lib/progname.c:  Include <errno.h>.
27419         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
27420         Set program_invocation_name.
27421
27422 2009-08-23  Bruno Haible  <bruno@clisp.org>
27423
27424         * lib/dup3.c: Include <string.h>.
27425
27426 2009-08-23  Bruno Haible  <bruno@clisp.org>
27427
27428         * lib/dup3.c (dup3): Test only once whether the system actually exists.
27429         * lib/pipe2.c (pipe2): Likewise.
27430         Suggested by Eric Blake.
27431
27432 2009-08-23  Bruno Haible  <bruno@clisp.org>
27433
27434         Tolerate declared but missing dup3 syscall.
27435         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
27436         * lib/unistd.in.h (dup3): If the function is already present,
27437         override it.
27438         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
27439         * modules/dup3 (Makefile.am): Compile dup3.c always.
27440         Reported by Paolo Bonzini.
27441
27442 2009-08-23  Bruno Haible  <bruno@clisp.org>
27443
27444         Tolerate declared but missing pipe2 syscall.
27445         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
27446         available.
27447         * lib/unistd.in.h (pipe2): If the function is already present,
27448         override it.
27449         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
27450         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
27451         Reported by Paolo Bonzini.
27452
27453 2009-08-23  Bruno Haible  <bruno@clisp.org>
27454
27455         * lib/pipe2.c (pipe2): Move #ifs inside function.
27456
27457 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27458
27459         quotearg: document limitations of quote_these_too
27460         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
27461         those limitations are created.
27462         * lib/quotearg.h (set_char_quoting): Document that digits and
27463         letters that are special after backslash are not permitted.
27464         (quotearg_char): Cross-reference set_char_quoting documentation.
27465
27466 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
27467
27468         quotearg: implement custom_quoting_style
27469         * lib/quotearg.c: (struct quoting_options): Add left_quote and
27470         right_quote fields.
27471         (set_custom_quoting): New public function.
27472         (quotearg_buffer_restyled): Add left_quote and right_quote
27473         arguments, handle them very much like locale quoting, and update
27474         all uses.
27475         (quotearg_n_custom): New public function.
27476         (quotearg_n_custom_mem): New public function.
27477         (quotearg_custom): New public function.
27478         (quotearg_custom_mem): New public function.
27479         * lib/quotearg.h: Prototype and document new public functions.
27480         (enum quoting_style): For escape_quoting_style and
27481         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
27482         ignored even though they're otherwise like c_quoting_style.
27483         Add custom_quoting_style member and document with comparison to
27484         clocale_quoting_style.
27485         * tests/test-quotearg.c (custom_quotes): New array.
27486         (custom_results): New array.
27487         (main): Extend to test custom quoting.
27488
27489 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27490
27491         quotearg: fix right quote escaping when it's in quote_these_too
27492         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
27493         quote, be sure to prepend only one backslash.
27494         * tests/test-quotearg.c (use_quote_double_quotes): New function.
27495         (main): Test it.
27496
27497 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27498
27499         quotearg-tests: test escaping of embedded locale quotes
27500         * tests/test-quotearg.c (struct result_strings): Add member for
27501         new input.
27502         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
27503         (inputs): Add new input.
27504         (results_g): Add expected results.
27505         (flag_results): Likewise.
27506         (locale_results): Likewise.
27507         (compare_strings): Check those.
27508
27509 2009-08-23  Bruno Haible  <bruno@clisp.org>
27510
27511         Tests for module 'dup3'.
27512         * modules/dup3-tests: New file.
27513         * tests/test-dup3.c: New file.
27514
27515         New module 'dup3'.
27516         * lib/unistd.in.h (dup3): New declaration.
27517         * lib/dup3.c: New file.
27518         * m4/dup3.m4: New file.
27519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
27520         HAVE_DUP3.
27521         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
27522         * modules/dup3: New file.
27523         * doc/glibc-functions/dup3.texi: Mention the new module.
27524
27525 2009-08-23  Bruno Haible  <bruno@clisp.org>
27526
27527         Tweak the dup2 test.
27528         * tests/test-dup2.c (main): Create the test file empty. Verify that an
27529         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
27530         the test file is still empty. Fix argument order of lseek.
27531
27532 2009-08-23  Bruno Haible  <bruno@clisp.org>
27533
27534         Avoid test link errors when the modules getopt-gnu, gettext are used.
27535         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
27536         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27537
27538 2009-08-23  Bruno Haible  <bruno@clisp.org>
27539
27540         Fix getdtablesize() on mingw.
27541         * lib/getdtablesize.c (getdtablesize): Implement differently.
27542         * lib/unistd.in.h (getdtablesize): Improve comment.
27543
27544 2009-08-23  Bruno Haible  <bruno@clisp.org>
27545
27546         New module 'mkostemp'.
27547         Based on Ulrich Drepper's 2007-08-10 change in glibc.
27548         * lib/stdlib.in.h (mksotemp): New declaration.
27549         * lib/mkostemp.c: New file, from glibc with modifications.
27550         * lib/tempname.h (GT_FILE): Remove outdated comment.
27551         (gen_tempname): Add flags argument.
27552         * lib/tempname.c (__GT_BIGFILE): Remove macro.
27553         (__GT_FILE): Map to 1.
27554         (small_open, large_open): Remove macros.
27555         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
27556         * lib/mkstemp.c (mkstemp): Update.
27557         * lib/mkdtemp.c (mkdtemp): Likewise.
27558         * m4/mkostemp.m4: New file.
27559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
27560         HAVE_MKOSTEMP.
27561         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
27562         HAVE_MKOSTEMP.
27563         * modules/mkostemp: New file, based on modules/mkstemp.
27564         * doc/glibc-functions/mkostemp.texi: Mention the new module.
27565         * NEWS: Mention the change.
27566
27567 2009-08-23  Bruno Haible  <bruno@clisp.org>
27568
27569         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
27570         Reported by Eric Blake.
27571
27572 2009-08-23  Bruno Haible  <bruno@clisp.org>
27573
27574         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
27575         Reported by Eric Blake.
27576
27577 2009-08-23  Bruno Haible  <bruno@clisp.org>
27578
27579         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
27580         * modules/pipe2 (Depends-on): Likewise.
27581
27582 2009-08-23  Eric Blake  <ebb9@byu.net>
27583
27584         fcntl-h: add O_TTY_INIT support
27585         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
27586         * tests/test-fcntl-h.c (o): Test it.
27587         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27588
27589         fcntl-h: rename from fcntl, in preparation for fcntl(2)
27590         * modules/fcntl: Move <fcntl.h> header replacement...
27591         * modules/fcntl-h: ...to new name, so as not to collide with
27592         like-named function.
27593         * tests/test-fcntl.c: Rename...
27594         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
27595         * modules/fcntl-tests: Rename...
27596         * modules/fcntl-h-tests: ...to this.  Update test file name.
27597         * modules/chdir-long (Depends-on): Update clients.
27598         * modules/chdir-safer (Depends-on): Likewise.
27599         * modules/fcntl-safer (Depends-on): Likewise.
27600         * modules/fts (Depends-on): Likewise.
27601         * modules/mkancesdirs (Depends-on): Likewise.
27602         * modules/mkdir-p (Depends-on): Likewise.
27603         * modules/open (Depends-on): Likewise.
27604         * modules/savewd (Depends-on): Likewise.
27605         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
27606         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27607
27608 2009-08-22  Bruno Haible  <bruno@clisp.org>
27609
27610         * modules/binary-io (License): Relicense under LGPL.
27611         * modules/pipe2 (License): Likewise.
27612
27613 2009-08-22  Bruno Haible  <bruno@clisp.org>
27614
27615         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
27616         return value.
27617         * lib/pipe-filter-gi.c (filter_init): Likewise.
27618         Reported by Eric Blake.
27619
27620 2009-08-22  Bruno Haible  <bruno@clisp.org>
27621
27622         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
27623         * modules/pipe (Depends-on): Add pipe2.
27624
27625 2009-08-22  Bruno Haible  <bruno@clisp.org>
27626
27627         Tests for module 'pipe2'.
27628         * modules/pipe2-tests: New file.
27629         * tests/test-pipe2.c: New file.
27630
27631         New module 'pipe2'.
27632         * lib/unistd.in.h (pipe2): New declaration.
27633         * lib/pipe2.c: New file.
27634         * m4/pipe2.m4: New file.
27635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
27636         HAVE_PIPE2.
27637         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
27638         * modules/pipe2: New file.
27639         * doc/glibc-functions/pipe2.texi: Mention the new module.
27640
27641 2009-08-22  Bruno Haible  <bruno@clisp.org>
27642
27643         Reference some new glibc functions.
27644         * doc/glibc-functions/accept4.texi: New file.
27645         * doc/glibc-functions/dup3.texi: New file.
27646         * doc/glibc-functions/mkostemp.texi: New file.
27647         * doc/glibc-functions/pipe2.texi: New file.
27648         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
27649         (Glibc sys/socket.h): Refer to accept4.
27650         (Glibc unistd.h): Refer to dup3, pipe2.
27651         Reported by Eric Blake.
27652
27653 2009-08-22  Jim Meyering  <meyering@redhat.com>
27654             Bruno Haible  <bruno@clisp.org>
27655
27656         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
27657         This makes it so packages using automake-1.11's silent-rules option
27658         can print e.g., a single "GEN    configmake.h" line, rather than
27659         the 30+ statements that perform the job.  If you want to see the
27660         actual commands, you can still run "make V=1".
27661         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
27662         so that make output is abbreviated when those variables are defined
27663         appropriately.
27664         * modules/argz: Likewise.
27665         * modules/arpa_inet: Likewise.
27666         * modules/byteswap: Likewise.
27667         * modules/configmake: Likewise.
27668         * modules/dirent: Likewise.
27669         * modules/errno: Likewise.
27670         * modules/fcntl: Likewise.
27671         * modules/float: Likewise.
27672         * modules/fnmatch: Likewise.
27673         * modules/getopt-posix: Likewise.
27674         * modules/glob: Likewise.
27675         * modules/iconv_open: Likewise.
27676         * modules/inttypes: Likewise.
27677         * modules/localcharset: Likewise.
27678         * modules/locale: Likewise.
27679         * modules/math: Likewise.
27680         * modules/netdb: Likewise.
27681         * modules/netinet_in: Likewise.
27682         * modules/poll: Likewise.
27683         * modules/posix_spawnp-tests: Likewise.
27684         * modules/sched: Likewise.
27685         * modules/search: Likewise.
27686         * modules/selinux-h: Likewise.
27687         * modules/signal: Likewise.
27688         * modules/spawn: Likewise.
27689         * modules/stdarg: Likewise.
27690         * modules/stdbool: Likewise.
27691         * modules/stddef: Likewise.
27692         * modules/stdint: Likewise.
27693         * modules/stdio: Likewise.
27694         * modules/stdlib: Likewise.
27695         * modules/string: Likewise.
27696         * modules/strings: Likewise.
27697         * modules/sys_file: Likewise.
27698         * modules/sys_ioctl: Likewise.
27699         * modules/sys_select: Likewise.
27700         * modules/sys_socket: Likewise.
27701         * modules/sys_stat: Likewise.
27702         * modules/sys_time: Likewise.
27703         * modules/sys_times: Likewise.
27704         * modules/sys_utsname: Likewise.
27705         * modules/sys_wait: Likewise.
27706         * modules/sysexits: Likewise.
27707         * modules/time: Likewise.
27708         * modules/unistd: Likewise.
27709         * modules/wchar: Likewise.
27710         * modules/wctype: Likewise.
27711
27712 2009-08-22  Jim Meyering  <meyering@redhat.com>
27713
27714         announce-gen: detect write failure
27715         * build-aux/announce-gen: Add Coda at end.
27716         Remove equivalent-but-more-verbose block at top.
27717
27718 2009-08-19  Akim Demaille  <demaille@gostai.com>
27719
27720         bootstrap: --help to stdout.
27721         * bootstrap (usage): Don't send --help to stderr.
27722         Use a here doc instead of a long string.
27723
27724 2009-08-21  Eric Blake  <ebb9@byu.net>
27725
27726         test-popen-safer: split from test-popen
27727         * tests/test-popen.c (main): Move...
27728         * tests/test-popen.h: ...into new file.
27729         * tests/test-popen-safer2.c: New file.
27730         * modules/popen-tests (Files): Add test-popen.h.
27731         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
27732         Suggested by Bruno Haible.
27733
27734         test-fcntl-safer: split from test-open
27735         * tests/test-open.c (main): Move...
27736         * tests/test-open.h: ...into new file.
27737         * tests/test-fcntl-safer.c: New file.
27738         * modules/open-tests (Files): Add test-open.h.
27739         * modules/fcntl-safer-tests: New file.
27740         Suggested by Bruno Haible.
27741
27742         test-fopen-safer: split from test-fopen
27743         * tests/test-fopen.c (main): Move...
27744         * tests/test-fopen.h: ...into new file.
27745         * tests/test-fopen-safer.c: New file.
27746         * modules/fopen-tests (Files): Add test-fopen.h.
27747         * modules/fopen-safer-tests: New file.
27748         Suggested by Bruno Haible.
27749
27750 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27751
27752         popen-safer: test O_CLOEXEC at run-time.
27753         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
27754
27755 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27756
27757         fcntl: move more flags to the header
27758         * lib/cloexec.c: Do not define FD_CLOEXEC here.
27759         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
27760         * lib/fcntl.in.h: Do both things here.
27761
27762 2009-08-21  Jim Meyering  <meyering@redhat.com>
27763
27764         consistently remove $@-t before redirecting to it
27765         * modules/argz: Remove $@-t and $@ before redirecting to the former.
27766         * modules/alloca-opt: Likewise.
27767         * modules/byteswap: Likewise.
27768         * modules/fnmatch: Likewise.
27769         * modules/getopt-posix: Likewise.
27770         * modules/glob: Likewise.
27771         * modules/poll: Likewise.
27772         * modules/posix_spawnp-tests: Likewise.
27773         * modules/sys_socket: Likewise.
27774         * modules/sysexits: Likewise.
27775
27776 2009-08-21  Eric Blake  <ebb9@byu.net>
27777
27778         popen: simplify access to original popen
27779         * lib/popen.c (rpl_popen): No need to worry about popen being a
27780         macro.
27781         Reported by Bruno Haible.
27782
27783 2009-08-20  Eric Blake  <ebb9@byu.net>
27784
27785         build: avoid some compiler warnings
27786         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
27787         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
27788         type.
27789         (new_exclude_segment, excluded_file_pattern_p)
27790         (excluded_file_name_p): Reduce scope.
27791         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
27792         old-style declaration.
27793
27794 2009-08-20  Simon Josefsson  <simon@josefsson.org>
27795
27796         * tests/test-exclude1.sh: Handle Windows EOL.
27797         * tests/test-exclude2.sh: Likewise.
27798         * tests/test-exclude3.sh: Likewise.
27799         * tests/test-exclude4.sh: Likewise.
27800         * tests/test-exclude5.sh: Likewise.
27801         * tests/test-exclude6.sh: Likewise.
27802         * tests/test-exclude7.sh: Likewise.
27803
27804 2009-08-19  Akim Demaille  <demaille@gostai.com>
27805
27806         bootstrap: find sha1sum when named gsha1sum.
27807         * bootstrap (find_tool): New.
27808         ($SHA1SUM): New.
27809         Use it.
27810
27811 2009-08-20  Jim Meyering  <meyering@redhat.com>
27812
27813         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
27814         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
27815         expression that converts "." in a file name to "\." in the resulting
27816         regexp.  Start with a dummy statement, so that prior shell variable
27817         definitions are expanded portably.  Reported by Simon Josefsson.
27818
27819 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
27820
27821         Fix polling for writeability of a screen buffer.
27822         * lib/poll.c: Distinguish input and screen buffers for the
27823         Win32 implementation.
27824         * lib/select.c: Likewise.
27825
27826 2009-08-19  Eric Blake  <ebb9@byu.net>
27827
27828         popen-safer: prevent popen from clobbering std descriptors
27829         * modules/popen-safer: New file.
27830         * lib/popen-safer.c: Likewise.
27831         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
27832         * lib/stdio--.h (popen): Provide override.
27833         * lib/stdio-safer.h (popen_safer): Provide declaration.
27834         * tests/test-popen.c (includes): Partially test this.
27835         * modules/popen-safer-tests: New file, for more tests.
27836         * tests/test-popen-safer.c: Likewise.
27837         * MODULES.html.sh (file stream based Input/Output): Mention it.
27838
27839         tests: test some of the *-safer modules
27840         * modules/fopen-safer (Depends-on): Add fopen.
27841         * modules/fcntl-safer (Depends-on): Add fcntl.
27842         * modules/stdlib-safer (Depends-on): Add stdlib.
27843         (configure.ac): Set indicator.
27844         * modules/unistd-safer (configure.ac): Likewise.
27845         * modules/tmpfile-safer (configure.ac): Likewise.
27846         (Depends-on): Add tmpfile.
27847         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
27848         active.
27849         * tests/test-fopen.c (includes): Test safer versions when they are
27850         in use.
27851         * tests/test-open.c (includes): Likewise.
27852
27853         popen: fix cygwin 1.5 bug when stdin closed
27854         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
27855         * modules/popen: New file.
27856         * modules/popen-tests: Likewise.
27857         * tests/test-popen.c: Likewise.
27858         * m4/popen.m4: Likewise.
27859         * lib/popen.c: Likewise.
27860         * lib/stdio.in.h (popen): New declaration.
27861         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
27862         * modules/stdio (Makefile.am): Likewise.
27863         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
27864
27865 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
27866
27867         maint.mk: give full control over update-copyright exclusions
27868         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
27869         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
27870         (update-copyright): Don't force inclusion of top-level
27871         ChangeLog.  Don't force exclusion of all COPYING files, but make
27872         them the default exclusion instead.
27873
27874 2009-08-16  Bruno Haible  <bruno@clisp.org>
27875
27876         Fix test failures on Solaris 10.
27877         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
27878         tests when Solaris iconv() is used.
27879         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27880         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27881         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27882         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27883         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27884
27885 2009-08-16  Bruno Haible  <bruno@clisp.org>
27886
27887         Fix test failures on Solaris 10.
27888         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
27889         'tr' program and pass it as first argument.
27890         * tests/test-pipe-filter-gi1.sh: Likewise.
27891         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
27892         program as first argument.
27893         * tests/test-pipe-filter-gi1.c (main): Likewise.
27894
27895 2009-08-16  Eric Blake  <ebb9@byu.net>
27896
27897         fpurge: fix previous commits
27898         * modules/fpurge (Makefile.am): Make replacement conditional,
27899         partially reverting 2007-04-29 change; missed in previous
27900         attempt.
27901         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
27902         is missing.
27903
27904 2009-08-16  Bruno Haible  <bruno@clisp.org>
27905
27906         Clarify fpurge's effect on the file position.
27907         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
27908         * tests/test-fpurge.c (main): Make a second pass for checking the file
27909         position.
27910
27911 2009-08-16  Bruno Haible  <bruno@clisp.org>
27912
27913         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
27914         declaration of fpurge is missing.
27915         * tests/test-fpurge.c (main): Check that the file has not more contents
27916         than expected. Close the file before removing it.
27917
27918 2009-08-15  Eric Blake  <ebb9@byu.net>
27919
27920         fpurge: don't wrap working cygwin implementation
27921         * lib/fpurge.c (fpurge): Fix comment typo.
27922         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
27923         1.7 to avoid replacement.
27924         * tests/test-fpurge.c (main): Enhance test.
27925
27926 2009-08-15  Eric Blake  <ebb9@byu.net>
27927         and Jim Meyering  <meyering@redhat.com>
27928
27929         test-update-copyright: skip if perl is insufficient
27930         * tests/test-update-copyright.sh: Failure to run maintainer tool
27931         should not cause testsuite failure on cygwin 1.5.
27932
27933 2009-08-14  Eric Blake  <ebb9@byu.net>
27934
27935         doc: mention more functions added in cygwin 1.7.0
27936         * doc/posix-headers/limits.texi (limits.h): Update for recent
27937         cygwin additions.
27938         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
27939         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27940         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
27941         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
27942         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
27943
27944 2009-08-14  Eric Blake  <ebb9@byu.net>
27945
27946         maint.mk: simplify update-copyright rule
27947         * top/maint.mk (update-copyright-local): Delete, and document how
27948         to do it in cfg.mk instead.
27949         (update-copyright-exclude-regexp): Delete, and document how to do
27950         it in .x-update-copyright instead.
27951         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
27952         exclude ChangeLog.
27953
27954 2009-08-14  Bruno Haible  <bruno@clisp.org>
27955
27956         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
27957
27958 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27959
27960         maint.mk: support update-copyright-env
27961         * top/maint.mk (update-copyright-env): Define place-holder.
27962         (update-copyright): Expand $(update-copyright-env) before
27963         invoking update-copyright.
27964
27965 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27966
27967         update-copyright: implement forced reformatting
27968         * build-aux/update-copyright: Implement and document
27969         UPDATE_COPYRIGHT_FORCE.
27970         * tests/test-update-copyright.sh: Test it.
27971
27972 2009-08-14  Eric Blake  <ebb9@byu.net>
27973         and Bruno Haible  <bruno@clisp.org>
27974
27975         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27976         * tests/test-locale.c: Revert previous patch related to NULL.
27977         * tests/test-stdio.c: Likewise.
27978         * tests/test-stdlib.c: Likewise.
27979         * tests/test-string.c: Likewise.
27980         * tests/test-unistd.c: Likewise.
27981         * modules/time-tests (Depends-on): Add verify.
27982         * modules/wchar-tests (Depends-on): Likewise.
27983         * tests/test-time.c: Test for NULL compliance.
27984         * tests/test-wchar.c: Likewise.
27985         * modules/locale (Depends-on): Add stddef.
27986         * modules/stdio (Depends-on): Likewise.
27987         * modules/stdlib (Depends-on): Likewise.
27988         * modules/string (Depends-on): Likewise.
27989         * modules/time (Depends-on): Likewise.
27990         * modules/unistd (Depends-on): Likewise.
27991         * modules/wchar (Depends-on): Likewise.
27992         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27993         * lib/stdlib.in.h (includes): Likewise.
27994         * lib/string.in.h (includes): Likewise.
27995         * lib/time.in.h (includes): Likewise.
27996         * lib/unistd.in.h (includes): Likewise.
27997         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27998         replaced.
27999         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28000         * m4/stddef_h.m4: New file.
28001         * modules/stddef: Likewise.
28002         * lib/stddef.in.h: Likewise.
28003         * modules/stddef-tests: Likewise.
28004         * tests/test-stddef.c: Likewise.
28005         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
28006         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
28007         * doc/posix-headers/locale.texi (locale.h): Likewise.
28008         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
28009         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28010         * doc/posix-headers/string.texi (string.h): Likewise.
28011         * doc/posix-headers/time.texi (time.h): Likewise.
28012         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
28013         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
28014
28015 2009-08-14  Eric Blake  <ebb9@byu.net>
28016
28017         doc: improve git diff of texinfo files
28018         * .gitattributes: Add rule for *.texi files, with hint on how to
28019         use it.
28020         Copied from m4, and based on a report by Bruno Haible.
28021
28022 2009-08-14  Bruno Haible  <bruno@clisp.org>
28023
28024         Disable multithread support by default on Cygwin 1.5.x for real.
28025         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
28026
28027 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28028
28029         update-copyright: much ado about intervals
28030         * build-aux/update-copyright: Implement and document
28031         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
28032         of copyright year intervals.
28033         Also, document UPDATE_COPYRIGHT_YEAR.
28034         * tests/test-update-copyright.sh: Test it.
28035
28036         update-copyright: convert 2-digit to 4-digit years
28037         * build-aux/update-copyright: Implement and document.
28038         * tests/test-update-copyright.sh: Update.
28039
28040 2009-08-14  Jim Meyering  <meyering@redhat.com>
28041
28042         test-exclude: avoid coreutils "make check" failure
28043         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
28044         just as in test-argmatch.c.
28045
28046 2009-08-13  Eric Blake  <ebb9@byu.net>
28047
28048         test-dup2: fix bad assumption
28049         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
28050         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
28051
28052         test-version-etc: fix CRLF portability issue
28053         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
28054         recognize \r.
28055         * tests/test-argp-version-etc-1.sh: Likewise.
28056
28057         getopt: update client modules
28058         * modules/argp (Depends-on): Use getopt-gnu.
28059         * modules/git-merge-changelog (Depends-on): Likewise.
28060         * modules/long-options (Depends-on): Likewise.
28061         * modules/xstrtol (Depends-on): Likewise.
28062
28063 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28064
28065         * tests/test-version-etc.sh: Don't fail on different
28066         project/version.  Don't fail on CRLF differences.  Rewrite to use
28067         multiple -e instead of multiple sed forks, suggested by Eric Blake
28068         <ebb9@byu.net>.
28069         * tests/test-argp-version-etc-1.sh: Likewise.
28070
28071 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28072
28073         * tests/test-version-etc.sh: Don't fail on different
28074         project/version.
28075
28076 2009-08-12  Bruno Haible  <bruno@clisp.org>
28077
28078         Tests for modules 'getopt-posix', 'getopt-gnu'.
28079         * modules/getopt-posix-tests: New file.
28080         * tests/test-getopt.c: New file.
28081         * tests/test-getopt.h: New file.
28082         * tests/test-getopt_long.h: New file.
28083
28084         New modules 'getopt-posix', 'getopt-gnu'.
28085         * modules/getopt-gnu: New file, renamed from modules/getopt.
28086         * modules/getopt-posix: New file.
28087         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
28088         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
28089         (gl_GETOPT): Remove macro.
28090         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
28091         Disable the test against BSD systems that declare optreset. Test
28092         against mingw bug. Test against lack of support of optional arguments
28093         on many platforms.
28094         * doc/glibc-headers/getopt.texi: Update module name and list of
28095         relevant platforms.
28096         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
28097         'getopt-gnu' and more portability problems.
28098         * NEWS: Mention the changes.
28099
28100 2009-08-12  Bruno Haible  <bruno@clisp.org>
28101
28102         Ensure that optarg etc. get declared by <unistd.h>.
28103         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
28104         AC_USE_SYSTEM_EXTENSIONS.
28105         * modules/getopt (Depends-on): Add 'extensions'.
28106
28107 2009-08-12  Bruno Haible  <bruno@clisp.org>
28108
28109         Avoid test link errors.
28110         * modules/pipe-filter-ii-tests (Makefile.am): Define
28111         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
28112         * modules/pipe-filter-gi-tests (Makefile.am): Define
28113         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
28114         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28115
28116 2009-08-12  Bruno Haible  <bruno@clisp.org>
28117
28118         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
28119         gl_GETOPT_SUBSTITUTE before.
28120         (gl_GETOPT): Use it.
28121         * m4/argp.m4 (gl_ARGP): Update.
28122         Reported by Sergey Poznyakoff.
28123
28124         * m4/getopt.m4: Reorder macros.
28125         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
28126         (gl_GETOPT_SUBSTITUTE): Remove macro.
28127
28128 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28129
28130         Minor improvement in gitlog-to-changelog
28131
28132         * build-aux/gitlog-to-changelog: New option `--format' makes
28133         output format string configurable.
28134
28135 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28136
28137         Optimize exclude: use hash tables for non-wildcard patterns.
28138
28139         * lib/exclude.c: Include hash.h and mbuiter.h
28140         (struct exclude_pattern, exclude_segment): New data types.
28141         (struct exclude): Rewrite.
28142         (fnmatch_pattern_has_wildcards): New function.
28143         (new_exclude_segment, free_exclude_segment): New functions.
28144         (excluded_file_pattern_p, excluded_file_name_p): New functions.
28145         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
28146         * lib/exclude.h (is_fnmatch_pattern): New prototype.
28147         * modules/exclude: Depend on hash and mbuiter.
28148
28149         * modules/exclude-tests: New file.
28150         * tests/test-exclude.c: New file.
28151         * tests/test-exclude1.sh: New file.
28152         * tests/test-exclude2.sh: New file.
28153         * tests/test-exclude3.sh: New file.
28154         * tests/test-exclude4.sh: New file.
28155         * tests/test-exclude5.sh: New file.
28156         * tests/test-exclude6.sh: New file.
28157         * tests/test-exclude7.sh: New file.
28158
28159 2009-08-12  Bruno Haible  <bruno@clisp.org>
28160
28161         Ensure that getopt() gets declared by <unistd.h>.
28162         * lib/unistd.in.h: Conditionally include getopt.h.
28163         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
28164         Set GNULIB_UNISTD_H_GETOPT.
28165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28166         GNULIB_UNISTD_H_GETOPT.
28167         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
28168
28169 2009-08-12  Bruno Haible  <bruno@clisp.org>
28170
28171         Clarify logic.
28172         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
28173         gl_replace_getopt instead of GETOPT_H.
28174
28175 2009-08-12  Bruno Haible  <bruno@clisp.org>
28176
28177         * m4/getopt.m4: Add comments.
28178
28179 2009-08-12  Bruno Haible  <bruno@clisp.org>
28180
28181         Disable multithread support by default on Cygwin 1.5.x.
28182         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
28183         set gl_use_threads=no if not specified otherwise.
28184
28185 2009-08-11  Bruno Haible  <bruno@clisp.org>
28186
28187         Avoid compilation error on NetBSD 5.0.
28188         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
28189         * tests/test-stdio.c: Likewise.
28190         * tests/test-stdlib.c: Likewise.
28191         * tests/test-string.c: Likewise.
28192         * tests/test-unistd.c: Likewise.
28193         Reported by Greg Troxel <gdt@ir.bbn.com>
28194         at <https://savannah.gnu.org/support/?106973>.
28195
28196 2009-08-11  Bruno Haible  <bruno@clisp.org>
28197
28198         * modules/dup2-tests (Depends-on): Remove close.
28199
28200         Undo 2009-07-19 commit.
28201         * modules/acl-tests (Depends-on): Remove close.
28202         * modules/binary-io-tests (Depends-on): Likewise.
28203         * modules/closein-tests (Depends-on): Likewise.
28204         * modules/flock-tests (Depends-on): Likewise.
28205         * modules/fsync-tests (Depends-on): Likewise.
28206         * modules/lseek-tests (Depends-on): Likewise.
28207         * modules/pipe-tests (Depends-on): Likewise.
28208         * modules/posix_spawn-tests (Depends-on): Likewise.
28209         * modules/posix_spawnp-tests (Depends-on): Likewise.
28210         * modules/stat-time-tests (Depends-on): Likewise.
28211         * modules/yesno-tests (Depends-on): Likewise.
28212
28213 2009-08-10  Bruno Haible  <bruno@clisp.org>
28214
28215         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
28216
28217 2009-08-10  Bruno Haible  <bruno@clisp.org>
28218
28219         Fix a gcc warning.
28220         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
28221
28222 2009-08-10  Bruno Haible  <bruno@clisp.org>
28223
28224         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
28225         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
28226         not only the first time.
28227         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
28228         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
28229         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
28230         is 1, not only the the first time.
28231
28232 2009-08-10  Bruno Haible  <bruno@clisp.org>
28233
28234         Make it possible to use module 'gethostname' without module 'close'.
28235         * lib/unistd.in.h (close): Evoke a link error only if
28236         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28238         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28239         * modules/unistd (Makefile.am): Substitute
28240         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28241         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
28242         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28243         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28244         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28245         * modules/sys_ioctl (Makefile.am): Substitute
28246         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28247         * modules/socket (configure.ac): On native Windows, set
28248         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
28249         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28250         Reported by Sam Steingold <sds@gnu.org>.
28251
28252 2009-08-10  Bruno Haible  <bruno@clisp.org>
28253
28254         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
28255         * modules/ioctl (configure.ac): Likewise.
28256
28257 2009-08-10  Bruno Haible  <bruno@clisp.org>
28258
28259         Avoid collision between gnulib wrapper and libintl wrapper.
28260         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
28261         already defined in intl/printf.c.
28262         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
28263         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
28264
28265 2009-08-09  Bruno Haible  <bruno@clisp.org>
28266
28267         Make <sys/select.h> really self-contained, also on Solaris 10.
28268         * lib/sys_select.in.h: Include <string.h>.
28269         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
28270         Solaris 10 problem.
28271         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
28272         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
28273         Reported by Jim Meyering.
28274
28275 2009-08-09  Bruno Haible  <bruno@clisp.org>
28276
28277         Avoid warnings from 'aclocal' that are due to a use of macro name
28278         AM_XGETTEXT_OPTION that is not defined in automake.
28279         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
28280         automake.
28281         * modules/error (configure.ac): Likewise.
28282         * modules/propername (configure.ac): Likewise.
28283         * modules/vasprintf (configure.ac): Likewise.
28284         * modules/verror (configure.ac): Likewise.
28285         * modules/xprintf (configure.ac): Likewise.
28286         * modules/xvasprintf (configure.ac): Likewise.
28287
28288 2009-08-08  Bruno Haible  <bruno@clisp.org>
28289
28290         Avoid compilation error in C++ mode.
28291         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
28292         Reported by Sam Steingold <sds@gnu.org>.
28293
28294 2009-08-08  Bruno Haible  <bruno@clisp.org>
28295
28296         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
28297         for the various Unix platforms.
28298         * doc/posix-headers/limits.texi: Update platforms list regarding
28299         HOST_NAME_MAX.
28300         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28301
28302 2009-08-07  Jim Meyering  <meyering@redhat.com>
28303
28304         selinux-at: fix typo in a comment
28305         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
28306         Spotted by Paolo Bonzini.
28307
28308         selinux-at: remove redundant m4 code, add documentation
28309         * modules/selinux-at (configure.ac): Remove redundant code.
28310         LIB_SELINUX is already set via the dependent module, selinux-h.
28311         (Include): Add quotes around selinux-at.h.
28312         * lib/selinux-at.h: Add documentation.
28313         Reported by Bruno Haible in
28314         http://marc.info/?l=gnulib-bug&m=124958988300749
28315
28316 2009-08-07  Bruno Haible  <bruno@clisp.org>
28317
28318         Avoid link error on MacOS X 10.3 and 10.4.
28319         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
28320         on non-ELF systems.
28321         * lib/argp-pv.c (argp_program_version): Likewise.
28322         Reported by Simon Josefsson.
28323
28324 2009-08-07  Simon Josefsson  <simon@josefsson.org>
28325
28326         * tests/test-version-etc.sh: Use $EXEEXT.
28327
28328 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
28329
28330         update-copyright: update documentation to point to maint.mk
28331         * build-aux/update-copyright: Here.
28332
28333 2009-08-06  Jim Meyering  <meyering@redhat.com>
28334
28335         maint.mk: support update-copyright-local
28336         * top/maint.mk (update-copyright-local): Define place-holder.
28337         (update-copyright): Depend on $(update-copyright-local).
28338
28339 2009-08-06  Jim Meyering  <meyering@redhat.com>
28340
28341         selinux-at: new module
28342         Initially written for coreutils, this module will soon be
28343         used by findutils, too.
28344         * MODULES.html.sh [Misc]: Add selinux-at.
28345         * lib/selinux-at.h: New file, from coreutils.
28346         * lib/selinux-at.c: Likewise.
28347         * modules/selinux-at: Likewise.
28348         (License): Change from LGPL to GPL, since it depends
28349         on the GPL'd openat module.
28350
28351         doc: update README
28352         * README: Remove references to cogito.
28353         Remove cvs-repo-updating instructions from 2007.
28354         Don't imply that CVS is better if you have limited disk space.
28355
28356 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28357
28358         update-copyright: support C-style comments
28359         * build-aux/update-copyright: Implement and document.
28360         * tests/test-update-copyright.sh: Test.
28361
28362 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28363
28364         update-copyright: support omitted "(C)"
28365         * build-aux/update-copyright: Implement and document.  Also,
28366         allow variable whitespace before "(C)".
28367         * tests/test-update-copyright.sh: Test.
28368
28369 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28370
28371         update-copyright: don't trip on non-FSF copyright statements
28372         * build-aux/update-copyright: Fix so that the first correctly
28373         formatted FSF copyright statement is recognized no matter what
28374         appears before it.  Update documentation.
28375         * tests/test-update-copyright.sh: Test that.
28376
28377 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28378
28379         update-copyright: clean up code a little
28380         * build-aux/update-copyright: Append "_re" to the name of any
28381         variable holding a regular expression.
28382         Replace "old" and "new" with "stmt" in variable names.
28383         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
28384         handled correctly.
28385         Format code more consistently.
28386
28387 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28388
28389         update-copyright-tests: improve portability
28390         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
28391         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
28392
28393 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28394
28395         update-copyright: support @copyright{} and &copy;
28396         * build-aux/update-copyright: Implement and document.
28397         * tests/test-update-copyright.sh: Test.
28398
28399 2009-08-04  Jim Meyering  <meyering@redhat.com>
28400
28401         update-copyright-tests: correctly test EOL=\r\n handling
28402         * tests/test-update-copyright.sh: Put \r at the end of some lines
28403         for the dos-eol tests.  Based on a patch by Joel E. Denny.
28404
28405         maint.mk: make update-copyright exclusion list more configurable
28406         * top/maint.mk (update-copyright): Default to excluding COPYING,
28407         but allow an override, in case someone does want to update that file.
28408
28409         maint.mk: don't update copyright date in COPYING
28410         * top/maint.mk (update-copyright): Exclude COPYING.
28411
28412         maint.mk: add a copyright-updating rule
28413         * top/maint.mk (update-copyright): New rule.
28414         Derived from coreutils/Makefile.am.
28415
28416         update-copyright: rename some variables
28417         * build-aux/update-copyright: Rename a few variables for clarity.
28418         Tweak syntax.  List Joel E. Denny as coauthor.
28419
28420 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28421
28422         update-copyright: fix bug for 2-digit last year and add tests
28423         * build-aux/update-copyright: Fix bug.
28424         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
28425         specified.
28426         * modules/update-copyright-tests: New
28427         * tests/test-update-copyright.sh: New.
28428
28429 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28430
28431         update-copyright: handle leading tabs in line prefix
28432         * build-aux/update-copyright: Count leading tabs as 8 spaces
28433         when computing margin.  This helps with the formatting of
28434         ChangeLogs, for example.
28435         Fix documentation a little.
28436
28437 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28438
28439         update-copyright: support EOL=\r\n
28440         * build-aux/update-copyright: Implement that.
28441
28442 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28443
28444         update-copyright: automatically format copyright statements
28445         * build-aux/update-copyright: Implement that.
28446         Also, be a little more predictable and safer by always failing
28447         when the full copyright format is not perfectly recognized as an
28448         unbroken whole.  Discussed at
28449         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
28450         Rewrite documentation.
28451
28452 2009-08-03  Bruno Haible  <bruno@clisp.org>
28453
28454         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
28455
28456 2009-08-02  Bruno Haible  <bruno@clisp.org>
28457
28458         Tests for module 'uname'.
28459         * modules/uname-tests: New file.
28460         * tests/test-uname.c: New file.
28461
28462         New module 'uname'.
28463         * lib/uname.c: New file.
28464         * m4/uname.m4: New file.
28465         * modules/uname: New file.
28466         * doc/posix-functions/uname.texi: Mention the new module.
28467
28468 2009-08-02  Bruno Haible  <bruno@clisp.org>
28469
28470         Tests for module 'sys_utsname'.
28471         * modules/sys_utsname-tests: New file.
28472         * tests/test-sys_utsname.c: New file.
28473
28474         New module 'sys_utsname'.
28475         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
28476         * m4/sys_utsname_h.m4: New file.
28477         * modules/sys_utsname: New file.
28478         * doc/posix-headers/sys_utsname.texi: Mention the new module.
28479
28480 2009-08-02  Bruno Haible  <bruno@clisp.org>
28481
28482         Implicitly initialize the sockets library.
28483         * lib/gethostname.c: Include sockets.h.
28484         (rpl_gethostname): Invoke gl_sockets_startup.
28485         * lib/socket.c: Include sockets.h.
28486         (rpl_socket): Invoke gl_sockets_startup.
28487         * modules/gethostname (Depends-on): Add sockets.
28488         * modules/socket (Depends-on): Likewise.
28489         * tests/test-poll.c: Don't include sockets.h.
28490         (main): Don't invoke gl_sockets_startup.
28491         * tests/test-select.c: Don't include sockets.h.
28492         (main): Don't invoke gl_sockets_startup.
28493
28494 2009-08-02  Bruno Haible  <bruno@clisp.org>
28495
28496         Allow multiple calls to gl_sockets_startup.
28497         * lib/sockets.c (initialized_sockets_version): New variable.
28498         (gl_sockets_startup): Do nothing if already called for this or a higher
28499         version.
28500         (gl_sockets_cleanup): Reset initialized_sockets_version.
28501
28502 2009-08-03  Simon Josefsson  <simon@josefsson.org>
28503
28504         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
28505         different project/version.
28506
28507 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
28508             Bruno Haible  <bruno@clisp.org>
28509
28510         Tests for module 'pipe-filter-gi'.
28511         * modules/pipe-filter-gi-tests: New file.
28512         * tests/test-pipe-filter-gi1.sh: New file.
28513         * tests/test-pipe-filter-gi1.c: New file.
28514         * tests/test-pipe-filter-gi2.sh: New file.
28515         * tests/test-pipe-filter-gi2-main.c: New file.
28516         * tests/test-pipe-filter-gi2-child.c: New file.
28517
28518         New module 'pipe-filter-gi'.
28519         * lib/pipe-filter-gi.c: New file.
28520         * modules/pipe-filter-gi: New file.
28521
28522 2009-08-02  Bruno Haible  <bruno@clisp.org>
28523             Paolo Bonzini  <bonzini@gnu.org>
28524
28525         Tests for module 'pipe-filter-ii'.
28526         * modules/pipe-filter-ii-tests: New file.
28527         * tests/test-pipe-filter-ii1.sh: New file.
28528         * tests/test-pipe-filter-ii1.c: New file.
28529         * tests/test-pipe-filter-ii2.sh: New file.
28530         * tests/test-pipe-filter-ii2-main.c: New file.
28531         * tests/test-pipe-filter-ii2-child.c: New file.
28532
28533         New module 'pipe-filter-ii'.
28534         * lib/pipe-filter.h: New file.
28535         * lib/pipe-filter-ii.c: New file.
28536         * lib/pipe-filter-aux.h: New file.
28537         * modules/pipe-filter-ii: New file.
28538
28539 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28540
28541         * lib/gc-libgcrypt.c: Change copyright to FSF.
28542         * lib/gc-gnulib.c: Likewise.
28543
28544 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
28545
28546         * lib/gethostname.c: Include limits.h.
28547
28548 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28549             Bruno Haible  <bruno@clisp.org>
28550
28551         Ensure HOST_NAME_MAX as part of the gethostname module.
28552         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
28553         define also HOST_NAME_MAX.
28554         * tests/test-gethostname.c: Include <limits.h>.
28555         (main): Check also HOST_NAME_MAX.
28556         * doc/posix-headers/limits.texi: Document the mingw problem.
28557
28558 2009-08-02  Bruno Haible  <bruno@clisp.org>
28559
28560         * lib/gethostname.c (gethostname): Fix handling of large len argument.
28561         Add comments.
28562
28563 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28564
28565         * lib/gethostname.c: Add Windows wrapper.
28566         * m4/gethostname.m4: Look for gethostname in -lws2_32.
28567         * modules/gethostname: Depend on sys_socket & errno, for also
28568         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
28569         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
28570
28571 2009-07-31  Jim Meyering  <meyering@redhat.com>
28572
28573         getloadavg: fix symbol name in comment
28574         * lib/getloadavg.c: Correct a typo I introduced when adding
28575         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
28576         Matt Kraai spotted the problem.
28577
28578 2009-07-29  Matt Kraai  <mkraai@beckman.com>
28579
28580         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
28581         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
28582         code also if ! defined N_NAME_POINTER.
28583         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
28584         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
28585         but the n_name member is a 12-byte array.
28586
28587 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
28588
28589         update-copyright: generalize comment handling
28590         * build-aux/update-copyright: Handle copyright statements
28591         within more comment styles.
28592         Document usage.
28593         Report any file with an external copyright holder or parse failure.
28594
28595 2009-07-29  Jim Meyering  <meyering@redhat.com>
28596
28597         mktime: correct setting of REPLACE_MKTIME
28598         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
28599
28600         update-copyright: new module
28601         * modules/update-copyright: New file.
28602         * build-aux/update-copyright: New file.
28603         * MODULES.html.sh (maint+release support): Add update-copyright.
28604
28605 2009-07-27  Bruno Haible  <bruno@clisp.org>
28606
28607         Fix compilation error when <ctime> is used and mktime is replaced.
28608         * lib/time.in.h (mktime): New declaration.
28609         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
28610         REPLACE_MKTIME instead of defining mktime in config.h.
28611         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
28612         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
28613         Reported by Ross McFarland <rwmcfa1@neces.com>.
28614
28615 2009-07-27  Bruno Haible  <bruno@clisp.org>
28616
28617         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
28618         Reported by Matt Kraai <mkraai@beckman.com>.
28619
28620 2009-07-25  Jim Meyering  <meyering@redhat.com>
28621
28622         maint.mk: avoid warnings about missing files
28623         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
28624         diagnostic when .prev-version does not exist.
28625         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
28626         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
28627         nonexistent cfg.mk.
28628         Suggestions from Simon Josefsson.
28629
28630 2009-07-25  Bruno Haible  <bruno@clisp.org>
28631
28632         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
28633         defined as macros. Needed on QNX 6.4.1.
28634         Reported by Matt Kraai <mkraai@beckman.com>.
28635
28636 2009-07-23  Jim Meyering  <meyering@redhat.com>
28637
28638         maint.mk: invoke "make dist" with a working value of XZ_OPT
28639         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
28640
28641 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
28642
28643         Make fseeko.c compile on QNX.
28644         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
28645
28646 2009-07-22  Peter Simons  <simons@cryp.to>
28647
28648         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
28649         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
28650         * lib/md4.h: Likewise.
28651         * lib/md5.h: Likewise.
28652         * lib/sha1.h: Likewise.
28653         * lib/sha256.h: Likewise.
28654         * lib/sha512.h: Likewise.
28655
28656         tests-sha1: don't assign literal string to 'char *' variable
28657         * tests/test-sha1.c (main): Declare locals with "const" to match
28658         attributes of the right hand side.
28659
28660 2009-07-21  Eric Blake  <ebb9@byu.net>
28661
28662         dup2: fix more mingw problems
28663         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
28664         fd to itself.
28665         * doc/posix-functions/dup2.texi (dup2): Document the bug.
28666         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
28667         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
28668         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
28669         care of mingw bugs.
28670
28671 2009-07-21  Jim Meyering  <meyering@redhat.com>
28672
28673         vc-list-files: avoid failure when /bin/sh is dash
28674         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
28675         On some Debian based systems, /bin/sh is a symlink to dash, and running
28676         this command would omit the "/" following each 'tests' prefix:
28677           dash -x build-aux/vc-list-files -C . tests
28678         That is because bash and dash work differently:
28679           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
28680           bash ok
28681           dash odd
28682
28683 2009-07-21  Eric Blake  <ebb9@byu.net>
28684
28685         dup2-tests: test previous patch
28686         * modules/dup2-tests: New file.
28687         * tests/test-dup2.c: Likewise.
28688         * tests/test-open.c (main): Avoid unspecified behavior.
28689         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
28690         test.
28691
28692         dup2: work around mingw and cygwin 1.5 bug
28693         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
28694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28695         * modules/unistd (Makefile.am): Substitute it.
28696         * lib/unistd.in.h (dup2): Declare the replacement.
28697         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
28698         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
28699         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
28700         * modules/execute (Depends-on): Add dup2.
28701         * modules/fseterr (Depends-on): Likewise.
28702         * modules/pipe (Depends-on): Likewise.
28703         * modules/posix_spawn-internal (Depends-on): Likewise.
28704
28705 2009-07-21  Bruno Haible  <bruno@clisp.org>
28706
28707         * modules/.gitattributes: New file.
28708
28709 2009-07-20  Bruno Haible  <bruno@clisp.org>
28710
28711         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
28712         (main): Use it.
28713
28714 2009-07-20  Eric Blake  <ebb9@byu.net>
28715
28716         test-pipe: make a bit more robust.
28717         * tests/test-pipe.c (myerr): Allow error messages regardless of
28718         what we do to stderr.
28719         (test_pipe): Rearrange to avoid deadlock.
28720         (child_main): Try a larger read, to ensure we avoided deadlock.
28721         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
28722         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
28723         if misused.
28724
28725 2009-07-19  Jim Meyering  <meyering@redhat.com>
28726
28727         fts: avoid false-positive cycle-detection
28728         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
28729         for each new command line argument.
28730
28731 2009-07-19  Bruno Haible  <bruno@clisp.org>
28732
28733         Fix build error on mingw with the modules sys_select and unistd.
28734         * modules/acl-tests (Depends-on): Add close.
28735         * modules/binary-io-tests (Depends-on): Likewise.
28736         * modules/closein-tests (Depends-on): Likewise.
28737         * modules/flock-tests (Depends-on): Likewise.
28738         * modules/fsync-tests (Depends-on): Likewise.
28739         * modules/lseek-tests (Depends-on): Likewise.
28740         * modules/pipe-tests (Depends-on): Likewise.
28741         * modules/posix_spawn-tests (Depends-on): Likewise.
28742         * modules/posix_spawnp-tests (Depends-on): Likewise.
28743         * modules/stat-time-tests (Depends-on): Likewise.
28744         * modules/yesno-tests (Depends-on): Likewise.
28745
28746 2009-07-19  Bruno Haible  <bruno@clisp.org>
28747
28748         Unify conditionals.
28749         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
28750         macros, not at the compiler macros.
28751         * lib/pipe.c: Likewise.
28752         * lib/execute.c: Likewise.
28753         * lib/spawni.c: Likewise.
28754
28755 2009-07-19  Bruno Haible  <bruno@clisp.org>
28756
28757         Fix handling of closed stdin/stdout/stderr on mingw.
28758         * lib/w32spawn.h: Include unistd.h.
28759         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
28760         file descriptor with O_NOINHERIT flag.
28761         (fd_safer_noinherit): New function, based on fd-safer.c.
28762         (dup_safer_noinherit): New function, based on dup-safer.c.
28763         (undup_safer_noinherit): New function.
28764         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
28765         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
28766         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
28767         instead of fd_safer.
28768         * tests/test-pipe.c: Include <windows.h>.
28769         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
28770         result.
28771
28772         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
28773         from main.
28774         (test_pipe): Pass an extra argument for disambiguation.
28775         (main): Invoke parent_main or child_main.
28776
28777         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
28778         consistently.
28779
28780 2009-07-18  Eric Blake  <ebb9@byu.net>
28781
28782         test-pipe: fix mingw build
28783         * tests/test-pipe.c (main): Avoid fcntl on mingw.
28784
28785 2009-07-18  Bruno Haible  <bruno@clisp.org>
28786
28787         * modules/pipe-tests (Makefile.am): Fix typo.
28788
28789 2009-07-18  Eric Blake  <ebb9@byu.net>
28790
28791         error: fix mingw build
28792         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
28793         Reported by Bruno Haible.
28794
28795         error: avoid undefined use of stdout
28796         * lib/error.c (error, error_at_line): Check that fd 1 is open
28797         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
28798         is handling faults and the close_stdout module wants to report the
28799         detection of closed stdout as an error.
28800
28801 2009-07-17  Eric Blake  <ebb9@byu.net>
28802
28803         pipe: be robust in face of closed fds
28804         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
28805         should cause child to misbehave.
28806         * modules/pipe-tests: New module.
28807         * tests/test-pipe.c: New file.
28808         * tests/test-pipe.sh: New file.
28809         Reported by Akim Demaille.
28810
28811 2009-07-14  Bruno Haible  <bruno@clisp.org>
28812
28813         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
28814         Reported by anonymous kc.
28815
28816 2009-07-07  Jim Meyering  <meyering@redhat.com>
28817
28818         maint.mk: don't look for translatable strings in *.m4 or *.mk
28819         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
28820         when searching for translatable strings.
28821
28822 2009-07-05  Jim Meyering  <meyering@redhat.com>
28823
28824         remove superfluous parentheses in STREQ definition
28825         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
28826         * lib/getugroups.c (STREQ): Likewise.
28827         * lib/fnmatch.c (STREQ): Likewise.
28828         Spotted by Bruno Haible.
28829
28830 2009-07-04  Jim Meyering  <meyering@redhat.com>
28831
28832         argv-iter: new module
28833         * MODULES.html.sh: Add argv-iter.
28834         * lib/argv-iter.c, lib/argv-iter.h: New files.
28835         * modules/argv-iter: New file.
28836         * modules/argv-iter-tests: New file.
28837         * tests/test-argv-iter.c: Test it.
28838
28839 2009-07-04  Bruno Haible  <bruno@clisp.org>
28840
28841         Fix assertion.
28842         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
28843         contains more exact copies of a given entry than file2, leave the extra
28844         copies unpaired rather than aborting.
28845         Reported by Eric Blake.
28846
28847 2009-07-02  Bruno Haible  <bruno@clisp.org>
28848
28849         Speedup git-merge-changelog for git cherry-pick.
28850         * lib/git-merge-changelog.c (struct entries_mapping): New type.
28851         (entries_mapping_get): New function, extracted from compute_mapping.
28852         (entries_mapping_reverse_get): New function.
28853         (compute_mapping): Add a 'full' argument. Return the result in a
28854         'struct entries_mapping'.
28855         (main): Update. Access the mappings through entries_mapping_get.
28856         Reported by Eric Blake.
28857
28858 2009-07-02  Bruno Haible  <bruno@clisp.org>
28859
28860         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
28861         best_i.
28862
28863 2009-07-02  Bruno Haible  <bruno@clisp.org>
28864
28865         Speed up approximate search for matching ChangeLog entries.
28866         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
28867         argument. Call fstrcmp_bounded instead of fstrcmp.
28868         (compute_mapping, try_split_merged_entry, main): Update callers.
28869
28870 2009-07-02  Bruno Haible  <bruno@clisp.org>
28871
28872         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
28873
28874 2009-06-30  Bruno Haible  <bruno@clisp.org>
28875
28876         Reduce the number of uc_is_cased calls.
28877         * lib/unicase.h (casing_suffix_context_t): Add
28878         'first_char_except_ignorable' field.
28879         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
28880         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
28881         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
28882         Update initializer.
28883         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
28884         case-ignorable characters.
28885         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
28886         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
28887         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
28888         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
28889         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
28890
28891 2009-06-30  Bruno Haible  <bruno@clisp.org>
28892
28893         Tests for module 'unicase/ignorable'.
28894         * modules/unicase/ignorable-tests: New file.
28895         * tests/unicase/test-ignorable.c: New file, generated by
28896         gen-uni-tables.
28897
28898         Tests for module 'unicase/cased'.
28899         * modules/unicase/cased-tests: New file.
28900         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
28901         * tests/unicase/test-predicate-part1.h: New file, derived from
28902         tests/unictype/test-predicate-part1.h.
28903         * tests/unicase/test-predicate-part2.h: New file, same as
28904         tests/unictype/test-predicate-part2.h.
28905
28906         Fix evaluation of "Before C" condition of FINAL_SIGMA.
28907         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
28908         (output_casing_properties): New function.
28909         (main): Call it.
28910         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
28911         * lib/unicase/cased.c: Include unictype/bitmap.h.
28912         (uc_is_cased): Define through a bitmap lookup.
28913         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
28914         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
28915         (uc_is_case_ignorable): Define through a bitmap lookup.
28916         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
28917         lib/unictype/bitmap.h.
28918         (Depends-on): Add inline. Clean up.
28919         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
28920         lib/unictype/bitmap.h.
28921         (Depends-on): Add inline. Clean up.
28922         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
28923         recognition.
28924         * tests/unicase/test-u16-tolower.c (main): Likewise.
28925         * tests/unicase/test-u32-tolower.c (main): Likewise.
28926
28927 2009-06-30  Bruno Haible  <bruno@clisp.org>
28928
28929         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
28930         * lib/unicase/u16-casemap.c: Likewise.
28931         * lib/unicase/u32-casemap.c: Likewise.
28932
28933 2009-06-29  Bruno Haible  <bruno@clisp.org>
28934
28935         Define u32_casefold as a wrapper around u32_ct_casefold.
28936         * lib/unicase/u32-casefold.c: Update.
28937         * modules/unicase/u32-casefold (Depends-on): Add
28938         unicase/u32-ct-casefold, unicase/empty-prefix-context,
28939         unicase/empty-suffix-context. Clean up.
28940
28941         Define u16_casefold as a wrapper around u16_ct_casefold.
28942         * lib/unicase/u16-casefold.c: Update.
28943         * modules/unicase/u16-casefold (Depends-on): Add
28944         unicase/u16-ct-casefold, unicase/empty-prefix-context,
28945         unicase/empty-suffix-context. Clean up.
28946
28947         Define u8_casefold as a wrapper around u8_ct_casefold.
28948         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
28949         * lib/unicase/u8-casefold.c: Update.
28950         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
28951         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28952
28953         Define u32_totitle as a wrapper around u32_ct_totitle.
28954         * lib/unicase/u32-totitle.c: Update.
28955         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
28956         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28957
28958         Define u16_totitle as a wrapper around u16_ct_totitle.
28959         * lib/unicase/u16-totitle.c: Update.
28960         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
28961         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28962
28963         Define u8_totitle as a wrapper around u8_ct_totitle.
28964         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
28965         functions.
28966         (FUNC): Delegate to U_CT_TOTITLE.
28967         * lib/unicase/u8-totitle.c: Update.
28968         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
28969         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28970
28971         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28972         invocation.
28973         * modules/unicase/u32-tolower (Depends-on): Add
28974         unicase/empty-prefix-context, unicase/empty-suffix-context.
28975
28976         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28977         invocation.
28978         * modules/unicase/u16-tolower (Depends-on): Add
28979         unicase/empty-prefix-context, unicase/empty-suffix-context.
28980
28981         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28982         * modules/unicase/u8-tolower (Depends-on): Add
28983         unicase/empty-prefix-context, unicase/empty-suffix-context.
28984
28985         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28986         invocation.
28987         * modules/unicase/u32-toupper (Depends-on): Add
28988         unicase/empty-prefix-context, unicase/empty-suffix-context.
28989
28990         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28991         invocation.
28992         * modules/unicase/u16-toupper (Depends-on): Add
28993         unicase/empty-prefix-context, unicase/empty-suffix-context.
28994
28995         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28996         * modules/unicase/u8-toupper (Depends-on): Add
28997         unicase/empty-prefix-context, unicase/empty-suffix-context.
28998
28999         New module 'unicase/u32-ct-casefold'.
29000         * lib/unicase/u32-ct-casefold.c: New file.
29001         * modules/unicase/u32-ct-casefold: New file.
29002
29003         New module 'unicase/u16-ct-casefold'.
29004         * lib/unicase/u16-ct-casefold.c: New file.
29005         * modules/unicase/u16-ct-casefold: New file.
29006
29007         New module 'unicase/u8-ct-casefold'.
29008         * lib/unicase/u8-ct-casefold.c: New file.
29009         * lib/unicase/u-ct-casefold.h: New file, derived from
29010         lib/unicase/u-casefold.h.
29011         * modules/unicase/u8-ct-casefold: New file.
29012
29013         New module 'unicase/u32-ct-totitle'.
29014         * lib/unicase/u32-ct-totitle.c: New file.
29015         * modules/unicase/u32-ct-totitle: New file.
29016
29017         New module 'unicase/u16-ct-totitle'.
29018         * lib/unicase/u16-ct-totitle.c: New file.
29019         * modules/unicase/u16-ct-totitle: New file.
29020
29021         New module 'unicase/u8-ct-totitle'.
29022         * lib/unicase/u8-ct-totitle.c: New file.
29023         * lib/unicase/u-ct-totitle.h: New file, derived from
29024         lib/unicase/u-totitle.h.
29025         * modules/unicase/u8-ct-totitle: New file.
29026
29027         New module 'unicase/u32-ct-tolower'.
29028         * lib/unicase/u32-ct-tolower.c: New file.
29029         * modules/unicase/u32-ct-tolower: New file.
29030
29031         New module 'unicase/u16-ct-tolower'.
29032         * lib/unicase/u16-ct-tolower.c: New file.
29033         * modules/unicase/u16-ct-tolower: New file.
29034
29035         New module 'unicase/u8-ct-tolower'.
29036         * lib/unicase/u8-ct-tolower.c: New file.
29037         * modules/unicase/u8-ct-tolower: New file.
29038
29039         New module 'unicase/u32-ct-toupper'.
29040         * lib/unicase/u32-ct-toupper.c: New file.
29041         * modules/unicase/u32-ct-toupper: New file.
29042
29043         New module 'unicase/u16-ct-toupper'.
29044         * lib/unicase/u16-ct-toupper.c: New file.
29045         * modules/unicase/u16-ct-toupper: New file.
29046
29047         New module 'unicase/u8-ct-toupper'.
29048         * lib/unicase/u8-ct-toupper.c: New file.
29049         * modules/unicase/u8-ct-toupper: New file.
29050
29051         Add context arguments to u*_casemap functions.
29052         * lib/unicase/unicasemap.h: Include unicase.h.
29053         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
29054         suffix_context arguments.
29055         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
29056         functions.
29057         (FUNC): Add prefix_context and suffix_context arguments. Use
29058         uc_is_cased and uc_is_case_ignorable.
29059         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
29060         * lib/unicase/u16-casemap.c: Likewise.
29061         * lib/unicase/u32-casemap.c: Likewise.
29062         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
29063         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29064         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
29065         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29066         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
29067         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29068
29069         New module 'unicase/u32-suffix-context'.
29070         * lib/unicase/u32-suffix-context.c: New file.
29071         * modules/unicase/u32-suffix-context: New file.
29072
29073         New module 'unicase/u16-suffix-context'.
29074         * lib/unicase/u16-suffix-context.c: New file.
29075         * modules/unicase/u16-suffix-context: New file.
29076
29077         New module 'unicase/u8-suffix-context'.
29078         * lib/unicase/u8-suffix-context.c: New file.
29079         * lib/unicase/u-suffix-context.h: New file.
29080         * modules/unicase/u8-suffix-context: New file.
29081
29082         New module 'unicase/empty-suffix-context'.
29083         * lib/unicase/empty-suffix-context.c: New file.
29084         * modules/unicase/empty-suffix-context: New file.
29085
29086         New module 'unicase/u32-prefix-context'.
29087         * lib/unicase/u32-prefix-context.c: New file.
29088         * modules/unicase/u32-prefix-context: New file.
29089
29090         New module 'unicase/u16-prefix-context'.
29091         * lib/unicase/u16-prefix-context.c: New file.
29092         * modules/unicase/u16-prefix-context: New file.
29093
29094         New module 'unicase/u8-prefix-context'.
29095         * lib/unicase/u8-prefix-context.c: New file.
29096         * lib/unicase/u-prefix-context.h: New file.
29097         * lib/unicase/context.h: New file.
29098         * modules/unicase/u8-prefix-context: New file.
29099
29100         New module 'unicase/empty-prefix-context'.
29101         * lib/unicase/empty-prefix-context.c: New file.
29102         * modules/unicase/empty-prefix-context: New file.
29103
29104         New module 'unicase/ignorable'.
29105         * lib/unicase/ignorable.c: New file.
29106         * modules/unicase/ignorable: New file.
29107
29108         New module 'unicase/cased'.
29109         * lib/unicase/caseprop.h: New file.
29110         * lib/unicase/cased.c: New file.
29111         * modules/unicase/cased: New file.
29112
29113         New functions for case mapping of substrings.
29114         * lib/unicase.h (casing_prefix_context_t): New type.
29115         (unicase_empty_prefix_context): New variable.
29116         (u8_casing_prefix_context, u16_casing_prefix_context,
29117         u32_casing_prefix_context, u8_casing_prefixes_context,
29118         u16_casing_prefixes_context, u32_casing_prefixes_context): New
29119         declarations.
29120         (casing_suffix_context_t): New type.
29121         (unicase_empty_suffix_context): New variable.
29122         (u8_casing_suffix_context, u16_casing_suffix_context,
29123         u32_casing_suffix_context, u8_casing_suffixes_context,
29124         u16_casing_suffixes_context, u32_casing_suffixes_context,
29125         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
29126         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
29127         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
29128         declarations.
29129
29130 2009-06-28  Jim Meyering  <meyering@redhat.com>
29131
29132         boostrap: indent only with spaces
29133         * build-aux/bootstrap: Indent only with spaces, never TABs.
29134
29135         bootstrap: split long lines
29136         * build-aux/bootstrap: Keep line length < 80.
29137
29138         bootstrap: sync from coreutils
29139         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
29140         just as autoreconf does.  Verify a list of prerequisite
29141         package-name,version-number pairs if defined in bootstrap.conf.
29142         Refer to README-prereq, if prerequisites are not satisfied.
29143
29144 2009-06-27  Eric Blake  <ebb9@byu.net>
29145
29146         tests: add test for bogus NULL definition
29147         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
29148         * tests/test-stdlib.c: Likewise.
29149         * tests/test-string.c: Likewise.
29150         * tests/test-locale.c: Likewise.
29151         * tests/test-unistd.c: Likewise.
29152         * modules/stdio-tests (Depends-on): Add verify.
29153         * modules/stdlib-tests (Depends-on): Likewise.
29154         * modules/string-tests (Depends-on): Likewise.
29155         * modules/locale-tests (Depends-on): Likewise.
29156         * modules/unistd-tests (Depends-on): Likewise.
29157
29158 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
29159
29160         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
29161         self-explaining comment.
29162         * m4/selinux-selinux-h: Update serial.
29163         (gl_LIBSELINUX): New macro, adding a warning for missing development
29164         packages to code extracted from...
29165         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
29166         Add warning for missing development packages here, too.
29167
29168 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
29169
29170         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
29171
29172 2009-06-25  Eric Blake  <ebb9@byu.net>
29173
29174         version-etc: fix regression
29175         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
29176         gcc.
29177         (version_etc): Use it, to catch bugs with trailing NULL.
29178         * lib/version-etc.c (version_etc_arn): Delete unused argument.
29179         (version_etc_va): Fix logic bug.
29180         * modules/version-etc-tests: Add test.
29181         * tests/test-version-etc.c: New file.
29182         * tests/test-version-etc.sh: Likewise.
29183
29184 2009-06-25  Sam Steingold  <sds@gnu.org>
29185
29186         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
29187         mbtowc declaration.
29188
29189 2009-06-25  Eric Blake  <ebb9@byu.net>
29190
29191         fpurge: migrate into <stdio.h>
29192         * lib/fpurge.h: Delete...
29193         * lib/stdio.in.h (fpurge): ...and declare here, instead.
29194         * lib/fpurge.c (fpurge): Change declaring header.
29195         * modules/fpurge (Files): Drop deleted file.
29196         (Depends-on): Add stdio.
29197         (configure.ac): Set witness.
29198         * modules/stdio (Makefile.am): Support fpurge macros.
29199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29200         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
29201         * lib/fflush.c: Update client.
29202         * tests/test-fpurge.c: Likewise.
29203         * NEWS: Mention the change.
29204
29205 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29206
29207         * lib/argp-version-etc.c (program_authors): Add const
29208         qualifier.
29209         * lib/version-etc.c: Fix typos in the comments.
29210         * modules/argp-version-etc: Depends on version-etc.
29211
29212 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29213
29214         argp-version-etc: new module.
29215
29216         * lib/argp-version-etc.c: New file.
29217         * lib/argp-version-etc.h: New file.
29218         * modules/argp-version-etc: New file.
29219         * modules/argp-version-etc-tests: New file.
29220         * tests/test-argp-version-etc.c: New test.
29221         * tests/test-argp-version-etc-1.sh: New test.
29222
29223 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29224
29225         Provide additional interfaces and documentation for version-etc
29226         module.
29227
29228         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
29229         interfaces.
29230         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
29231         prototypes.
29232
29233 2009-06-24  Bruno Haible  <bruno@clisp.org>
29234
29235         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
29236         HAVE_LIB${NAME} macro.
29237         Reported by Sam Steingold <sds@gnu.org>.
29238
29239 2009-06-23  Simon Josefsson  <simon@josefsson.org>
29240
29241         * modules/hash-tests (test_hash_LDADD): Link to libintl when
29242         needed.
29243
29244 2009-06-21  Bruno Haible  <bruno@clisp.org>
29245
29246         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
29247         work.
29248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
29249         together with LIB${NAME}, LTLIB${NAME}.
29250         Reported by Sam Steingold <sds@gnu.org>.
29251
29252 2009-06-20  Jim Meyering  <meyering@redhat.com>
29253
29254         tests: make sc_require_test_exit_idiom more generic
29255         * top/maint.mk (Exit_witness_file): New overridable variable.
29256         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
29257         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
29258
29259 2009-06-19  Jim Meyering  <meyering@redhat.com>
29260
29261         hash: reverse order of src/dst parameters in an internal interface
29262         * lib/hash.c (transfer_entries): Reverse order of parameters to
29263         put DST before SRC.  Adjust callers.
29264
29265         tests: test-hash: avoid wholesale duplication
29266         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
29267         Instead, use a loop and add a single conditional.
29268
29269         tests: test-hash: allow seed selection via a command line argument
29270         * tests/test-hash.c (get_seed): New function.
29271         (main): Use it.
29272
29273 2009-06-19  Eric Blake  <ebb9@byu.net>
29274
29275         hash: avoid memory leak on allocation failure
29276         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
29277         failure.  Factor repeated algorithm...
29278         (transfer_entries): ...into new helper routine.
29279         (hash_delete): React to hash_rehash return value.
29280
29281         hash: reduce memory pressure in hash_rehash no-op case
29282         * lib/hash.c (next_prime): Avoid overflow.
29283         (hash_initialize): Factor bucket size computation...
29284         (compute_bucket_size): ...into new helper function.
29285         (hash_rehash): Use new function and open coding to reduce memory
29286         pressure, and avoid a memory leak in USE_OBSTACK code.
29287         Reported by Jim Meyering.
29288
29289 2009-06-18  Eric Blake  <ebb9@byu.net>
29290
29291         hash: make rotation more obvious
29292         * modules/hash (Depends-on): Add bitrotate and stdint.
29293         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
29294         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
29295         (SIZE_MAX): Rely on headers for definition.
29296         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
29297         (raw_hasher): Use rotr_sz.
29298         Suggested by Jim Meyering.
29299
29300         hash: fix memory leak in last patch
29301         * lib/hash.c (hash_rehash): Avoid memory leak.
29302
29303         hash: avoid no-op rehashing
29304         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
29305
29306         hash: provide default callback functions
29307         * lib/hash.c (raw_hasher, raw_comparator): New functions.
29308         (hash_initialize): Use them as defaults.
29309         * tests/test-hash.c (main): Test this.
29310
29311         hash: minor optimization
29312         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
29313         when possible.
29314         (hash_initialize): Document this promise.
29315         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
29316         * tests/test-hash.c (hash_compare_strings): Test this.
29317
29318 2009-06-18  Bruno Haible  <bruno@clisp.org>
29319
29320         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
29321         going to be replaced anyway.
29322
29323 2009-06-18  Bruno Haible  <bruno@clisp.org>
29324
29325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
29326         in one place.
29327         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
29328         be replaced anyway.
29329
29330 2009-06-18  Eric Blake  <ebb9@byu.net>
29331
29332         hash: check for resize before insertion
29333         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
29334         threshold before insertion, so that a pathological hash_rehash
29335         that fills every bucket can still trigger another rehash.
29336
29337 2009-06-18  Jim Meyering  <meyering@redhat.com>
29338
29339         hash-tests: add a loop around the small tests
29340         * tests/test-hash.c (main): Repeat small tests with selected
29341         small initial table sizes.
29342
29343 2009-06-17  Eric Blake  <ebb9@byu.net>
29344
29345         hash: minor cleanups
29346         * lib/hash.h (hash_entry): Make opaque, by moving...
29347         * lib/hash.c (hash_entry): ...here.
29348         (hash_insert): Clarify restrictions on what can be inserted.
29349         (hash_get_next): Clarify when it is safe to remove an element
29350         during traversal.
29351         (check_tuning): Skip verification when tuning is known safe.
29352         (hash_initialize): Clarify restrictions on tuning.
29353
29354 2009-06-17  Jim Meyering  <jim@meyering.net>
29355         and Eric Blake  <ebb9@byu.net>
29356
29357         hash-tests: new module
29358         * modules/hash-tests: New file.
29359         * tests/test-hash.c: New file.
29360
29361 2009-06-17  Eric Blake  <ebb9@byu.net>
29362
29363         strstr-simple: document new module
29364         * MODULES.html.sh: Document new module.
29365
29366         strstr, strcasestr: replace on platforms with broken memchr
29367         * modules/strstr: Split into...
29368         * modules/strstr-simple: ...new module that does not care about
29369         performance, but does care about glibc bug.
29370         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
29371         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
29372         if platform memchr is broken, per Debian bug 521737.
29373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
29374         memchr.
29375         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
29376         * doc/posix-functions/strstr.texi (strstr): Document the fix.
29377         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29378         * modules/mountlist (Depends-on): Add strstr-simple.
29379         * modules/gen-uni-tables (Depends-on): Likewise.
29380         * modules/argz (Depends-on): Add strstr.
29381
29382 2009-06-17  Bruno Haible  <bruno@clisp.org>
29383
29384         * modules/posix_spawn-internal (Depends-on): Add errno.
29385
29386 2009-06-17  Bruno Haible  <bruno@clisp.org>
29387
29388         Define missing ESTALE on Interix 3.5.
29389         * lib/errno.in.h (ESTALE): Assign a value if missing.
29390         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
29391         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
29392         missing.
29393         * doc/posix-headers/errno.texi: Mention the Interix bug.
29394         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
29395
29396 2009-06-15  Eric Blake  <ebb9@byu.net>
29397
29398         memchr, memchr2: add valgrind exception
29399         * lib/memchr.valgrind: New file.
29400         * lib/memchr2.valgrind: New file.
29401         * modules/memchr (Files): Distribute valgrind file.
29402         * modules/memchr2 (Files): Likewise.
29403
29404         docs: memchr is no longer obsolete
29405         * MODULES.html.sh: Move memchr from obsolete to string.h section.
29406         * lib/string.in.h (memchr): Simplify logic.
29407
29408 2009-06-14  Jim Meyering  <meyering@redhat.com>
29409
29410         link-follow: fix the "checking..." message to not mention trailing slash
29411         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
29412         never considered trailing slashes.
29413
29414 2009-06-14  Bruno Haible  <bruno@clisp.org>
29415
29416         * m4/memchr.m4: Mention also the bug on IA-64.
29417         * doc/posix-functions/memchr.texi: Likewise.
29418
29419 2009-06-12  Eric Blake  <ebb9@byu.net>
29420
29421         memchr: detect broken x86_64 and alpha implementations
29422         * modules/memchr-tests (Depends-on): Move mmap detection...
29423         * modules/memchr (Depends-on): ...here.
29424         (configure.ac): Set indicator.
29425         * lib/string.in.h (memchr): Declare replacement.
29426         * modules/string (Makefile.am): Trigger replacement.
29427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29428         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
29429         bugs.
29430         * doc/posix-functions/memchr.texi (memchr): Document the bug.
29431         * modules/getpagesize (License): Relax license.
29432
29433 2009-06-11  Bruno Haible  <bruno@clisp.org>
29434
29435         * lib/idpriv.h: Add more references.
29436
29437 2009-06-08  Bruno Haible  <bruno@clisp.org>
29438
29439         Tests for module 'idpriv-droptemp'.
29440         * modules/idpriv-droptemp-tests: New file.
29441         * tests/test-idpriv-droptemp.sh: New file.
29442         * tests/test-idpriv-droptemp.su.sh: New file.
29443         * tests/test-idpriv-droptemp.c: New file.
29444
29445         New module 'idpriv-droptemp'.
29446         * lib/idpriv-droptemp.c: New file.
29447         * modules/idpriv-droptemp: New file.
29448
29449 2009-06-08  Bruno Haible  <bruno@clisp.org>
29450
29451         Tests for module 'idpriv-drop'.
29452         * modules/idpriv-drop-tests: New file.
29453         * tests/test-idpriv-drop.sh: New file.
29454         * tests/test-idpriv-drop.su.sh: New file.
29455         * tests/test-idpriv-drop.c: New file.
29456
29457         New module 'idpriv-drop'.
29458         * lib/idpriv.h: New file.
29459         * lib-idpriv-drop.c: New file.
29460         * m4/idpriv.m4: New file.
29461         * modules/idpriv-drop: New file.
29462
29463 2009-06-08  Bruno Haible  <bruno@clisp.org>
29464
29465         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
29466         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29467         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29468         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29469         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29470         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29471         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29472
29473 2009-06-08  Eric Blake  <ebb9@byu.net>
29474
29475         test-strstr: use memory fence, when possible
29476         * tests/test-strstr.c (main): Use memory fence, in order to be
29477         more likely to trigger Debian bug 521737.
29478         * modules/strstr-tests (Files): Pull in additional files.
29479
29480         memchr: no longer obsolete, for wider field testing
29481         * modules/memchr (Status, Notice): Delete, this module is no
29482         longer obsolete.
29483         * modules/vasnprintf (Depends-on): Add memchr.
29484
29485 2009-06-07  Jim Meyering  <meyering@redhat.com>
29486
29487         hash: declare some functions with the warn_unused_result attribute
29488         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
29489
29490 2009-06-07  Bruno Haible  <bruno@clisp.org>
29491
29492         * tests/test-alignof.c: Don't test int64_t if it does not exist.
29493         Reported by Eric Blake.
29494
29495 2009-06-06  Eric Blake  <ebb9@byu.net>
29496
29497         test-alignof: fix typo with long double
29498         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
29499         compiler error.
29500
29501 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
29502
29503         Escape non-texinfo { and }s.
29504         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
29505         markup error.
29506
29507 2009-06-04  Jim Meyering  <meyering@redhat.com>
29508
29509         gitlog-to-changelog: don't infloop on an empty commit log
29510         * build-aux/gitlog-to-changelog: Warn about an empty log message.
29511         Reported by Boris Petersen <transacid@centerim.org>.
29512
29513 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
29514
29515         version-etc: extend for packagers
29516         Add three new configure options, intended for packagers:
29517           --with-packager="packager name"
29518           --with-packager-version="packager-specific version"
29519           --with-packager-bug-reports="packager bug reporting"
29520         An example with coreutils:
29521           $ ./configure \
29522             --with-packager=Gentoo \
29523             --with-packager-bug-report=http://bugs.gentoo.org/ \
29524             --with-packager-version="patchset 1.6"
29525           $ ./src/ls --version | head -n2
29526           ls (GNU coreutils) 7.1-dirty
29527           Packaged by Gentoo (patchset 1.6)
29528         Note that the bug reporting info via --help doesn't show up because
29529         coreutils uses its own custom emit_bug_reporting_address() implementation
29530         in src/system.h.  If it didn't, it'd look like:
29531           $ ./src/ls --help | tail -n4
29532           Report bugs to <bug-coreutils@gnu.org>.
29533           Report Gentoo bugs to <http://bugs.gentoo.org/>.
29534           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
29535           General help using GNU software: <http://www.gnu.org/gethelp/>.
29536         * lib/version-etc.c: Print new information, if provided.
29537         * m4/version-etc.m4: New file.
29538         * modules/version-etc (Files): Add m4/version-etc.m4.
29539         (configure.ac): Add gl_VERSION_ETC.
29540
29541 2009-05-31  Bruno Haible  <bruno@clisp.org>
29542
29543         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
29544         and 'int64_t'.
29545         * modules/alignof-tests (Dependencies): Add stdint.
29546         Reported by Eric Blake.
29547
29548 2009-05-31  Bruno Haible  <bruno@clisp.org>
29549
29550         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
29551         restriction due to compiler bugs.
29552         Reported by Eric Blake.
29553
29554 2009-05-31  Simon Josefsson  <simon@josefsson.org>
29555             Bruno Haible  <bruno@clisp.org>
29556
29557         Fix test-alignof failure.
29558         * lib/alignof.h (alignof_slot): New macro.
29559         (alignof_type): New macro, with the same semantics as the previous
29560         'alignof'.
29561         (alignof): Alias to alignof_slot.
29562         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
29563         check that the results are usable as constant expressions.
29564
29565 2009-05-31  Bruno Haible  <bruno@clisp.org>
29566
29567         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
29568         * tests/test-memchr.c (main): Check that memchr does not read past the
29569         first occurrence of the byte.
29570         * tests/test-strstr.c (main): Update comment.
29571         Suggested by Eric Blake.
29572
29573 2009-05-30  Bruno Haible  <bruno@clisp.org>
29574
29575         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
29576         detail how to use dumpbin.
29577         Reported by David Byron <dbyron@dbyron.com>.
29578
29579 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29580
29581         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
29582
29583 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29584
29585         * m4/manywarnings.m4: Add GCC 4.4 warnings.
29586
29587 2009-05-28  Bruno Haible  <bruno@clisp.org>
29588
29589         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
29590         build-aux/ files.
29591
29592 2009-05-28  Simon Josefsson  <simon@josefsson.org>
29593
29594         * gnulib-tool (func_import): Transform license on build-aux/ files too.
29595
29596 2009-05-27  Simon Josefsson  <simon@josefsson.org>
29597
29598         * gnulib-tool (sed_transform_main_lib_file)
29599         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
29600         regexps.
29601
29602 2009-05-26  Simon Josefsson  <simon@josefsson.org>
29603
29604         * tests/test-strstr.c: Add another self-test.
29605         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
29606         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
29607
29608 2009-05-23  Bruno Haible  <bruno@clisp.org>
29609
29610         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
29611         change.
29612
29613 2009-05-21  Bruno Haible  <bruno@clisp.org>
29614
29615         Simplify use of mode_t varargs.
29616         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
29617         uses 'mode_t' or 'int'.
29618         * lib/openat.c (openat): Likewise.
29619         * lib/open-safer.c (open_safer): Likewise.
29620         * m4/mode_t.m4: New file.
29621         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
29622         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
29623         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
29624         * modules/open (Files): Add m4/mode_t.m4.
29625         * modules/openat (Files): Likewise.
29626         * modules/fcntl-safer (Files): Likewise.
29627         Suggested by Eric Blake.
29628
29629 2009-05-21  Pádraig Brady  <P@draigbrady.com>
29630
29631         * doc/glibc-functions/fallocate.texi: New file.
29632         * doc/gnulib.texi: Include it.
29633
29634 2009-05-21  Eric Blake  <ebb9@byu.net>
29635             Bruno Haible  <bruno@clisp.org>
29636
29637         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
29638         invocations.
29639         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29640
29641 2009-05-21  Eric Blake  <ebb9@byu.net>
29642             Bruno Haible  <bruno@clisp.org>
29643
29644         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
29645         include_next. Fix of 2008-11-20 commit.
29646         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
29647         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
29648         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
29649         NEXT_MATH_H.
29650         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
29651         instead of NEXT_MATH_H.
29652
29653 2009-05-21  Bruno Haible  <bruno@clisp.org>
29654
29655         Avoid redefinition warnings for SIZE_MAX.
29656         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
29657         Reported by Simon Josefsson.
29658
29659 2009-05-21  Bruno Haible  <bruno@clisp.org>
29660
29661         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
29662         AC_CACHE_VAL.
29663
29664 2009-05-20  Bruno Haible  <bruno@clisp.org>
29665
29666         Make zeroptr.h work on mingw.
29667         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
29668         mprotect.
29669         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
29670         * modules/memchr2-tests (configure.ac): Likewise.
29671         * modules/memcmp-tests (configure.ac): Likewise.
29672         * modules/memmem-tests (configure.ac): Likewise.
29673         * modules/memrchr-tests (configure.ac): Likewise.
29674         Reported by Simon Josefsson.
29675
29676 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29677
29678         * tests/test-glob.c: Include string.h for strcmp prototype.
29679
29680 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29681
29682         * modules/getdelim (Depends-on): Add explicit stdint, although it
29683         was implicitly already pulled in via realloc-posix.
29684         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
29685
29686 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29687
29688         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
29689         G. Christensen" <tgc@jupiterrise.com>.
29690         * m4/sys_socket_h.m4: Check for sa_family_t.
29691         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
29692         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
29693         * tests/test-sys_socket.c: Check that sa_family_t works.
29694
29695 2009-05-18  Eric Blake  <ebb9@byu.net>
29696
29697         maint.mk: allow gnulib_dir in VPATH build
29698         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
29699
29700 2009-05-15  Jim Meyering  <meyering@redhat.com>
29701
29702         maint.mk: Give gnulib_dir a default definition.
29703         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
29704         Thus, most packages no longer need to specify this variable in cfg.mk
29705
29706 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
29707
29708         rename.m4: fix typos that would make non-mingw cross-configure fail
29709         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
29710
29711 2009-05-13  Eric Blake  <ebb9@byu.net>
29712
29713         mmap-anon: avoid out-of-order autoconf expansion
29714         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
29715         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
29716         * modules/memchr-tests (Depends-on): Add extensions.
29717         * modules/memchr2-tests (Depends-on): Add extensions.
29718         * modules/memcmp-tests (Depends-on): Add extensions.
29719         * modules/memmem-tests (Depends-on): Add extensions.
29720         * modules/memrchr-tests (Depends-on): Add extensions.
29721
29722 2009-05-13  Bruno Haible  <bruno@clisp.org>
29723
29724         Make some tests ISO C 99 compliant.
29725         * tests/zerosize-ptr.h: New file.
29726         * tests/test-memchr.c: Include zerosize-ptr.h.
29727         (main): Use a zero-size object pointer instead of NULL.
29728         * tests/test-memchr2.c: Include zerosize-ptr.h.
29729         (main): Use a zero-size object pointer instead of NULL.
29730         * tests/test-memcmp.c: Include zerosize-ptr.h.
29731         (main): Use a zero-size object pointer instead of NULL.
29732         * tests/test-memmem.c: Include zerosize-ptr.h.
29733         (main): Use a zero-size object pointer instead of NULL.
29734         * tests/test-memrchr.c: Include zerosize-ptr.h.
29735         (main): Use a zero-size object pointer instead of NULL.
29736         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
29737         m4/mmap-anon.m4.
29738         (Depends-on): Add getpagesize.
29739         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29740         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
29741         m4/mmap-anon.m4.
29742         (Depends-on): Add getpagesize.
29743         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29744         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
29745         m4/mmap-anon.m4.
29746         (Depends-on): Add getpagesize.
29747         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29748         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
29749         m4/mmap-anon.m4.
29750         (Depends-on): Add getpagesize.
29751         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29752         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
29753         m4/mmap-anon.m4.
29754         (Depends-on): Add getpagesize.
29755         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29756
29757 2009-05-12  Bruno Haible  <bruno@clisp.org>
29758
29759         Tests for module 'alignof'.
29760         * modules/alignof-tests: New file.
29761         * tests/test-alignof.c: New file.
29762
29763 2009-05-12  Bruno Haible  <bruno@clisp.org>
29764
29765         Fix alignof macro.
29766         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
29767         vendor compilers that are always correct.
29768
29769 2009-05-12  Bruno Haible  <bruno@clisp.org>
29770
29771         Make the MAP_ANONYMOUS detection work on HP-UX 11.
29772         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
29773         not whether its fully works.
29774
29775 2009-05-12  Bruno Haible  <bruno@clisp.org>
29776
29777         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
29778
29779 2009-05-12  Jim Meyering  <meyering@redhat.com>
29780
29781         * top/maint.mk: Adjust backslash alignment.
29782
29783 2009-05-11  Simon Josefsson  <simon@josefsson.org>
29784
29785         * top/maint.mk: Make $(srcdir)/build-aux configurable.
29786
29787 2009-05-11  Eric Blake  <ebb9@byu.net>
29788
29789         argp: avoid undefined behavior
29790         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
29791         macros.
29792
29793 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29794
29795         * tests/test-vc-list-files-git.sh: Do git config of user.email and
29796         user.name to prevent git commit from complaining.
29797
29798 2009-05-10  Bruno Haible  <bruno@clisp.org>
29799
29800         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
29801         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
29802         it rewrites every file name only once.
29803         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
29804
29805 2009-05-08  Bruno Haible  <bruno@clisp.org>
29806
29807         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
29808         instead of 'max'.
29809
29810 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29811
29812         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
29813         sockaddr_storage test.
29814
29815 2009-05-07  Simon Josefsson  <simon@josefsson.org>
29816
29817         * modules/sys_socket (Makefile.am): Substitute
29818         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
29819         * m4/sys_socket_h.m4: Check for sockaddr_storage.
29820         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
29821         * tests/test-sys_socket.c: Check sockaddr_storage.
29822
29823 2009-05-08  Bruno Haible  <bruno@clisp.org>
29824
29825         New module 'alignof'.
29826         * lib/alignof.h: New file.
29827         * modules/alignof: New file.
29828
29829 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29830             Bruno Haible  <bruno@clisp.org>
29831
29832         Fix test-file-has-acl on FreeBSD.
29833         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
29834         mask is implicitly added.
29835         * tests/test-file-has-acl.c: Include <signal.h>.
29836         (main): Terminate the test after 5 seconds.
29837         * modules/acl-tests (configure.ac): Check for alarm function.
29838
29839 2009-05-04  Bruno Haible  <bruno@clisp.org>
29840
29841         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
29842         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
29843         * modules/errno (configure.ac): Drop AC_REQUIRE.
29844         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
29845         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
29846
29847 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29848
29849         * modules/glob-tests: New module.
29850         * tests/test-glob.c: Add.
29851
29852 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29853
29854         * modules/fnmatch-tests: New module.
29855         * tests/test-fnmatch.c: Add.
29856
29857 2009-05-04  Eric Blake  <ebb9@byu.net>
29858
29859         maint: make the new no-submodule-changes rule VPATH-safe
29860         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
29861
29862 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29863             Bruno Haible  <bruno@clisp.org>
29864
29865         acl: Fix infinite loop on FreeBSD.
29866         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
29867         of return value from acl_get_entry.
29868         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
29869         Likewise.
29870
29871 2009-05-03  Bruno Haible  <bruno@clisp.org>
29872
29873         * lib/acl-internal.h (acl_entries): Clarify return value.
29874         * lib/acl_entries.c (acl_entries): Likewise.
29875
29876 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29877
29878         Bug fix in acl module.
29879         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
29880
29881 2009-05-03  Bruno Haible  <bruno@clisp.org>
29882
29883         Create gperf-generated file in the source dir, not in the build dir.
29884         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
29885         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
29886         * modules/unicase/locale-language (unicase/locale-languages.h):
29887         Likewise.
29888         * modules/unicase/special-casing (unicase/special-casing-table.h):
29889         Likewise.
29890         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
29891         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
29892         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
29893         Reported by Ralf Wildenhues.
29894
29895 2009-05-03  Bruno Haible  <bruno@clisp.org>
29896
29897         * modules/fnmatch (Description, configure.ac): Taken from
29898         fnmatch-posix.
29899         * modules/fnmatch-posix: Turn into a symbolic reference to the
29900         'fnmatch' module, and deprecate.
29901         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
29902
29903 2009-05-03  Bruno Haible  <bruno@clisp.org>
29904
29905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
29906         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
29907         Reported by Ralf Wildenhues.
29908
29909 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29910
29911         * m4/fnmatch.m4: Fix fnmatch re-define.
29912
29913 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29914
29915         priv-set: new module and tests; adapt write-any-file
29916         * lib/priv-set.c: New file.
29917         * lib/priv-set.h: New file.
29918         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
29919         * lib/write-any-file.c: Simplify by using priv-set module.
29920         * m4/priv-set.m4: New file.
29921         * modules/priv-set: New file.
29922         * modules/unlinkdir: Add dependency on priv-set module.
29923         * modules/write-any-file: Likewise.
29924
29925         Tests for module 'priv-set'.
29926         * modules/priv-set-tests: New file.
29927         * tests/test-priv-set.c: New file.
29928
29929 2009-05-03  Jim Meyering  <meyering@redhat.com>
29930             Bruno Haible  <bruno@clisp.org>
29931
29932         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
29933         use the converted UTF-8 variant of the name instead.
29934
29935 2009-05-03  Jim Meyering  <meyering@redhat.com>
29936
29937         tests: tighten some getdate tests
29938         * tests/test-getdate.c (main): Tighten tests: require equality,
29939         not just greater than.  Set TZ envvar to UTC0.
29940
29941 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29942
29943         getdate: correctly interpret "next monday" when run on a Monday
29944         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
29945         that e.g., "next tues" (when run on a tuesday) results in a date
29946         that is one week in the future, and not today's date.
29947         I.e., add a week when the wday is the same as the current one.
29948         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
29949         and earlier by Martin Bernreuther and Jan Minář.
29950         * tests/test-getdate.c (main): Check that "next DAY" is always in
29951         the future and that "last DAY" is always in the past.
29952
29953 2009-05-02  Jim Meyering  <meyering@redhat.com>
29954
29955         build: ensure that a release build fails when a submodule is unclean
29956         * top/maint.mk (no-submodule-changes): New rule.
29957         (alpha beta major): Depend on it.
29958
29959 2009-05-02  Bruno Haible  <bruno@clisp.org>
29960
29961         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
29962         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
29963         shell variable gl_fnmatch_required to detect which variant is
29964         requested.
29965         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
29966         gl_FUNC_FNMATCH_POSIX.
29967         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
29968         exclude fnmatch-posix.
29969
29970 2009-05-02  Bruno Haible  <bruno@clisp.org>
29971
29972         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29973         * modules/mbsrtowcs (License): Change to LGPLv2+.
29974         * modules/strnlen1 (License): Likewise.
29975         Reported by Simon Josefsson.
29976
29977 2009-05-02  Bruno Haible  <bruno@clisp.org>
29978
29979         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29980         "cross".
29981         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29982         gnulib-tool was called with option --source-base=lib.
29983
29984 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29985
29986         Use automake *-local hooks without commands, for extensibility.
29987         * modules/localcharset (Makefile.am): Rename install-exec-local
29988         rule to install-exec-localcharset, and make it a prerequisite of
29989         install-exec-local.  Likewise, rename the uninstall-local rule to
29990         uninstall-localcharset, and make it a prerequisite of the former.
29991
29992 2009-05-01  Bruno Haible  <bruno@clisp.org>
29993
29994         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29995         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29996         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29997         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29998         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29999         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30000         m4/locale-zh.m4, m4/codeset.m4.
30001
30002         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
30003         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
30004         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30005         m4/locale-zh.m4.
30006
30007         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
30008         REPLACE_WCRTOMB if mbstate_t must be replaced.
30009         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
30010         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
30011
30012 2009-05-01  Bruno Haible  <bruno@clisp.org>
30013
30014         Avoid compiler warnings when redefining macros defined by <libintl.h>.
30015         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
30016         dngettext, dcngettext, textdomain, bindtextdomain,
30017         bind_textdomain_codeset): Undefine before redefining.
30018
30019 2009-04-30  Bruno Haible  <bruno@clisp.org>
30020
30021         Fix bug introduced on 2009-04-25.
30022         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
30023         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
30024         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
30025         is defined.
30026         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
30027         is defined.
30028         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
30029         is defined.
30030         Reported by Elbert_Pol <elbert.pol@gmail.com>.
30031
30032 2009-04-28  Bruno Haible  <bruno@clisp.org>
30033
30034         Comment tweaks.
30035         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
30036         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
30037         * lib/unicase.h (u*_casexfrm): Likewise.
30038         Reported by Paolo Bonzini.
30039
30040 2009-04-28  Bruno Haible  <bruno@clisp.org>
30041
30042         Fix a compilation error.
30043         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
30044         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30045         Reported by Jim Meyering.
30046
30047 2009-04-27  Bruno Haible  <bruno@clisp.org>
30048
30049         New module 'libunistring'.
30050         * modules/libunistring: New file.
30051         * m4/libunistring.m4: New file.
30052         * MODULES.html.sh (Unicode string functions): Add it.
30053
30054 2009-04-27  Eric Blake  <ebb9@byu.net>
30055
30056         maint.mk: allow package-specific header to provide <config.h>
30057         * top/maint.mk (sc_require_config_h): New variable.
30058         (sc_require_config_h, sc_require_config_h_first): Use it.
30059
30060 2009-04-27  Simon Josefsson  <simon@josefsson.org>
30061
30062         * top/maint.mk (sc_avoid_if_before_free): Except
30063         useless-if-before-free script.
30064
30065 2009-04-27  Eric Blake  <ebb9@byu.net>
30066
30067         maintainer-makefile: depend on all required helper scripts
30068         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
30069         useless-if-before-free.
30070         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
30071         version, rather than assuming gnulib checkout is available.
30072         Reported by Simen Josefsson.
30073
30074 2009-04-26  Bruno Haible  <bruno@clisp.org>
30075
30076         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
30077         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
30078         "../" or "..".
30079
30080 2009-04-26  Bruno Haible  <bruno@clisp.org>
30081
30082         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
30083         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
30084         AC_LIB_HAVE_LINKFLAGS.
30085
30086 2009-04-26  Bruno Haible  <bruno@clisp.org>
30087
30088         Simplify calling convention of u*_conv_from_encoding.
30089         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
30090         u32_conv_from_encoding): Expect a resultbuf argument and return the
30091         result directly as a pointer.
30092         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
30093         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
30094         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
30095         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
30096         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
30097         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30098         Update.
30099         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
30100         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
30101         * lib/vasnprintf.c (VASNPRINTF): Update.
30102         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
30103         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
30104         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
30105         * NEWS: Mention the change.
30106
30107 2009-04-26  Bruno Haible  <bruno@clisp.org>
30108
30109         Simplify calling convention of u*_conv_to_encoding.
30110         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
30111         u32_conv_to_encoding): Expect a resultbuf argument and return the
30112         result directly as a pointer.
30113         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30114         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
30115         freeing scaled_offsets if mem_iconveha failed.
30116         * lib/unicase/u-casexfrm.h (FUNC): Update.
30117         * lib/uninorm/u-normxfrm.h (FUNC): Update.
30118         * lib/vasnprintf.c (VASNPRINTF): Update.
30119         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
30120         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
30121         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
30122         * NEWS: Mention the change.
30123
30124 2009-04-26  Bruno Haible  <bruno@clisp.org>
30125
30126         Avoid test failures on AIX and OSF/1.
30127         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
30128         malloc(0).
30129         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30130         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30131         Likewise.
30132         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
30133         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
30134         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
30135         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
30136         * doc/posix-functions/malloc.texi: Document the portability problem
30137         related to malloc(0).
30138
30139 2009-04-26  Bruno Haible  <bruno@clisp.org>
30140
30141         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
30142         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
30143         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
30144
30145 2009-04-25  Bruno Haible  <bruno@clisp.org>
30146
30147         Avoid link error when creating a namespace clean library.
30148         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
30149         as macro with arguments if already defined as an alias.
30150         * lib/signbitf.c (gl_signbitf): Don't undefine.
30151         * lib/signbitd.c (gl_signbitd): Don't undefine.
30152         * lib/signbitl.c (gl_signbitl): Don't undefine.
30153
30154 2009-04-25  Jim Meyering  <meyering@redhat.com>
30155
30156         vc-list-files: fix another quoting bug
30157         * build-aux/vc-list-files: Avoid sed backslash expansion
30158         of pathological directory names.
30159
30160 2009-04-25  Eric Blake  <ebb9@byu.net>
30161
30162         vc-list-files: fix shell quoting error
30163         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
30164         timestamp.
30165
30166 2009-04-25  Jim Meyering  <meyering@redhat.com>
30167
30168         vc-list-files: restore lost functionality with subdir argument
30169         * build-aux/vc-list-files: When given a non-"." sub-directory
30170         argument, substitute the $dir/ prefix back onto each resulting name.
30171         Otherwise, coreutils' root_tests check would fail.
30172
30173 2009-04-24  Eric Blake  <ebb9@byu.net>
30174
30175         vc-list-files: ignore git symlinks
30176         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
30177         than ls-files, to ignore git symlinks.
30178
30179         maint.mk: import improvements from m4
30180         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
30181         (move_if_change): Delete unused macro.
30182         (news-date-check, vc-diff-check): Support VPATH builds.
30183         (announcement): Likewise.  Split --bootstrap-tools list...
30184         (boostrap-tools): ...into separate list, which can be overridden
30185         in cfg.mk.
30186         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
30187         requiring dependency on useless-if-before-free module.
30188         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
30189         Support VPATH builds.
30190
30191 2009-04-24  Jim Meyering  <meyering@redhat.com>
30192
30193         maint.mk: remove coreutils-specific rules and variables
30194         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
30195         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
30196         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
30197
30198         maint.mk: remove obsolete rule
30199         * top/maint.mk (rel-check): Remove rule.
30200         (WGET, WGETFLAGS): Remove now-unused variables.
30201
30202 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30203
30204         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
30205         consistency.
30206
30207         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
30208         '$(PATH_SEPARATOR)' instead of ':'.
30209
30210 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30211
30212         * lib/getopt1.c (main): Use 'const' for static array.
30213
30214 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30215
30216         * top/maint.mk: Sync with coreutils.
30217         * NEWS: Explain incompatibilities.
30218
30219 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30220             Bruno Haible  <bruno@clisp.org>
30221
30222         Fix cross-compilation results.
30223         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
30224         statement, as third argument of AC_TRY_RUN.
30225         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30226         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30227         Likewise.
30228         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30229         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
30230         Likewise.
30231         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30232         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
30233         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
30234
30235 2009-04-20  Bruno Haible  <bruno@clisp.org>
30236
30237         Avoid test failure on mingw.
30238         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
30239
30240 2009-04-20  Bruno Haible  <bruno@clisp.org>
30241
30242         Avoid compilation error on mingw.
30243         * modules/localename-tests (Depends-on): Add locale.
30244
30245 2009-04-19  Bruno Haible  <bruno@clisp.org>
30246
30247         Support for building a shared library on Windows platforms.
30248         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
30249         (main): Test the presence of UNINORM_NFC here.
30250         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
30251         (main): Test the presence of UNINORM_NFD here.
30252         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
30253         (main): Test the presence of UNINORM_NFKC here.
30254         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
30255         (main): Test the presence of UNINORM_NFKD here.
30256
30257 2009-04-19  Bruno Haible  <bruno@clisp.org>
30258
30259         Avoid a compiler warning.
30260         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
30261         Change type of variable 'sequence'.
30262
30263 2009-04-19  Bruno Haible  <bruno@clisp.org>
30264
30265         * modules/configmake (Makefile.am): When the contents of configmake.h
30266         does not change, arrange to preserve its modification time.
30267
30268 2009-04-17  Simon Josefsson  <simon@josefsson.org>
30269
30270         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
30271         gettext domain.
30272
30273 2009-04-16  Jim Meyering  <meyering@redhat.com>
30274
30275         useless-if-before-free: improve conversion code
30276         * build-aux/useless-if-before-free: Adjust code-in-comment to match
30277         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
30278
30279 2009-04-14  Bruno Haible  <bruno@clisp.org>
30280
30281         * modules/fcntl (Depends-on): Add extensions.
30282         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
30283
30284 2009-04-12  Ben Pfaff  <blp@gnu.org>
30285
30286         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
30287         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
30288
30289 2009-03-20  Ben Pfaff  <blp@gnu.org>
30290
30291         Make rename replace existing destinations on Windows.
30292         * m4/rename.m4: Add test for Mingw.
30293         * lib/rename.c: Add rename replacement that uses MoveFileEx with
30294         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
30295         * doc/posix-functions/rename.texi: Document.
30296
30297 2009-04-10  Bruno Haible  <bruno@clisp.org>
30298
30299         New include file "iconveh.h".
30300         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
30301         * lib/striconveh.h: Include it.
30302         (enum iconv_ilseq_handler): Remove definition.
30303         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
30304         striconveh.h.
30305         * lib/striconveha.c: Include striconveh.h.
30306         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
30307         * modules/striconveh (Files): Add lib/iconveh.h.
30308         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
30309         lib/striconveh.h.
30310
30311 2009-04-10  Bruno Haible  <bruno@clisp.org>
30312
30313         * lib/uniconv.h: Update comment.
30314
30315 2009-04-10  Bruno Haible  <bruno@clisp.org>
30316
30317         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
30318         always.
30319         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
30320         * lib/unistr/u16-mbtouc-aux.c: Likewise.
30321         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
30322         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
30323         "unistring-notinline.h", so that the function gets defined always.
30324         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
30325         * lib/unistr/u8-uctomb.c: Likewise.
30326         * lib/unistr/u16-mbtouc.c: Likewise.
30327         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
30328         * lib/unistr/u16-uctomb.c: Likewise.
30329         * lib/unistr/u32-mbtouc.c: Likewise.
30330         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
30331         * lib/unistr/u32-uctomb.c: Likewise.
30332
30333 2009-04-10  Bruno Haible  <bruno@clisp.org>
30334
30335         Mark 'utime' obsolete.
30336         * modules/utime (Status, Notice): New sections.
30337         Suggested by Jim Meyering.
30338
30339         Fix cross-compile guess for utime test.
30340         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
30341         autoconf.
30342         * doc/posix-functions/utime.texi: Give more precisions.
30343         Reported by Jan <ipif@ymail.com>.
30344
30345 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
30346
30347         filevercmp: correct today's change
30348         * lib/filevercmp.c: Also handle coreutils' test inputs.
30349         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
30350
30351         Fix regression in 'filevercmp' module. Thanks Sven Joachim
30352         for reporting it.
30353         * lib/filevercmp.c: Special handle for "", "." and "..".
30354         * tests/test-filevercmp.c: Enlarge the set suite.
30355
30356 2009-04-07  Jim Meyering  <meyering@redhat.com>
30357
30358         useless-if-before-free: show how to remove braced useless free, too
30359         * build-aux/useless-if-before-free: still only in a comment, though.
30360
30361 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
30362
30363         maint.mk: import changes to syntax-check macros from coreutils
30364         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
30365         Use them in the relevant macros.
30366
30367 2009-04-06  Bruno Haible  <bruno@clisp.org>
30368
30369         Fix unportable use of bit-fields.
30370         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
30371         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
30372         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
30373
30374 2009-04-06  Bruno Haible  <bruno@clisp.org>
30375
30376         Avoid test failures on AIX and OSF/1.
30377         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
30378         that malloc(0) = NULL.
30379         * tests/unicase/test-u8-tolower.c (check): Likewise.
30380         * tests/unicase/test-u8-totitle.c (check): Likewise.
30381         * tests/unicase/test-u8-toupper.c (check): Likewise.
30382         * tests/unicase/test-u16-casefold.c (check): Likewise.
30383         * tests/unicase/test-u16-tolower.c (check): Likewise.
30384         * tests/unicase/test-u16-totitle.c (check): Likewise.
30385         * tests/unicase/test-u16-toupper.c (check): Likewise.
30386         * tests/unicase/test-u32-casefold.c (check): Likewise.
30387         * tests/unicase/test-u32-tolower.c (check): Likewise.
30388         * tests/unicase/test-u32-totitle.c (check): Likewise.
30389         * tests/unicase/test-u32-toupper.c (check): Likewise.
30390         * tests/uninorm/test-u8-nfc.c (check): Likewise.
30391         * tests/uninorm/test-u8-nfd.c (check): Likewise.
30392         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
30393         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
30394         * tests/uninorm/test-u16-nfc.c (check): Likewise.
30395         * tests/uninorm/test-u16-nfd.c (check): Likewise.
30396         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
30397         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
30398         * tests/uninorm/test-u32-nfc.c (check): Likewise.
30399         * tests/uninorm/test-u32-nfd.c (check): Likewise.
30400         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
30401         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
30402
30403 2009-04-05  Bruno Haible  <bruno@clisp.org>
30404
30405         Work around an autoconf limitation.
30406         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
30407         comment line if it would be longer than 3 KB.
30408
30409 2009-04-05  Bruno Haible  <bruno@clisp.org>
30410
30411         Avoid test failure with libiconv-1.13.
30412         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
30413         of the expected test results.
30414
30415 2009-04-05  Bruno Haible  <bruno@clisp.org>
30416
30417         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
30418         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
30419         that it should be installed.
30420
30421 2009-04-05  Bruno Haible  <bruno@clisp.org>
30422
30423         * gnulib-tool: New option --copy-file.
30424         (func_usage): Document it.
30425         (func_dest_tmpfilename): Moved out of func_import.
30426         (func_add_file, func_update_file): New functions, extracted from
30427         func_import.
30428         (func_import): Update.
30429
30430 2009-04-05  Karl Berry  <karl@gnu.org>
30431
30432         * README: prominently mention gnulib-tool.
30433         Rearrange sections so getting the code is near the top.
30434
30435 2009-04-05  Bruno Haible  <bruno@clisp.org>
30436
30437         * lib/unicase.h: Mention u*_cmp2.
30438         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30439         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
30440         * lib/unicase/ulc-casecmp.c: Likewise.
30441         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
30442         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
30443         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
30444         unistr/u8-cmp.
30445         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
30446         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
30447         unistr/u16-cmp.
30448         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
30449         unistr/u32-cmp.
30450
30451         * lib/uninorm.h: Mention u*_cmp2.
30452         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30453         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
30454         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
30455         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
30456         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
30457         unistr/u8-cmp.
30458         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
30459         unistr/u16-cmp.
30460         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
30461         unistr/u32-cmp.
30462
30463         New module 'unistr/u32-cmp2'.
30464         * lib/unistr/u32-cmp2.c: New file.
30465         * modules/unistr/u32-cmp2: New file.
30466
30467         New module 'unistr/u16-cmp2'.
30468         * lib/unistr/u16-cmp2.c: New file.
30469         * modules/unistr/u16-cmp2: New file.
30470
30471         New module 'unistr/u8-cmp2'.
30472         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
30473         * lib/unistr/u8-cmp2.c: New file.
30474         * lib/unistr/u-cmp2.h: New file.
30475         * modules/unistr/u8-cmp2: New file.
30476
30477 2009-04-05  Bruno Haible  <bruno@clisp.org>
30478
30479         * lib/unictype.h (uc_property_is_valid): New macro.
30480         * tests/unictype/test-pr_byname.c (main): Use it.
30481
30482         * lib/unistr.h: Doc fixes.
30483         * lib/uniconv.h: Doc fixes.
30484         * lib/unictype.h: Doc fixes.
30485
30486 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
30487
30488         Port coreutils 7.2 to Solaris 8.
30489
30490         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
30491         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
30492         for Solaris 8.  This is a bit of a hack, as it means it's the
30493         caller's responsibility to add -lnsl if needed, but most likely it
30494         won't be needed since only getaddrinfo uses this and getaddrinfo
30495         isn't needed on Solaris 8.
30496
30497         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
30498         problem to Solaris 8 encountered with coreutils 7.2, which
30499         resulted in a message "fnmatch.c:292: warning: passing argument 4
30500         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
30501         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
30502
30503 2009-04-03  Simon Josefsson  <simon@josefsson.org>
30504
30505         * m4/ld-version-script.m4: Add FIXME comment.
30506
30507 2009-04-02  Simon Josefsson  <simon@josefsson.org>
30508
30509         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
30510         SOVERSION variable.
30511
30512 2009-04-02  Bruno Haible  <bruno@clisp.org>
30513
30514         * Makefile (info, html, dvi, pdf): Combine the rules.
30515         Suggested by Jim Meyering.
30516
30517 2009-04-01  Bruno Haible  <bruno@clisp.org>
30518
30519         * Makefile (info, html, dvi, pdf): New targets.
30520         Reported by Reuben Thomas <rrt@sc3d.org>.
30521
30522 2009-04-01  Bruno Haible  <bruno@clisp.org>
30523
30524         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
30525         can be put into PATH.
30526         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
30527
30528 2009-04-01  Bruno Haible  <bruno@clisp.org>
30529
30530         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
30531
30532 2009-04-01  Bruno Haible  <bruno@clisp.org>
30533
30534         Rename module 'visibility'.
30535         * modules/lib-symbol-visibility: Renamed from modules/visibility.
30536         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
30537         * doc/gnulib.texi: Update.
30538         * MODULES.html.sh (Misc): Update.
30539         * NEWS: Mention the change.
30540
30541 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30542
30543         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
30544         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
30545         Eric Blake <ebb9@byu.net> for review.
30546         * MODULES.html.sh: Add lib-msvc-compat.
30547         * doc/gnulib.texi: Link to new section.
30548         * m4/ld-output-def.m4: New file.
30549         * doc/ld-output-def.texi: New file.
30550
30551 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30552
30553         Rename ld-version-script to lib-symbol-versions.  Suggested by
30554         Bruno Haible <bruno@clisp.org>.
30555         * modules/ld-version-script: Renamed to lib-symbol-versions.
30556         * doc/ld-version-script.texi: Fix module name.
30557         * MODULES.html.sh: Add lib-symbol-versions.
30558
30559 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30560
30561         * modules/u64-tests: New file.
30562         * tests/test-u64.c: New file.
30563
30564 2009-03-04  Simon Josefsson  <simon@josefsson.org>
30565
30566         * MODULES.html.sh: Mention u64.
30567         * modules/u64: New module.
30568         * modules/crypto/sha512: Depend on u64 module instead of providing
30569         u64.h.
30570
30571 2009-03-27  Eric Blake  <ebb9@byu.net>
30572
30573         test-strerror: make debugging EAI_SYSTEM easier
30574         * modules/getaddrinfo-tests (Depends-on): Add strerror.
30575         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
30576         failure was EAI_SYSTEM.
30577
30578 2009-03-25  Bruno Haible  <bruno@clisp.org>
30579
30580         Fix a problem with --enable-relocatable on Solaris 7.
30581         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
30582         since 2008-02-24.
30583
30584 2009-03-25  Eric Blake  <ebb9@byu.net>
30585
30586         test-sockets: avoid gcc warning
30587         * tests/test-sockets.c (main): Silence compiler warning.
30588
30589 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
30590
30591         New modules nproc, pthread, contributed by Glen Lenker.
30592
30593         * MODULES.html.sh: Add pthread, nproc.
30594         * lib/nproc.c: New file.
30595         * lib/nproc.h: New file.
30596         * lib/pthread.in.h: New file.
30597         * m4/pthread.m4: New file.
30598         * modules/nproc: New file.
30599         * modules/pthread: New file.
30600
30601 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30602
30603         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
30604         New variable.
30605
30606 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
30607
30608         filevercmp: handle simple~ and numbered.~3~ backup suffixes
30609         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
30610         * tests/test-filevercmp.c: Add tests for backup suffixes.
30611
30612 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30613
30614         * modules/stdlib (Depends-on): Add stdint, needed when defining
30615         struct random_data on, for example, HP-UX 10.20.  Reported by
30616         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30617
30618 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30619
30620         * lib/readline.c (readline): Call fflush on stdout after printing
30621         prompt.
30622
30623 2009-03-20  Bruno Haible  <bruno@clisp.org>
30624
30625         Remove dependency from 'close' module to -lws2_32 on native Windows.
30626         * lib/close-hook.h: New file.
30627         * lib/close-hook.c: New file.
30628         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
30629         w32sock.h.
30630         (_gl_close_fd_maybe_socket): Remove function.
30631         (rpl_close): Invoke execute_all_close_hooks instead of
30632         _gl_close_fd_maybe_socket.
30633         * lib/sockets.c: Include close-hook.h, w32sock.h.
30634         (close_fd_maybe_socket): New function, essentially from lib/close.c.
30635         (close_sockets_hook): New variable.
30636         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
30637         (gl_sockets_cleanup): Unregister it.
30638         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
30639         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
30640         * modules/close-hook: New file.
30641         * modules/close (Files): Remove lib/w32sock.h.
30642         (Depends-on): Add close-hook.
30643         (Link): Remove section.
30644         * modules/sockets (Files): Add lib/w32sock.h.
30645         (Depends-on): Add close-hook.
30646         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
30647         invocation.
30648         * NEWS: Mention that LIB_CLOSE is gone.
30649
30650 2009-03-23  Eric Blake  <ebb9@byu.net>
30651
30652         signal-tests: test previous patch
30653         * tests/test-signal.c: New file.
30654         * modules/signal-tests: Likewise.
30655
30656         signal.h: always support 'volatile sig_atomic_t'
30657         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
30658         (gl_SIGNAL_H_DEFAULTS): Add a default.
30659         * modules/signal (Makefile.am): Substitute if needed.
30660         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
30661         users can blindly add volatile.
30662         * doc/posix-headers/signal.texi (signal.h): Document it.
30663         Reported by Matthew Woehlke.
30664
30665 2009-03-23  Jim Meyering  <meyering@redhat.com>
30666
30667         pathmax: PATH_MAX: use pathconf only when available
30668         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
30669         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
30670         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
30671         This avoids a link failure in a PSP cross-compilation environment
30672         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
30673
30674         * lib/vasnprintf.c (divide): Fix typo in comment.
30675
30676 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30677
30678         * gnulib-tool (func_filter_filelist): Fix comment.
30679
30680 2009-03-20  Bruno Haible  <bruno@clisp.org>
30681
30682         Make sockets.h self-contained.
30683         * lib/sockets.c: Include sockets.h first.
30684         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
30685
30686 2009-03-19  Eric Blake  <ebb9@byu.net>
30687
30688         doc: mention more functions added in cygwin 1.7.0
30689         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
30690         addition.
30691         * doc/posix-functions/log2f.texi: Likewise.
30692
30693 2009-03-19  Jim Meyering  <meyering@redhat.com>
30694
30695         fsusage: avoid syntax error due to statement-before-declaration
30696         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
30697         after all declarations.  Reported by Matthew Woehlke in
30698         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
30699
30700 2009-03-18  Eric Blake  <ebb9@byu.net>
30701
30702         build-aux/compile: sync from automake
30703         * build-aux/compile: New file, from automake.
30704         * config/srclist.txt: Mention build-aux/compile.
30705
30706 2009-03-17  Bruno Haible  <bruno@clisp.org>
30707
30708         * lib/git-merge-changelog.c: Fix typo in comment.
30709         Reported by Reuben Thomas <rrt@sc3d.org>.
30710
30711 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
30712
30713         * m4/regex.m4: update and improve help for
30714         --without-included-regex.
30715
30716 2009-03-17  Simon Josefsson  <simon@josefsson.org>
30717
30718         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
30719         failure on missing include files.
30720
30721 2009-03-17  Eric Blake  <ebb9@byu.net>
30722
30723         doc: mention more functions added in cygwin 1.7.0
30724         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
30725         addition.
30726         * doc/posix-functions/fwscanf.texi: Likewise.
30727         * doc/posix-functions/swprintf.texi: Likewise.
30728         * doc/posix-functions/swscanf.texi: Likewise.
30729         * doc/posix-functions/vfwprintf.texi: Likewise.
30730         * doc/posix-functions/vfwscanf.texi: Likewise.
30731         * doc/posix-functions/vswprintf.texi: Likewise.
30732         * doc/posix-functions/vswscanf.texi: Likewise.
30733         * doc/posix-functions/vwprintf.texi: Likewise.
30734         * doc/posix-functions/vwscanf.texi: Likewise.
30735         * doc/posix-functions/wcscasecmp.texi: Likewise.
30736         * doc/posix-functions/wcsdup.texi: Likewise.
30737         * doc/posix-functions/wcsftime.texi: Likewise.
30738         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30739         * doc/posix-functions/wprintf.texi: Likewise.
30740         * doc/posix-functions/wscanf.texi: Likewise.
30741         * doc/glibc-functions/gethostbyname2.texi: Likewise.
30742
30743 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30744
30745         maint.mk: really add $(AM_MAKEFLAGS)
30746         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
30747         was inadvertently omitted in the last commit.
30748         Spotted by Bruno Haible.
30749
30750         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
30751         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
30752         $(AM_MAKEFLAGS)' rather than plain `make'.
30753
30754         gnulib-tool: execute $MAKE not make
30755         * gnulib-tool: Default $MAKE to 'make'.
30756         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
30757         than make.  Initialize $MAKE in the do-autobuild script.
30758
30759         gnulib-tool: use $MAKE not make in generated files
30760         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
30761         make, in generated files.  Initialize $MAKE in the do-autobuild
30762         script.
30763
30764         * top/GNUmakefile (_have-git-version-gen): Fix typo.
30765
30766         GNUmakefile: disable parallelism only for multiple, recursive targets
30767         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
30768         additions in the Makefile.
30769         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
30770         by Automake.
30771         (.NOTPARALLEL): Only disable parallel builds if multiple targets
30772         are listed on the command line and at least one of them is
30773         listed in $(ALL_RECURSIVE_TARGETS).
30774
30775 2009-03-14  Bruno Haible  <bruno@clisp.org>
30776
30777         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
30778         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
30779         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
30780         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
30781         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
30782         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
30783         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
30784         unistr/u8-uctomb.
30785         * modules/unistr/u8-strchr (Depends-on): Likewise.
30786         * modules/unistr/u8-strrchr (Depends-on): Likewise.
30787         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
30788         unistr/u16-uctomb.
30789         * modules/unistr/u16-strchr (Depends-on): Likewise.
30790         * modules/unistr/u16-strrchr (Depends-on): Likewise.
30791
30792 2009-03-12  Bruno Haible  <bruno@clisp.org>
30793
30794         Work around select() bug on Interix 3.5.
30795         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
30796         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
30797         * m4/select.m4: New file.
30798         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
30799         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
30800         * modules/select (Files): Add m4/select.m4.
30801         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
30802         * modules/nanosleep (Depends-on): Add select.
30803         * modules/poll (Depends-on): Likewise.
30804         * doc/posix-functions/select.texi: Mention the Interix bug.
30805         Reported by Markus Duft <mduft@gentoo.org>.
30806
30807         * lib/select.c: Renamed from lib/winsock-select.c.
30808         * modules/select (Files): Add lib/select.c, remove
30809         lib/winsock-select.c.
30810         (configure.ac): Update.
30811
30812 2009-03-12  Jim Meyering  <meyering@redhat.com>
30813
30814         avoid gcc warnings about unused macro definitions
30815         * lib/readtokens.c (STREQ): Remove unused definition.
30816         * lib/xmalloc.c (SIZE_MAX): Likewise.
30817         * lib/openat-die.c (N_): Likewise.
30818         * lib/mountlist.c (SIZE_MAX): Remove definition.
30819         Instead, include <stdint.h>.
30820         * lib/readutmp.c: Likewise.
30821         * modules/readutmp (Depends-on): Add stdint.
30822         * modules/mountlist (Depends-on): Add stdint.
30823         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
30824
30825 2009-03-10  Bruno Haible  <bruno@clisp.org>
30826
30827         Tests for module 'mbmemcasecoll'.
30828         * modules/mbmemcasecoll-tests: New file.
30829         * tests/test-mbmemcasecoll1.sh: New file.
30830         * tests/test-mbmemcasecoll2.sh: New file.
30831         * tests/test-mbmemcasecoll3.sh: New file.
30832         * tests/test-mbmemcasecoll.c: New file.
30833
30834         New module 'mbmemcasecoll'.
30835         * lib/mbmemcasecoll.h: New file.
30836         * lib/mbmemcasecoll.c: New file.
30837         * modules/mbmemcasecoll: New file.
30838
30839         * tests/test-mbmemcasecmp.h: New file, extracted from
30840         tests/test-mbmemcasecmp.c.
30841         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
30842         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
30843         (main): Update.
30844         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
30845
30846 2009-03-09  Bruno Haible  <bruno@clisp.org>
30847
30848         Tests for module 'mbmemcasecmp'.
30849         * modules/mbmemcasecmp-tests: New file.
30850         * tests/test-mbmemcasecmp1.sh: New file.
30851         * tests/test-mbmemcasecmp2.sh: New file.
30852         * tests/test-mbmemcasecmp3.sh: New file.
30853         * tests/test-mbmemcasecmp.c: New file.
30854
30855         New module 'mbmemcasecmp'.
30856         * lib/mbmemcasecmp.h: New file.
30857         * lib/mbmemcasecmp.c: New file.
30858         * modules/mbmemcasecmp: New file.
30859
30860 2009-03-09  Bruno Haible  <bruno@clisp.org>
30861
30862         Tests for module 'unicase/ulc-casecoll'.
30863         * modules/unicase/ulc-casecoll-tests: New file.
30864         * tests/unicase/test-ulc-casecoll1.sh: New file.
30865         * tests/unicase/test-ulc-casecoll2.sh: New file.
30866         * tests/unicase/test-ulc-casecoll.c: New file.
30867
30868         New module 'unicase/ulc-casecoll'.
30869         * lib/unicase.h (ulc_casecoll): New declaration.
30870         * lib/unicase/ulc-casecoll.c: New file.
30871         * modules/unicase/ulc-casecoll: New file.
30872
30873         New module 'unicase/ulc-casexfrm'.
30874         * lib/unicase.h (ulc_casexfrm): New declaration.
30875         * lib/unicase/ulc-casexfrm.c: New file.
30876         * modules/unicase/ulc-casexfrm: New file.
30877
30878 2009-03-09  Bruno Haible  <bruno@clisp.org>
30879
30880         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
30881         invocations.
30882
30883         * m4/mbscasecmp.m4: Remove file.
30884         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
30885         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
30886
30887         * m4/mbscasestr.m4: Remove file.
30888         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
30889         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
30890
30891         * m4/mbschr.m4: Remove file.
30892         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
30893         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
30894
30895         * m4/mbscspn.m4: Remove file.
30896         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
30897         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
30898
30899         * m4/mbslen.m4: Remove file.
30900         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
30901         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
30902
30903         * m4/mbsncasecmp.m4: Remove file.
30904         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
30905         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
30906
30907         * m4/mbsnlen.m4: Remove file.
30908         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
30909         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
30910
30911         * m4/mbspbrk.m4: Remove file.
30912         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
30913         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
30914
30915         * m4/mbspcasecmp.m4: Remove file.
30916         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
30917         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
30918
30919         * m4/mbsrchr.m4: Remove file.
30920         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
30921         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
30922
30923         * m4/mbssep.m4: Remove file.
30924         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
30925         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
30926
30927         * m4/mbsspn.m4: Remove file.
30928         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
30929         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
30930
30931         * m4/mbsstr.m4: Remove file.
30932         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
30933         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
30934
30935         * m4/mbstok_r.m4: Remove file.
30936         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
30937         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
30938
30939         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
30940
30941         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
30942         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
30943
30944         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
30945
30946 2009-03-08  Bruno Haible  <bruno@clisp.org>
30947
30948         Tests for module 'unicase/ulc-casecmp'.
30949         * modules/unicase/ulc-casecmp-tests: New file.
30950         * tests/unicase/test-ulc-casecmp1.sh: New file.
30951         * tests/unicase/test-ulc-casecmp2.sh: New file.
30952         * tests/unicase/test-ulc-casecmp.c: New file.
30953
30954         New module 'unicase/ulc-casecmp'.
30955         * lib/unicase.h (ulc_casecmp): New declaration.
30956         * lib/unicase/ulc-casecmp.c: New file.
30957         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
30958         'const SRC_UNIT *'.
30959         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
30960         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
30961         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
30962         * modules/unicase/ulc-casecmp: New file.
30963
30964         Tests for module 'unicase/u32-is-cased'.
30965         * modules/unicase/u32-is-cased-tests: New file.
30966         * tests/unicase/test-u32-is-cased.c: New file.
30967
30968         Tests for module 'unicase/u16-is-cased'.
30969         * modules/unicase/u16-is-cased-tests: New file.
30970         * tests/unicase/test-u16-is-cased.c: New file.
30971
30972         Tests for module 'unicase/u8-is-cased'.
30973         * modules/unicase/u8-is-cased-tests: New file.
30974         * tests/unicase/test-u8-is-cased.c: New file.
30975         * tests/unicase/test-is-cased.h: New file.
30976
30977         New module 'unicase/u32-is-cased'.
30978         * lib/unicase/u32-is-cased.c: New file.
30979         * modules/unicase/u32-is-cased: New file.
30980
30981         New module 'unicase/u16-is-cased'.
30982         * lib/unicase/u16-is-cased.c: New file.
30983         * modules/unicase/u16-is-cased: New file.
30984
30985         New module 'unicase/u8-is-cased'.
30986         * lib/unicase/u8-is-cased.c: New file.
30987         * lib/unicase/u-is-cased.h: New file.
30988         * modules/unicase/u8-is-cased: New file.
30989
30990         Tests for module 'unicase/u32-is-casefolded'.
30991         * modules/unicase/u32-is-casefolded-tests: New file.
30992         * tests/unicase/test-u32-is-casefolded.c: New file.
30993
30994         Tests for module 'unicase/u16-is-casefolded'.
30995         * modules/unicase/u16-is-casefolded-tests: New file.
30996         * tests/unicase/test-u16-is-casefolded.c: New file.
30997
30998         Tests for module 'unicase/u8-is-casefolded'.
30999         * modules/unicase/u8-is-casefolded-tests: New file.
31000         * tests/unicase/test-u8-is-casefolded.c: New file.
31001         * tests/unicase/test-is-casefolded.h: New file.
31002
31003         New module 'unicase/u32-is-casefolded'.
31004         * lib/unicase/u32-is-casefolded.c: New file.
31005         * modules/unicase/u32-is-casefolded: New file.
31006
31007         New module 'unicase/u16-is-casefolded'.
31008         * lib/unicase/u16-is-casefolded.c: New file.
31009         * modules/unicase/u16-is-casefolded: New file.
31010
31011         New module 'unicase/u8-is-casefolded'.
31012         * lib/unicase/u8-is-casefolded.c: New file.
31013         * modules/unicase/u8-is-casefolded: New file.
31014
31015         Tests for module 'unicase/u32-is-titlecase'.
31016         * modules/unicase/u32-is-titlecase-tests: New file.
31017         * tests/unicase/test-u32-is-titlecase.c: New file.
31018
31019         Tests for module 'unicase/u16-is-titlecase'.
31020         * modules/unicase/u16-is-titlecase-tests: New file.
31021         * tests/unicase/test-u16-is-titlecase.c: New file.
31022
31023         Tests for module 'unicase/u8-is-titlecase'.
31024         * modules/unicase/u8-is-titlecase-tests: New file.
31025         * tests/unicase/test-u8-is-titlecase.c: New file.
31026         * tests/unicase/test-is-titlecase.h: New file.
31027
31028         New module 'unicase/u32-is-titlecase'.
31029         * lib/unicase/u32-is-titlecase.c: New file.
31030         * modules/unicase/u32-is-titlecase: New file.
31031
31032         New module 'unicase/u16-is-titlecase'.
31033         * lib/unicase/u16-is-titlecase.c: New file.
31034         * modules/unicase/u16-is-titlecase: New file.
31035
31036         New module 'unicase/u8-is-titlecase'.
31037         * lib/unicase/u8-is-titlecase.c: New file.
31038         * modules/unicase/u8-is-titlecase: New file.
31039
31040         Tests for module 'unicase/u32-is-lowercase'.
31041         * modules/unicase/u32-is-lowercase-tests: New file.
31042         * tests/unicase/test-u32-is-lowercase.c: New file.
31043
31044         Tests for module 'unicase/u16-is-lowercase'.
31045         * modules/unicase/u16-is-lowercase-tests: New file.
31046         * tests/unicase/test-u16-is-lowercase.c: New file.
31047
31048         Tests for module 'unicase/u8-is-lowercase'.
31049         * modules/unicase/u8-is-lowercase-tests: New file.
31050         * tests/unicase/test-u8-is-lowercase.c: New file.
31051         * tests/unicase/test-is-lowercase.h: New file.
31052
31053         New module 'unicase/u32-is-lowercase'.
31054         * lib/unicase/u32-is-lowercase.c: New file.
31055         * modules/unicase/u32-is-lowercase: New file.
31056
31057         New module 'unicase/u16-is-lowercase'.
31058         * lib/unicase/u16-is-lowercase.c: New file.
31059         * modules/unicase/u16-is-lowercase: New file.
31060
31061         New module 'unicase/u8-is-lowercase'.
31062         * lib/unicase/u8-is-lowercase.c: New file.
31063         * modules/unicase/u8-is-lowercase: New file.
31064
31065         Tests for module 'unicase/u32-is-uppercase'.
31066         * modules/unicase/u32-is-uppercase-tests: New file.
31067         * tests/unicase/test-u32-is-uppercase.c: New file.
31068
31069         Tests for module 'unicase/u16-is-uppercase'.
31070         * modules/unicase/u16-is-uppercase-tests: New file.
31071         * tests/unicase/test-u16-is-uppercase.c: New file.
31072
31073         Tests for module 'unicase/u8-is-uppercase'.
31074         * modules/unicase/u8-is-uppercase-tests: New file.
31075         * tests/unicase/test-u8-is-uppercase.c: New file.
31076         * tests/unicase/test-is-uppercase.h: New file.
31077
31078         New module 'unicase/u32-is-uppercase'.
31079         * lib/unicase/u32-is-uppercase.c: New file.
31080         * modules/unicase/u32-is-uppercase: New file.
31081
31082         New module 'unicase/u16-is-uppercase'.
31083         * lib/unicase/u16-is-uppercase.c: New file.
31084         * modules/unicase/u16-is-uppercase: New file.
31085
31086         New module 'unicase/u8-is-uppercase'.
31087         * lib/unicase/u8-is-uppercase.c: New file.
31088         * modules/unicase/u8-is-uppercase: New file.
31089
31090         New module 'unicase/u32-is-invariant'.
31091         * lib/unicase/u32-is-invariant.c: New file.
31092         * modules/unicase/u32-is-invariant: New file.
31093
31094         New module 'unicase/u16-is-invariant'.
31095         * lib/unicase/u16-is-invariant.c: New file.
31096         * modules/unicase/u16-is-invariant: New file.
31097
31098         New module 'unicase/u8-is-invariant'.
31099         * lib/unicase/u8-is-invariant.c: New file.
31100         * lib/unicase/invariant.h: New file.
31101         * lib/unicase/u-is-invariant.h: New file.
31102         * modules/unicase/u8-is-invariant: New file.
31103
31104         Tests for module 'unicase/u32-casecoll'.
31105         * modules/unicase/u32-casecoll-tests: New file.
31106         * tests/unicase/test-u32-casecoll.c: New file.
31107
31108         Tests for module 'unicase/u16-casecoll'.
31109         * modules/unicase/u16-casecoll-tests: New file.
31110         * tests/unicase/test-u16-casecoll.c: New file.
31111
31112         Tests for module 'unicase/u8-casecoll'.
31113         * modules/unicase/u8-casecoll-tests: New file.
31114         * tests/unicase/test-u8-casecoll.c: New file.
31115
31116         New module 'unicase/u32-casecoll'.
31117         * lib/unicase/u32-casecoll.c: New file.
31118         * modules/unicase/u32-casecoll: New file.
31119
31120         New module 'unicase/u16-casecoll'.
31121         * lib/unicase/u16-casecoll.c: New file.
31122         * modules/unicase/u16-casecoll: New file.
31123
31124         New module 'unicase/u8-casecoll'.
31125         * lib/unicase/u8-casecoll.c: New file.
31126         * lib/unicase/u-casecoll.h: New file.
31127         * modules/unicase/u8-casecoll: New file.
31128
31129         New module 'unicase/u32-casexfrm'.
31130         * lib/unicase/u32-casexfrm.c: New file.
31131         * modules/unicase/u32-casexfrm: New file.
31132
31133         New module 'unicase/u16-casexfrm'.
31134         * lib/unicase/u16-casexfrm.c: New file.
31135         * modules/unicase/u16-casexfrm: New file.
31136
31137         New module 'unicase/u8-casexfrm'.
31138         * lib/unicase/u8-casexfrm.c: New file.
31139         * lib/unicase/u-casexfrm.h: New file.
31140         * modules/unicase/u8-casexfrm: New file.
31141
31142         Tests for module 'unicase/u32-casecmp'.
31143         * modules/unicase/u32-casecmp-tests: New file.
31144         * tests/unicase/test-u32-casecmp.c: New file.
31145
31146         Tests for module 'unicase/u16-casecmp'.
31147         * modules/unicase/u16-casecmp-tests: New file.
31148         * tests/unicase/test-u16-casecmp.c: New file.
31149
31150         Tests for module 'unicase/u8-casecmp'.
31151         * modules/unicase/u8-casecmp-tests: New file.
31152         * tests/unicase/test-u8-casecmp.c: New file.
31153         * tests/unicase/test-casecmp.h: New file.
31154
31155         New module 'unicase/u32-casecmp'.
31156         * lib/unicase/u32-casecmp.c: New file.
31157         * modules/unicase/u32-casecmp: New file.
31158
31159         New module 'unicase/u16-casecmp'.
31160         * lib/unicase/u16-casecmp.c: New file.
31161         * modules/unicase/u16-casecmp: New file.
31162
31163         New module 'unicase/u8-casecmp'.
31164         * lib/unicase/u8-casecmp.c: New file.
31165         * lib/unicase/u-casecmp.h: New file.
31166         * modules/unicase/u8-casecmp: New file.
31167
31168         Tests for module 'unicase/u32-casefold'.
31169         * modules/unicase/u32-casefold-tests: New file.
31170         * tests/unicase/test-u32-casefold.c: New file.
31171
31172         Tests for module 'unicase/u16-casefold'.
31173         * modules/unicase/u16-casefold-tests: New file.
31174         * tests/unicase/test-u16-casefold.c: New file.
31175
31176         Tests for module 'unicase/u8-casefold'.
31177         * modules/unicase/u8-casefold-tests: New file.
31178         * tests/unicase/test-u8-casefold.c: New file.
31179
31180         New module 'unicase/u32-casefold'.
31181         * lib/unicase/u32-casefold.c: New file.
31182         * modules/unicase/u32-casefold: New file.
31183
31184         New module 'unicase/u16-casefold'.
31185         * lib/unicase/u16-casefold.c: New file.
31186         * modules/unicase/u16-casefold: New file.
31187
31188         New module 'unicase/u8-casefold'.
31189         * lib/unicase/u8-casefold.c: New file.
31190         * lib/unicase/u-casefold.h: New file.
31191         * modules/unicase/u8-casefold: New file.
31192
31193         New module 'unicase/tocasefold'.
31194         * lib/unicase/casefold.h: New file.
31195         * lib/unicase/tocasefold.c: New file.
31196         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
31197         * modules/unicase/tocasefold: New file.
31198
31199         Tests for module 'unicase/u32-totitle'.
31200         * modules/unicase/u32-totitle-tests: New file.
31201         * tests/unicase/test-u32-totitle.c: New file.
31202
31203         Tests for module 'unicase/u16-totitle'.
31204         * modules/unicase/u16-totitle-tests: New file.
31205         * tests/unicase/test-u16-totitle.c: New file.
31206
31207         Tests for module 'unicase/u8-totitle'.
31208         * modules/unicase/u8-totitle-tests: New file.
31209         * tests/unicase/test-u8-totitle.c: New file.
31210
31211         New module 'unicase/u32-totitle'.
31212         * lib/unicase/u32-totitle.c: New file.
31213         * modules/unicase/u32-totitle: New file.
31214
31215         New module 'unicase/u16-totitle'.
31216         * lib/unicase/u16-totitle.c: New file.
31217         * modules/unicase/u16-totitle: New file.
31218
31219         New module 'unicase/u8-totitle'.
31220         * lib/unicase/u8-totitle.c: New file.
31221         * lib/unicase/u-totitle.h: New file.
31222         * modules/unicase/u8-totitle: New file.
31223
31224         Tests for module 'unicase/u32-tolower'.
31225         * modules/unicase/u32-tolower-tests: New file.
31226         * tests/unicase/test-u32-tolower.c: New file.
31227
31228         Tests for module 'unicase/u16-tolower'.
31229         * modules/unicase/u16-tolower-tests: New file.
31230         * tests/unicase/test-u16-tolower.c: New file.
31231
31232         Tests for module 'unicase/u8-tolower'.
31233         * modules/unicase/u8-tolower-tests: New file.
31234         * tests/unicase/test-u8-tolower.c: New file.
31235
31236         New module 'unicase/u32-tolower'.
31237         * lib/unicase/u32-tolower.c: New file.
31238         * modules/unicase/u32-tolower: New file.
31239
31240         New module 'unicase/u16-tolower'.
31241         * lib/unicase/u16-tolower.c: New file.
31242         * modules/unicase/u16-tolower: New file.
31243
31244         New module 'unicase/u8-tolower'.
31245         * lib/unicase/u8-tolower.c: New file.
31246         * modules/unicase/u8-tolower: New file.
31247
31248         Tests for module 'unicase/u32-toupper'.
31249         * modules/unicase/u32-toupper-tests: New file.
31250         * tests/unicase/test-u32-toupper.c: New file.
31251
31252         Tests for module 'unicase/u16-toupper'.
31253         * modules/unicase/u16-toupper-tests: New file.
31254         * tests/unicase/test-u16-toupper.c: New file.
31255
31256         Tests for module 'unicase/u8-toupper'.
31257         * modules/unicase/u8-toupper-tests: New file.
31258         * tests/unicase/test-u8-toupper.c: New file.
31259
31260         New module 'unicase/u32-toupper'.
31261         * lib/unicase/u32-toupper.c: New file.
31262         * modules/unicase/u32-toupper: New file.
31263
31264         New module 'unicase/u16-toupper'.
31265         * lib/unicase/u16-toupper.c: New file.
31266         * modules/unicase/u16-toupper: New file.
31267
31268         New module 'unicase/u8-toupper'.
31269         * lib/unicase/u8-toupper.c: New file.
31270         * modules/unicase/u8-toupper: New file.
31271
31272         New module 'unicase/u32-casemap'.
31273         * lib/unicase/u32-casemap.c: New file.
31274         * modules/unicase/u32-casemap: New file.
31275
31276         New module 'unicase/u16-casemap'.
31277         * lib/unicase/u16-casemap.c: New file.
31278         * modules/unicase/u16-casemap: New file.
31279
31280         New module 'unicase/u8-casemap'.
31281         * lib/unicase/unicasemap.h: New file.
31282         * lib/unicase/u8-casemap.c: New file.
31283         * lib/unicase/u-casemap.h: New file.
31284         * modules/unicase/u8-casemap: New file.
31285
31286         New module 'unicase/special-casing'.
31287         * lib/unicase/special-casing.h: New file.
31288         * lib/unicase/special-casing.c: New file.
31289         * lib/unicase/special-casing-table.gperf: New file, generated by
31290         gen-uni-tables.c.
31291         * modules/unicase/special-casing: New file.
31292
31293         Tests for module 'unicase/locale-language'.
31294         * modules/unicase/locale-language-tests: New file.
31295         * tests/unicase/test-locale-language.sh: New file.
31296         * tests/unicase/test-locale-language.c: New file.
31297
31298         New module 'unicase/locale-language'.
31299         * lib/unicase/locale-language.c: New file.
31300         * lib/unicase/locale-languages.gperf: New file.
31301         * modules/unicase/locale-language: New file.
31302
31303         Generate more tables for case conversion and case folding.
31304         * lib/gen-uni-tables.c (SCC_*): New enum items.
31305         (struct special_casing_rule): New type.
31306         (casing_rules, num_casing_rules, allocated_casing_rules): New
31307         variables.
31308         (add_casing_rule, fill_casing_rules): New functions.
31309         (struct casefold_rule): New type.
31310         (casefolding_rules, num_casefolding_rules,
31311         allocated_casefolding_rules): New variables.
31312         (fill_casefolding_rules): New function.
31313         (unicode_casefold): New variable.
31314         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
31315         sort_casing_rules, output_casing_rules): New functions.
31316         (main): Accept to more arguments: SpecialCasing.txt and
31317         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
31318         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
31319         Output mapping for casefolding.
31320
31321         * lib/unicase.h: Include stdbool.h, uninorm.h.
31322         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
31323         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
31324         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
31325         arguments.
31326         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
31327         resultp arguments.
31328         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
31329         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
31330         resultp arguments.
31331         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
31332         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
31333         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
31334         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
31335         declarations.
31336         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
31337
31338 2009-03-08  Bruno Haible  <bruno@clisp.org>
31339
31340         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
31341         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
31342         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
31343         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
31344
31345 2009-03-07  Bruno Haible  <bruno@clisp.org>
31346
31347         Adjust u*_normcmp, u*_normcoll API.
31348         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
31349         u16_normcoll, u32_normcoll): Change failure conventions.
31350         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
31351         errno and return -1.
31352         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
31353
31354 2009-03-07  Bruno Haible  <bruno@clisp.org>
31355
31356         Tests for module 'uninorm/u32-normcoll'.
31357         * modules/uninorm/u32-normcoll-tests: New file.
31358         * tests/uninorm/test-u32-normcoll.c: New file.
31359
31360         Tests for module 'uninorm/u16-normcoll'.
31361         * modules/uninorm/u16-normcoll-tests: New file.
31362         * tests/uninorm/test-u16-normcoll.c: New file.
31363
31364         Tests for module 'uninorm/u8-normcoll'.
31365         * modules/uninorm/u8-normcoll-tests: New file.
31366         * tests/uninorm/test-u8-normcoll.c: New file.
31367
31368 2009-03-07  Bruno Haible  <bruno@clisp.org>
31369
31370         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
31371         tests/uninorm/test-u32-normcmp.c.
31372         * tests/uninorm/test-u32-normcmp.c: Include it.
31373         (test_nonascii): New function, extracted from main. Add some more
31374         tests.
31375         (main): Invoke test_ascii and test_nonascii.
31376         * modules/uninorm/u32-normcmp-tests (Files): Add
31377         tests/uninorm/test-u32-normcmp.h.
31378         (Depends-on): Remove uninorm/u32-normcmp.
31379
31380         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
31381         tests/uninorm/test-u16-normcmp.c.
31382         * tests/uninorm/test-u16-normcmp.c: Include it.
31383         (test_nonascii): New function, extracted from main. Add some more
31384         tests.
31385         (main): Invoke test_ascii and test_nonascii.
31386         * modules/uninorm/u16-normcmp-tests (Files): Add
31387         tests/uninorm/test-u16-normcmp.h.
31388         (Depends-on): Remove uninorm/u16-normcmp.
31389
31390         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
31391         tests/uninorm/test-u8-normcmp.c.
31392         * tests/uninorm/test-u8-normcmp.c: Include it.
31393         (test_nonascii): New function, extracted from main. Add some more
31394         tests.
31395         (main): Invoke test_ascii and test_nonascii.
31396         * modules/uninorm/u8-normcmp-tests (Files): Add
31397         tests/uninorm/test-u8-normcmp.h.
31398         (Depends-on): Remove uninorm/u8-normcmp.
31399
31400 2009-03-07  Bruno Haible  <bruno@clisp.org>
31401
31402         New module 'uninorm/u32-normcoll'.
31403         * lib/uninorm/u32-normcoll.c: New file.
31404         * modules/uninorm/u32-normcoll: New file.
31405
31406         New module 'uninorm/u16-normcoll'.
31407         * lib/uninorm/u16-normcoll.c: New file.
31408         * modules/uninorm/u16-normcoll: New file.
31409
31410         New module 'uninorm/u8-normcoll'.
31411         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
31412         declarations.
31413         * lib/uninorm/u8-normcoll.c: New file.
31414         * lib/uninorm/u-normcoll.h: New file.
31415         * modules/uninorm/u8-normcoll: New file.
31416
31417         New module 'uninorm/u32-normxfrm'.
31418         * lib/uninorm/u32-normxfrm.c: New file.
31419         * modules/uninorm/u32-normxfrm: New file.
31420
31421         New module 'uninorm/u16-normxfrm'.
31422         * lib/uninorm/u16-normxfrm.c: New file.
31423         * modules/uninorm/u16-normxfrm: New file.
31424
31425         New module 'uninorm/u8-normxfrm'.
31426         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
31427         declarations.
31428         * lib/uninorm/u8-normxfrm.c: New file.
31429         * lib/uninorm/u-normxfrm.h: New file.
31430         * modules/uninorm/u8-normxfrm: New file.
31431
31432 2009-03-07  Bruno Haible  <bruno@clisp.org>
31433
31434         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
31435         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
31436         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
31437
31438 2009-03-07  Bruno Haible  <bruno@clisp.org>
31439
31440         New module 'memxfrm'.
31441         * lib/memxfrm.h: New file.
31442         * lib/memxfrm.c: New file.
31443         * modules/memxfrm: New file.
31444
31445 2009-03-07  Bruno Haible  <bruno@clisp.org>
31446
31447         New module 'memcmp2'.
31448         * lib/memcmp2.h: New file.
31449         * lib/memcmp2.c: New file.
31450         * modules/memcmp2: New file.
31451
31452 2009-03-07  Bruno Haible  <bruno@clisp.org>
31453
31454         Tests for module 'uninorm/decomposing-form'.
31455         * modules/uninorm/decomposing-form-tests: New file.
31456         * tests/uninorm/test-decomposing-form.c: New file.
31457
31458         New module 'uninorm/decomposing-form'.
31459         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
31460         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
31461         Add 'decomposing_variant' field.
31462         * lib/uninorm/decomposing-form.c: New file.
31463         * lib/uninorm/nfc.c (uninorm_nfc): Update.
31464         * lib/uninorm/nfd.c (uninorm_nfd): Update.
31465         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
31466         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
31467         * modules/uninorm/decomposing-form: New file.
31468         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
31469         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
31470
31471 2009-03-07  Bruno Haible  <bruno@clisp.org>
31472
31473         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
31474         strings.
31475
31476 2009-03-06  Bruno Haible  <bruno@clisp.org>
31477
31478         Tests for module 'uninorm/u32-normcmp'.
31479         * tests/uninorm/test-u32-normcmp.c: New file.
31480         * modules/uninorm/u32-normcmp-tests: New file.
31481
31482         Tests for module 'uninorm/u16-normcmp'.
31483         * tests/uninorm/test-u16-normcmp.c: New file.
31484         * modules/uninorm/u16-normcmp-tests: New file.
31485
31486         Tests for module 'uninorm/u8-normcmp'.
31487         * tests/uninorm/test-u8-normcmp.c: New file.
31488         * modules/uninorm/u8-normcmp-tests: New file.
31489
31490         New module 'uninorm/u32-normcmp'.
31491         * lib/uninorm/u32-normcmp.c: New file.
31492         * modules/uninorm/u32-normcmp: New file.
31493
31494         New module 'uninorm/u16-normcmp'.
31495         * lib/uninorm/u16-normcmp.c: New file.
31496         * modules/uninorm/u16-normcmp: New file.
31497
31498         New module 'uninorm/u8-normcmp'.
31499         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
31500         declarations.
31501         * lib/uninorm/u8-normcmp.c: New file.
31502         * lib/uninorm/u-normcmp.h: New file.
31503         * modules/uninorm/u8-normcmp: New file.
31504
31505 2009-03-06  Bruno Haible  <bruno@clisp.org>
31506
31507         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
31508         Reported by Eric Blake.
31509
31510 2009-03-06  Eric Blake  <ebb9@byu.net>
31511             Bruno Haible  <bruno@clisp.org>
31512
31513         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
31514         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
31515         condition.
31516         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31517         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
31518         condition.
31519         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31520
31521 2009-03-06  Eric Blake  <ebb9@byu.net>
31522
31523         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
31524         to avoid compiler warnings.
31525         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
31526
31527 2009-03-05  Bruno Haible  <bruno@clisp.org>
31528
31529         * tests/test-ftell.c (main): Disable test beyond end of file on
31530         FreeMiNT.
31531         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31532
31533 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
31534
31535         * lib/filevercmp.c: Move hidden files up in ordering.
31536         * tests/test-filevercmp.c: Add tests for hidden files.
31537
31538 2009-03-04  Bruno Haible  <bruno@clisp.org>
31539
31540         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
31541         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
31542         AM_CFLAGS.
31543         Reported by Simon Josefsson.
31544
31545 2009-03-03  Bruno Haible  <bruno@clisp.org>
31546
31547         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
31548         Reported by Simon Josefsson.
31549
31550         * doc/ld-version-script.texi: Update node reference.
31551
31552 2009-03-03  Bruno Haible  <bruno@clisp.org>
31553
31554         * modules/visibility (License): Change to 'unlimited'.
31555         Suggested by Simon Josefsson.
31556
31557 2009-03-03  Jim Meyering  <meyering@redhat.com>
31558
31559         unlinkdir: cannot_unlink_dir may modify process state
31560         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
31561         it's neither thread-safe nor appropriate for use in a library.
31562
31563 2009-03-03  Eric Blake  <ebb9@byu.net>
31564
31565         test-closein: silence test under Darwin
31566         * tests/test-closein.sh: Ignore stderr from cat, since we don't
31567         care if it dies from EPIPE or EBADF.
31568
31569 2009-03-03  Bruno Haible  <bruno@clisp.org>
31570
31571         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
31572         earlier.
31573         * doc/visibility.texi: Fix @node and @section.
31574
31575 2009-03-03  Simon Josefsson  <simon@josefsson.org>
31576
31577         * doc/gnulib.texi: Link to sections for ld version script and
31578         visibility.
31579         * doc/visibility.texi: Add @node and @section.
31580         * modules/ld-version-script: New module.
31581         * m4/ld-version-script.m4: New file.
31582         * doc/ld-version-script.texi: New file.
31583
31584 2009-03-02  David Lutterkort  <lutter@redhat.com>
31585
31586         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
31587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31588
31589 2009-03-02  Bruno Haible  <bruno@clisp.org>
31590
31591         * doc/visibility.texi: Mention libtool's -export-symbols option.
31592
31593 2009-03-02  Jim Meyering  <meyering@redhat.com>
31594
31595         announce-gen: new option: --no-print-checksums
31596         * build-aux/announce-gen (usage): Describe it.
31597         (print_checksums): Print a newline here, not in the [*] footnote.
31598         (main): Honor it.
31599
31600 2009-03-01  Bruno Haible  <bruno@clisp.org>
31601
31602         Use socklen_t in the native Windows replacements prototypes.
31603         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
31604         instead of 'int'.
31605         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31606         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31607         * modules/getsockopt (Depends-on): Add socklen.
31608         * modules/setsockopt (Depends-on): Add socklen.
31609
31610 2009-03-01  Bruno Haible  <bruno@clisp.org>
31611
31612         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
31613         least 4.2.
31614
31615 2009-03-01  Eric Blake  <ebb9@byu.net>
31616             Bruno Haible  <bruno@clisp.org>
31617
31618         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
31619         error messages.
31620         * lib/wait-process.c (wait_subprocess): Omit error message about
31621         deadly signal sent to the child of termsigp != NULL.
31622
31623 2009-03-01  Eric Blake  <ebb9@byu.net>
31624
31625         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
31626
31627 2009-03-01  Bruno Haible  <bruno@clisp.org>
31628
31629         Avoid a gcc warning.
31630         * tests/test-sched.c (b): Make global.
31631         Reported by Eric Blake.
31632
31633 2009-01-19  Martin Lambers  <marlam@marlam.de>
31634
31635         Provide POSIX semantics for socket timeout options on W32.
31636         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
31637         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
31638         * modules/setsockopt: Depend on sys_time module for struct timeval.
31639         * modules/getsockopt: Depend on sys_time module for struct timeval.
31640
31641 2009-03-01  Simon Josefsson  <simon@josefsson.org>
31642
31643         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
31644         __USE_GNU, for consistency with netdb.in.h.
31645         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31646
31647 2009-03-01  Bruno Haible  <bruno@clisp.org>
31648
31649         More support for FreeMiNT.
31650         * lib/fseeko.c (rpl_fseeko): Complete last commit.
31651         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31652
31653 2009-03-01  Bruno Haible  <bruno@clisp.org>
31654
31655         More support for FreeMiNT.
31656         * lib/fpurge.c (fpurge): Correct last commit.
31657         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31658
31659 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31660
31661         Fix unportable awk script in vc-list-files.
31662         * build-aux/vc-list-files: In the replacement awk script, use
31663         substr with a second argument of 1, not zero.
31664         Report by Simon Josefsson.
31665
31666 2009-02-28  Bruno Haible  <bruno@clisp.org>
31667
31668         More support for FreeMiNT.
31669         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
31670         to FreeMiNT today.
31671         * lib/fwriting.c (fwriting): Likewise.
31672         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
31673
31674 2009-02-28  Bruno Haible  <bruno@clisp.org>
31675
31676         * tests/test-freadseek.c (main): Disable test beyond end of file on
31677         FreeMiNT.
31678         * tests/test-ftello.c (main): Likewise.
31679         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31680
31681 2009-02-28  Bruno Haible  <bruno@clisp.org>
31682
31683         Add tentative support for FreeMiNT.
31684         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
31685         * lib/fpurge.c (fpurge): Likewise.
31686         * lib/freadable.c (freadable): Likewise.
31687         * lib/freading.c (freading): Likewise.
31688         * lib/freadptr.c (freadptr): Likewise.
31689         * lib/freadseek.c (freadptrinc): Likewise.
31690         * lib/fseeko.c (rpl_fseeko): Likewise.
31691         * lib/fseterr.c (fseterr): Likewise.
31692         * lib/fwritable.c (fwritable): Likewise.
31693         * lib/fwriting.c (fwriting): Likewise.
31694         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
31695         Hourihane.
31696         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31697
31698 2009-02-28  Bruno Haible  <bruno@clisp.org>
31699
31700         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
31701         SIGCHLD.
31702         Reported by Jim Meyering.
31703
31704 2009-02-28  Bruno Haible  <bruno@clisp.org>
31705
31706         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
31707         Mention the results of these tests on various platforms.
31708         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
31709         order.
31710         * doc/posix-functions/printf.texi: Likewise.
31711         * doc/posix-functions/snprintf.texi: Likewise.
31712         * doc/posix-functions/sprintf.texi: Likewise.
31713         * doc/posix-functions/vfprintf.texi: Likewise.
31714         * doc/posix-functions/vprintf.texi: Likewise.
31715         * doc/posix-functions/vsnprintf.texi: Likewise.
31716         * doc/posix-functions/vsprintf.texi: Likewise.
31717         * doc/glibc-functions/obstack_printf.texi: Likewise.
31718         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31719
31720 2009-02-28  Bruno Haible  <bruno@clisp.org>
31721
31722         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
31723         Reported by Loïc Minier <lool@dooz.org>.
31724
31725 2009-02-27  Bruno Haible  <bruno@clisp.org>
31726
31727         * gnulib-tool (func_import): Make the sed expression used to create the
31728         sed script for updating the .gitignore file POSIX compliant.
31729         Reported by Eric Blake.
31730
31731 2009-02-27  Bruno Haible  <bruno@clisp.org>
31732
31733         * gnulib-tool (sed): Don't alias as "sed --posix".
31734         Reported by Eric Blake.
31735
31736 2009-02-27  Bruno Haible  <bruno@clisp.org>
31737
31738         Avoid test link errors.
31739         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
31740         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
31741         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
31742         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
31743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31744
31745 2009-02-27  Bruno Haible  <bruno@clisp.org>
31746
31747         Avoid spurious "(cached)" in configure output.
31748         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
31749         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
31750         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31751         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31752         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31753         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31754         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31755         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31756         Reported by Eric Blake.
31757
31758 2009-02-27  Eric Blake  <ebb9@byu.net>
31759
31760         printf: fix regression in previous patch
31761         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
31762
31763 2009-02-27  Bruno Haible  <bruno@clisp.org>
31764
31765         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
31766         value.
31767         * lib/stdint.in.h: Likewise.
31768         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
31769
31770 2009-02-27  Eric Blake  <ebb9@byu.net>
31771
31772         doc: mention more functions added in cygwin 1.7.0
31773         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
31774         addition.
31775         * doc/posix-functions/open_wmemstream.texi: Likewise.
31776         * doc/posix-functions/wcsnlen.texi: Likewise.
31777         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31778         * doc/posix-functions/wcstod.texi: Likewise.
31779         * doc/posix-functions/wcstof.texi: Likewise.
31780         * doc/posix-functions/wcstoimax.texi: Likewise.
31781         * doc/posix-functions/wcstok.texi: Likewise.
31782         * doc/posix-functions/wcstoumax.texi: Likewise.
31783
31784         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
31785         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
31786         * doc/posix-functions/fprintf.texi: Update.
31787         * doc/posix-functions/printf.texi: Update.
31788         * doc/posix-functions/snprintf.texi: Update.
31789         * doc/posix-functions/sprintf.texi: Update.
31790         * doc/posix-functions/vfprintf.texi: Update.
31791         * doc/posix-functions/vprintf.texi: Update.
31792         * doc/posix-functions/vsnprintf.texi: Update.
31793         * doc/posix-functions/vsprintf.texi: Update.
31794         * doc/glibc-functions/obstack_printf.texi: Update.
31795         * doc/glibc-functions/obstack_vprintf.texi: Update.
31796
31797 2009-02-26  Eric Blake  <ebb9@byu.net>
31798
31799         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
31800         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
31801         compilation bug by using runtime conversion.
31802         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31803         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
31804         * modules/ceill-tests (Files): Use nan.h.
31805         * modules/floorl-tests (Files): Likewise.
31806         * modules/frexpl-tests (Files): Likewise.
31807         * modules/isnanl-tests (Files): Likewise.
31808         * modules/ldexpl-tests (Files): Likewise.
31809         * modules/roundl-tests (Files): Likewise.
31810         * modules/truncl-tests (Files): Likewise.
31811         * tests/test-ceill.c (main): Use a working NaN.
31812         * tests/test-floorl.c (main): Likewise.
31813         * tests/test-frexpl.c (main): Likewise.
31814         * tests/test-isnan.c (test_long_double): Likewise.
31815         * tests/test-isnanl.h (main): Likewise.
31816         * tests/test-ldexpl.h (main): Likewise.
31817         * tests/test-roundl.h (main): Likewise.
31818         * tests/test-truncl.h (main): Likewise.
31819         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
31820
31821 2009-02-26  Eric Blake  <ebb9@byu.net>
31822             Bruno Haible  <bruno@clisp.org>
31823
31824         Work around a *printf bug with %ls on Solaris.
31825         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
31826         precision is specified, sprintf stops converting the wide string
31827         argument when the number of bytes that have been produced by this
31828         conversion equals or exceeds the precision.
31829         * doc/posix-functions/fprintf.texi: Update.
31830         * doc/posix-functions/printf.texi: Update.
31831         * doc/posix-functions/snprintf.texi: Update.
31832         * doc/posix-functions/sprintf.texi: Update.
31833         * doc/posix-functions/vfprintf.texi: Update.
31834         * doc/posix-functions/vprintf.texi: Update.
31835         * doc/posix-functions/vsnprintf.texi: Update.
31836         * doc/posix-functions/vsprintf.texi: Update.
31837         * doc/glibc-functions/obstack_printf.texi: Update.
31838         * doc/glibc-functions/obstack_vprintf.texi: Update.
31839
31840 2009-02-26  Eric Blake  <ebb9@byu.net>
31841
31842         stdlib: favor compiler check of random.h
31843         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
31844         to avoid an ObjC random.h installed by Swarm.
31845
31846 2009-02-26  Bruno Haible  <bruno@clisp.org>
31847
31848         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
31849         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
31850         Reported by Gary V. Vaughan <gary@gnu.org>.
31851
31852 2009-02-26  Bruno Haible  <bruno@clisp.org>
31853
31854         Fix *printf behaviour regarding the %ls directive.
31855         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
31856         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
31857         NEED_PRINTF_DIRECTIVE_LS.
31858         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
31859         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31860         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31861         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
31862         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
31863         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
31864         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31865         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31866         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31867         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31868         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31869         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
31870         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31871         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31872         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31873         * doc/posix-functions/fprintf.texi: Update.
31874         * doc/posix-functions/printf.texi: Update.
31875         * doc/posix-functions/snprintf.texi: Update.
31876         * doc/posix-functions/sprintf.texi: Update.
31877         * doc/posix-functions/vfprintf.texi: Update.
31878         * doc/posix-functions/vprintf.texi: Update.
31879         * doc/posix-functions/vsnprintf.texi: Update.
31880         * doc/posix-functions/vsprintf.texi: Update.
31881         * doc/glibc-functions/obstack_printf.texi: Update.
31882         * doc/glibc-functions/obstack_vprintf.texi: Update.
31883         Reported by Eric Blake.
31884
31885 2009-02-25  Bruno Haible  <bruno@clisp.org>
31886
31887         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
31888         with known value.
31889         Reported by Gary V. Vaughan <gary@gnu.org>.
31890
31891 2009-02-25  Bruno Haible  <bruno@clisp.org>
31892
31893         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
31894         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
31895         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
31896         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
31897         Reported by Gary V. Vaughan <gary@gnu.org>.
31898
31899 2009-02-25  Bruno Haible  <bruno@clisp.org>
31900
31901         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
31902         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
31903         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
31904         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
31905         Reported by Gary V. Vaughan <gary@gnu.org>.
31906
31907 2009-02-25  Eric Blake  <ebb9@byu.net>
31908
31909         tests: skip fseek/ftell tests if ungetc is broken
31910         * m4/ungetc.m4: New file.
31911         * modules/fseek-tests: Split test, so ungetc dependency is
31912         separate from rest of test.
31913         * modules/fseeko-tests: Likewise.
31914         * modules/ftell-tests: Likewise.
31915         * modules/ftello-tests: Likewise.
31916         * tests/test-fseek.c (main): Isolate ungetc dependency.
31917         * tests/test-fseeko.c (main): Likewise.
31918         * tests/test-ftell.c (main): Likewise.
31919         * tests/test-ftello.c (main): Likewise.
31920         * tests/test-fseek2.sh: New file.
31921         * tests/test-fseeko2.sh: Likewise.
31922         * tests/test-ftell2.sh: Likewise.
31923         * tests/test-ftello2.sh: Likewise.
31924
31925 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
31926
31927         test-getaddrinfo: fix usage of skip return code 77
31928         * tests/test-gettaddrinfo.c: Return skip code 77 only
31929         for first occurance of skip (4x77 is not 77)
31930
31931 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
31932
31933         strtod: avoid C99 decl-after-statement
31934         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
31935
31936 2009-02-24  Eric Blake  <ebb9@byu.net>
31937
31938         strtod: detect HP-UX 11.31 bug
31939         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
31940         Reported by Gary V. Vaughan.
31941
31942 2009-02-23  Bruno Haible  <bruno@clisp.org>
31943
31944         Fix invalid read past end of memory block.
31945         * lib/vasnprintf.c (DCHAR_SET): Define.
31946         (local_wcslen): Define only when needed.
31947         (local_strnlen, local_wcsnlen): New functions.
31948         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
31949         directives that involve a conversion ourselves.
31950         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
31951         wcsnlen, mbrtowc, wcrtomb.
31952         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
31953         * tests/test-vasprintf-posix.c (test_function): Likewise.
31954         * tests/test-snprintf-posix.h (test_function): Likewise.
31955         * tests/test-sprintf-posix.h (test_function): Likewise.
31956         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31957
31958 2009-02-22  Bruno Haible  <bruno@clisp.org>
31959
31960         Implement new clarified decomposition of Hangul syllables.
31961         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
31962         of type LTV, return only a pairwise decomposition.
31963         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
31964         Likewise.
31965         * tests/uninorm/test-decomposition.c (main): Updated expected result.
31966         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
31967         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
31968
31969 2009-02-22  Bruno Haible  <bruno@clisp.org>
31970
31971         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31972         zero-length results and shrink excess allocated memory.
31973         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31974         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31975         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31976         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31977         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31978         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31979         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31980         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31981         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31982         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31983         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31984         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31985
31986 2009-02-21  Bruno Haible  <bruno@clisp.org>
31987
31988         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31989         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31990         spaces after a period. Put a space between a macro name and its
31991         argument list. Trivial rewordings.
31992         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31993         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31994         (main): Return 0 explicitly.
31995
31996 2009-02-21  Bruno Haible  <bruno@clisp.org>
31997
31998         Tests for module 'uninorm/filter'.
31999         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
32000         * modules/uninorm/filter-tests: New file.
32001
32002         New module 'uninorm/filter'.
32003         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
32004         uninorm_filter_flush, uninorm_filter_free): New declarations.
32005         * lib/uninorm/uninorm-filter.c: New file.
32006         * modules/uninorm/filter: New file.
32007
32008 2009-02-21  Bruno Haible  <bruno@clisp.org>
32009
32010         Tests for module 'uninorm/nfkc'.
32011         * tests/uninorm/test-nfkc.c: New file.
32012         * tests/uninorm/test-u8-nfkc.c: New file.
32013         * tests/uninorm/test-u16-nfkc.c: New file.
32014         * tests/uninorm/test-u32-nfkc.c: New file.
32015         * tests/uninorm/test-u32-nfkc-big.sh: New file.
32016         * tests/uninorm/test-u32-nfkc-big.c: New file.
32017         * modules/uninorm/nfkc-tests: New file.
32018
32019         New module 'uninorm/nfkc'.
32020         * lib/uninorm/nfkc.c: New file.
32021         * modules/uninorm/nfkc: New file.
32022
32023         Tests for module 'uninorm/nfkd'.
32024         * tests/uninorm/test-nfkd.c: New file.
32025         * tests/uninorm/test-u8-nfkd.c: New file.
32026         * tests/uninorm/test-u16-nfkd.c: New file.
32027         * tests/uninorm/test-u32-nfkd.c: New file.
32028         * tests/uninorm/test-u32-nfkd-big.sh: New file.
32029         * tests/uninorm/test-u32-nfkd-big.c: New file.
32030         * modules/uninorm/nfkd-tests: New file.
32031
32032         New module 'uninorm/nfkd'.
32033         * lib/uninorm/nfkd.c: New file.
32034         * modules/uninorm/nfkd: New file.
32035
32036         Tests for module 'uninorm/nfc'.
32037         * tests/uninorm/test-nfc.c: New file.
32038         * tests/uninorm/test-u8-nfc.c: New file.
32039         * tests/uninorm/test-u16-nfc.c: New file.
32040         * tests/uninorm/test-u32-nfc.c: New file.
32041         * tests/uninorm/test-u32-nfc-big.sh: New file.
32042         * tests/uninorm/test-u32-nfc-big.c: New file.
32043         * modules/uninorm/nfc-tests: New file.
32044
32045         New module 'uninorm/nfc'.
32046         * lib/uninorm/nfc.c: New file.
32047         * modules/uninorm/nfc: New file.
32048
32049         Tests for module 'uninorm/nfd'.
32050         * tests/uninorm/test-nfd.c: New file.
32051         * tests/uninorm/test-u8-nfd.c: New file.
32052         * tests/uninorm/test-u16-nfd.c: New file.
32053         * tests/uninorm/test-u32-nfd.c: New file.
32054         * tests/uninorm/test-u32-nfd-big.sh: New file.
32055         * tests/uninorm/test-u32-nfd-big.c: New file.
32056         * tests/uninorm/test-u32-normalize-big.h: New file.
32057         * tests/uninorm/test-u32-normalize-big.c: New file.
32058         * tests/uninorm/NormalizationTest.txt: New file, created from
32059         Unicode 5.1.0 NormalizationTest.txt.
32060         * modules/uninorm/nfd-tests: New file.
32061
32062         New module 'uninorm/nfd'.
32063         * lib/uninorm/nfd.c: New file.
32064         * modules/uninorm/nfd: New file.
32065
32066         New module 'uninorm/u32-normalize'.
32067         * lib/uninorm/u32-normalize.c: New file.
32068         * modules/uninorm/u32-normalize: New file.
32069
32070         New module 'uninorm/u16-normalize'.
32071         * lib/uninorm/u16-normalize.c: New file.
32072         * modules/uninorm/u16-normalize: New file.
32073
32074         New module 'uninorm/u8-normalize'.
32075         * lib/uninorm/u8-normalize.c: New file.
32076         * lib/uninorm/normalize-internal.h: New file.
32077         * lib/uninorm/u-normalize-internal.h: New file.
32078         * modules/uninorm/u8-normalize: New file.
32079
32080         New module 'uninorm/decompose-internal'.
32081         * lib/uninorm/decompose-internal.c: New file.
32082         * modules/uninorm/decompose-internal: New file.
32083
32084         Tests for module 'uninorm/composition'.
32085         * tests/uninorm/test-composition.c: New file.
32086         * modules/uninorm/composition-tests: New file.
32087
32088         New module 'uninorm/composition'.
32089         * lib/uninorm/composition.c: New file.
32090         * lib/uninorm/composition-table.gperf: New file, generated by
32091         gen-uni-tables.
32092         * modules/uninorm/composition: New file.
32093
32094         Tests for module 'uninorm/compat-decomposition'.
32095         * tests/uninorm/test-compat-decomposition.c: New file.
32096         * modules/uninorm/compat-decomposition-tests: New file.
32097
32098         New module 'uninorm/compat-decomposition'.
32099         * lib/uninorm/decompose-internal.h: New file.
32100         * lib/uninorm/compat-decomposition.c: New file.
32101         * modules/uninorm/compat-decomposition: New file.
32102
32103         Tests for module 'uninorm/canonical-decomposition'.
32104         * tests/uninorm/test-canonical-decomposition.c: New file.
32105         * modules/uninorm/canonical-decomposition-tests: New file.
32106
32107         New module 'uninorm/canonical-decomposition'.
32108         * lib/uninorm/canonical-decomposition.c: New file.
32109         * modules/uninorm/canonical-decomposition: New file.
32110
32111         Tests for module 'uninorm/decomposition'.
32112         * tests/uninorm/test-decomposition.c: New file.
32113         * modules/uninorm/decomposition-tests: New file.
32114
32115         New module 'uninorm/decomposition'.
32116         * lib/uninorm/decomposition.c: New file.
32117         * modules/uninorm/decomposition: New file.
32118
32119         New module 'uninorm/decomposition-table'.
32120         * lib/uninorm/decomposition-table.h: New file.
32121         * lib/uninorm/decomposition-table.c: New file.
32122         * lib/uninorm/decomposition-table1.h: New file, generated by
32123         gen-uni-tables.
32124         * lib/uninorm/decomposition-table2.h: New file, generated by
32125         gen-uni-tables.
32126         * modules/uninorm/decomposition-table: New file.
32127
32128         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
32129         (UC_DECOMP_*): New enumeration items.
32130         (get_decomposition): New function.
32131         (struct decomp_table): New type.
32132         (output_decomposition, output_decomposition_tables): New functions.
32133         (unicode_composition_exclusions): New variable.
32134         (fill_composition_exclusions, debug_output_composition_tables): New
32135         functions.
32136         (main): Accept one more argument. Invoke fill_composition_exclusions.
32137         Output decomposition and composition tables.
32138
32139         New module 'uninorm/base'.
32140         * lib/uninorm.h: New file.
32141         * lib/unictype.h: Update comment.
32142         * modules/uninorm/base: New file.
32143
32144 2009-02-21  David Lutterkort  <lutter@redhat.com>
32145
32146         Tests for module 'safe-alloc'.
32147         * tests/test-safe-alloc.c: New file.
32148         * modules/safe-alloc-tests: New file.
32149
32150         New module 'safe-alloc'.
32151         * lib/safe-alloc.h: New file.
32152         * lib/safe-alloc.c: New file.
32153         * m4/safe-alloc.m4: New file.
32154         * modules/safe-alloc: New file.
32155         * doc/safe-alloc.texi: New file.
32156         * doc/gnulib.texi: Include it.
32157         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
32158         safe-alloc.
32159
32160 2009-02-18  Bruno Haible  <bruno@clisp.org>
32161
32162         Fix link error on non-glibc systems.
32163         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
32164         variable.
32165         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32166
32167 2009-02-18  Jim Meyering  <meyering@redhat.com>
32168
32169         fts: avoid used-uninitialized error due to recent change
32170         * lib/fts.c (fts_read): Guard uses of the new member,
32171         parent->fts_n_dirs_remaining, since it's not relevant for
32172         the parent of a directory specified on the command-line.
32173
32174 2009-02-17  James Youngman  <jay@gnu.org>
32175             Bruno Haible  <bruno@clisp.org>
32176
32177         * m4/include_next.m4: Reformulate comment.
32178
32179 2009-02-16  Jim Meyering  <meyering@redhat.com>
32180
32181         fts: add #if guards so that the fts_lgpl module still builds
32182         * lib/fts.c: Guard just-added hash-table-using parts with
32183         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
32184         Reported by Simon Josefsson.
32185
32186 2009-02-15  Bruno Haible  <bruno@clisp.org>
32187
32188         * modules/array-mergesort-tests: New file.
32189         * tests/test-array-mergesort.c: New file.
32190
32191         New module 'array-mergesort'.
32192         * modules/array-mergesort: New file.
32193         * lib/array-mergesort.h: New file.
32194
32195 2009-02-15  Bruno Haible  <bruno@clisp.org>
32196
32197         Fix 2009-02-07 commit.
32198         * lib/gen-uni-tables.c (output_predicate, output_category,
32199         output_combclass, output_bidi_category, output_decimal_digit,
32200         output_digit, output_numeric, output_mirror, output_scripts,
32201         output_ident_category, output_simple_mapping): Fix format directives.
32202         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
32203
32204 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
32205
32206         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
32207         fixes are available from IBM.
32208
32209 2009-02-13  Jim Meyering  <meyering@redhat.com>
32210
32211         fts: arrange not to stat non-directories in more cases
32212         This makes GNU find (when it doesn't need to stat each file)
32213         *much* more efficient at traversing reiserfs file systems.
32214         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
32215         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
32216         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
32217         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
32218         (leaf_optimization_applies): New function.
32219         (LCO_hash, LCO_compare): New helper functions.
32220         (link_count_optimize_ok): New function.
32221         (fts_stat): Initialize new member (if dir).
32222         (fts_read): Decrement parent's fts_n_dirs_remaining count if
32223         we've just stat'ed a directory.  Skip the stat call when possible.
32224         ---
32225         Note this AFS-related exchange:
32226         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
32227         and note find's pioctl call in find/fstype.c.
32228         But that is necessary only if you want to enable the
32229         optimization for AFS, and for now, I don't.
32230
32231         fts: move a function definition "up" (no semantic change)
32232         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
32233         "up" to precede upcoming use of a related function.
32234
32235 2009-02-11  Jim Meyering  <meyering@redhat.com>
32236
32237         fts: correct internal computation of nlinks (optimization-related)
32238         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
32239         whether the current entry is a directory, so don't test it.
32240
32241 2009-02-10  Bruno Haible  <bruno@clisp.org>
32242
32243         Tests for module 'uniwbrk/ulc-wordbreaks'.
32244         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
32245         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
32246         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
32247
32248         Tests for module 'uniwbrk/u32-wordbreaks'.
32249         * modules/uniwbrk/u32-wordbreaks-tests: New file.
32250         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
32251
32252         Tests for module 'uniwbrk/u16-wordbreaks'.
32253         * modules/uniwbrk/u16-wordbreaks-tests: New file.
32254         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
32255
32256         Tests for module 'uniwbrk/u8-wordbreaks'.
32257         * modules/uniwbrk/u8-wordbreaks-tests: New file.
32258         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
32259
32260 2009-02-10  Bruno Haible  <bruno@clisp.org>
32261
32262         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
32263         property.
32264         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
32265         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
32266         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
32267
32268 2009-02-10  Simon Josefsson  <simon@josefsson.org>
32269
32270         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
32271         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
32272
32273 2009-02-10  Bruno Haible  <bruno@clisp.org>
32274
32275         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
32276         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
32277         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
32278         * lib/unilbrk/u8-possible-linebreaks.c: Update.
32279         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
32280         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
32281
32282 2009-02-09  Simon Josefsson  <simon@josefsson.org>
32283
32284         * lib/sockets.h (gl_fd_to_handle): New function.
32285
32286         * tests/test-sockets.c: Call gl_fd_to_handle.
32287
32288 2009-02-09  Bruno Haible  <bruno@clisp.org>
32289
32290         * doc/havelib.texi: Document the conventions on bi-arch systems.
32291
32292 2009-02-08  Bruno Haible  <bruno@clisp.org>
32293
32294         Document the AC_LIB_LINKFLAGS macro.
32295         * doc/havelib.texi: New file, mostly written on 2005-05-24.
32296         * doc/gnulib.texi: Include it.
32297
32298 2009-02-08  Bruno Haible  <bruno@clisp.org>
32299
32300         Fix wrong order of sections, compared to TOC.
32301         * doc/gnulib.texi: Include relocatable-maint.texi after the
32302         "Regular expressions" node, not before.
32303
32304 2009-02-08  Bruno Haible  <bruno@clisp.org>
32305
32306         Tests for module 'unicase/totitle'.
32307         * modules/unicase/totitle-tests: New file.
32308
32309         Tests for module 'unicase/tolower'.
32310         * modules/unicase/tolower-tests: New file.
32311
32312         Tests for module 'unicase/toupper'.
32313         * modules/unicase/toupper-tests: New file.
32314         * tests/unicase/test-mapping-part1.h: New file.
32315         * tests/unicase/test-mapping-part2.h: New file.
32316
32317         New module 'unicase/totitle'.
32318         * modules/unicase/totitle: New file.
32319         * lib/unicase/totitle.c: New file.
32320
32321         New module 'unicase/tolower'.
32322         * modules/unicase/tolower: New file.
32323         * lib/unicase/tolower.c: New file.
32324
32325         New module 'unicase/toupper'.
32326         * modules/unicase/toupper: New file.
32327         * lib/unicase/toupper.c: New file.
32328         * lib/unicase/simple-mapping.h: New file.
32329
32330         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
32331         (mapping_table): New structure.
32332         (output_simple_mapping): New function.
32333         (main): Invoke output_simple_mapping_test and output_simple_mapping.
32334         * modules/gen-uni-tables (Description): Update.
32335         * lib/unicase/toupper.h: New file, automatically generated by
32336         gen-uni-tables.
32337         * lib/unicase/tolower.h: New file, automatically generated by
32338         gen-uni-tables.
32339         * lib/unicase/totitle.h: New file, automatically generated by
32340         gen-uni-tables.
32341         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
32342         gen-uni-tables.
32343         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
32344         gen-uni-tables.
32345         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
32346         gen-uni-tables.
32347
32348         New module 'unicase/base'.
32349         * modules/unicase/base: New file.
32350         * lib/unicase.h: New file.
32351
32352 2009-02-08  Bruno Haible  <bruno@clisp.org>
32353
32354         New module 'uniwbrk/ulc-wordbreaks'.
32355         * modules/uniwbrk/ulc-wordbreaks: New file.
32356         * lib/uniwbrk/ulc-wordbreaks.c: New file.
32357
32358         New module 'uniwbrk/u32-wordbreaks'.
32359         * modules/uniwbrk/u32-wordbreaks: New file.
32360         * lib/uniwbrk/u32-wordbreaks.c: New file.
32361
32362         New module 'uniwbrk/u16-wordbreaks'.
32363         * modules/uniwbrk/u16-wordbreaks: New file.
32364         * lib/uniwbrk/u16-wordbreaks.c: New file.
32365
32366         New module 'uniwbrk/u8-wordbreaks'.
32367         * modules/uniwbrk/u8-wordbreaks: New file.
32368         * lib/uniwbrk/u8-wordbreaks.c: New file.
32369         * lib/uniwbrk/u-wordbreaks.h: New file.
32370
32371         New module 'uniwbrk/table'.
32372         * modules/uniwbrk/table: New file.
32373         * lib/uniwbrk/wbrktable.h: New file.
32374         * lib/uniwbrk/wbrktable.c: New file.
32375
32376         New module 'uniwbrk/wordbreak-property'.
32377         * modules/uniwbrk/wordbreak-property: New file.
32378         * lib/uniwbrk/wordbreak-property.c: New file.
32379
32380         * lib/gen-uni-tables.c (WBP_*): New enum items.
32381         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
32382         (unicode_org_wbp): New variable.
32383         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
32384         New functions.
32385         (wbp_table): New structure.
32386         (output_wbp, output_wbrk_tables): New functions.
32387         (main): Accept additional argument. Invoke fill_org_wbp,
32388         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
32389         output_wbrk_tables.
32390         * modules/gen-uni-tables (Description): Update.
32391         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
32392         gen-uni-tables.
32393
32394         New module 'uniwbrk/base'.
32395         * modules/uniwbrk/base: New file.
32396         * lib/uniwbrk.h: New file.
32397
32398 2009-02-08  Bruno Haible  <bruno@clisp.org>
32399
32400         Update to Unicode 5.1.0.
32401         * lib/gen-uni-tables.c (is_property_alphabetic): Include
32402         U+2185..U+2188.
32403         (is_property_default_ignorable_code_point): Don't include characters
32404         of category Cc or Cs and not-a-characters.
32405         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
32406         U+0D79, U+109E, U+109F, U+A60C.
32407         * lib/unictype/bidi_of.h: Regenerated.
32408         * lib/unictype/blocks.h: Regenerated.
32409         * lib/unictype/categ_C.h: Regenerated.
32410         * lib/unictype/categ_Cf.h: Regenerated.
32411         * lib/unictype/categ_Cn.h: Regenerated.
32412         * lib/unictype/categ_L.h: Regenerated.
32413         * lib/unictype/categ_Ll.h: Regenerated.
32414         * lib/unictype/categ_Lm.h: Regenerated.
32415         * lib/unictype/categ_Lo.h: Regenerated.
32416         * lib/unictype/categ_Lu.h: Regenerated.
32417         * lib/unictype/categ_M.h: Regenerated.
32418         * lib/unictype/categ_Mc.h: Regenerated.
32419         * lib/unictype/categ_Me.h: Regenerated.
32420         * lib/unictype/categ_Mn.h: Regenerated.
32421         * lib/unictype/categ_N.h: Regenerated.
32422         * lib/unictype/categ_Nd.h: Regenerated.
32423         * lib/unictype/categ_Nl.h: Regenerated.
32424         * lib/unictype/categ_No.h: Regenerated.
32425         * lib/unictype/categ_P.h: Regenerated.
32426         * lib/unictype/categ_Pd.h: Regenerated.
32427         * lib/unictype/categ_Pe.h: Regenerated.
32428         * lib/unictype/categ_Pf.h: Regenerated.
32429         * lib/unictype/categ_Pi.h: Regenerated.
32430         * lib/unictype/categ_Po.h: Regenerated.
32431         * lib/unictype/categ_Ps.h: Regenerated.
32432         * lib/unictype/categ_S.h: Regenerated.
32433         * lib/unictype/categ_Sk.h: Regenerated.
32434         * lib/unictype/categ_Sm.h: Regenerated.
32435         * lib/unictype/categ_So.h: Regenerated.
32436         * lib/unictype/categ_of.h: Regenerated.
32437         * lib/unictype/combining.h: Regenerated.
32438         * lib/unictype/ctype_alnum.h: Regenerated.
32439         * lib/unictype/ctype_alpha.h: Regenerated.
32440         * lib/unictype/ctype_graph.h: Regenerated.
32441         * lib/unictype/ctype_lower.h: Regenerated.
32442         * lib/unictype/ctype_print.h: Regenerated.
32443         * lib/unictype/ctype_punct.h: Regenerated.
32444         * lib/unictype/ctype_upper.h: Regenerated.
32445         * lib/unictype/decdigit.h: Regenerated.
32446         * lib/unictype/digit.h: Regenerated.
32447         * lib/unictype/mirror.h: Regenerated.
32448         * lib/unictype/numeric.h: Regenerated.
32449         * lib/unictype/pr_alphabetic.h: Regenerated.
32450         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
32451         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
32452         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
32453         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
32454         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
32455         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
32456         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
32457         * lib/unictype/pr_combining.h: Regenerated.
32458         * lib/unictype/pr_dash.h: Regenerated.
32459         * lib/unictype/pr_decimal_digit.h: Regenerated.
32460         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
32461         * lib/unictype/pr_deprecated.h: Regenerated.
32462         * lib/unictype/pr_diacritic.h: Regenerated.
32463         * lib/unictype/pr_extender.h: Regenerated.
32464         * lib/unictype/pr_format_control.h: Regenerated.
32465         * lib/unictype/pr_grapheme_base.h: Regenerated.
32466         * lib/unictype/pr_grapheme_extend.h: Regenerated.
32467         * lib/unictype/pr_grapheme_link.h: Regenerated.
32468         * lib/unictype/pr_id_continue.h: Regenerated.
32469         * lib/unictype/pr_id_start.h: Regenerated.
32470         * lib/unictype/pr_ideographic.h: Regenerated.
32471         * lib/unictype/pr_ignorable_control.h: Regenerated.
32472         * lib/unictype/pr_lowercase.h: Regenerated.
32473         * lib/unictype/pr_math.h: Regenerated.
32474         * lib/unictype/pr_numeric.h: Regenerated.
32475         * lib/unictype/pr_other_alphabetic.h: Regenerated.
32476         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
32477         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
32478         * lib/unictype/pr_other_id_continue.h: Regenerated.
32479         * lib/unictype/pr_other_lowercase.h: Regenerated.
32480         * lib/unictype/pr_other_math.h: Regenerated.
32481         * lib/unictype/pr_punctuation.h: Regenerated.
32482         * lib/unictype/pr_sentence_terminal.h: Regenerated.
32483         * lib/unictype/pr_soft_dotted.h: Regenerated.
32484         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
32485         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
32486         * lib/unictype/pr_unified_ideograph.h: Regenerated.
32487         * lib/unictype/pr_uppercase.h: Regenerated.
32488         * lib/unictype/pr_xid_continue.h: Regenerated.
32489         * lib/unictype/pr_xid_start.h: Regenerated.
32490         * lib/unictype/pr_zero_width.h: Regenerated.
32491         * lib/unictype/scripts.h: Regenerated.
32492         * lib/unictype/scripts_byname.gperf: Regenerated.
32493         * lib/unictype/sy_java_ident.h: Regenerated.
32494         * lib/unilbrk/lbrkprop1.h: Regenerated.
32495         * lib/unilbrk/lbrkprop2.h: Regenerated.
32496         * tests/unictype/test-categ_C.c: Regenerated.
32497         * tests/unictype/test-categ_Cf.c: Regenerated.
32498         * tests/unictype/test-categ_Cn.c: Regenerated.
32499         * tests/unictype/test-categ_L.c: Regenerated.
32500         * tests/unictype/test-categ_Ll.c: Regenerated.
32501         * tests/unictype/test-categ_Lm.c: Regenerated.
32502         * tests/unictype/test-categ_Lo.c: Regenerated.
32503         * tests/unictype/test-categ_Lu.c: Regenerated.
32504         * tests/unictype/test-categ_M.c: Regenerated.
32505         * tests/unictype/test-categ_Mc.c: Regenerated.
32506         * tests/unictype/test-categ_Me.c: Regenerated.
32507         * tests/unictype/test-categ_Mn.c: Regenerated.
32508         * tests/unictype/test-categ_N.c: Regenerated.
32509         * tests/unictype/test-categ_Nd.c: Regenerated.
32510         * tests/unictype/test-categ_Nl.c: Regenerated.
32511         * tests/unictype/test-categ_No.c: Regenerated.
32512         * tests/unictype/test-categ_P.c: Regenerated.
32513         * tests/unictype/test-categ_Pd.c: Regenerated.
32514         * tests/unictype/test-categ_Pe.c: Regenerated.
32515         * tests/unictype/test-categ_Pf.c: Regenerated.
32516         * tests/unictype/test-categ_Pi.c: Regenerated.
32517         * tests/unictype/test-categ_Po.c: Regenerated.
32518         * tests/unictype/test-categ_Ps.c: Regenerated.
32519         * tests/unictype/test-categ_S.c: Regenerated.
32520         * tests/unictype/test-categ_Sk.c: Regenerated.
32521         * tests/unictype/test-categ_Sm.c: Regenerated.
32522         * tests/unictype/test-categ_So.c: Regenerated.
32523         * tests/unictype/test-ctype_alnum.c: Regenerated.
32524         * tests/unictype/test-ctype_alpha.c: Regenerated.
32525         * tests/unictype/test-ctype_graph.c: Regenerated.
32526         * tests/unictype/test-ctype_lower.c: Regenerated.
32527         * tests/unictype/test-ctype_print.c: Regenerated.
32528         * tests/unictype/test-ctype_punct.c: Regenerated.
32529         * tests/unictype/test-ctype_upper.c: Regenerated.
32530         * tests/unictype/test-decdigit.h: Regenerated.
32531         * tests/unictype/test-digit.h: Regenerated.
32532         * tests/unictype/test-numeric.h: Regenerated.
32533         * tests/unictype/test-pr_alphabetic.c: Regenerated.
32534         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
32535         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
32536         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
32537         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
32538         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
32539         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
32540         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
32541         * tests/unictype/test-pr_combining.c: Regenerated.
32542         * tests/unictype/test-pr_dash.c: Regenerated.
32543         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
32544         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
32545         * tests/unictype/test-pr_deprecated.c: Regenerated.
32546         * tests/unictype/test-pr_diacritic.c: Regenerated.
32547         * tests/unictype/test-pr_extender.c: Regenerated.
32548         * tests/unictype/test-pr_format_control.c: Regenerated.
32549         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
32550         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
32551         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
32552         * tests/unictype/test-pr_id_continue.c: Regenerated.
32553         * tests/unictype/test-pr_id_start.c: Regenerated.
32554         * tests/unictype/test-pr_ideographic.c: Regenerated.
32555         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
32556         * tests/unictype/test-pr_lowercase.c: Regenerated.
32557         * tests/unictype/test-pr_math.c: Regenerated.
32558         * tests/unictype/test-pr_numeric.c: Regenerated.
32559         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
32560         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
32561         Regenerated.
32562         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
32563         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
32564         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
32565         * tests/unictype/test-pr_other_math.c: Regenerated.
32566         * tests/unictype/test-pr_punctuation.c: Regenerated.
32567         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
32568         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
32569         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
32570         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
32571         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
32572         * tests/unictype/test-pr_uppercase.c: Regenerated.
32573         * tests/unictype/test-pr_xid_continue.c: Regenerated.
32574         * tests/unictype/test-pr_xid_start.c: Regenerated.
32575         * tests/unictype/test-pr_zero_width.c: Regenerated.
32576
32577         Update to Unicode 5.1.0.
32578         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
32579         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
32580         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
32581         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
32582         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
32583         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
32584         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
32585         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
32586         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
32587         (nonspacing_table_ind): Update.
32588         * tests/uniwidth/test-uc_width2.sh: Update expected result.
32589
32590         Update to Unicode 5.1.0.
32591         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
32592         code transform.
32593         * lib/uniname/uniname.c (unicode_character_name,
32594         unicode_name_character): Add the range 0x1Fxxx to the code transform.
32595         * lib/uniname/uninames.h: Regenerated.
32596         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
32597
32598 2009-02-07  Bruno Haible  <bruno@clisp.org>
32599
32600         Merge gen-ctype and gen-lbrk into a single program.
32601         * lib/gen-uni-tables.c: New file, incorporating
32602         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
32603         Add directory prefixes to the names of the generated files.
32604         * lib/unictype/gen-ctype.c: Remove file.
32605         * lib/unilbrk/gen-lbrk.c: Remove file.
32606         * modules/gen-uni-tables: New file.
32607         * modules/unictype/gen-ctype: Remove file.
32608         * modules/unilbrk/gen-lbrk: Remove file.
32609
32610 2009-02-07  Bruno Haible  <bruno@clisp.org>
32611
32612         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
32613
32614         New module 'unistr/u32-strcoll'.
32615         * modules/unistr/u32-strcoll: New file.
32616         * lib/unistr/u32-strcoll.c: New file.
32617
32618         New module 'unistr/u16-strcoll'.
32619         * modules/unistr/u16-strcoll: New file.
32620         * lib/unistr/u16-strcoll.c: New file.
32621
32622         New module 'unistr/u8-strcoll'.
32623         * modules/unistr/u8-strcoll: New file.
32624         * lib/unistr/u8-strcoll.c: New file.
32625         * lib/unistr/u-strcoll.h: New file.
32626
32627 2009-02-07  Bruno Haible  <bruno@clisp.org>
32628
32629         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
32630         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32631         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32632         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
32633         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
32634         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
32635
32636 2009-02-07  Bruno Haible  <bruno@clisp.org>
32637
32638         Make 64-bit clean.
32639         * lib/unictype/gen-ctype.c (output_predicate, output_category,
32640         output_combclass, output_bidi_category, output_decimal_digit,
32641         output_digit, output_numeric, output_mirror, output_scripts,
32642         output_ident_category): Use proper width specifier in format strings.
32643
32644 2009-02-07  Bruno Haible  <bruno@clisp.org>
32645
32646         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
32647         failure behaviour.
32648
32649 2009-02-07  Jim Meyering  <meyering@redhat.com>
32650
32651         regex: avoid compilation failure with upcoming gcc-4.4
32652         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
32653         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
32654         "... error: integer overflow in preprocessor expression".
32655
32656 2009-02-05  Ben Pfaff  <blp@gnu.org>
32657
32658         Fix link errors on Windows when close module is used.
32659         * modules/close: Add $(LIB_CLOSE) to Link section.
32660         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
32661         $(LIB_CLOSE) on Windows.
32662
32663 2009-02-05  Jim Meyering  <meyering@redhat.com>
32664
32665         still avoid unused-parameter warnings, but do it cleanly
32666         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
32667         (get_fs_usage): Cast to void instead.
32668         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
32669         (dev_from_mount_options, read_file_system_list): Cast to void.
32670         Prompted by Bruno Haible.
32671
32672 2009-02-04  Jim Meyering  <meyering@redhat.com>
32673
32674         fsusage.c: correct copyright year
32675         * lib/fsusage.c: Reflect year in which the change is pushed into
32676
32677         avoid misc. warnings
32678         * lib/fsusage.c (UNUSED_PARAM): Define.
32679         (get_fs_usage): Mark parameter "disk" as unused.
32680         * lib/getugroups.c (getgrent): Use "void" in prototype.
32681         * lib/mountlist.c: Mark unused parameters.
32682         (read_file_system_list): Declare a local with "const".
32683         * lib/nanosleep.c (getnow): Declare static.
32684         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
32685
32686         dirfd: set errno upon failure
32687         * lib/dirfd.c: Include <errno.h>.
32688         Set errno to ENOTSUP when returning -1.
32689         * modules/dirfd (Depends-on): Add errno.
32690         Suggested by John Kodis <kodis@comcast.net>.
32691
32692 2009-02-01  Bruno Haible  <bruno@clisp.org>
32693
32694         Don't assume sizeof (long) >= sizeof (void *).
32695         * lib/memcmp.c: Include stdint.h.
32696         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
32697         srcp2 to 'const byte *'.
32698         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
32699         types to uintptr_t.
32700         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
32701         * modules/memcmp (Depends-on): Add stdint.
32702         Reported by Ozkan Sezer <sezeroz@gmail.com>.
32703
32704 2009-01-30  Eric Blake  <ebb9@byu.net>
32705
32706         fix more require-before-expand issues
32707         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
32708         expand, AC_PROG_AWK.
32709         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
32710
32711 2009-01-28  Eric Blake  <ebb9@byu.net>
32712
32713         version-etc: use consistent URL formatting
32714         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
32715         Improve formatting.  Use fputs for string without %.
32716
32717 2009-01-28  Jim Meyering  <meyering@redhat.com>
32718
32719         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
32720         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
32721         "underquoted definition of NAME" from autoconf-2.59.
32722
32723 2009-01-28  Bruno Haible  <bruno@clisp.org>
32724
32725         * doc/gnulib.texi: Add "Obsolete modules" to index.
32726
32727 2009-01-28  Jim Meyering  <meyering@redhat.com>
32728
32729         useless-if-before-free: recognize more variants
32730         * build-aux/useless-if-before-free: Also recognize e.g.,
32731         if (NULL != p) free (p);
32732
32733 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
32734
32735         test-getaddrinfo: skip (don't fail) this test when there's no network
32736         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
32737         on the presumption that it means you lack network access.
32738
32739 2009-01-26  Jim Meyering  <meyering@redhat.com>
32740
32741         fflush: avoid warnings on modern systems
32742         * lib/fflush.c (rpl_fflush): Move declarations of locals,
32743         pos and result, into scopes where they're used.
32744
32745 2009-01-26  Eric Blake  <ebb9@byu.net>
32746
32747         Silence warning reintroduced by recent extensions patch.
32748         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
32749         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
32750         autoconf.
32751
32752         Backport improved autoconf semantics of AC_DEFUN_ONCE.
32753         * m4/00gnulib.m4: New file.
32754         * gnulib-tool (func_get_filelist): Always use it.
32755         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
32756         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
32757
32758 2009-01-25  Bruno Haible  <bruno@clisp.org>
32759
32760         Make test-quotearg work on MacOS X and AIX.
32761         * tests/test-quotearg.sh: New file.
32762         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
32763         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
32764         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
32765         include <libintl.h>.
32766         (fake_locale): Remove variable.
32767         (gettext, dgettext, dcgettext): Remove functions.
32768         (main): Instead of setting a fake locale, set a real locale. Call
32769         textdomain and bindtextdomain.
32770         * modules/quotearg-tests (Files): Add the new files.
32771         (Depends-on): Add gettext, setenv, unsetenv.
32772         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32773         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
32774         Augment TESTS_ENVIRONMENT.
32775
32776 2009-01-25  Bruno Haible  <bruno@clisp.org>
32777
32778         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
32779         fr_FR.ISO8859-1 locale on MacOS X.
32780         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
32781         ja_JP.eucJP locale on MacOS X.
32782         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
32783         zh_CN.GB18030 locale on MacOS X.
32784
32785 2009-01-25  Bruno Haible  <bruno@clisp.org>
32786
32787         Avoid link errors on MacOS X 10.3.
32788         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
32789         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32790
32791 2009-01-25  Bruno Haible  <bruno@clisp.org>
32792
32793         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32794         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
32795         * modules/pipe (Files): Remove m4/posix_spawn.m4.
32796         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32797         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
32798         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32799         posix_spawnattr_init, posix_spawnattr_setsigmask,
32800         posix_spawnattr_setflags, posix_spawnattr_destroy.
32801
32802         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32803         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
32804         * modules/execute (Files): Remove m4/posix_spawn.m4.
32805         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32806         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32807         posix_spawnattr_init, posix_spawnattr_setsigmask,
32808         posix_spawnattr_setflags, posix_spawnattr_destroy.
32809
32810 2009-01-25  Bruno Haible  <bruno@clisp.org>
32811
32812         * lib/glthread/threadlib.c: Include <stdlib.h>.
32813
32814 2009-01-25  Bruno Haible  <bruno@clisp.org>
32815
32816         * lib/glthread/threadlib.c (dummy): New declaration.
32817
32818 2009-01-25  Bruno Haible  <bruno@clisp.org>
32819
32820         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
32821         multibyte characters also for the GB18030 encoding. Don't crash when
32822         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
32823
32824 2009-01-25  Bruno Haible  <bruno@clisp.org>
32825
32826         Avoid redefining 'struct random_data' on OSF/1 5.1.
32827         * lib/stdlib.in.h: Include <random.h> if it exists.
32828         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
32829         HAVE_RANDOM_H. Include <random.h> when testing whether
32830         'struct random_data' exists.
32831         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
32832
32833 2009-01-25  Bruno Haible  <bruno@clisp.org>
32834
32835         Don't install charset.alias on MacOS X >= 10.3.
32836         * lib/localcharset.c (DARWIN7): New macro.
32837         (get_charset_aliases): Hardcode the result for Darwin7.
32838         * modules/localcharset (install-exec-local): Don't install
32839         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
32840
32841 2009-01-25  Bruno Haible  <bruno@clisp.org>
32842
32843         Don't install charset.alias on mingw and Cygwin.
32844         * modules/localcharset (install-exec-local): Don't install
32845         charset.alias on mingw and Cygwin, if the file does not yet exist.
32846         The result for these platforms is hardcoded in localcharset.c.
32847
32848 2009-01-25  Bruno Haible  <bruno@clisp.org>
32849
32850         Make it possible again to use AC_GNU_SOURCE together with gnulib.
32851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
32852         before requiring AC_USE_SYSTEM_EXTENSIONS.
32853
32854 2009-01-25  Jim Meyering  <meyering@redhat.com>
32855
32856         c-strtod: avoid warnings
32857         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
32858         "assignment discards qualifiers from pointer target type" warnings.
32859
32860 2009-01-24  Bruno Haible  <bruno@clisp.org>
32861
32862         Add support for non-UTF-8 locales on MacOS X.
32863         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
32864         canonical encodings. For Darwin 7 and newer, don't map traditional
32865         encodings to UTF-8.
32866         Reported by Vincent Lefevre <vincent@vinc17.org>
32867         at <http://savannah.gnu.org/bugs/?25235>.
32868
32869 2009-01-24  Bruno Haible  <bruno@clisp.org>
32870
32871         * doc/gnulib.texi (Obsolete modules): New section.
32872         Reported by Mike Frysinger <vapier@gentoo.org>.
32873
32874 2009-01-24  Bruno Haible  <bruno@clisp.org>
32875
32876         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
32877         (%.dvi): New rule.
32878
32879 2009-01-24  Bruno Haible  <bruno@clisp.org>
32880
32881         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
32882         Reported by Eric Blake.
32883
32884 2009-01-24  Bruno Haible  <bruno@clisp.org>
32885
32886         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
32887         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
32888         Reported by Gary V. Vaughan <gary@gnu.org>.
32889
32890 2009-01-24  Bruno Haible  <bruno@clisp.org>
32891
32892         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
32893
32894 2009-01-23  Bruno Haible  <bruno@clisp.org>
32895
32896         Make c-strtod, c-strtold usable in libraries.
32897         * lib/c-strtod.c: Include string.h instead of xalloc.h.
32898         (C_STRTOD): Call strdup instead of xstrdup.
32899         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
32900         * modules/c-strtold (Depends-on): Likewise.
32901         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
32902         * NEWS: Mention the change.
32903         Reported by Michael Gold <mgold@ncf.ca>.
32904
32905 2009-01-23  Jim Meyering  <meyering@redhat.com>
32906
32907         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
32908         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
32909         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
32910
32911 2009-01-23  Simon Josefsson  <simon@josefsson.org>
32912
32913         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
32914         GNU CoreUtils.
32915         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
32916         * modules/version-etc (Description): Update.
32917
32918 2009-01-22  Bruno Haible  <bruno@clisp.org>
32919
32920         Cache the C locale object.
32921         * lib/c-strtod.c (c_locale_cache): New variable.
32922         (c_locale): New function.
32923         (C_STRTOD): Use it, and don't call freelocale.
32924         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
32925         Suggested by Paolo Bonzini.
32926
32927 2009-01-21  Bruno Haible  <bruno@clisp.org>
32928
32929         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
32930         conditions other than overflow.
32931
32932 2009-01-21  Bruno Haible  <bruno@clisp.org>
32933
32934         * lib/c-strtod.c: Include errno.h.
32935         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
32936         value from STRTOD_L and STRTOD.
32937
32938 2009-01-21  Bruno Haible  <bruno@clisp.org>
32939         and Jim Meyering  <meyering@redhat.com>
32940
32941         nanosleep: skip configure test (fail it) for apple universal builds
32942         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
32943         universal builds, assume that nanosleep does not work.
32944         * modules/nanosleep (Depends-on): Add multiarch.
32945
32946         mktime: skip configure test (fail it) for apple universal builds
32947         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
32948         universal builds, assume that mktime does not work.
32949         * modules/mktime (Depends-on): Add multiarch.
32950
32951 2009-01-21  Eric Blake  <ebb9@byu.net>
32952
32953         multiarch: avoid expand-before-require warning
32954         * modules/multiarch (configure.ac): Require, rather than expand,
32955         gl_MULTIARCH.
32956         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
32957         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
32958         enforce that all clients require it.  Partial reversion of
32959         2008-12-29 patch.
32960
32961         error: avoid expand-before-require warning
32962         * modules/errno (configure.ac): Require, rather than expand,
32963         gl_HEADER_ERRNO_H.
32964         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
32965         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
32966         enforce that all clients require it.
32967
32968         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
32969         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
32970         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32971         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32972
32973 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32974
32975         Revert:
32976         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32977
32978         regex: do not depend on obsolete modules.
32979         * modules/regex: Remove memcmp and memmove.
32980
32981 2009-01-20  Bruno Haible  <bruno@clisp.org>
32982
32983         Make the 'link' module link on Windows NT 4.
32984         * lib/link.c (_WIN32_WINNT): Don't define.
32985         (CreateHardLinkFuncType): New type.
32986         (CreateHardLinkFunc, initialized): New variables.
32987         (initialize): New function.
32988         (link): Invoke CreateHardLink indirectly through the function pointer.
32989
32990 2009-01-20  Bruno Haible  <bruno@clisp.org>
32991
32992         Fix compilation failure on mingw.
32993         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32994
32995 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32996
32997         * doc/c-strtod.texi: Mention a couple of restrictions.
32998
32999 2009-01-20  Jim Meyering  <meyering@redhat.com>
33000
33001         gettimeofday: move more declarations out of functions
33002         * lib/gettimeofday.c: Move extern declarations of tzset and
33003         gmtime out of containing functions.  Prompted by Bruno Haible.
33004
33005 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
33006
33007         regex: do not depend on obsolete modules.
33008         * modules/regex: Remove memcmp and memmove.
33009
33010 2009-01-19  Bruno Haible  <bruno@clisp.org>
33011
33012         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33013         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
33014         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33015         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
33016         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
33017
33018 2009-01-19  Bruno Haible  <bruno@clisp.org>
33019
33020         * tests/test-link.c: Include <errno.h>.
33021         (main): Exit with code 77 when a hard link cannot be created due to
33022         the file system.
33023         * tests/test-link.sh: Skip test when a hard link cannot be created due
33024         to the file system.
33025         Suggested by Eric Blake.
33026
33027 2009-01-19  Martin Lambers  <marlam@marlam.de>
33028
33029         * modules/link-tests: New file.
33030         * tests/test-link.sh: New file.
33031         * tests/test-link.c: New file.
33032
33033 2009-01-19  Eric Blake  <ebb9@byu.net>
33034
33035         doc: mention another function added in cygwin 1.7.0
33036         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
33037         Another new function in cygwin 1.7.
33038
33039 2009-01-19  Bruno Haible  <bruno@clisp.org>
33040
33041         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33042         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
33043         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
33044         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33045         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
33046         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
33047         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
33048         * m4/md4.m4 (gl_MD4): Likewise.
33049         * m4/md5.m4 (gl_MD5): Likewise.
33050         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
33051         * m4/sha1.m4 (gl_SHA1): Likewise.
33052         * m4/sha256.m4 (gl_SHA256): Likewise.
33053         * m4/sha512.m4 (gl_SHA512): Likewise.
33054
33055 2009-01-19  Bruno Haible  <bruno@clisp.org>
33056
33057         * modules/uniname/uniname-tests (Depends-on): Add progname.
33058         * tests/uniname/test-uninames.c: Include progname.h.
33059         (main): Call set_program_name.
33060
33061         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
33062         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
33063         (main): Call set_program_name.
33064
33065         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
33066         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
33067         (main): Call set_program_name.
33068
33069         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
33070         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
33071         (main): Call set_program_name.
33072
33073         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
33074         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
33075         (main): Call set_program_name.
33076
33077         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
33078         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
33079         (main): Call set_program_name.
33080
33081         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
33082         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
33083         (main): Call set_program_name.
33084
33085         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
33086         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
33087         (main): Call set_program_name.
33088
33089         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
33090         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
33091         (main): Call set_program_name.
33092
33093 2009-01-19  Eric Blake  <ebb9@byu.net>
33094
33095         test-unistd: test previous patch
33096         * tests/test-unistd.c: Test *_FILENO macros.
33097
33098         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
33099         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33100         Guarantee a definition.
33101         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
33102         * modules/unistd-safer (Depends-on): Add dependency on unistd.
33103         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
33104         * lib/dup-safer.c (STDERR_FILENO): Likewise.
33105         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33106         Likewise.
33107         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
33108         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
33109         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33110         Likewise.
33111         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
33112         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
33113         (STDERR_FILENO): Likewise.
33114         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
33115         (STDERR_FILENO): Likewise.
33116         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
33117         (STDERR_FILENO): Likewise.
33118         Reported by Elbert Pol.
33119
33120 2009-01-19  Eric Blake  <ebb9@byu.net>
33121
33122         doc: mention more functions added in cygwin 1.7.0
33123         * doc/posix-functions/abort.texi (abort): Update wording related
33124         to cygwin.
33125         * doc/posix-functions/daylight.texi (daylight): Likewise.
33126         * doc/posix-functions/optarg.texi (optarg): Likewise.
33127         * doc/posix-functions/optarg.texi (opterr): Likewise.
33128         * doc/posix-functions/optarg.texi (optind): Likewise.
33129         * doc/posix-functions/optarg.texi (optopt): Likewise.
33130         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
33131         worked in 1.5.x, and was withdrawn in 1.7.
33132         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
33133         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
33134         cygwin versions.
33135         * doc/posix-functions/perror.texi (perror): Likewise.
33136         * doc/posix-functions/printf.texi (printf): Likewise.
33137         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
33138         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
33139         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
33140         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33141         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
33142         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
33143         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
33144         Likewise.
33145         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
33146         Likewise.
33147         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
33148         this function.
33149         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
33150         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
33151         Likewise.
33152         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
33153         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
33154         * doc/posix-functions/confstr.texi (confstr): Likewise.
33155         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
33156         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
33157         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
33158         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
33159         * doc/posix-functions/fputws.texi (fputws): Likewise.
33160         * doc/posix-functions/fwide.texi (fwide): Likewise.
33161         * doc/posix-functions/getwc.texi (getwc): Likewise.
33162         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
33163         * doc/posix-functions/putwc.texi (putwc): Likewise.
33164         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
33165         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
33166         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
33167         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
33168         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
33169         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
33170         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
33171         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
33172         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
33173         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
33174         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
33175
33176 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33177
33178         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
33179         * lib/ioctl.c: Include <sys/ioctl.h>.
33180
33181 2009-01-19  Simon Josefsson  <simon@josefsson.org>
33182
33183         * modules/getdate-tests (Depends-on): Add progname.
33184         * tests/test-getdate.c: Use progname module, to avoid link errors
33185         on non-glibc systems.
33186
33187 2009-01-18  Simon Josefsson  <simon@josefsson.org>
33188
33189         * modules/filenamecat-tests (Depends-on): Add progname.
33190         * modules/fstrcmp-tests (Depends-on): Likewise.
33191
33192         * tests/test-filenamecat.c: Use progname module, to avoid link
33193         errors on non-glibc systems.
33194         * tests/test-fstrcmp.c: Likewise.
33195
33196 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33197
33198         gettimeofday: avoid warning: nested extern declaration of 'localtime'
33199         * lib/gettimeofday.c: Move extern declaration out of function.
33200
33201 2009-01-18  Bruno Haible  <bruno@clisp.org>
33202
33203         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
33204         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
33205         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
33206
33207 2009-01-18  Bruno Haible  <bruno@clisp.org>
33208
33209         * lib/strftime.c (MEMPCPY): Remove unused macro.
33210         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
33211
33212 2009-01-18  Martin Lambers  <marlam@marlam.de>
33213
33214         New module 'link'.
33215         * lib/unistd.in.h (link): New declaration.
33216         * lib/link.c: New file.
33217         * m4/link.m4: New file.
33218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
33219         HAVE_LINK.
33220         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
33221         * modules/link: New file.
33222         * doc/posix-functions/link.texi: Mention the new module.
33223
33224 2009-01-18  Bruno Haible  <bruno@clisp.org>
33225
33226         * tests/test-avltree_list.c (main): Call set_program_name.
33227         * tests/test-avltree_oset.c (main): Likewise.
33228         * tests/test-obstack-printf.c: Include progname.h.
33229         (main): Call set_program_name.
33230         * tests/test-quotearg.c: Include progname.h.
33231         (main): Call set_program_name.
33232         * tests/test-xmemdup0.c: Include progname.h.
33233         (main): Call set_program_name.
33234
33235 2009-01-18  Bruno Haible  <bruno@clisp.org>
33236
33237         New module 'alphasort'.
33238         * lib/dirent.in.h (alphasort): New declaration.
33239         * lib/alphasort.c: New file, from glibc with modifications.
33240         * m4/alphasort.m4: New file.
33241         * modules/alphasort: New file.
33242         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
33243         HAVE_ALPHASORT.
33244         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
33245         HAVE_ALPHASORT.
33246         * doc/posix-functions/alphasort.texi: Mention the new module and the
33247         portability problems.
33248
33249 2009-01-18  Bruno Haible  <bruno@clisp.org>
33250
33251         New module 'scandir'.
33252         * lib/dirent.in.h (scandir): New declaration.
33253         * lib/scandir.c: New file, from glibc with modifications.
33254         * m4/scandir.m4: New file.
33255         * modules/scandir: New file.
33256         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
33257         HAVE_SCANDIR.
33258         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
33259         HAVE_SCANDIR.
33260         * doc/posix-functions/scandir.texi: Mention the new module and the
33261         portability problems.
33262
33263 2009-01-17  Bruno Haible  <bruno@clisp.org>
33264
33265         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
33266         Update documentation.
33267         (func_remove_suffix): Escape all dots in the suffix. Update
33268         documentation.
33269         (func_filter_filelist): Update documentation.
33270         Reported by Ralf Wildenhues.
33271
33272 2009-01-17  Bruno Haible  <bruno@clisp.org>
33273
33274         * modules/dprintf-posix-tests: New file.
33275         * tests/test-dprintf-posix.sh: New file.
33276         * tests/test-dprintf-posix.c: New file.
33277
33278         New modules 'dprintf', 'dprintf-posix'.
33279         * lib/stdio.in.h (dprintf): New declaration.
33280         * lib/dprintf.c: New file.
33281         * m4/dprintf.m4: New file.
33282         * m4/dprintf-posix.m4: New file.
33283         * modules/dprintf: New file.
33284         * modules/dprintf-posix: New file.
33285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
33286         HAVE_DPRINTF, REPLACE_DPRINTF.
33287         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
33288         HAVE_DPRINTF, REPLACE_DPRINTF.
33289         * doc/posix-functions/dprintf.texi: Mention the new modules.
33290
33291 2009-01-17  Bruno Haible  <bruno@clisp.org>
33292
33293         * modules/vdprintf-posix-tests: New file.
33294         * tests/test-vdprintf-posix.sh: New file.
33295         * tests/test-vdprintf-posix.c: New file.
33296
33297         New modules 'vdprintf', 'vdprintf-posix'.
33298         * lib/stdio.in.h (vdprintf): New declaration.
33299         * lib/vdprintf.c: New file.
33300         * m4/vdprintf.m4: New file.
33301         * m4/vdprintf-posix.m4: New file.
33302         * modules/vdprintf: New file.
33303         * modules/vdprintf-posix: New file.
33304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
33305         HAVE_VDPRINTF, REPLACE_VDPRINTF.
33306         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
33307         HAVE_VDPRINTF, REPLACE_VDPRINTF.
33308         * doc/posix-functions/vdprintf.texi: Mention the new modules.
33309
33310 2009-01-17  Bruno Haible  <bruno@clisp.org>
33311
33312         Fix replacement of fopen on mingw.
33313         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
33314         mingw.
33315
33316 2009-01-17  Bruno Haible  <bruno@clisp.org>
33317
33318         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
33319         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
33320
33321 2009-01-17  Bruno Haible  <bruno@clisp.org>
33322
33323         Avoid test-fflush2.sh failure on mingw.
33324         * tests/test-fflush2.c: Include binary-io.h.
33325         (main): Put standard input into binary mode.
33326         * modules/fflush-tests (Depends-on): Add binary-io.
33327
33328 2009-01-17  Bruno Haible  <bruno@clisp.org>
33329
33330         * lib/wchar.in.h: In another particular situation, include only the
33331         system's <wchar.h> file.
33332         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
33333         Reported by Albert Chin-A-Young <china@thewrittenword.com>
33334         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
33335
33336 2009-01-17  Bruno Haible  <bruno@clisp.org>
33337
33338         Support for stripping executables in --enable-relocatable.
33339         * build-aux/install-reloc: Expect one more argument, or an environment
33340         variable RELOC_STRIP_PROG. If set, strip the destination program and
33341         its wrapper.
33342         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
33343         RELOC_STRIP_PROG.
33344         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
33345         to set RELOCATABLE_STRIP.
33346         * NEWS: Mention the new Makefile requirement.
33347
33348 2009-01-17  Bruno Haible  <bruno@clisp.org>
33349
33350         * build-aux/install-reloc: Remove debugging information left over by
33351         C compiler on MacOS X.
33352
33353 2009-01-17  Bruno Haible  <bruno@clisp.org>
33354
33355         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
33356         * lib/progreloc.c (find_executable): Fix type of pointer passed to
33357         _NSGetExecutablePath.
33358
33359 2009-01-16  Jim Meyering  <meyering@redhat.com>
33360
33361         strerror: avoid warnings about discarding "const"
33362         * lib/strerror.c (rpl_strerror): Instead of returning a const
33363         string from each and every "case", use a variable, and add a single
33364         cast after the switch.
33365
33366 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
33367
33368         * lib/arpa_inet.in.h: Add extern "C" block for C++.
33369
33370 2009-01-16  Bruno Haible  <bruno@clisp.org>
33371
33372         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
33373         array initializer syntax that also works in C++ mode.
33374         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33375
33376 2009-01-16  Jim Meyering  <meyering@redhat.com>
33377
33378         poll: suppress a warning
33379         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
33380         to ignore "...unsigned expression < 0 is always false" warnings.
33381
33382 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
33383
33384         poll: remove declarations of unused variables
33385         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
33386         sockbuf and optlen.
33387
33388 2009-01-15  Bruno Haible  <bruno@clisp.org>
33389
33390         Make fflush-after-ungetc POSIX compliant on BSD systems.
33391         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
33392         (clear_ungetc_buffer): Implement also for other systems.
33393         (rpl_fflush): On glibc systems, invoke
33394         clear_ungetc_buffer_preserving_position. Otherwise, invoke
33395         clear_ungetc_buffer after fetching the stream's position, not before.
33396
33397 2009-01-15  Bruno Haible  <bruno@clisp.org>
33398
33399         Make fflush-after-ungetc POSIX compliant on glibc systems.
33400         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
33401         after ungetc.
33402         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
33403         (rpl_fflush): On glibc systems, simply call the system's fflush
33404         function after clearing the ungetc buffer.
33405         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
33406         Instead, lseek only to the end of file, then use the system's fseeko
33407         for the rest. On glibc systems, reset the EOF indicator bit.
33408
33409 2009-01-15  Jim Meyering  <meyering@redhat.com>
33410
33411         openmp.m4: revert quote-adding change, for portability to older autoconf
33412         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
33413         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
33414         Simon Josefsson noticed the problem when using autoconf-2.61.
33415
33416 2009-01-15  Bruno Haible  <bruno@clisp.org>
33417
33418         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
33419         * tests/test-fflush2.c (ASSERT): Always fail.
33420         (main): Add two tests for fflush() after ungetc(), taking into account
33421         the Austin Group's clarification.
33422         Suggested by Eric Blake.
33423
33424 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
33425
33426         mktime.m4: remove K&R-style function prototypes
33427         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
33428         for the Sun C++ compiler.
33429
33430 2009-01-14  Bruno Haible  <bruno@clisp.org>
33431
33432         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
33433         while including <wchar.h>.
33434         * lib/wchar.in.h: In two particular situations on HP-UX, include only
33435         the system's <wchar.h> file.
33436         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33437
33438 2009-01-14  Bruno Haible  <bruno@clisp.org>
33439
33440         * m4/csharp.m4: Don't mention gettext on the serial number line.
33441         * m4/csharpexec.m4: Likewise.
33442         * m4/eaccess.m4: Likewise.
33443         * m4/javaexec.m4: Likewise.
33444         * m4/sig_atomic_t.m4: Likewise.
33445         * m4/tmpdir.m4: Likewise.
33446         * m4/intldir.m4: Bump gettext version.
33447         * m4/lib-ld.m4: Likewise.
33448
33449 2009-01-14  Bruno Haible  <bruno@clisp.org>
33450
33451         * lib/progname.c (set_program_name): Add more comments.
33452         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33453
33454 2009-01-14  Simon Josefsson  <simon@josefsson.org>
33455
33456         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
33457         were sys/stat.h does not define it.
33458
33459 2009-01-14  Jim Meyering  <meyering@redhat.com>
33460
33461         many *.m4 files: improve m4 quoting
33462         99% of this change was performed by running the following commands:
33463         git ls-files | grep '\.m4$' | xargs perl -pi \
33464           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
33465           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33466           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33467           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
33468         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
33469         The remainder were to add Copyright dates, increment serial numbers,
33470         undo some changes in comments, exclude m4/intl.m4, and add quotes
33471         around the "1" in ",1" where the unusual spacing prohibited the
33472         above regexps from doing the job.  For more details, see
33473         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
33474         * m4/acl.m4: Modified.
33475         * m4/afs.m4: Likewise.
33476         * m4/alloca.m4: Likewise.
33477         * m4/argp.m4: Likewise.
33478         * m4/argz.m4: Likewise.
33479         * m4/atexit.m4: Likewise.
33480         * m4/bison-i18n.m4: Likewise.
33481         * m4/bison.m4: Likewise.
33482         * m4/byteswap.m4: Likewise.
33483         * m4/c-stack.m4: Likewise.
33484         * m4/c-strtod.m4: Likewise.
33485         * m4/calloc.m4: Likewise.
33486         * m4/canonicalize-lgpl.m4: Likewise.
33487         * m4/chown.m4: Likewise.
33488         * m4/clock_time.m4: Likewise.
33489         * m4/codeset.m4: Likewise.
33490         * m4/copy-file.m4: Likewise.
33491         * m4/csharp.m4: Likewise.
33492         * m4/csharpcomp.m4: Likewise.
33493         * m4/csharpexec.m4: Likewise.
33494         * m4/d-ino.m4: Likewise.
33495         * m4/d-type.m4: Likewise.
33496         * m4/dirfd.m4: Likewise.
33497         * m4/double-slash-root.m4: Likewise.
33498         * m4/eaccess.m4: Likewise.
33499         * m4/eealloc.m4: Likewise.
33500         * m4/environ.m4: Likewise.
33501         * m4/errno_h.m4: Likewise.
33502         * m4/euidaccess.m4: Likewise.
33503         * m4/execute.m4: Likewise.
33504         * m4/fatal-signal.m4: Likewise.
33505         * m4/fchdir.m4: Likewise.
33506         * m4/fcntl_h.m4: Likewise.
33507         * m4/fileblocks.m4: Likewise.
33508         * m4/filenamecat.m4: Likewise.
33509         * m4/findprog.m4: Likewise.
33510         * m4/flexmember.m4: Likewise.
33511         * m4/fnmatch.m4: Likewise.
33512         * m4/fopen.m4: Likewise.
33513         * m4/fpending.m4: Likewise.
33514         * m4/fprintf-posix.m4: Likewise.
33515         * m4/free.m4: Likewise.
33516         * m4/frexp.m4: Likewise.
33517         * m4/frexpl.m4: Likewise.
33518         * m4/fsusage.m4: Likewise.
33519         * m4/ftruncate.m4: Likewise.
33520         * m4/gc-camellia.m4: Likewise.
33521         * m4/gc-random.m4: Likewise.
33522         * m4/gc.m4: Likewise.
33523         * m4/getaddrinfo.m4: Likewise.
33524         * m4/getcwd-abort-bug.m4: Likewise.
33525         * m4/getcwd-path-max.m4: Likewise.
33526         * m4/getdate.m4: Likewise.
33527         * m4/getdomainname.m4: Likewise.
33528         * m4/getgroups.m4: Likewise.
33529         * m4/gethostname.m4: Likewise.
33530         * m4/gethrxtime.m4: Likewise.
33531         * m4/getline.m4: Likewise.
33532         * m4/getloadavg.m4: Likewise.
33533         * m4/getndelim2.m4: Likewise.
33534         * m4/getpass.m4: Likewise.
33535         * m4/gettext.m4: Likewise.
33536         * m4/gettime.m4: Likewise.
33537         * m4/gettimeofday.m4: Likewise.
33538         * m4/gnulib-common.m4: Likewise.
33539         * m4/group-member.m4: Likewise.
33540         * m4/host-os.m4: Likewise.
33541         * m4/iconv.m4: Likewise.
33542         * m4/iconv_open.m4: Likewise.
33543         * m4/inet_ntop.m4: Likewise.
33544         * m4/inet_pton.m4: Likewise.
33545         * m4/inline.m4: Likewise.
33546         * m4/intldir.m4: Likewise.
33547         * m4/intlmacosx.m4: Likewise.
33548         * m4/intmax.m4: Likewise.
33549         * m4/intmax_t.m4: Likewise.
33550         * m4/inttypes.m4: Likewise.
33551         * m4/inttypes_h.m4: Likewise.
33552         * m4/inttypes-pri.m4: Likewise.
33553         * m4/isapipe.m4: Likewise.
33554         * m4/isnand.m4: Likewise.
33555         * m4/isnanf.m4: Likewise.
33556         * m4/isnanl.m4: Likewise.
33557         * m4/javacomp.m4: Likewise.
33558         * m4/javaexec.m4: Likewise.
33559         * m4/jm-winsz1.m4: Likewise.
33560         * m4/jm-winsz2.m4: Likewise.
33561         * m4/lchown.m4: Likewise.
33562         * m4/lcmessage.m4: Likewise.
33563         * m4/ldexpl.m4: Likewise.
33564         * m4/lib-ld.m4: Likewise.
33565         * m4/lib-link.m4: Likewise.
33566         * m4/libsigsegv.m4: Likewise.
33567         * m4/link-follow.m4: Likewise.
33568         * m4/localcharset.m4: Likewise.
33569         * m4/locale-fr.m4: Likewise.
33570         * m4/locale-ja.m4: Likewise.
33571         * m4/locale-tr.m4: Likewise.
33572         * m4/locale-zh.m4: Likewise.
33573         * m4/lock.m4: Likewise.
33574         * m4/longlong.m4: Likewise.
33575         * m4/ls-mntd-fs.m4: Likewise.
33576         * m4/lstat.m4: Likewise.
33577         * m4/malloc.m4: Likewise.
33578         * m4/mathl.m4: Likewise.
33579         * m4/mbrtowc.m4: Likewise.
33580         * m4/mbstate_t.m4: Likewise.
33581         * m4/mbswidth.m4: Likewise.
33582         * m4/memchr.m4: Likewise.
33583         * m4/memcmp.m4: Likewise.
33584         * m4/memcpy.m4: Likewise.
33585         * m4/memmem.m4: Likewise.
33586         * m4/memmove.m4: Likewise.
33587         * m4/mempcpy.m4: Likewise.
33588         * m4/memrchr.m4: Likewise.
33589         * m4/memset.m4: Likewise.
33590         * m4/minmax.m4: Likewise.
33591         * m4/mkdir-slash.m4: Likewise.
33592         * m4/mkdtemp.m4: Likewise.
33593         * m4/mktime.m4: Likewise.
33594         * m4/mmap-anon.m4: Likewise.
33595         * m4/mountlist.m4: Likewise.
33596         * m4/nanosleep.m4: Likewise.
33597         * m4/nls.m4: Likewise.
33598         * m4/nocrash.m4: Likewise.
33599         * m4/open.m4: Likewise.
33600         * m4/openat.m4: Likewise.
33601         * m4/openmp.m4: Likewise.
33602         * m4/pathmax.m4: Likewise.
33603         * m4/perl.m4: Likewise.
33604         * m4/physmem.m4: Likewise.
33605         * m4/pipe.m4: Likewise.
33606         * m4/po.m4: Likewise.
33607         * m4/poll.m4: Likewise.
33608         * m4/posixtm.m4: Likewise.
33609         * m4/posixver.m4: Likewise.
33610         * m4/printf-frexp.m4: Likewise.
33611         * m4/printf-frexpl.m4: Likewise.
33612         * m4/printf-posix.m4: Likewise.
33613         * m4/printf-posix-rpl.m4: Likewise.
33614         * m4/printf.m4: Likewise.
33615         * m4/progtest.m4: Likewise.
33616         * m4/putenv.m4: Likewise.
33617         * m4/readline.m4: Likewise.
33618         * m4/readlink.m4: Likewise.
33619         * m4/readutmp.m4: Likewise.
33620         * m4/realloc.m4: Likewise.
33621         * m4/regex.m4: Likewise.
33622         * m4/relocatable.m4: Likewise.
33623         * m4/relocatable-lib.m4: Likewise.
33624         * m4/rename-dest-slash.m4: Likewise.
33625         * m4/rename.m4: Likewise.
33626         * m4/rmdir-errno.m4: Likewise.
33627         * m4/rmdir.m4: Likewise.
33628         * m4/roundf.m4: Likewise.
33629         * m4/roundl.m4: Likewise.
33630         * m4/rpmatch.m4: Likewise.
33631         * m4/save-cwd.m4: Likewise.
33632         * m4/selinux-selinux-h.m4: Likewise.
33633         * m4/setenv.m4: Likewise.
33634         * m4/settime.m4: Likewise.
33635         * m4/sig2str.m4: Likewise.
33636         * m4/sig_atomic_t.m4: Likewise.
33637         * m4/signalblocking.m4: Likewise.
33638         * m4/signbit.m4: Likewise.
33639         * m4/sigpipe.m4: Likewise.
33640         * m4/sockets.m4: Likewise.
33641         * m4/sockpfaf.m4: Likewise.
33642         * m4/st_dm_mode.m4: Likewise.
33643         * m4/stat-time.m4: Likewise.
33644         * m4/stdbool.m4: Likewise.
33645         * m4/stdint.m4: Likewise.
33646         * m4/stdint_h.m4: Likewise.
33647         * m4/stpcpy.m4: Likewise.
33648         * m4/stpncpy.m4: Likewise.
33649         * m4/strcase.m4: Likewise.
33650         * m4/strchrnul.m4: Likewise.
33651         * m4/strcspn.m4: Likewise.
33652         * m4/strdup.m4: Likewise.
33653         * m4/strftime.m4: Likewise.
33654         * m4/strndup.m4: Likewise.
33655         * m4/strnlen.m4: Likewise.
33656         * m4/strpbrk.m4: Likewise.
33657         * m4/strptime.m4: Likewise.
33658         * m4/strsep.m4: Likewise.
33659         * m4/strtod.m4: Likewise.
33660         * m4/strtoimax.m4: Likewise.
33661         * m4/strtok_r.m4: Likewise.
33662         * m4/strtol.m4: Likewise.
33663         * m4/strtoll.m4: Likewise.
33664         * m4/strtoul.m4: Likewise.
33665         * m4/strtoull.m4: Likewise.
33666         * m4/strtoumax.m4: Likewise.
33667         * m4/strverscmp.m4: Likewise.
33668         * m4/threadlib.m4: Likewise.
33669         * m4/timegm.m4: Likewise.
33670         * m4/tm_gmtoff.m4: Likewise.
33671         * m4/tmpdir.m4: Likewise.
33672         * m4/tmpfile.m4: Likewise.
33673         * m4/tzset.m4: Likewise.
33674         * m4/uintmax_t.m4: Likewise.
33675         * m4/unlinkdir.m4: Likewise.
33676         * m4/unlocked-io.m4: Likewise.
33677         * m4/uptime.m4: Likewise.
33678         * m4/userspec.m4: Likewise.
33679         * m4/utimbuf.m4: Likewise.
33680         * m4/utime.m4: Likewise.
33681         * m4/utimes-null.m4: Likewise.
33682         * m4/utimes.m4: Likewise.
33683         * m4/vararrays.m4: Likewise.
33684         * m4/vasnprintf.m4: Likewise.
33685         * m4/vfprintf-posix.m4: Likewise.
33686         * m4/vprintf-posix.m4: Likewise.
33687         * m4/wait-process.m4: Likewise.
33688         * m4/wchar_t.m4: Likewise.
33689         * m4/wint_t.m4: Likewise.
33690         * m4/write-any-file.m4: Likewise.
33691         * m4/yield.m4: Likewise.
33692
33693 2009-01-13  Bruno Haible  <bruno@clisp.org>
33694
33695         Avoid test-copy-file.sh failures when ACL support insufficient.
33696         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
33697         TESTS_ENVIRONMENT.
33698         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
33699         Reported by Jim Meyering.
33700
33701 2009-01-13  Bruno Haible  <bruno@clisp.org>
33702
33703         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
33704         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
33705         * modules/unistdio/u8-printf-parse (Files): Likewise.
33706         * modules/unistdio/u32-printf-parse (Files): Likewise.
33707         * modules/unistdio/ulc-printf-parse (Files): Likewise.
33708
33709 2009-01-13  Simon Josefsson  <simon@josefsson.org>
33710
33711         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
33712         and m4/inttypes_h.m4 too.
33713
33714 2009-01-12  Eric Blake  <ebb9@byu.net>
33715
33716         tests: IRIX 6.2 cc can't compile -0.0 into .data
33717         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
33718         rather than at compile-time.
33719         * tests/test-floorl.c (minus_zero): Likewise.
33720         * tests/test-frexpl.c (minus_zero): Likewise.
33721         * tests/test-isnan.c (minus_zerol): Likewise.
33722         * tests/test-isnanl.h (minus_zero): Likewise.
33723         * tests/test-ldexpl.c (minus_zero): Likewise.
33724         * tests/test-roundl.c (minus_zero): Likewise.
33725         * tests/test-signbit.c (minus_zerol): Likewise.
33726         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33727         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33728         * tests/test-truncl.c (minus_zero): Likewise.
33729         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33730         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33731         Reported by Tom G. Christensen and Nelson H. F. Beebe.
33732
33733 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33734
33735         regex: fix glibc bug 9697
33736         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
33737         handling.
33738
33739 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33740
33741         regex: fix glibc bug 697
33742         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
33743         being NULL also if there are no backreferences.
33744
33745 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33746
33747         regex: merge glibc changes
33748         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
33749         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
33750         re_string_skip_chars, re_string_reconstruct): Likewise.
33751         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
33752
33753 2009-01-07  Jim Meyering  <meyering@redhat.com>
33754
33755         poll: filter through cppi
33756         * lib/poll.c: Indent cpp directives to reflect nesting.
33757
33758 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
33759
33760         poll: don't return uninitialized
33761         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
33762
33763 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
33764
33765         avoid compile failure on AIX 6.1
33766         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
33767         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
33768
33769 2009-01-04  Jim Meyering  <meyering@redhat.com>
33770
33771         remove duplicate inclusion of <stdio.h>
33772         * tests/test-fprintf-posix.c: Likewise.
33773         * tests/test-printf-posix.c: Likewise.
33774         * tests/test-snprintf-posix.c: Likewise.
33775         * tests/test-sprintf-posix.c: Likewise.
33776         * tests/test-vasprintf-posix.c: Likewise.
33777         * tests/test-vfprintf-posix.c: Likewise.
33778         * tests/test-vprintf-posix.c: Likewise.
33779         * tests/test-vsnprintf-posix.c: Likewise.
33780         * tests/test-vsprintf-posix.c: Likewise.
33781
33782 2009-01-03  Jim Meyering  <meyering@redhat.com>
33783
33784         gnulib-tool: fix sed-based filtering
33785         * gnulib-tool (func_filter_filelist): Remove extra backslash
33786         in sed_fff_filter definition.
33787
33788 2009-01-02  Jim Meyering  <meyering@redhat.com>
33789
33790         strftime: avoid compilation failure on Solaris 2.6
33791         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
33792         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
33793         Don't #define mbrlen or mbsinit, since now they're guaranteed to
33794         be available.  Reported by Tom G. Christensen.  Details in
33795         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
33796
33797 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33798             Bruno Haible  <bruno@clisp.org>
33799
33800         Speed up gnulib-tool by doing more string processing through shell
33801         built-ins.
33802         * gnulib-tool (fast_func_append): New variable.
33803         (func_remove_prefix, func_remove_suffix): New functions.
33804         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
33805         (func_filter_filelist): New function.
33806         (func_get_dependencies): Use func_remove_suffix instead of sed.
33807         (func_get_automake_snippet): Use func_filter_filelist instead of a
33808         subshell and sed invocation.
33809
33810 2009-01-01  Bruno Haible  <bruno@clisp.org>
33811
33812         Fix a security bug.
33813         * gnulib-tool (func_import, import, update): Don't allow the characters
33814         '"', '$', '`', '\' in macro arguments that become part of commands that
33815         are evaluated.
33816
33817 2009-01-01  Bruno Haible  <bruno@clisp.org>
33818
33819         * gnulib-tool (func_reset_sigpipe): Add more comments.
33820
33821 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33822
33823         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
33824         func_emit_tests_Makefile_am, func_import): Abort loops early if we
33825         already know the answer.
33826
33827 2009-01-01  Jim Meyering  <meyering@redhat.com>
33828
33829         * lib/version-etc.c (version_etc_va): Update copyright year.
33830
33831 2008-12-30  Bruno Haible  <bruno@clisp.org>
33832
33833         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
33834         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
33835         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
33836
33837 2008-12-29  Eric Blake  <ebb9@byu.net>
33838
33839         multiarch: avoid autoconf AC_REQUIRE bug
33840         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
33841         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
33842         2.63 and older.
33843         Reported by Bruno Haible, and analyzed in
33844         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
33845
33846 2008-12-29  Bruno Haible  <bruno@clisp.org>
33847
33848         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
33849         files in subdirectories correctly.
33850         Reported by Ralf Wildenhues.
33851
33852 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33853
33854         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
33855         rather than 'join FILE -', for Solaris join.
33856
33857 2008-12-29  Bruno Haible  <bruno@clisp.org>
33858
33859         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
33860         quoting.
33861         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
33862         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
33863         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
33864         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
33865         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
33866         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
33867         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
33868         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
33869         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
33870         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
33871         * m4/nls.m4 (AM_NLS): Likewise.
33872         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
33873         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
33874         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
33875         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
33876         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
33877         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
33878         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
33879         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
33880         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
33881         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
33882         * m4/xsize.m4 (gl_XSIZE): Likewise.
33883         Suggested by Jim Meyering.
33884
33885 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33886
33887         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
33888         * lib/parse-duration.c: use a switch instead of cascading if's.
33889
33890 2008-12-29  Eric Blake  <ebb9@byu.net>
33891
33892         wchar.h: supply WEOF on Irix 5.3
33893         * lib/wchar.in.h (wint_t): Also supply WEOF.
33894         * lib/wctype.in.h (wint_t): Likewise.
33895         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
33896         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
33897         Reported by Tom G. Christensen.
33898
33899 2008-12-26  Bruno Haible  <bruno@clisp.org>
33900
33901         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
33902         i486, i586, i686.
33903
33904 2008-12-26  Bruno Haible  <bruno@clisp.org>
33905
33906         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
33907
33908 2008-12-26  Bruno Haible  <bruno@clisp.org>
33909
33910         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
33911         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
33912         not __STDC_CONSTANT_MACROS.
33913         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33914
33915 2008-12-25  Bruno Haible  <bruno@clisp.org>
33916
33917         Add support for universal builds to vasnprintf.
33918         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
33919         universal builds, guess no.
33920         * modules/vasnprintf-posix (Depends-on): Add multiarch.
33921         * modules/vasprintf-posix (Depends-on): Likewise.
33922         * modules/fprintf-posix (Depends-on): Likewise.
33923         * modules/vfprintf-posix (Depends-on): Likewise.
33924         * modules/snprintf-posix (Depends-on): Likewise.
33925         * modules/vsnprintf-posix (Depends-on): Likewise.
33926         * modules/sprintf-posix (Depends-on): Likewise.
33927         * modules/vsprintf-posix (Depends-on): Likewise.
33928         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33929         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33930         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33931         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33932         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33933         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33934         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33935
33936         Add support for universal builds to <inttypes.h>.
33937         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
33938         _SCNu64_PREFIX): In Apple
33939         universal builds, define directly, using _LP64.
33940         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
33941         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
33942         * modules/inttypes (Depends-on): Add multiarch.
33943         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33944
33945         Add support for universal builds to <stdint.h>.
33946         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
33947         universal builds, define directly, using _LP64.
33948         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
33949         Apple universal builds, don't test for the size and suffix of ptrdiff_t
33950         and size_t.
33951         * modules/stdint (Depends-on): Add multiarch.
33952         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33953
33954         New module 'multiarch'.
33955         * modules/multiarch: New file.
33956         * m4/multiarch.m4: New file.
33957
33958 2008-12-25  Bruno Haible  <bruno@clisp.org>
33959
33960         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
33961
33962 2008-12-25  Bruno Haible  <bruno@clisp.org>
33963
33964         * modules/btowc (License): Relicense under LGPLv2+.
33965         * modules/mbsinit (License): Likewise.
33966         * modules/mbrtowc (License): Likewise.
33967         * modules/wcrtomb (License): Likewise.
33968         * modules/streq (License): Likewise.
33969         Reported by David Lutterkort <lutter@redhat.com>.
33970
33971 2008-12-23  Bruno Haible  <bruno@clisp.org>
33972
33973         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33974
33975 2008-12-23  Bruno Haible  <bruno@clisp.org>
33976
33977         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33978         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33979         GETADDRINFO_LIB, not in LIBS.
33980         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33981         * modules/canon-host (Link): Likewise.
33982         * NEWS: Mention the change.
33983         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33984         GETADDRINFO_LIB.
33985
33986 2008-12-22  Bruno Haible  <bruno@clisp.org>
33987
33988         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33989         * doc/posix-functions/iswalpha_l.texi: Likewise.
33990         * doc/posix-functions/iswblank_l.texi: Likewise.
33991         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33992         * doc/posix-functions/iswctype_l.texi: Likewise.
33993         * doc/posix-functions/iswdigit_l.texi: Likewise.
33994         * doc/posix-functions/iswgraph_l.texi: Likewise.
33995         * doc/posix-functions/iswlower_l.texi: Likewise.
33996         * doc/posix-functions/iswprint_l.texi: Likewise.
33997         * doc/posix-functions/iswpunct_l.texi: Likewise.
33998         * doc/posix-functions/iswspace_l.texi: Likewise.
33999         * doc/posix-functions/iswupper_l.texi: Likewise.
34000         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34001         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
34002         * doc/posix-functions/open_wmemstream.texi: Likewise.
34003         * doc/posix-functions/swscanf.texi: Likewise.
34004         * doc/posix-functions/towctrans_l.texi: Likewise.
34005         * doc/posix-functions/towlower.texi: Likewise.
34006         * doc/posix-functions/towlower_l.texi: Likewise.
34007         * doc/posix-functions/towupper.texi: Likewise.
34008         * doc/posix-functions/towupper_l.texi: Likewise.
34009         * doc/posix-functions/vfwprintf.texi: Likewise.
34010         * doc/posix-functions/vfwscanf.texi: Likewise.
34011         * doc/posix-functions/vswscanf.texi: Likewise.
34012         * doc/posix-functions/vwprintf.texi: Likewise.
34013         * doc/posix-functions/vwscanf.texi: Likewise.
34014         * doc/posix-functions/wcpcpy.texi: Likewise.
34015         * doc/posix-functions/wcpncpy.texi: Likewise.
34016         * doc/posix-functions/wcscasecmp.texi: Likewise.
34017         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
34018         * doc/posix-functions/wcscoll_l.texi: Likewise.
34019         * doc/posix-functions/wcsdup.texi: Likewise.
34020         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34021         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
34022         * doc/posix-functions/wcsnlen.texi: Likewise.
34023         * doc/posix-functions/wcsnrtombs.texi: Likewise.
34024         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34025         * doc/posix-functions/wctrans_l.texi: Likewise.
34026         * doc/posix-functions/wctype_l.texi: Likewise.
34027         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
34028         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
34029         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
34030         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
34031         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
34032         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
34033         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
34034         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
34035         * doc/glibc-functions/wcschrnul.texi: Likewise.
34036         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34037         * doc/glibc-functions/wcstod_l.texi: Likewise.
34038         * doc/glibc-functions/wcstof_l.texi: Likewise.
34039         * doc/glibc-functions/wcstol_l.texi: Likewise.
34040         * doc/glibc-functions/wcstold_l.texi: Likewise.
34041         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34042         * doc/glibc-functions/wcstoq.texi: Likewise.
34043         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34044         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34045         * doc/glibc-functions/wcstouq.texi: Likewise.
34046         * doc/glibc-functions/wmempcpy.texi: Likewise.
34047
34048 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
34049             Eric Blake  <ebb9@byu.net>
34050             Paolo Bonzini  <bonzini@gnu.org>
34051             Bruno Haible  <bruno@clisp.org>
34052
34053         Make c-stack work on Haiku.
34054         * lib/c-stack.c (SA_ONSTACK): Define fallback.
34055         (c_stack_action): Use SA_ONSTACK flag.
34056
34057 2008-12-22  Bruno Haible  <bruno@clisp.org>
34058
34059         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
34060
34061 2008-12-22  Bruno Haible  <bruno@clisp.org>
34062
34063         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
34064         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
34065         being overridden.
34066         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
34067         New macros.
34068         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
34069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
34070         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
34071         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
34072
34073 2008-12-22  Bruno Haible  <bruno@clisp.org>
34074
34075         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
34076         from test code.
34077
34078 2008-12-22  Eric Blake  <ebb9@byu.net>
34079
34080         Avoid gcc warnings on cygwin.
34081         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
34082         Avoid unused variable.
34083         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
34084         Likewise.
34085
34086 2008-12-22  Bruno Haible  <bruno@clisp.org>
34087
34088         Remove HAVE_MBRTOWC conditionals.
34089         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
34090         (mbscasecmp): Assume mbrtowc function.
34091         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
34092         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
34093         * lib/mbschr.c: Include mbuiter.h unconditionally.
34094         (mbschr): Assume mbrtowc function.
34095         * lib/mbscspn.c: Include mbuiter.h unconditionally.
34096         (mbscspn): Assume mbrtowc function.
34097         * lib/mbslen.c: Include mbuiter.h unconditionally.
34098         (mbslen): Assume mbrtowc function.
34099         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
34100         (mbsncasecmp): Assume mbrtowc function.
34101         * lib/mbsnlen.c: Include mbiter.h unconditionally.
34102         (mbsnlen): Assume mbrtowc function.
34103         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
34104         (mbspbrk): Assume mbrtowc function.
34105         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
34106         (mbspcasecmp): Assume mbrtowc function.
34107         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
34108         (mbsrchr): Assume mbrtowc function.
34109         * lib/mbssep.c: Include mbuiter.h unconditionally.
34110         (mbssep): Assume mbrtowc function.
34111         * lib/mbsspn.c: Include mbuiter.h unconditionally.
34112         (mbsspn): Assume mbrtowc function.
34113         * lib/mbsstr.c: Include mbuiter.h unconditionally.
34114         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
34115         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
34116         (mbstok_r): Assume mbrtowc function.
34117         * lib/propername.c: Include mbuiter.h unconditionally.
34118         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
34119         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
34120         (trim2): Assume mbrtowc function.
34121         * lib/mbswidth.c (mbsinit): Remove fallback definition.
34122         (mbsnwidth): Assume mbrtowc function.
34123         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
34124         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
34125         fallback definitions.
34126         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
34127
34128 2008-12-22  Bruno Haible  <bruno@clisp.org>
34129
34130         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
34131
34132 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
34133
34134         * modules/regex: Request emulations for the mb*/wc* functions we need.
34135         * m4/regex.m4: Don't look for those functions here.
34136         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
34137
34138 2008-12-22  Bruno Haible  <bruno@clisp.org>
34139
34140         * modules/fnmatch (Depends-on): Remove duplicated dependency.
34141
34142 2008-12-21  Bruno Haible  <bruno@clisp.org>
34143
34144         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
34145         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
34146         (Include): Remove conditionalization.
34147         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
34148         (Include): Remove conditionalization.
34149         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
34150         (Include): Remove conditionalization.
34151         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
34152         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34153         * NEWS: Mention the change.
34154         Reported by Alan Hourihane <alanh@fairlite.co.uk>
34155         via Sergey Poznyakoff <gray@gnu.org.ua>.
34156
34157 2008-12-21  Bruno Haible  <bruno@clisp.org>
34158
34159         * MODULES.html.sh (Extended multibyte and wide character utilities
34160         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
34161         wcrtomb, wcsrtombs.
34162         (Support for systems lacking POSIX:2008): Add accept, bind, close,
34163         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
34164         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
34165         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
34166
34167 2008-12-21  Bruno Haible  <bruno@clisp.org>
34168
34169         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
34170
34171 2008-12-21  Bruno Haible  <bruno@clisp.org>
34172
34173         * modules/wcsnrtombs-tests: New file.
34174         * tests/test-wcsnrtombs1.sh: New file.
34175         * tests/test-wcsnrtombs2.sh: New file.
34176         * tests/test-wcsnrtombs3.sh: New file.
34177         * tests/test-wcsnrtombs4.sh: New file.
34178         * tests/test-wcsnrtombs.c: New file.
34179
34180         New module 'wcsnrtombs'.
34181         * lib/wchar.in.h (wcsnrtombs): New declaration.
34182         * lib/wcsnrtombs.c: New file.
34183         * lib/wcsrtombs-state.c: New file.
34184         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
34185         (internal_state): Remove variable.
34186         * m4/wcsnrtombs.m4: New file.
34187         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
34188         compilation units.
34189         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
34190         HAVE_WCSNRTOMBS.
34191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
34192         HAVE_WCSNRTOMBS.
34193         * modules/wcsnrtombs: New file.
34194         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
34195         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
34196
34197 2008-12-21  Bruno Haible  <bruno@clisp.org>
34198
34199         * modules/wcsrtombs-tests: New file.
34200         * tests/test-wcsrtombs1.sh: New file.
34201         * tests/test-wcsrtombs2.sh: New file.
34202         * tests/test-wcsrtombs3.sh: New file.
34203         * tests/test-wcsrtombs4.sh: New file.
34204         * tests/test-wcsrtombs.c: New file.
34205
34206         New module 'wcsrtombs'.
34207         * lib/wchar.in.h (wcsrtombs): New declaration.
34208         * lib/wcsrtombs.c: New file.
34209         * m4/wcsrtombs.m4: New file.
34210         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
34211         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34212         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
34213         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34214         * modules/wcsrtombs: New file.
34215         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
34216         bugs.
34217
34218 2008-12-21  Bruno Haible  <bruno@clisp.org>
34219
34220         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
34221         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
34222         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
34223         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
34224         if not correct.
34225         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
34226         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
34227         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34228         m4/locale-zh.m4, m4/codeset.m4.
34229         * doc/posix-functions/wcrtomb.texi: Document the bug.
34230
34231 2008-12-21  Bruno Haible  <bruno@clisp.org>
34232
34233         Work around a btowc() bug on IRIX 6.5.
34234         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
34235         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
34236         REPLACE_WTOBC if not.
34237         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
34238         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
34239         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
34240
34241 2008-12-21  Bruno Haible  <bruno@clisp.org>
34242
34243         * modules/wcrtomb-tests: New file.
34244         * tests/test-wcrtomb.sh: New file.
34245         * tests/test-wcrtomb.c: New file.
34246
34247         New module 'wcrtomb'.
34248         * lib/wchar.in.h (wcrtomb): New declaration.
34249         * lib/wcrtomb.c: New file.
34250         * m4/wcrtomb.m4: New file.
34251         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
34252         HAVE_WCRTOMB.
34253         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
34254         HAVE_WCRTOMB.
34255         * modules/wcrtomb: New file.
34256         * doc/posix-functions/wcrtomb.texi: Mention the new module.
34257
34258 2008-12-21  Bruno Haible  <bruno@clisp.org>
34259
34260         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
34261         * modules/mbsrtowcs (Files): Likewise.
34262         * modules/wctob (Files): Likewise.
34263         * modules/c-strcase-tests (Files): Likewise.
34264         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34265         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34266         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34267         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34268         * modules/vasnprintf-posix-tests (Files): Likewise.
34269
34270 2008-12-21  William Pursell  <bill.pursell@gmail.com>
34271
34272         gitlog-to-changelog: pass all command-line arguments to git-log
34273         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
34274         it is sometimes convenient to filter the commits in various ways.
34275         gitlog-to-changelog only allows --since to specify a start date,
34276         but git-log itself supports many other filtering mechanisms.
34277         At the moment, I want to filter by branch name.  Rather than
34278         adding a --branch option to gitlog-to-changelog, it seems more
34279         flexible to simply pass all options directly to git-log and let
34280         git do the work.  Notice that this effectively makes --since a
34281         redundant option for gitlog-to-changelog, but removing it would
34282         require current usage to change since calls would then require
34283         an additional '--'.
34284
34285 2008-12-21  Bruno Haible  <bruno@clisp.org>
34286
34287         * modules/mbsnrtowcs-tests: New file.
34288         * tests/test-mbsnrtowcs1.sh: New file.
34289         * tests/test-mbsnrtowcs2.sh: New file.
34290         * tests/test-mbsnrtowcs3.sh: New file.
34291         * tests/test-mbsnrtowcs4.sh: New file.
34292         * tests/test-mbsnrtowcs.c: New file.
34293
34294         New module 'mbsnrtowcs'.
34295         * lib/wchar.in.h (mbsnrtowcs): New declaration.
34296         * lib/mbsnrtowcs.c: New file.
34297         * lib/mbsrtowcs-state.c: New file.
34298         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
34299         (internal_state): Remove variable.
34300         * m4/mbsnrtowcs.m4: New file.
34301         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
34302         compilation units.
34303         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
34304         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
34305         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
34306         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
34307         * modules/mbsnrtowcs: New file.
34308         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
34309         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
34310         portability problem.
34311
34312 2008-12-21  Bruno Haible  <bruno@clisp.org>
34313
34314         Work around mbsrtowcs bug.
34315         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
34316         (gl_FUNC_MBSRTOWCS): Invoke it.
34317         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34318         m4/locale-zh.m4.
34319         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
34320
34321 2008-12-21  Bruno Haible  <bruno@clisp.org>
34322
34323         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
34324
34325 2008-12-21  Bruno Haible  <bruno@clisp.org>
34326
34327         Update doc for AIX.
34328         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
34329         16-bit wchar_t type.
34330         * doc/posix-functions/btowc.texi: Likewise.
34331         * doc/posix-functions/fgetwc.texi: Likewise.
34332         * doc/posix-functions/fgetws.texi: Likewise.
34333         * doc/posix-functions/fputwc.texi: Likewise.
34334         * doc/posix-functions/fputws.texi: Likewise.
34335         * doc/posix-functions/fwide.texi: Likewise.
34336         * doc/posix-functions/fwprintf.texi: Likewise.
34337         * doc/posix-functions/fwscanf.texi: Likewise.
34338         * doc/posix-functions/getwchar.texi: Likewise.
34339         * doc/posix-functions/getwc.texi: Likewise.
34340         * doc/posix-functions/iswalnum.texi: Likewise.
34341         * doc/posix-functions/iswalpha.texi: Likewise.
34342         * doc/posix-functions/iswblank.texi: Likewise.
34343         * doc/posix-functions/iswcntrl.texi: Likewise.
34344         * doc/posix-functions/iswctype.texi: Likewise.
34345         * doc/posix-functions/iswdigit.texi: Likewise.
34346         * doc/posix-functions/iswgraph.texi: Likewise.
34347         * doc/posix-functions/iswlower.texi: Likewise.
34348         * doc/posix-functions/iswprint.texi: Likewise.
34349         * doc/posix-functions/iswpunct.texi: Likewise.
34350         * doc/posix-functions/iswspace.texi: Likewise.
34351         * doc/posix-functions/iswupper.texi: Likewise.
34352         * doc/posix-functions/iswxdigit.texi: Likewise.
34353         * doc/posix-functions/mbrtowc.texi: Likewise.
34354         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34355         * doc/posix-functions/mbstowcs.texi: Likewise.
34356         * doc/posix-functions/mbtowc.texi: Likewise.
34357         * doc/posix-functions/putwchar.texi: Likewise.
34358         * doc/posix-functions/putwc.texi: Likewise.
34359         * doc/posix-functions/swprintf.texi: Likewise.
34360         * doc/posix-functions/tolower.texi: Likewise.
34361         * doc/posix-functions/toupper.texi: Likewise.
34362         * doc/posix-functions/towctrans.texi: Likewise.
34363         * doc/posix-functions/ungetwc.texi: Likewise.
34364         * doc/posix-functions/vswprintf.texi: Likewise.
34365         * doc/posix-functions/wcrtomb.texi: Likewise.
34366         * doc/posix-functions/wcscat.texi: Likewise.
34367         * doc/posix-functions/wcschr.texi: Likewise.
34368         * doc/posix-functions/wcscmp.texi: Likewise.
34369         * doc/posix-functions/wcscoll.texi: Likewise.
34370         * doc/posix-functions/wcscpy.texi: Likewise.
34371         * doc/posix-functions/wcscspn.texi: Likewise.
34372         * doc/posix-functions/wcsftime.texi: Likewise.
34373         * doc/posix-functions/wcslen.texi: Likewise.
34374         * doc/posix-functions/wcsncat.texi: Likewise.
34375         * doc/posix-functions/wcsncmp.texi: Likewise.
34376         * doc/posix-functions/wcsncpy.texi: Likewise.
34377         * doc/posix-functions/wcspbrk.texi: Likewise.
34378         * doc/posix-functions/wcsrchr.texi: Likewise.
34379         * doc/posix-functions/wcsrtombs.texi: Likewise.
34380         * doc/posix-functions/wcsspn.texi: Likewise.
34381         * doc/posix-functions/wcsstr.texi: Likewise.
34382         * doc/posix-functions/wcstod.texi: Likewise.
34383         * doc/posix-functions/wcstof.texi: Likewise.
34384         * doc/posix-functions/wcstoimax.texi: Likewise.
34385         * doc/posix-functions/wcstok.texi: Likewise.
34386         * doc/posix-functions/wcstold.texi: Likewise.
34387         * doc/posix-functions/wcstoll.texi: Likewise.
34388         * doc/posix-functions/wcstol.texi: Likewise.
34389         * doc/posix-functions/wcstombs.texi: Likewise.
34390         * doc/posix-functions/wcstoull.texi: Likewise.
34391         * doc/posix-functions/wcstoul.texi: Likewise.
34392         * doc/posix-functions/wcstoumax.texi: Likewise.
34393         * doc/posix-functions/wcswidth.texi: Likewise.
34394         * doc/posix-functions/wcsxfrm.texi: Likewise.
34395         * doc/posix-functions/wctob.texi: Likewise.
34396         * doc/posix-functions/wctomb.texi: Likewise.
34397         * doc/posix-functions/wctrans.texi: Likewise.
34398         * doc/posix-functions/wctype.texi: Likewise.
34399         * doc/posix-functions/wcwidth.texi: Likewise.
34400         * doc/posix-functions/wmemchr.texi: Likewise.
34401         * doc/posix-functions/wmemcmp.texi: Likewise.
34402         * doc/posix-functions/wmemcpy.texi: Likewise.
34403         * doc/posix-functions/wmemmove.texi: Likewise.
34404         * doc/posix-functions/wmemset.texi: Likewise.
34405         * doc/posix-functions/wprintf.texi: Likewise.
34406         * doc/posix-functions/wscanf.texi: Likewise.
34407
34408 2008-12-21  Bruno Haible  <bruno@clisp.org>
34409
34410         Update doc for HP-UX 11.11.
34411         * doc/posix-functions/btowc.texi: Clarify that the function is missing
34412         in HP-UX version 11.00, not in all versions of HP-UX 11.
34413         * doc/posix-functions/fwide.texi: Likewise.
34414         * doc/posix-functions/fwprintf.texi: Likewise.
34415         * doc/posix-functions/fwscanf.texi: Likewise.
34416         * doc/posix-functions/inet_ntop.texi: Likewise.
34417         * doc/posix-functions/inet_pton.texi: Likewise.
34418         * doc/posix-functions/mbrlen.texi: Likewise.
34419         * doc/posix-functions/mbrtowc.texi: Likewise.
34420         * doc/posix-functions/mbsinit.texi: Likewise.
34421         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34422         * doc/posix-functions/swprintf.texi: Likewise.
34423         * doc/posix-functions/swscanf.texi: Likewise.
34424         * doc/posix-functions/towctrans.texi: Likewise.
34425         * doc/posix-functions/vfwprintf.texi: Likewise.
34426         * doc/posix-functions/vswprintf.texi: Likewise.
34427         * doc/posix-functions/vwprintf.texi: Likewise.
34428         * doc/posix-functions/wcrtomb.texi: Likewise.
34429         * doc/posix-functions/wcsrtombs.texi: Likewise.
34430         * doc/posix-functions/wcsstr.texi: Likewise.
34431         * doc/posix-functions/wctob.texi: Likewise.
34432         * doc/posix-functions/wctrans.texi: Likewise.
34433         * doc/posix-functions/wmemchr.texi: Likewise.
34434         * doc/posix-functions/wmemcmp.texi: Likewise.
34435         * doc/posix-functions/wmemcpy.texi: Likewise.
34436         * doc/posix-functions/wmemmove.texi: Likewise.
34437         * doc/posix-functions/wmemset.texi: Likewise.
34438         * doc/posix-functions/wprintf.texi: Likewise.
34439         * doc/posix-functions/wscanf.texi: Likewise.
34440
34441 2008-12-21  Bruno Haible  <bruno@clisp.org>
34442
34443         Work around a portability problem.
34444         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
34445         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
34446
34447 2008-12-20  Bruno Haible  <bruno@clisp.org>
34448
34449         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
34450         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
34451         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
34452         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
34453         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
34454
34455         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
34456         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
34457         set.
34458         (GNULIB_defined_mbstate_t): New macro.
34459         (mbsinit): Redefine if REPLACE_MBSINIT is set.
34460         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
34461         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
34462         reuses the system's mbrtowc function but works around the bugs.
34463         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
34464         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
34465         macros.
34466         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
34467         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
34468         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
34469         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
34470         REPLACE_MBSINIT if mbsinit needs to be overridden.
34471         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
34472         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34473         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
34474         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34475         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34476         m4/locale-zh.m4.
34477         (Depends): Add mbsinit.
34478         * modules/mbsinit (Depends): Add mbrtowc.
34479         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
34480
34481 2008-12-20  Bruno Haible  <bruno@clisp.org>
34482
34483         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
34484         so that there are no conversion errors on AIX.
34485         * tests/test-mbsrtowcs.c (main): LIkewise.
34486
34487 2008-12-20  Bruno Haible  <bruno@clisp.org>
34488
34489         Work around wctob bug on Solaris <= 9.
34490         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
34491         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
34492         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
34493         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
34494         * modules/wctob (Files): Add m4/locale-fr.m4.
34495         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
34496
34497 2008-12-20  Bruno Haible  <bruno@clisp.org>
34498
34499         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
34500         /dev/null.
34501         * tests/test-select-in.sh: Likewise.
34502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34503
34504 2008-12-20  Bruno Haible  <bruno@clisp.org>
34505
34506         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
34507         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
34508         Cygwin 1.5.x.
34509
34510 2008-12-20  Bruno Haible  <bruno@clisp.org>
34511
34512         Ensure mbstate_t is defined on HP-UX 11.11.
34513         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
34514         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
34515         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
34516         AC_USE_SYSTEM_EXTENSIONS.
34517         * modules/fnmatch (Depends-on): Add extensions.
34518         * modules/mbrlen (Depends-on): Likewise.
34519         * modules/mbrtowc (Depends-on): Likewise.
34520         * modules/mbsinit (Depends-on): Likewise.
34521         * modules/mbsrtowcs (Depends-on): Likewise.
34522         * modules/mbswidth (Depends-on): Likewise.
34523         * modules/quotearg (Depends-on): Likewise.
34524         * modules/strftime (Depends-on): Likewise.
34525
34526 2008-12-20  Bruno Haible  <bruno@clisp.org>
34527
34528         Ensure wctob is declared on IRIX 6.5.
34529         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
34530         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
34531         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
34532         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
34533         of HAVE_WCTOB.
34534         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
34535         HAVE_WCTOB.
34536         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
34537
34538 2008-12-19  Bruno Haible  <bruno@clisp.org>
34539
34540         * modules/mbsrtowcs-tests: New file.
34541         * tests/test-mbsrtowcs1.sh: New file.
34542         * tests/test-mbsrtowcs2.sh: New file.
34543         * tests/test-mbsrtowcs3.sh: New file.
34544         * tests/test-mbsrtowcs4.sh: New file.
34545         * tests/test-mbsrtowcs.c: New file.
34546
34547         New module 'mbsrtowcs'.
34548         * lib/wchar.in.h (mbsrtowcs): New declaration.
34549         * lib/mbsrtowcs.c: New file.
34550         * m4/mbsrtowcs.m4: New file.
34551         * modules/mbsrtowcs: New file.
34552         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
34553         HAVE_MBSRTOWCS.
34554         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
34555         HAVE_MBSRTOWCS.
34556         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
34557
34558 2008-12-19  Bruno Haible  <bruno@clisp.org>
34559
34560         New module 'mbrlen'.
34561         * lib/wchar.in.h (mbrlen): New declaration.
34562         * lib/mbrlen.c: New file.
34563         * m4/mbrlen.m4: New file.
34564         * modules/mbrlen: New file.
34565         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
34566         HAVE_MBRLEN.
34567         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
34568         HAVE_MBRLEN.
34569         * doc/posix-functions/mbrlen.texi: Document the new module.
34570
34571 2008-12-19  Bruno Haible  <bruno@clisp.org>
34572
34573         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
34574         * modules/mbrtowc (Depends-on): Add verify.
34575         Suggested by Paul Eggert.
34576
34577 2008-12-18  Bruno Haible  <bruno@clisp.org>
34578
34579         * modules/mbsinit-tests: New file.
34580         * tests/test-mbsinit.sh: New file.
34581         * tests/test-mbsinit.c: New file.
34582
34583 2008-12-18  Bruno Haible  <bruno@clisp.org>
34584
34585         * modules/mbrtowc-tests: New file.
34586         * tests/test-mbrtowc1.sh: New file.
34587         * tests/test-mbrtowc2.sh: New file.
34588         * tests/test-mbrtowc3.sh: New file.
34589         * tests/test-mbrtowc4.sh: New file.
34590         * tests/test-mbrtowc.c: New file.
34591
34592         New module 'mbrtowc'.
34593         * lib/wchar.in.h (mbstate_t): Override when the system does not have
34594         mbsinit and mbrtowc.
34595         (mbrtowc): New declaration.
34596         * lib/mbrtowc.c: New file.
34597         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
34598         * modules/mbrtowc: New file.
34599         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
34600         HAVE_MBRTOWC.
34601         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
34602         HAVE_MBRTOWC.
34603         * doc/posix-functions/mbrtowc.texi: Document the new module.
34604
34605 2008-12-18  Bruno Haible  <bruno@clisp.org>
34606
34607         New module 'wctob'.
34608         * lib/wchar.in.h (wctob): New declaration.
34609         * lib/wctob.c: New file.
34610         * m4/wctob.m4: New file.
34611         * modules/wctob: New file.
34612         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
34613         HAVE_WCTOB.
34614         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
34615         * doc/posix-functions/wctob.texi: Document the new module.
34616
34617 2008-12-18  Bruno Haible  <bruno@clisp.org>
34618
34619         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
34620         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
34621
34622 2008-12-18  Simon Josefsson  <simon@josefsson.org>
34623
34624         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
34625         G. Christensen" <tgc@jupiterrise.com>.
34626
34627         * lib/flock.c: Need to include errno.h.  Reported by "Tom
34628         G. Christensen" <tgc@jupiterrise.com>.
34629
34630         * lib/flock.c: Need to include string.h.  Reported by "Tom
34631         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
34632         <ebb9@byu.net>.
34633
34634 2008-12-18  Bruno Haible  <bruno@clisp.org>
34635
34636         * m4/locale-ja.m4: New file, from GNU gettext.
34637
34638 2008-12-17  Bruno Haible  <bruno@clisp.org>
34639
34640         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
34641         Suggested by Eric Blake.
34642
34643 2008-12-17  Bruno Haible  <bruno@clisp.org>
34644
34645         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
34646
34647 2008-12-17  Bruno Haible  <bruno@clisp.org>
34648
34649         * lib/mbsinit.c: Include verify.h. Verify an assumption.
34650         * modules/mbsinit (Depends-on): Add verify.
34651         Suggested by Paul Eggert.
34652
34653 2008-12-17  Bruno Haible  <bruno@clisp.org>
34654
34655         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
34656         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
34657         gl_FUNC_MBRTOWC.
34658         * m4/mbiter.m4 (gl_MBITER): LIkewise.
34659         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
34660         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
34661         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
34662         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
34663         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
34664         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
34665         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
34666         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
34667         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
34668         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
34669         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
34670         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
34671         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
34672         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
34673         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34674         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
34675         * modules/trim (configure.ac): Likewise.
34676
34677 2008-12-17  Bruno Haible  <bruno@clisp.org>
34678
34679         * modules/btowc-tests: New file.
34680         * tests/test-btowc1.sh: New file.
34681         * tests/test-btowc2.sh: New file.
34682         * tests/test-btowc.c: New file.
34683
34684         New module 'btowc'.
34685         * lib/wchar.in.h (btowc): New declaration.
34686         * lib/btowc.c: New file.
34687         * m4/btowc.m4: New file.
34688         * modules/btowc: New file.
34689         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
34690         HAVE_BTOWC.
34691         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
34692         * doc/posix-functions/btowc.texi: Document the new module.
34693
34694 2008-12-17  Bruno Haible  <bruno@clisp.org>
34695
34696         New module 'mbsinit'.
34697         * lib/wchar.in.h (mbsinit): New declaration.
34698         * lib/mbsinit.c: New file.
34699         * m4/mbsinit.m4: New file.
34700         * modules/mbsinit: New file.
34701         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
34702         HAVE_MBSINIT.
34703         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
34704         HAVE_MBSINIT.
34705         * doc/posix-functions/mbsinit.texi: Document the new module.
34706
34707 2008-12-16  Bruno Haible  <bruno@clisp.org>
34708
34709         * lib/unistd.in.h: Add comment.
34710         * tests/test-environ.c: Don't include <stdlib.h>.
34711
34712 2008-12-16  Bruno Haible  <bruno@clisp.org>
34713
34714         * lib/parse-duration.h (parse_duration): Document return value
34715         convention.
34716         * lib/parse-duration.c: Include specification header first. Add
34717         comments.
34718         (_): Remove macro.
34719         (parse_year_month_day, parse_hour_minute_second): Move side effects
34720         outside of strchr call.
34721         (parse_non_iso8601): Move side effects outside of isspace call.
34722         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
34723         call.
34724
34725 2008-12-16  Bruno Haible  <bruno@clisp.org>
34726
34727         * tests/test-parse-duration.sh: Produce no output when the test
34728         succeeds.
34729
34730 2008-12-16  Bruno Haible  <bruno@clisp.org>
34731
34732         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
34733         expressions.
34734
34735 2008-12-15  Bruno Haible  <bruno@clisp.org>
34736
34737         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
34738         * doc/glibc-functions/flistxattr.texi: Likewise.
34739         * doc/glibc-functions/fopencookie.texi: Likewise.
34740         * doc/glibc-functions/fremovexattr.texi: Likewise.
34741         * doc/glibc-functions/fsetxattr.texi: Likewise.
34742         * doc/glibc-functions/getxattr.texi: Likewise.
34743         * doc/glibc-functions/lgetxattr.texi: Likewise.
34744         * doc/glibc-functions/listxattr.texi: Likewise.
34745         * doc/glibc-functions/llistxattr.texi: Likewise.
34746         * doc/glibc-functions/lremovexattr.texi: Likewise.
34747         * doc/glibc-functions/lsetxattr.texi: Likewise.
34748         * doc/glibc-functions/removexattr.texi: Likewise.
34749         * doc/glibc-functions/setxattr.texi: Likewise.
34750         * doc/posix-functions/open_memstream.texi: Likewise.
34751
34752 2008-12-15  Eric Blake  <ebb9@byu.net>
34753
34754         Update doc for cygwin 1.7.
34755         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
34756         functions.
34757         * doc/posix-functions/fchmodat.texi: Likewise.
34758         * doc/posix-functions/fchownat.texi: Likewise.
34759         * doc/posix-functions/fdopendir.texi: Likewise.
34760         * doc/posix-functions/fmemopen.texi: Likewise.
34761         * doc/posix-functions/freeaddrinfo.texi: Likewise.
34762         * doc/posix-functions/fstatat.texi: Likewise.
34763         * doc/posix-functions/futimens.texi: Likewise.
34764         * doc/posix-functions/gai_strerror.texi: Likewise.
34765         * doc/posix-functions/getaddrinfo.texi: Likewise.
34766         * doc/posix-functions/getnameinfo.texi: Likewise.
34767         * doc/posix-functions/if_freenameindex.texi: Likewise.
34768         * doc/posix-functions/if_indextoname.texi: Likewise.
34769         * doc/posix-functions/if_nameindex.texi: Likewise.
34770         * doc/posix-functions/if_nametoindex.texi: Likewise.
34771         * doc/posix-functions/insque.texi: Likewise.
34772         * doc/posix-functions/linkat.texi: Likewise.
34773         * doc/posix-functions/llrint.texi: Likewise.
34774         * doc/posix-functions/llrintf.texi: Likewise.
34775         * doc/posix-functions/llrintl.texi: Likewise.
34776         * doc/posix-functions/lockf.texi: Likewise.
34777         * doc/posix-functions/lrintl.texi: Likewise.
34778         * doc/posix-functions/mkdirat.texi: Likewise.
34779         * doc/posix-functions/mkfifoat.texi: Likewise.
34780         * doc/posix-functions/mknodat.texi: Likewise.
34781         * doc/posix-functions/mq_close.texi: Likewise.
34782         * doc/posix-functions/mq_getattr.texi: Likewise.
34783         * doc/posix-functions/mq_notify.texi: Likewise.
34784         * doc/posix-functions/mq_open.texi: Likewise.
34785         * doc/posix-functions/mq_receive.texi: Likewise.
34786         * doc/posix-functions/mq_send.texi: Likewise.
34787         * doc/posix-functions/mq_setattr.texi: Likewise.
34788         * doc/posix-functions/mq_timedreceive.texi: Likewise.
34789         * doc/posix-functions/mq_timedsend.texi: Likewise.
34790         * doc/posix-functions/mq_unlink.texi: Likewise.
34791         * doc/posix-functions/open_memstream.texi: Likewise.
34792         * doc/posix-functions/openat.texi: Likewise.
34793         * doc/posix-functions/posix_fadvise.texi: Likewise.
34794         * doc/posix-functions/posix_fallocate.texi: Likewise.
34795         * doc/posix-functions/posix_madvise.texi: Likewise.
34796         * doc/posix-functions/posix_memalign.texi: Likewise.
34797         * doc/posix-functions/posix_openpt.texi: Likewise.
34798         * doc/posix-functions/readlinkat.texi: Likewise.
34799         * doc/posix-functions/remque.texi: Likewise.
34800         * doc/posix-functions/renameat.texi: Likewise.
34801         * doc/posix-functions/rintl.texi: Likewise.
34802         * doc/posix-functions/sem_unlink.texi: Likewise.
34803         * doc/posix-functions/shm_open.texi: Likewise.
34804         * doc/posix-functions/shm_unlink.texi: Likewise.
34805         * doc/posix-functions/signgam.texi: Likewise.
34806         * doc/posix-functions/sigset.texi: Likewise.
34807         * doc/posix-functions/stpcpy.texi: Likewise.
34808         * doc/posix-functions/stpncpy.texi: Likewise.
34809         * doc/posix-functions/strerror.texi: Likewise.
34810         * doc/posix-functions/strtod.texi: Likewise.
34811         * doc/posix-functions/symlinkat.texi: Likewise.
34812         * doc/posix-functions/unlinkat.texi: Likewise.
34813         * doc/posix-functions/utimensat.texi: Likewise.
34814         * doc/glibc-functions/bindresvport.texi: Likewise.
34815         * doc/glibc-functions/dn_expand.texi: Likewise.
34816         * doc/glibc-functions/exp10.texi: Likewise.
34817         * doc/glibc-functions/exp10f.texi: Likewise.
34818         * doc/glibc-functions/fgetxattr.texi: Likewise.
34819         * doc/glibc-functions/flistxattr.texi: Likewise.
34820         * doc/glibc-functions/fopencookie.texi: Likewise.
34821         * doc/glibc-functions/freeifaddrs.texi: Likewise.
34822         * doc/glibc-functions/fremovexattr.texi: Likewise.
34823         * doc/glibc-functions/fsetxattr.texi: Likewise.
34824         * doc/glibc-functions/getifaddrs.texi: Likewise.
34825         * doc/glibc-functions/getxattr.texi: Likewise.
34826         * doc/glibc-functions/lgetxattr.texi: Likewise.
34827         * doc/glibc-functions/listxattr.texi: Likewise.
34828         * doc/glibc-functions/llistxattr.texi: Likewise.
34829         * doc/glibc-functions/lremovexattr.texi: Likewise.
34830         * doc/glibc-functions/lsetxattr.texi: Likewise.
34831         * doc/glibc-functions/pow10.texi: Likewise.
34832         * doc/glibc-functions/pow10f.texi: Likewise.
34833         * doc/glibc-functions/rcmd_af.texi: Likewise.
34834         * doc/glibc-functions/removexattr.texi: Likewise.
34835         * doc/glibc-functions/res_init.texi: Likewise.
34836         * doc/glibc-functions/res_mkquery.texi: Likewise.
34837         * doc/glibc-functions/res_query.texi: Likewise.
34838         * doc/glibc-functions/res_querydomain.texi: Likewise.
34839         * doc/glibc-functions/res_send.texi: Likewise.
34840         * doc/glibc-functions/rresvport_af.texi: Likewise.
34841         * doc/glibc-functions/setxattr.texi: Likewise.
34842         * doc/glibc-functions/strcasestr.texi: Likewise.
34843
34844 2008-12-15  Bruno Haible  <bruno@clisp.org>
34845
34846         Fix compilation error on OSF/1 4.0.
34847         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
34848         <sys/time.h>, simply delegate to the system header.
34849         Reported by Daniel Richard G. <oss@teragram.com>.
34850
34851 2008-12-15  Bruno Haible  <bruno@clisp.org>
34852
34853         * doc/posix-functions/openat.texi: Mention the 'openat' module.
34854         * doc/posix-functions/fchmodat.texi: Likewise.
34855         * doc/posix-functions/fchownat.texi: Likewise.
34856         * doc/posix-functions/fdopendir.texi: Likewise.
34857         * doc/posix-functions/fstatat.texi: Likewise.
34858         * doc/posix-functions/mkdirat.texi: Likewise.
34859         * doc/posix-functions/unlinkat.texi: Likewise.
34860
34861 2008-12-14  Bruno Haible  <bruno@clisp.org>
34862
34863         Update doc for POSIX:2008.
34864         * doc/posix-functions/faccessat.texi: New file.
34865         * doc/posix-functions/fchmodat.texi: New file.
34866         * doc/posix-functions/fchownat.texi: New file.
34867         * doc/posix-functions/fdopendir.texi: New file.
34868         * doc/posix-functions/fstatat.texi: New file.
34869         * doc/posix-functions/futimens.texi: New file.
34870         * doc/posix-functions/linkat.texi: New file.
34871         * doc/posix-functions/mkdirat.texi: New file.
34872         * doc/posix-functions/mkfifoat.texi: New file.
34873         * doc/posix-functions/mknodat.texi: New file.
34874         * doc/posix-functions/open_wmemstream.texi: New file.
34875         * doc/posix-functions/openat.texi: New file.
34876         * doc/posix-functions/psiginfo.texi: New file.
34877         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
34878         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
34879         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
34880         * doc/posix-functions/readlinkat.texi: New file.
34881         * doc/posix-functions/renameat.texi: New file.
34882         * doc/posix-functions/strerror_l.texi: New file.
34883         * doc/posix-functions/symlinkat.texi: New file.
34884         * doc/posix-functions/unlinkat.texi: New file.
34885         * doc/posix-functions/utimensat.texi: New file.
34886         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34887
34888 2008-12-14  Bruno Haible  <bruno@clisp.org>
34889
34890         Update doc for POSIX:2008.
34891         * doc/posix-functions/alphasort.texi: Renamed from
34892         doc/glibc-functions/alphasort.texi.
34893         * doc/posix-functions/dirfd.texi: Renamed from
34894         doc/glibc-functions/dirfd.texi.
34895         * doc/posix-functions/dprintf.texi: Renamed from
34896         doc/glibc-functions/dprintf.texi.
34897         * doc/posix-functions/duplocale.texi: Renamed from
34898         doc/glibc-functions/duplocale.texi.
34899         * doc/posix-functions/fexecve.texi: Renamed from
34900         doc/glibc-functions/fexecve.texi.
34901         * doc/posix-functions/fmemopen.texi: Renamed from
34902         doc/glibc-functions/fmemopen.texi.
34903         * doc/posix-functions/freelocale.texi: Renamed from
34904         doc/glibc-functions/freelocale.texi.
34905         * doc/posix-functions/getdate_err.texi: Renamed from
34906         doc/glibc-functions/getdate_err.texi.
34907         * doc/posix-functions/isalnum_l.texi: Renamed from
34908         doc/glibc-functions/isalnum_l.texi.
34909         * doc/posix-functions/isalpha_l.texi: Renamed from
34910         doc/glibc-functions/isalpha_l.texi.
34911         * doc/posix-functions/isblank_l.texi: Renamed from
34912         doc/glibc-functions/isblank_l.texi.
34913         * doc/posix-functions/iscntrl_l.texi: Renamed from
34914         doc/glibc-functions/iscntrl_l.texi.
34915         * doc/posix-functions/isdigit_l.texi: Renamed from
34916         doc/glibc-functions/isdigit_l.texi.
34917         * doc/posix-functions/isgraph_l.texi: Renamed from
34918         doc/glibc-functions/isgraph_l.texi.
34919         * doc/posix-functions/islower_l.texi: Renamed from
34920         doc/glibc-functions/islower_l.texi.
34921         * doc/posix-functions/isprint_l.texi: Renamed from
34922         doc/glibc-functions/isprint_l.texi.
34923         * doc/posix-functions/ispunct_l.texi: Renamed from
34924         doc/glibc-functions/ispunct_l.texi.
34925         * doc/posix-functions/isspace_l.texi: Renamed from
34926         doc/glibc-functions/isspace_l.texi.
34927         * doc/posix-functions/isupper_l.texi: Renamed from
34928         doc/glibc-functions/isupper_l.texi.
34929         * doc/posix-functions/iswalnum_l.texi: Renamed from
34930         doc/glibc-functions/iswalnum_l.texi.
34931         * doc/posix-functions/iswalpha_l.texi: Renamed from
34932         doc/glibc-functions/iswalpha_l.texi.
34933         * doc/posix-functions/iswblank_l.texi: Renamed from
34934         doc/glibc-functions/iswblank_l.texi.
34935         * doc/posix-functions/iswcntrl_l.texi: Renamed from
34936         doc/glibc-functions/iswcntrl_l.texi.
34937         * doc/posix-functions/iswctype_l.texi: Renamed from
34938         doc/glibc-functions/iswctype_l.texi.
34939         * doc/posix-functions/iswdigit_l.texi: Renamed from
34940         doc/glibc-functions/iswdigit_l.texi.
34941         * doc/posix-functions/iswgraph_l.texi: Renamed from
34942         doc/glibc-functions/iswgraph_l.texi.
34943         * doc/posix-functions/iswlower_l.texi: Renamed from
34944         doc/glibc-functions/iswlower_l.texi.
34945         * doc/posix-functions/iswprint_l.texi: Renamed from
34946         doc/glibc-functions/iswprint_l.texi.
34947         * doc/posix-functions/iswpunct_l.texi: Renamed from
34948         doc/glibc-functions/iswpunct_l.texi.
34949         * doc/posix-functions/iswspace_l.texi: Renamed from
34950         doc/glibc-functions/iswspace_l.texi.
34951         * doc/posix-functions/iswupper_l.texi: Renamed from
34952         doc/glibc-functions/iswupper_l.texi.
34953         * doc/posix-functions/iswxdigit_l.texi: Renamed from
34954         doc/glibc-functions/iswxdigit_l.texi.
34955         * doc/posix-functions/isxdigit_l.texi: Renamed from
34956         doc/glibc-functions/isxdigit_l.texi.
34957         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
34958         doc/glibc-functions/mbsnrtowcs.texi.
34959         * doc/posix-functions/mkdtemp.texi: Renamed from
34960         doc/glibc-functions/mkdtemp.texi.
34961         * doc/posix-functions/newlocale.texi: Renamed from
34962         doc/glibc-functions/newlocale.texi.
34963         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
34964         doc/glibc-functions/nl_langinfo_l.texi.
34965         * doc/posix-functions/open_memstream.texi: Renamed from
34966         doc/glibc-functions/open_memstream.texi.
34967         * doc/posix-functions/opterr.texi: Renamed from
34968         doc/glibc-functions/opterr.texi.
34969         * doc/posix-functions/optind.texi: Renamed from
34970         doc/glibc-functions/optind.texi.
34971         * doc/posix-functions/optopt.texi: Renamed from
34972         doc/glibc-functions/optopt.texi.
34973         * doc/posix-functions/psignal.texi: Renamed from
34974         doc/glibc-functions/psignal.texi.
34975         * doc/posix-functions/scandir.texi: Renamed from
34976         doc/glibc-functions/scandir.texi.
34977         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34978         doc/glibc-functions/sched_get_priority_min.texi.
34979         * doc/posix-functions/signgam.texi: Renamed from
34980         doc/glibc-functions/signgam.texi.
34981         * doc/posix-functions/stpcpy.texi: Renamed from
34982         doc/glibc-functions/stpcpy.texi.
34983         * doc/posix-functions/stpncpy.texi: Renamed from
34984         doc/glibc-functions/stpncpy.texi.
34985         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34986         doc/glibc-functions/strcasecmp_l.texi.
34987         * doc/posix-functions/strcoll_l.texi: Renamed from
34988         doc/glibc-functions/strcoll_l.texi.
34989         * doc/posix-functions/strfmon_l.texi: Renamed from
34990         doc/glibc-functions/strfmon_l.texi.
34991         * doc/posix-functions/strftime_l.texi: Renamed from
34992         doc/glibc-functions/strftime_l.texi.
34993         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34994         doc/glibc-functions/strncasecmp_l.texi.
34995         * doc/posix-functions/strndup.texi: Renamed from
34996         doc/glibc-functions/strndup.texi.
34997         * doc/posix-functions/strnlen.texi: Renamed from
34998         doc/glibc-functions/strnlen.texi.
34999         * doc/posix-functions/strsignal.texi: Renamed from
35000         doc/glibc-functions/strsignal.texi.
35001         * doc/posix-functions/strxfrm_l.texi: Renamed from
35002         doc/glibc-functions/strxfrm_l.texi.
35003         * doc/posix-functions/timer_gettime.texi: Renamed from
35004         doc/glibc-functions/timer_gettime.texi.
35005         * doc/posix-functions/tolower_l.texi: Renamed from
35006         doc/glibc-functions/tolower_l.texi.
35007         * doc/posix-functions/toupper_l.texi: Renamed from
35008         doc/glibc-functions/toupper_l.texi.
35009         * doc/posix-functions/towctrans_l.texi: Renamed from
35010         doc/glibc-functions/towctrans_l.texi.
35011         * doc/posix-functions/towlower_l.texi: Renamed from
35012         doc/glibc-functions/towlower_l.texi.
35013         * doc/posix-functions/towupper_l.texi: Renamed from
35014         doc/glibc-functions/towupper_l.texi.
35015         * doc/posix-functions/uselocale.texi: Renamed from
35016         doc/glibc-functions/uselocale.texi.
35017         * doc/posix-functions/vdprintf.texi: Renamed from
35018         doc/glibc-functions/vdprintf.texi.
35019         * doc/posix-functions/wcpcpy.texi:
35020         Renamed from doc/glibc-functions/wcpcpy.texi.
35021         * doc/posix-functions/wcpncpy.texi: Renamed from
35022         doc/glibc-functions/wcpncpy.texi.
35023         * doc/posix-functions/wcscasecmp.texi: Renamed from
35024         doc/glibc-functions/wcscasecmp.texi.
35025         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
35026         doc/glibc-functions/wcscasecmp_l.texi.
35027         * doc/posix-functions/wcscoll_l.texi: Renamed from
35028         doc/glibc-functions/wcscoll_l.texi.
35029         * doc/posix-functions/wcsdup.texi: Renamed from
35030         doc/glibc-functions/wcsdup.texi.
35031         * doc/posix-functions/wcsncasecmp.texi: Renamed from
35032         doc/glibc-functions/wcsncasecmp.texi.
35033         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
35034         doc/glibc-functions/wcsncasecmp_l.texi.
35035         * doc/posix-functions/wcsnlen.texi: Renamed from
35036         doc/glibc-functions/wcsnlen.texi.
35037         * doc/posix-functions/wcsnrtombs.texi: Renamed from
35038         doc/glibc-functions/wcsnrtombs.texi.
35039         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
35040         doc/glibc-functions/wcsxfrm_l.texi.
35041         * doc/posix-functions/wctrans_l.texi: Renamed from
35042         doc/glibc-functions/wctrans_l.texi.
35043         * doc/posix-functions/wctype_l.texi: Renamed from
35044         doc/glibc-functions/wctype_l.texi.
35045         * doc/gnulib.texi (Function Substitutes): Add these subsections.
35046         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
35047         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
35048         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
35049         these subsections.
35050         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
35051         Remove sections.
35052
35053 2008-12-14  Bruno Haible  <bruno@clisp.org>
35054
35055         Update doc for POSIX:2008.
35056         * doc/posix-functions/*.texi: Update URL of POSIX specification.
35057
35058 2008-12-14  Bruno Haible  <bruno@clisp.org>
35059
35060         Update doc for POSIX:2008.
35061         * doc/pastposix-functions/bcmp.texi: Renamed from
35062         doc/posix-functions/bcmp.texi.
35063         * doc/pastposix-functions/bcopy.texi: Renamed from
35064         doc/posix-functions/bcopy.texi.
35065         * doc/pastposix-functions/bsd_signal.texi: Renamed from
35066         doc/posix-functions/bsd_signal.texi.
35067         * doc/pastposix-functions/bzero.texi: Renamed from
35068         doc/posix-functions/bzero.texi.
35069         * doc/pastposix-functions/ecvt.texi: Renamed from
35070         doc/posix-functions/ecvt.texi.
35071         * doc/pastposix-functions/fcvt.texi: Renamed from
35072         doc/posix-functions/fcvt.texi.
35073         * doc/pastposix-functions/ftime.texi: Renamed from
35074         doc/posix-functions/ftime.texi.
35075         * doc/pastposix-functions/gcvt.texi: Renamed from
35076         doc/posix-functions/gcvt.texi.
35077         * doc/pastposix-functions/getcontext.texi: Renamed from
35078         doc/posix-functions/getcontext.texi.
35079         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
35080         doc/posix-functions/gethostbyaddr.texi.
35081         * doc/pastposix-functions/gethostbyname.texi: Renamed from
35082         doc/posix-functions/gethostbyname.texi.
35083         * doc/pastposix-functions/getwd.texi: Renamed from
35084         doc/posix-functions/getwd.texi.
35085         * doc/pastposix-functions/h_errno.texi: Renamed from
35086         doc/posix-functions/h_errno.texi.
35087         * doc/pastposix-functions/index.texi: Renamed from
35088         doc/posix-functions/index.texi.
35089         * doc/pastposix-functions/makecontext.texi: Renamed from
35090         doc/posix-functions/makecontext.texi.
35091         * doc/pastposix-functions/mktemp.texi: Renamed from
35092         doc/posix-functions/mktemp.texi.
35093         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
35094         doc/posix-functions/pthread_attr_getstackaddr.texi.
35095         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
35096         doc/posix-functions/pthread_attr_setstackaddr.texi.
35097         * doc/pastposix-functions/rindex.texi: Renamed from
35098         doc/posix-functions/rindex.texi.
35099         * doc/pastposix-functions/scalb.texi: Renamed from
35100         doc/posix-functions/scalb.texi.
35101         * doc/pastposix-functions/setcontext.texi: Renamed from
35102         doc/posix-functions/setcontext.texi.
35103         * doc/pastposix-functions/swapcontext.texi: Renamed from
35104         doc/posix-functions/swapcontext.texi.
35105         * doc/pastposix-functions/ualarm.texi: Renamed from
35106         doc/posix-functions/ualarm.texi.
35107         * doc/pastposix-functions/usleep.texi: Renamed from
35108         doc/posix-functions/usleep.texi.
35109         * doc/pastposix-functions/vfork.texi: Renamed from
35110         doc/posix-functions/vfork.texi.
35111         * doc/pastposix-functions/wcswcs.texi: Renamed from
35112         doc/posix-functions/wcswcs.texi.
35113         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
35114         (Function Substitutes): Update.
35115
35116 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35117
35118         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
35119         m4/strerror.m4.
35120
35121 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35122             Bruno Haible  <bruno@clisp.org>
35123
35124         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
35125
35126 2008-12-13  Bruno Haible  <bruno@clisp.org>
35127
35128         * modules/strtoull (Depends-on): Remove unistd.
35129
35130 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35131
35132         * modules/strtoull (Depends-on): Add stdlib.
35133
35134 2008-12-11  Simon Josefsson  <simon@josefsson.org>
35135
35136         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
35137
35138 2008-12-10  Jim Meyering  <meyering@redhat.com>
35139
35140         gl_ASSERT: don't say assertions are disabled when they're not
35141         * m4/assert.m4 (gl_ASSERT): Do not make configure report
35142         "checking whether to enable assertions... no", when they are in
35143         fact enabled.  This is solely a bug in the output of configure.
35144         In spite of saying "no", NDEBUG was not defined in that case.
35145         Also, as noted by Eric Blake, leave assertions enabled upon
35146         --enable-assert=INVALID.
35147
35148 2008-12-10  Bruno Haible  <bruno@clisp.org>
35149
35150         Change MODULES.html to refer to POSIX:2008 where possible.
35151         * MODULES.html.sh (POSIX2008_URL): New variable.
35152         (posix_headers): Remove sys/timeb, ucontext.
35153         (posix2001_headers): New variable.
35154         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
35155         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
35156         index, makecontext, mktemp, pthread_attr_getstackaddr,
35157         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
35158         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
35159         (posix2001_functions): New variable.
35160         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
35161         otherwise.
35162
35163 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35164
35165         add missing include to parse-duration.c
35166         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
35167         * modules/parse-duration (Depends-on): Add xalloc.
35168
35169         fix sed script reading maint.mk
35170         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
35171         (syntax-check-rules): Use it.
35172
35173 2008-12-09  Bruno Haible  <bruno@clisp.org>
35174
35175         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
35176         MacOS X 10.4/PowerPC.
35177         Reported by Simon Josefsson.
35178
35179 2008-12-08  Jim Meyering  <meyering@redhat.com>
35180
35181         work around mingw's lack of some S_IF definitions
35182         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
35183         Reported by Simon Josefsson.
35184
35185 2008-12-08  Bruno Haible  <bruno@clisp.org>
35186
35187         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
35188         applied to variables. Needed on MacOS X 10.4/PowerPC.
35189         Reported by Simon Josefsson.
35190
35191 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
35192         and Eric Blake  <ebb9@byu.net>
35193
35194         assert: honor --enable-assert
35195         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
35196         order to honor --enable-assert, rather than treating it as a
35197         synonym for --disable-assert.
35198
35199 2008-12-08  Jim Meyering  <meyering@redhat.com>
35200
35201         * lib/posixtm.c: Remove now-useless declaration of mktime.
35202
35203         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
35204
35205 2008-12-07  Bruno Haible  <bruno@clisp.org>
35206
35207         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
35208         test_once): Mark functions as static.
35209         * tests/test-tls.c (test_tls): Likewise.
35210
35211 2008-12-07  Bruno Haible  <bruno@clisp.org>
35212
35213         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
35214         iconv_register_autodetect.
35215
35216 2008-12-07  Jim Meyering  <meyering@redhat.com>
35217
35218         posixtm.c: avoid a warning
35219         * lib/posixtm.c (posixtime): Don't initialize tm0.
35220         It's no longer needed to placate gcc4's -Wuninitialized,
35221         and the attempt to placate would elicit a new warning.
35222
35223         unicodeio.c: mark unused parameters
35224         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
35225         (fallback_failure_callback): Likewise.
35226
35227 2008-12-07  Bruno Haible  <bruno@clisp.org>
35228
35229         * gnulib-tool (func_create_testdir): When building the tests
35230         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
35231         Reported by Simon Josefsson.
35232
35233 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35234
35235         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
35236
35237 2008-12-06  Bruno Haible  <bruno@clisp.org>
35238
35239         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
35240         Suggested by Eric Blake.
35241
35242 2008-12-06  Bruno Haible  <bruno@clisp.org>
35243
35244         Fix a c-stack test failure on MacOS X.
35245         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
35246         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
35247         handler for SIGBUS as well.
35248         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
35249         install a signal handler for SIGBUS as well.
35250         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
35251
35252 2008-12-06  Bruno Haible  <bruno@clisp.org>
35253
35254         Advocacy documentation.
35255         * doc/gnulib-intro.texi (Benefits): New section.
35256         * doc/gnulib.texi: Update.
35257
35258 2008-12-06  Bruno Haible  <bruno@clisp.org>
35259
35260         Document the 'manywarnings' module.
35261         * doc/manywarnings.texi: New file.
35262         * doc/gnulib.texi: Include it.
35263
35264 2008-12-05  Eric Blake  <ebb9@byu.net>
35265
35266         tests: silence some gcc warnings
35267         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
35268         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
35269         type mismatches.
35270
35271 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35272             Bruno Haible  <bruno@clisp.org>
35273
35274         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
35275
35276 2008-11-29  Jim Meyering  <meyering@redhat.com>
35277
35278         unicodeio.c: mark unused parameters
35279         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
35280         (fallback_failure_callback): Likewise.
35281
35282         fts: fix a thinko
35283         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
35284         (set_stat_type): Return S_IF*-valued "type" directly.
35285         Prompted by James Youngman's spotting a related bug.
35286         Confirmed by further testing through find.
35287
35288         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
35289         * lib/fts.c (D_TYPE): Define.
35290         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
35291         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
35292         (s_ifmt_shift_bits): New function.
35293         (set_stat_type): New function.
35294         (fts_build): When not calling fts_stat, call set_stat_type
35295         to propagate dirent.d_type info to fts_read caller.
35296         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
35297         fts_statp->st_mode type information may be valid.
35298
35299 2008-11-28  Simon Josefsson  <simon@josefsson.org>
35300
35301         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
35302         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
35303         <sds@gnu.org>.
35304
35305 2008-11-20  Bruno Haible  <bruno@clisp.org>
35306
35307         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
35308         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
35309         INCLUDE_NEXT.
35310         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
35311         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
35312         * modules/math (Makefile.am): Substitute
35313         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
35314         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35315
35316 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35317             Bruno Haible  <bruno@clisp.org>
35318
35319         * lib/stdint.in.h: Define all type macros so that their expansion is
35320         a single typedef'ed token. Fixes a compilation failure in Boost which
35321         does "using ::int8_t;".
35322
35323 2008-11-18  Simon Josefsson  <simon@josefsson.org>
35324
35325         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
35326         gl_MANYWARN_ALL_GCC.
35327         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
35328         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
35329         * modules/manywarnings: New file.
35330         * MODULES.html.sh: Mention manywarnings module.
35331
35332 2008-11-18  Bruno Haible  <bruno@clisp.org>
35333
35334         * doc/gnulib-tool.texi (Unit tests): New section.
35335
35336 2008-11-18  Simon Josefsson  <simon@josefsson.org>
35337
35338         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
35339         paths like 'lib/po/foo.po'.
35340
35341 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35342
35343         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
35344         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
35345
35346 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35347
35348         * m4/warnings.m4: Use CPPFLAGS to really check whether the
35349         parameter works.
35350
35351 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35352
35353         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
35354
35355 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35356
35357         * modules/parse-duration-tests: New file.
35358         * tests/test-parse-duration.sh: New file.
35359         * tests/test-parse-duration.c: New file.
35360
35361         New module 'parse-duration'.
35362         * lib/parse-duration.h: New file.
35363         * lib/parse-duration.c: New file.
35364         * modules/parse-duration: New file.
35365
35366 2008-11-17  Bruno Haible  <bruno@clisp.org>
35367
35368         * tests/test-select-out.sh: Comment out the first pipe test.
35369         Reported by Simon Josefsson.
35370
35371 2008-11-17  Bruno Haible  <bruno@clisp.org>
35372
35373         * modules/getaddrinfo (Depends-on): Add servent, hostent.
35374         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
35375         gl_HOSTENT.
35376
35377 2008-11-17  Bruno Haible  <bruno@clisp.org>
35378
35379         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
35380         -lnetwork and -lnet. Needed for Haiku and BeOS.
35381
35382 2008-11-16  Bruno Haible  <bruno@clisp.org>
35383
35384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
35385
35386 2008-11-16  Bruno Haible  <bruno@clisp.org>
35387
35388         Avoid test failure on Haiku.
35389         * tests/test-fsync.c: Include <errno.h>.
35390         (main): Don't require that fsync (0) fails.
35391
35392 2008-11-15  Bruno Haible  <bruno@clisp.org>
35393
35394         New module 'hostent'.
35395         * modules/hostent: New file.
35396         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
35397
35398 2008-11-15  Bruno Haible  <bruno@clisp.org>
35399
35400         New module 'servent'.
35401         * modules/servent: New file.
35402         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
35403
35404 2008-11-15  Bruno Haible  <bruno@clisp.org>
35405
35406         Avoid generating same test program with two different rules.
35407         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
35408         test-frexp to test-frexp-nolibm.
35409         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
35410         test-frexpl to test-frexpl-nolibm.
35411
35412 2008-11-15  Bruno Haible  <bruno@clisp.org>
35413
35414         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
35415         $(FREXPL_LIBM).
35416
35417 2008-11-15  Bruno Haible  <bruno@clisp.org>
35418
35419         * lib/netdb.in.h: Activate the definitions also when the system's
35420         <netdb.h> has 'struct addrinfo'.
35421         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
35422         EAI_OVERFLOW or AI_NUMERICSERV.
35423         * doc/posix-headers/netdb.texi: Document the problem.
35424
35425 2008-11-15  Bruno Haible  <bruno@clisp.org>
35426
35427         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
35428
35429         Make the 'sched' module work on platforms where <sched.h> exists but
35430         is incomplete (such as Haiku).
35431         * lib/sched.in.h; Include the system's <sched.h> if it exists.
35432         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
35433         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
35434         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
35435         HAVE_STRUCT_SCHED_PARAM.
35436         * modules/sched (Depends-on): Add include_next.
35437         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
35438         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
35439         * doc/posix-headers/sched.texi: Document the issue.
35440
35441 2008-11-13  Jim Meyering  <meyering@redhat.com>
35442
35443         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
35444         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
35445         test would fail due to the difference in the Report bugs to ...
35446         line.  The expected address is empty, "<>", while the actual
35447         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
35448
35449 2008-11-12  Bruno Haible  <bruno@clisp.org>
35450
35451         lstat: don't compile lstat.c on systems lacking lstat
35452         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
35453         which don't have lstat; this is handled by lib/sys_stat.in.h already.
35454         Reported by Daniel P. Berrange via Jim Meyering.
35455
35456 2008-11-12  Jim Meyering  <meyering@redhat.com>
35457
35458         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
35459
35460 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35461
35462         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
35463         instead.
35464
35465 2008-11-12  Bruno Haible  <bruno@clisp.org>
35466
35467         * lib/unicodeio.c: Include unistr.h.
35468         (utf8_wctomb): Remove function.
35469         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
35470
35471 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35472
35473         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
35474         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
35475         <bruno@clisp.org>.
35476         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
35477
35478 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35479
35480         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
35481         * doc/gnulib.texi: Add section for warnings.
35482
35483 2008-11-11  Bruno Haible  <bruno@clisp.org>
35484
35485         * lib/sockets.h: Add a comment.
35486
35487 2008-11-11  Karl Berry  <karl@gnu.org>
35488
35489         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
35490
35491 2008-11-11  Eric Blake  <ebb9@byu.net>
35492
35493         fdl.texi: avoid git symlinks
35494         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
35495
35496 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35497
35498         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
35499
35500 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35501
35502         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
35503         (gl_WARN_ADD): Substitute $2 if literal.
35504
35505 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35506
35507         * m4/warning.m4: Remove.
35508
35509 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35510
35511         * m4/warnings.m4: Almost complete rewrite. :-)
35512
35513 2008-11-10  Simon Josefsson  <simon@josefsson.org>
35514
35515         * modules/warnings: New module.
35516         * m4/warnings.m4: New file.
35517         * MODULES.html.sh: Mention warnings module.
35518         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
35519         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35520
35521 2008-11-10  Eric Blake  <ebb9@byu.net>
35522
35523         fdl.texi: make a symlink to the latest version
35524         * doc/standards.texi: Revert today's earlier change.
35525         * doc/fdl-1.2.texi: Rename from old fdl.texi...
35526         * doc/fdl.texi: ...and replace this with a symlink to the newer
35527         fdl-1.3.texi.
35528
35529 2008-11-10  Bruno Haible  <bruno@clisp.org>
35530
35531         * tests/test-select-fd.c (main): Accept the result file name as fourth
35532         argument.
35533         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
35534         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
35535
35536 2008-11-10  Bruno Haible  <bruno@clisp.org>
35537
35538         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
35539         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
35540         as autoconf-substituted macros.
35541         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
35542         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
35543         gl_NETDB_H_DEFAULTS. Set these variables.
35544         * modules/netdb (Makefile.am): Substitute these variables.
35545
35546 2008-11-10  Eric Blake  <ebb9@byu.net>
35547
35548         standards.texi: include correct file for FDL 1.3
35549         * doc/standards.texi (GNU Free Documentation License): Change
35550         include file to pull in FDL 1.3, not 1.2.
35551
35552         fdl.texi: revert accidental change to license
35553         * doc/fdl.texi: This is FDL 1.2, not 1.3.
35554
35555 2008-11-10  Bruno Haible  <bruno@clisp.org>
35556
35557         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
35558         cross-compiling guesses also when the native compile gives no result.
35559
35560 2008-11-10  Bruno Haible  <bruno@clisp.org>
35561
35562         * lib/spawni.c (__spawni): Force variable into the stack.
35563
35564 2008-11-10  Bruno Haible  <bruno@clisp.org>
35565
35566         Add support for Haiku.
35567         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
35568         glibc and BeOS, but also on Haiku.
35569         * lib/fpurge.c (fpurge): Likewise.
35570         * lib/freadable.c (freadable): Likewise.
35571         * lib/freadahead.c (freadahead): Likewise.
35572         * lib/freading.c (freading): Likewise.
35573         * lib/freadptr.c (freadptr): Likewise.
35574         * lib/freadseek.c (freadptrinc): Likewise.
35575         * lib/fseeko.c (rpl_fseeko): Likewise.
35576         * lib/fseterr.c (fseterr): Likewise.
35577         * lib/fwritable.c (fwritable): Likewise.
35578         * lib/fwriting.c (fwriting): Likewise.
35579         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
35580
35581 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35582
35583         * lib/config.charset: Treat Haiku like BeOS.
35584
35585 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35586
35587         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
35588         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
35589
35590 2008-11-08  Bruno Haible  <bruno@clisp.org>
35591
35592         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
35593         AC_CACHE_CHECK.
35594
35595 2008-11-08  Bruno Haible  <bruno@clisp.org>
35596
35597         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
35598
35599 2008-11-08  Bruno Haible  <bruno@clisp.org>
35600
35601         * tests/test-select-fd.c: New file.
35602         * tests/test-select-in.sh: New file.
35603         * tests/test-select-out.sh: New file.
35604         * tests/test-select-stdin.c: New file.
35605         * modules/select-tests (Files): Add the new files.
35606         (Depends-on): Add gettimeofday.
35607         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
35608         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
35609         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
35610
35611 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
35612             Bruno Haible  <bruno@clisp.org>
35613
35614         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
35615
35616 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
35617
35618         * build-aux/pmccabe2html: Added support for C++ source files.
35619
35620 2008-11-05  Ben Pfaff  <blp@gnu.org>
35621
35622         Fix lib/close.c build on Windows.
35623         * modules/close (Files): Add lib/w32sock.h.
35624
35625 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
35626
35627         Accept Bison's NEWS format.
35628         * build-aux/announce-gen (print_news_deltas): Tweak
35629         $re_prefix.
35630
35631 2008-11-04  Bruno Haible  <bruno@clisp.org>
35632
35633         * modules/random_r (Maintainer): Add glibc.
35634
35635 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35636
35637         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
35638         by karl@freefriends.org (Karl Berry).
35639         * doc/alloca.texi: Likewise.
35640         * doc/c-ctype.texi: Likewise.
35641         * doc/c-strcase.texi: Likewise.
35642         * doc/c-strcaseeq.texi: Likewise.
35643         * doc/c-strcasestr.texi: Likewise.
35644         * doc/c-strstr.texi: Likewise.
35645         * doc/c-strtod.texi: Likewise.
35646         * doc/c-strtold.texi: Likewise.
35647         * doc/ctime.texi: Likewise.
35648         * doc/error.texi: Likewise.
35649         * doc/fdl.texi: Likewise.
35650         * doc/gcd.texi: Likewise.
35651         * doc/getdate.texi: Likewise.
35652         * doc/gnulib-intro.texi: Likewise.
35653         * doc/gnulib-tool.texi: Likewise.
35654         * doc/gnulib.texi: Likewise.
35655         * doc/inet_ntoa.texi: Likewise.
35656         * doc/maintain.texi: Likewise.
35657         * doc/make-stds.texi: Likewise.
35658         * doc/quote.texi: Likewise.
35659         * doc/regexprops-generic.texi: Likewise.
35660         * doc/standards.texi: Likewise.
35661         * doc/verify.texi: Likewise.
35662         * doc/visibility.texi: Likewise.
35663         * doc/gnulib.texi (GNU Free Documentation License): Include
35664         fdl-1.3.texi instead of fdl.texi.
35665
35666 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35667
35668         * doc/fdl-1.3.texi: New file, from
35669         <http://www.gnu.org/licenses/fdl-1.3.texi>.
35670         * modules/fdl-1.3: Add.
35671         * MODULES.html.sh: Add fdl-1.3.
35672
35673 2008-11-03  Bruno Haible  <bruno@clisp.org>
35674
35675         Make determination of absolute name of header file work with AIX xlc.
35676         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
35677         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
35678         preprocessing.
35679         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35680         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35681
35682 2008-11-03  Simon Josefsson  <simon@josefsson.org>
35683
35684         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
35685         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
35686         <ludo@gnu.org>.
35687
35688 2008-11-02  Bruno Haible  <bruno@clisp.org>
35689
35690         Mark 'strpbrk' obsolete.
35691         * modules/strpbrk (Status, Notice): New sections.
35692         * modules/strtok_r (Depends-on): Add strpbrk.
35693
35694 2008-11-02  Bruno Haible  <bruno@clisp.org>
35695
35696         Mark 'strdup' obsolete.
35697         * modules/strdup (Status, Notice): New sections.
35698         * modules/findprog (Depends-on): Add strdup.
35699         * modules/getaddrinfo (Depends-on): Likewise.
35700         * modules/localename (Depends-on): Likewise.
35701         * modules/relocatable-lib (Depends-on): Likewise.
35702         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
35703         * modules/relocatable-prog (Depends-on): Likewise.
35704         * modules/trim (Depends-on): Likewise.
35705         * modules/unictype/gen-ctype (Depends-on): Likewise.
35706         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35707
35708 2008-11-02  Bruno Haible  <bruno@clisp.org>
35709
35710         Mark 'strcspn' obsolete.
35711         * modules/strcspn (Status, Notice): New sections.
35712
35713 2008-11-02  Bruno Haible  <bruno@clisp.org>
35714
35715         Mark 'rmdir' obsolete.
35716         * modules/rmdir (Status, Notice): New sections.
35717         * modules/clean-temp (Depends-on): Add rmdir.
35718         * modules/openat (Depends-on): Likewise.
35719
35720 2008-11-02  Bruno Haible  <bruno@clisp.org>
35721
35722         Mark 'raise' obsolete.
35723         * modules/raise (Status, Notice): New sections.
35724         (Include): Specify <signal.h>.
35725         * modules/stdio (Depends-on): Add raise.
35726         * modules/write (Depends-on): Likewise.
35727
35728 2008-11-02  Bruno Haible  <bruno@clisp.org>
35729
35730         Mark 'memset' obsolete.
35731         * modules/memset (Status, Notice): New sections.
35732
35733 2008-11-02  Bruno Haible  <bruno@clisp.org>
35734
35735         Mark 'memmove' obsolete.
35736         * modules/memmove (Status, Notice): New sections.
35737         * modules/argp (Depends-on): Add memmove.
35738         * modules/argz (Depends-on): Likewise.
35739         * modules/canonicalize (Depends-on): Likewise.
35740         * modules/canonicalize-lgpl (Depends-on): Likewise.
35741         * modules/fts (Depends-on): Likewise.
35742         * modules/getcwd (Depends-on): Likewise.
35743         * modules/human (Depends-on): Likewise.
35744         * modules/regex (Depends-on): Likewise.
35745         * modules/striconveh (Depends-on): Likewise.
35746         * modules/trim (Depends-on): Likewise.
35747         * modules/unistr/u8-move (Depends-on): Likewise.
35748         * modules/unistr/u16-move (Depends-on): Likewise.
35749         * modules/unistr/u32-move (Depends-on): Likewise.
35750
35751 2008-11-02  Bruno Haible  <bruno@clisp.org>
35752
35753         Mark 'memcpy' obsolete.
35754         * modules/memcpy (Status, Notice): New sections.
35755
35756 2008-11-02  Bruno Haible  <bruno@clisp.org>
35757
35758         Mark 'memcmp' obsolete.
35759         * modules/memcmp (Status, Notice): New sections.
35760         * modules/argmatch (Depends-on): Add memchr.
35761         * modules/backupfile (Depends-on): Likewise.
35762         * modules/c-strcasestr (Depends-on): Likewise.
35763         * modules/crypto/des (Depends-on): Likewise.
35764         * modules/csharpcomp (Depends-on): Likewise.
35765         * modules/fnmatch (Depends-on): Likewise.
35766         * modules/git-merge-changelog (Depends-on): Likewise.
35767         * modules/isnand (Depends-on): Likewise.
35768         * modules/isnand-nolibm (Depends-on): Likewise.
35769         * modules/isnanf (Depends-on): Likewise.
35770         * modules/isnanf-nolibm (Depends-on): Likewise.
35771         * modules/isnanl (Depends-on): Likewise.
35772         * modules/isnanl-nolibm (Depends-on): Likewise.
35773         * modules/mbchar (Depends-on): Likewise.
35774         * modules/memcoll (Depends-on): Likewise.
35775         * modules/quotearg (Depends-on): Likewise.
35776         * modules/regex (Depends-on): Likewise.
35777         * modules/relocatable-prog (Depends-on): Likewise.
35778         * modules/same (Depends-on): Likewise.
35779         * modules/signbit (Depends-on): Likewise.
35780         * modules/strcasestr-simple (Depends-on): Likewise.
35781         * modules/unictype/gen-ctype (Depends-on): Likewise.
35782         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35783         * modules/uniname/uniname (Depends-on): Likewise.
35784         * modules/unistr/u8-cmp (Depends-on): Likewise.
35785
35786 2008-11-02  Bruno Haible  <bruno@clisp.org>
35787
35788         Mark 'memchr' obsolete.
35789         * modules/memchr (Status, Notice): New sections.
35790         * modules/argp (Depends-on): Add memchr.
35791         * modules/base64 (Depends-on): Likewise.
35792         * modules/c-strcasestr (Depends-on): Likewise.
35793         * modules/chdir-long (Depends-on): Likewise.
35794         * modules/fnmatch (Depends-on): Likewise.
35795         * modules/getsubopt (Depends-on): Likewise.
35796         * modules/git-merge-changelog (Depends-on): Likewise.
35797         * modules/glob (Depends-on): Likewise.
35798         * modules/strcasestr-simple (Depends-on): Likewise.
35799         * modules/strnlen (Depends-on): Likewise.
35800
35801 2008-11-02  Bruno Haible  <bruno@clisp.org>
35802
35803         Mark 'atexit' obsolete.
35804         * modules/atexit (Status, Notice): New sections.
35805         * modules/chdir-long (Depends-on): Add atexit.
35806         * modules/wait-process (Depends-on): Likewise.
35807
35808 2008-11-02  Bruno Haible  <bruno@clisp.org>
35809
35810         * gnulib-tool: New option --with-obsolete.
35811         (func_usage): Document it.
35812         (func_modules_transitive_closure): Drop obsolete dependencies if
35813         incobsolete is not true.
35814         (func_import): Read and save the incobsolete variable to the cache.
35815
35816 2008-11-02  Bruno Haible  <bruno@clisp.org>
35817
35818         * modules/TEMPLATE-EXTENDED: New field 'Status'.
35819         * gnulib-tool: New option --extract-status.
35820         (func_usage): Document it.
35821         (sed_extract_prog): Recognize it.
35822         (func_get_status): New function.
35823
35824 2008-10-30  Simon Josefsson  <simon@josefsson.org>
35825
35826         * modules/sockets (License): Change from LGPL to LGPLv2+.
35827
35828 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35829
35830         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
35831
35832 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35833
35834         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35835         Mention times and sys_times.
35836         * modules/sys_times, modules/sys_times-tests: New modules.
35837         * modules/times, modules/times-tests: Likewise
35838         * m4/sys_times_h.m4: New file.
35839         * lib/sys_times.in.h: Likewise
35840         * lib/times.c: Likewise.
35841         * tests/test-sys_times.c: Likewise.
35842         * tests/test-times.c: Likewise.
35843         * doc/posix-headers/sys_times.texi: Update.
35844         * doc/posix-functions/times.texi: Update.
35845
35846 2008-10-28  Jim Meyering  <meyering@redhat.com>
35847
35848         * modules/tempname (Depends-on): Add lstat.
35849
35850         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
35851
35852 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35853
35854         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
35855         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
35856         using idiom used elsewhere in gnulib.
35857
35858 2008-10-27  Jim Meyering  <meyering@redhat.com>
35859
35860         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
35861
35862 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35863
35864         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
35865         TESTS_ENVIRONMENT, for shell scripts that needs to call built
35866         programs.
35867         * tests/test-argp-2.sh: Use $EXEEXT when needed.
35868
35869 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35870
35871         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
35872
35873 2008-10-27  Bruno Haible  <bruno@clisp.org>
35874
35875         * tests/test-lstat.c: Include <stdio.h>.
35876
35877 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35878
35879         * modules/lstat-tests: New module.
35880         * tests/test-lstat.c: New file.
35881
35882 2008-10-26  Jim Meyering  <meyering@redhat.com>
35883
35884         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
35885
35886 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35887             Bruno Haible  <bruno@clisp.org>
35888
35889         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
35890         * modules/configmake (Include): Add a note that the include must come
35891         after all system headers.
35892         * lib/javaversion.c: Include configmake.h after all other includes.
35893
35894 2008-10-26  Bruno Haible  <bruno@clisp.org>
35895
35896         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
35897         HAVE_STRUCT_RANDOM_DATA to 1.
35898         (gl_STDLIB_H): Simplify.
35899
35900 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35901
35902         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
35903         substitute HAVE_STRUCT_RANDOM_DATA.
35904         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
35905         random_data.
35906         * modules/stdlib (Makefile.am): Substitute
35907         HAVE_STRUCT_RANDOM_DATA.
35908
35909 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35910
35911         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
35912         * doc/gnulib-intro.texi (Copyright): Likewise.
35913
35914 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35915
35916         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
35917         findings.
35918
35919 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
35920             Bruno Haible  <bruno@clisp.org>
35921
35922         * lib/unistd.in.h: Include <winsock2.h>.
35923         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
35924         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
35925         Provide dummy declarations.
35926         (gethostname): Override.
35927         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
35928         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
35929         gl_PREREQ_SYS_H_WINSOCK2.
35930         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
35931         * doc/posix-functions/gethostname.texi: More details.
35932
35933 2008-10-25  Bruno Haible  <bruno@clisp.org>
35934
35935         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35936         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
35937         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
35938
35939         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
35940         here ...
35941         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
35942         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
35943         gl_UNISTD_H_DEFAULTS.
35944
35945 2008-10-25  Eric Blake  <ebb9@byu.net>
35946
35947         signbit: avoid spurious compiler failure
35948         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
35949         declarations inside function.
35950
35951 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35952             Bruno Haible  <bruno@clisp.org>
35953
35954         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
35955         * modules/random_r (Depends-on): Add stdint.
35956
35957 2008-10-24  Bruno Haible  <bruno@clisp.org>
35958
35959         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
35960         Eggert.
35961         * modules/strerror (License): Likewise.
35962
35963 2008-10-24  Jim Meyering  <meyering@redhat.com>
35964
35965         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
35966         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
35967
35968 2008-10-24  Eric Blake  <ebb9@byu.net>
35969
35970         getgroups: fix compilation when getgroups is available
35971         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35972         but with <config.h> override of getgroups disabled.
35973
35974 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35975
35976         * doc/gnulib.texi (Header files): Add note about C++ problems.
35977         Explained by Bruno Haible <bruno@clisp.org>.
35978
35979 2008-10-23  Bruno Haible  <bruno@clisp.org>
35980
35981         Define a dummy SA_NODEFER macro on Interix.
35982         * lib/signal.in.h (SA_NODEFER): Define fallback.
35983         Reported by Aleksey Cheusov <cheusov@tut.by> via
35984         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35985
35986 2008-10-23  Bruno Haible  <bruno@clisp.org>
35987
35988         * modules/freadahead (License): Change to LGPLv2+.
35989         Suggested by Simon Josefsson.
35990
35991 2008-10-23  Jim Meyering  <meyering@redhat.com>
35992
35993         random_r: new module
35994         * modules/random_r: New file.
35995         * m4/random_r.m4: New file.
35996         * lib/random_r.c: New file, from glibc.
35997         * modules/random_r-tests: New file.
35998         * tests/test-random_r.c: New file.
35999         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
36000          Declare.
36001         (RAND_MAX): Define.
36002         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
36003         * modules/stdlib: Substitute them, too.
36004         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
36005         * doc/glibc-functions/initstate_r.texi: Mention the new module.
36006         * doc/glibc-functions/random_r.texi: Likewise.
36007         * doc/glibc-functions/setstate_r.texi: Likewise.
36008         * doc/glibc-functions/srandom_r.texi: Likewise.
36009         * config/srclist.txt: Mention it.
36010
36011 2008-10-23  David Lutterkort  <lutter@redhat.com>
36012
36013         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
36014         link requirement
36015
36016 2008-10-23  Jim Meyering  <meyering@redhat.com>
36017
36018         selinux-h: mark parameters of stub functions as intentionally unused
36019         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
36020         * lib/se-context.in.h: Likewise.
36021
36022 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36023
36024         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
36025
36026 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36027
36028         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
36029
36030 2008-10-22  Eric Blake  <ebb9@byu.net>
36031
36032         glthread/thread: avoid compiler warning
36033         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
36034         Add unreachable abort to silence compiler.
36035
36036 2008-10-22  Eric Blake  <ebb9@byu.net>
36037
36038         netdb: also supply struct addrinfo for cygwin 1.5.x
36039         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
36040         older cygwin.
36041         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
36042         cygwin.
36043         * doc/posix-headers/netdb.texi (netdb.h): Document this.
36044
36045 2008-10-22  Bruno Haible  <bruno@clisp.org>
36046
36047         * users.txt: Update entry about pspp.
36048
36049 2008-10-21  Bruno Haible  <bruno@clisp.org>
36050
36051         Simplification.
36052         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
36053         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
36054
36055         Simplification.
36056         * lib/ioctl.c (ioctl): Don't undefine.
36057         * lib/socket.c (socket): Don't undefine.
36058
36059         Remove unused module indicator macros.
36060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
36061         GNULIB_$1 as a C macro.
36062
36063         * doc/posix-functions/close.texi: Undo last change.
36064         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
36065         Windows platforms.
36066
36067 2008-10-21  Bruno Haible  <bruno@clisp.org>
36068
36069         Add gethostname() declaration to <unistd.h>.
36070         * lib/unistd.in.h (gethostname): New declaration.
36071         * lib/gethostname.c: Include <unistd.h>.
36072         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
36073         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
36074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
36075         and HAVE_GETHOSTNAME.
36076         * modules/gethostname (Depends-on): Add unistd.
36077         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36078         (Include): Specify <unistd.h>.
36079         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
36080         HAVE_GETHOSTNAME.
36081         * tests/test-gethostname.c: Include <unistd.h> first.
36082
36083 2008-10-21  Bruno Haible  <bruno@clisp.org>
36084
36085         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
36086         * modules/select-tests (Depends-on): Likewise.
36087         Reported by Simon Josefsson.
36088
36089 2008-10-21  Simon Josefsson  <simon@josefsson.org>
36090
36091         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
36092         * lib/accept.c: New file, based on winsock.c.
36093         * lib/bind.c: New file, based on winsock.c.
36094         * lib/connect.c: New file, based on winsock.c.
36095         * lib/getpeername.c: New file, based on winsock.c.
36096         * lib/getsockname.c: New file, based on winsock.c.
36097         * lib/getsockopt.c: New file, based on winsock.c.
36098         * lib/ioctl.c: New file, based on winsock.c.
36099         * lib/listen.c: New file, based on winsock.c.
36100         * lib/recv.c: New file, based on winsock.c.
36101         * lib/recvfrom.c: New file, based on winsock.c.
36102         * lib/send.c: New file, based on winsock.c.
36103         * lib/sendto.c: New file, based on winsock.c.
36104         * lib/setsockopt.c: New file, based on winsock.c.
36105         * lib/shutdown.c: New file, based on winsock.c.
36106         * lib/socket.c: New file, based on winsock.c.
36107         * lib/w32sock.h: New file, based on winsock.c.
36108         * lib/winsock.c: Remove file.
36109         * modules/accept: Likewise.
36110         * modules/bind: Likewise.
36111         * modules/connect: Likewise.
36112         * modules/getpeername: Likewise.
36113         * modules/getsockname: Likewise.
36114         * modules/getsockopt: Likewise.
36115         * modules/ioctl: Likewise.
36116         * modules/listen: Likewise.
36117         * modules/recv: Likewise.
36118         * modules/recvfrom: Likewise.
36119         * modules/send: Likewise.
36120         * modules/sendto: Likewise.
36121         * modules/setsockopt: Likewise.
36122         * modules/shutdown: Likewise.
36123         * modules/socket: Use socket.c instead of winsock.c.
36124         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
36125         * doc/posix-functions/accept.texi: Doc fix.
36126         * doc/posix-functions/bind.texi: Doc fix.
36127         * doc/posix-functions/close.texi: Doc fix.
36128         * doc/posix-functions/connect.texi: Doc fix.
36129         * doc/posix-functions/getpeername.texi: Doc fix.
36130         * doc/posix-functions/getsockname.texi: Doc fix.
36131         * doc/posix-functions/getsockopt.texi: Doc fix.
36132         * doc/posix-functions/ioctl.texi: Doc fix.
36133         * doc/posix-functions/listen.texi: Doc fix.
36134         * doc/posix-functions/recv.texi: Doc fix.
36135         * doc/posix-functions/recvfrom.texi: Doc fix.
36136         * doc/posix-functions/send.texi: Doc fix.
36137         * doc/posix-functions/sendto.texi: Doc fix.
36138         * doc/posix-functions/setsockopt.texi: Doc fix.
36139         * doc/posix-functions/shutdown.texi: Doc fix.
36140         * doc/posix-functions/socket.texi: Doc fix.
36141
36142 2008-10-20  Bruno Haible  <bruno@clisp.org>
36143
36144         Take into account the role of SIGABRT_COMPAT on Windows 2008.
36145         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
36146         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
36147         as an alias for SIGABRT.
36148         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
36149         (sigaction): Map it to SIGABRT.
36150         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
36151
36152 2008-10-20  Bruno Haible  <bruno@clisp.org>
36153
36154         * lib/fts.c: Don't include lstat.h.
36155         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
36156
36157         Move the lstat() declaration to <sys/stat.h>.
36158         * lib/lstat.h: Remove file.
36159         * lib/sys_stat.in.h: Add special invocation convention.
36160         (lstat): New declaration.
36161         * lib/lstat.c (orig_lstat): New function.
36162         (rpl_lstat): Use orig_lstat instead of lstat.
36163         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
36164         AC_C_INLINE. Set REPLACE_LSTAT.
36165         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
36166         and REPLACE_LSTAT.
36167         * modules/lstat (Files): Remove lib/lstat.h.
36168         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36169         (Include): Specify <sys/stat.h> instead of lstat.h.
36170         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
36171         REPLACE_LSTAT.
36172         * NEWS: Mention the change.
36173
36174 2008-10-20  Bruno Haible  <bruno@clisp.org>
36175
36176         * modules/posix_spawn-tests: New file.
36177         * tests/test-posix_spawn3.c: New file.
36178
36179 2008-10-20  Bruno Haible  <bruno@clisp.org>
36180
36181         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
36182         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36183         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
36184         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36185         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
36186
36187 2008-10-20  Bruno Haible  <bruno@clisp.org>
36188
36189         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
36190         of posix_spawn on AIX 5.3.
36191
36192 2008-10-20  Bruno Haible  <bruno@clisp.org>
36193
36194         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
36195
36196 2008-10-20  Bruno Haible  <bruno@clisp.org>
36197
36198         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
36199         of AC_LANG_PROGRAM.
36200
36201 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36202
36203         * lib/netdb.in.h: Don't define GNU specific constants until they
36204         are supported or needed.  Reported by Bruno Haible
36205         <bruno@clisp.org>.
36206
36207 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36208
36209         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
36210
36211 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36212
36213         * lib/getaddrinfo.h: Remove file.
36214         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
36215         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
36216         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
36217         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
36218         * modules/netdb: Substitute GNULIB_GETADDRINFO.
36219         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
36220         * tests/test-getaddrinfo.c: Likewise.
36221         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
36222         * NEWS: Mention change.
36223
36224 2008-10-19  Bruno Haible  <bruno@clisp.org>
36225
36226         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
36227
36228 2008-10-19  Bruno Haible  <bruno@clisp.org>
36229
36230         * lib/wait-process.c: Include simply <sys/wait.h>.
36231         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
36232         WIFSTOPPED): Remove fallback definitions.
36233         * modules/wait-process (Depends-on): Add sys_wait.
36234
36235         New module 'sys_wait'.
36236         * modules/sys_wait: New file.
36237         * lib/sys_wait.in.h: New file, partially copied from
36238         lib/wait-process.c.
36239         * m4/sys_wait_h.m4: New file.
36240         * doc/posix-headers/sys_wait.texi: Mention the new module.
36241
36242 2008-10-19  Bruno Haible  <bruno@clisp.org>
36243
36244         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
36245
36246 2008-10-19  Bruno Haible  <bruno@clisp.org>
36247
36248         Assume that waitpid() fills an 'int' status, not a 'union wait'.
36249         * lib/wait-process.c (WAIT_T): Remove type.
36250         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
36251         (wait_subprocess): Update.
36252
36253 2008-10-19  Bruno Haible  <bruno@clisp.org>
36254
36255         New module 'atoll'.
36256         * modules/atoll: New file.
36257         * lib/stdlib.in.h (atoll): New declaration.
36258         * lib/atoll.c: New file, from glibc with modifications.
36259         * m4/atoll.m4: New file.
36260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
36261         HAVE_ATOLL.
36262         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
36263         * doc/posix-functions/atoll.texi: Mention the new module.
36264
36265 2008-10-19  Bruno Haible  <bruno@clisp.org>
36266
36267         Add strtoull() declaration to <stdlib.h>.
36268         * lib/stdlib.in.h (strtoull): New declaration.
36269         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
36270         Set HAVE_STRTOULL.
36271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
36272         HAVE_STRTOULL.
36273         * modules/strtoull (Depends-on): Add stdlib.
36274         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36275         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
36276         HAVE_STRTOULL.
36277
36278 2008-10-19  Bruno Haible  <bruno@clisp.org>
36279
36280         Add strtoll() declaration to <stdlib.h>.
36281         * lib/stdlib.in.h (strtoll): New declaration.
36282         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
36283         Set HAVE_STRTOLL.
36284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
36285         HAVE_STRTOLL.
36286         * modules/strtoll (Depends-on): Add stdlib.
36287         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36288         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
36289
36290 2008-10-19  Bruno Haible  <bruno@clisp.org>
36291
36292         * modules/bcopy (Depends-on): Add strings.
36293         (Include): Specify <strings.h>.
36294
36295 2008-10-19  Bruno Haible  <bruno@clisp.org>
36296
36297         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
36298
36299 2008-10-19  Bruno Haible  <bruno@clisp.org>
36300
36301         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
36302         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
36303         mingw.
36304
36305 2008-10-19  Bruno Haible  <bruno@clisp.org>
36306
36307         * lib/atanl.c: Don't include isnanl.h.
36308         * lib/cosl.c: Likewise.
36309         * lib/ldexpl.c: Likewise.
36310         * lib/logl.c: Likewise.
36311         * lib/sinl.c: Likewise.
36312         * lib/sqrtl.c: Likewise.
36313         * lib/tanl.c: Likewise.
36314
36315         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
36316         * lib/isnanf.h: Remove file.
36317         * lib/isnand.h: Remove file.
36318         * lib/isnanl.h: Remove file.
36319         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
36320         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
36321         macros.
36322         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
36323         HAVE_ISNANF, don't define it as a C macro.
36324         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
36325         HAVE_ISNAND, don't define it as a C macro.
36326         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
36327         HAVE_ISNANL, don't define it as a C macro.
36328         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
36329         HAVE_ISNAN[FDL].
36330         * modules/isnanf (Files): Remove lib/isnanf.h.
36331         (Depends-on): Add math.
36332         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36333         (Include): Specify <math.h> instead of isnanf.h.
36334         * modules/isnand (Files): Remove lib/isnand.h.
36335         (Depends-on): Add math.
36336         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36337         (Include): Specify <math.h> instead of isnand.h.
36338         * modules/isnanl (Files): Remove lib/isnanl.h.
36339         (Depends-on): Add math.
36340         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36341         (Include): Specify <math.h> instead of isnanl.h.
36342         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
36343         HAVE_ISNAN[FDL].
36344         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
36345         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
36346         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
36347         * NEWS: Mention the change.
36348
36349 2008-10-18  Bruno Haible  <bruno@clisp.org>
36350
36351         Add getusershell(), setusershell(), endusershell() declarations to
36352         <unistd.h>.
36353         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
36354         declarations.
36355         * lib/getusershell.c: Include unistd.h.
36356         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
36357         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36358         HAVE_GETUSERSHELL.
36359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
36360         and HAVE_GETUSERSHELL.
36361         * modules/getusershell (Depends-on): Add unistd, extensions.
36362         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36363         (Include): Specify <unistd.h>.
36364         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
36365         HAVE_GETUSERSHELL.
36366
36367 2008-10-18  Bruno Haible  <bruno@clisp.org>
36368
36369         Add a getloadavg() declaration to <stdlib.h>.
36370         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
36371         getloadavg declaration.
36372         (getloadavg): New declaration.
36373         * lib/getloadavg.c: Include <stdlib.h> first.
36374         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
36375         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
36376         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
36377         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
36378         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36379         * modules/getloadavg (Depends-on): Add stdlib, extensions.
36380         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36381         (Include): Specify <stdlib.h>.
36382         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
36383         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36384
36385 2008-10-18  Bruno Haible  <bruno@clisp.org>
36386
36387         * lib/dirchownmod.c: Don't include lchmod.h.
36388
36389         Move the lchmod() declaration to <sys/stat.h>.
36390         * lib/lchmod.h: Remove file.
36391         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
36392         (lchmod): New declaration, moved here from lib/lchown.h.
36393         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
36394         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
36395         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
36396         and HAVE_LCHMOD.
36397         * modules/lchmod (Files): Remove lib/lchmod.h.
36398         (Depends-on): Add sys_stat, extensions.
36399         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36400         (Include): Specify <sys/stat.h> instead of lchmod.h.
36401         * modules/sys_stat (Depends-on): Add link-warning.
36402         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
36403         definition of GL_LINK_WARNING.
36404         * NEWS: Mention the change.
36405
36406 2008-10-18  Bruno Haible  <bruno@clisp.org>
36407
36408         * lib/fchdir.c: Don't include dirfd.h.
36409         * lib/fts.c: Likewise.
36410         * lib/getcwd.c: Likewise.
36411         * lib/glob.c: Likewise.
36412
36413         Move the dirfd() declaration to <dirent.h>.
36414         * lib/dirfd.h: Remove file.
36415         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
36416         (dirfd): New declaration.
36417         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
36418         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
36419         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
36420         HAVE_DECL_DIRFD.
36421         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
36422         HAVE_DECL_DIRFD.
36423         * modules/dirfd (Files): Remove lib/dirfd.h.
36424         (Depends-on): Add dirent, extensions.
36425         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
36426         (Include): Specify <dirent.h> instead of dirfd.h.
36427         * modules/dirent (Depends-on): Add link-warning.
36428         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
36429         definition of GL_LINK_WARNING.
36430         * NEWS: Mention the change.
36431
36432 2008-10-18  Bruno Haible  <bruno@clisp.org>
36433
36434         Move the euidaccess() declaration to <unistd.h>.
36435         * lib/euidaccess.h: Remove file.
36436         * lib/unistd.in.h (euidaccess): New declaration.
36437         * lib/euidaccess.c: Don't include euidaccess.h.
36438         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
36439         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
36440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
36441         and HAVE_EUIDACCESS.
36442         * modules/euidaccess (Files): Remove lib/euidaccess.h.
36443         (Depends-on): Add unistd.
36444         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36445         (Include): Specify <unistd.h> instead of euidaccess.h.
36446         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
36447         HAVE_EUIDACCESS.
36448         * NEWS: Mention the change.
36449
36450 2008-10-18  Bruno Haible  <bruno@clisp.org>
36451
36452         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
36453
36454         Move the getdomainname() declaration to <unistd.h>.
36455         * lib/getdomainname.h: Remove file.
36456         * lib/unistd.in.h (getdomainname): New declaration.
36457         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
36458         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
36459         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36460         HAVE_GETDOMAINNAME.
36461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36462         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
36463         * modules/getdomainname (Files): Remove lib/getdomainname.h.
36464         (Depends-on): Add unistd, extensions.
36465         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36466         (Includes): Specify <unistd.h> instead of getdomainname.h.
36467         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
36468         HAVE_GETDOMAINNAME.
36469         * NEWS: Mention the change.
36470
36471 2008-10-18  Bruno Haible  <bruno@clisp.org>
36472
36473         * modules/dirent: New file.
36474         * m4/dirent_h.m4: New file.
36475         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
36476         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
36477         * modules/fchdir (Files): Remove lib/dirent.in.h.
36478         (Depends-on): Add dirent.
36479         (Makefile.am): Move rules to modules/dirent.
36480         * doc/posix-headers/dirent.texi: Mention the new module.
36481
36482 2008-10-18  Bruno Haible  <bruno@clisp.org>
36483
36484         Avoid -Wunused-parameter warnings in public gnulib header files.
36485         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
36486         macro.
36487         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
36488
36489 2008-10-18  Bruno Haible  <bruno@clisp.org>
36490
36491         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
36492         * doc/glibc-functions/error.texi: Mention the module 'error'.
36493         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
36494         * doc/glibc-functions/getdomainname.texi: Mention the module
36495         'getdomainname'.
36496         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
36497         * doc/glibc-functions/getpagesize.texi: Mention the module
36498         'getpagesize'.
36499         * doc/glibc-functions/getusershell.texi: Mention the module
36500         'getusershell'.
36501         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
36502         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
36503         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
36504         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
36505         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
36506         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
36507         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
36508         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
36509         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
36510         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
36511         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
36512         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
36513         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
36514         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
36515
36516 2008-10-17  Bruno Haible  <bruno@clisp.org>
36517
36518         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
36519         HP-UX and IRIX, use -0.0L.
36520         * tests/test-ceill.c (minus_zero): Likewise.
36521         * tests/test-floorl.c (minus_zero): Likewise.
36522         * tests/test-frexpl.c (minus_zero): Likewise.
36523         * tests/test-isnan.c (minus_zerol): Likewise.
36524         * tests/test-isnanl.h (minus_zero): Likewise.
36525         * tests/test-ldexpl.c (minus_zero): Likewise.
36526         * tests/test-roundl.c (minus_zero): Likewise.
36527         * tests/test-signbit.c (minus_zerol): Likewise.
36528         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36529         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36530         * tests/test-truncl.c (minus_zero): Likewise.
36531         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36532         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36533         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
36534         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36535
36536 2008-10-17  Bruno Haible  <bruno@clisp.org>
36537
36538         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
36539         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
36540         that it gets activated only for gcc >= 3.0.
36541         * lib/dirent.in.h: Likewise.
36542         * lib/errno.in.h: Likewise.
36543         * lib/fcntl.in.h: Likewise.
36544         * lib/float.in.h: Likewise.
36545         * lib/iconv.in.h: Likewise.
36546         * lib/inttypes.in.h: Likewise.
36547         * lib/locale.in.h: Likewise.
36548         * lib/math.in.h: Likewise.
36549         * lib/netdb.in.h: Likewise.
36550         * lib/netinet_in.in.h: Likewise.
36551         * lib/search.in.h: Likewise.
36552         * lib/signal.in.h: Likewise.
36553         * lib/spawn.in.h: Likewise.
36554         * lib/stdarg.in.h: Likewise.
36555         * lib/stdint.in.h: Likewise.
36556         * lib/stdio.in.h: Likewise.
36557         * lib/stdlib.in.h: Likewise.
36558         * lib/string.in.h: Likewise.
36559         * lib/strings.in.h: Likewise.
36560         * lib/sys_file.in.h: Likewise.
36561         * lib/sys_ioctl.in.h: Likewise.
36562         * lib/sys_select.in.h: Likewise.
36563         * lib/sys_socket.in.h: Likewise.
36564         * lib/sys_stat.in.h: Likewise.
36565         * lib/sys_time.in.h: Likewise.
36566         * lib/sysexits.in.h: Likewise.
36567         * lib/time.in.h: Likewise.
36568         * lib/unistd.in.h: Likewise.
36569         * lib/wchar.in.h: Likewise.
36570         * lib/wctype.in.h: Likewise.
36571         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36572
36573 2008-10-17  Jim Meyering  <meyering@redhat.com>
36574
36575         ignore-value: don't depend on inline module
36576         * modules/ignore-value (Depends-on): Remove 'inline'.
36577         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
36578         Suggestion from Bruno Haible.
36579
36580 2008-10-17  Bruno Haible  <bruno@clisp.org>
36581
36582         New implementation of condition variables for Win32.
36583         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
36584         (gl_linked_waitqueue_t): New type.
36585         (gl_cond_t): Use it.
36586         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
36587         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
36588         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
36589         (glthread_cond_init_func, glthread_cond_wait_func,
36590         glthread_cond_timedwait_func, glthread_cond_signal_func,
36591         glthread_cond_broadcast_func, glthread_cond_destroy_func):
36592         Reimplemented on the basis of gl_linked_waitqueue_t.
36593         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
36594         gl_waitqueue_t.
36595         (gl_rwlock_t): Update.
36596         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
36597
36598 2008-10-17  Simon Josefsson  <simon@josefsson.org>
36599
36600         * modules/recvfrom (Depends-on): Add dependency on getpeername.
36601         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36602
36603 2008-10-17  Jim Meyering  <meyering@redhat.com>
36604
36605         ignore-value: new module
36606         * modules/ignore-value: New file.
36607         * lib/ignore-value.h: New file.
36608         * MODULES.html.sh (Compiler warning management): New section,
36609         just for this module.  More to come.
36610
36611 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36612
36613         open-safer.c: avoid 'signed and unsigned in conditional...' warning
36614         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
36615         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
36616
36617 2008-10-16  Jim Meyering  <meyering@redhat.com>
36618
36619         openat-die.c: avoid 'no previous prototype' warning
36620         * lib/openat-die.c: Include "openat.h".
36621         Reported by Reuben Thomas <rrt@sc3d.org>.
36622
36623 2008-10-16  Simon Josefsson  <simon@josefsson.org>
36624
36625         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
36626         * lib/netdb.in.h: Fix typo.
36627         Reported by Bruno Haible  <bruno@clisp.org>
36628
36629         * lib/netdb.in.h: Include sys/socket.h for platforms without
36630         netdb.h, to get structures like hostent on MinGW.
36631         * modules/netdb (Depends-on): Add sys_socket.
36632
36633 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36634
36635         * modules/netdb, modules/netdb-tests: New file.
36636         * m4/netdb_h.m4: New file.
36637         * lib/netdb.in.h: Add, currently just an empty file pending
36638         definitions.
36639         * tests/test-netdb.c: New file.
36640         * doc/posix-headers/netdb.texi: Mention that we replace it if
36641         needed.
36642         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36643         netdb.
36644
36645 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36646
36647         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
36648         with code.
36649
36650 2008-10-13  Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/glthread/cond.c (glthread_cond_wait_func,
36653         glthread_cond_timedwait_func): Add a comment.
36654
36655 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36656
36657         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
36658         * tests/test-select.c: Likewise,
36659
36660 2008-10-13  Bruno Haible  <bruno@clisp.org>
36661
36662         * lib/glthread/cond.c (glthread_cond_wait_func,
36663         glthread_cond_timedwait_func): Fix variable name.
36664         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36665
36666 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
36667
36668         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
36669         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
36670         struct sockaddr.sa_len.
36671         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
36672
36673 2008-10-13  Simon Josefsson  <simon@josefsson.org>
36674
36675         * build-aux/pmccabe2html: Add css and css_url parameters.
36676
36677 2008-10-12  Bruno Haible  <bruno@clisp.org>
36678
36679         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
36680         calling aclx_get.
36681         Reported by Rainer Tammer <tammer@tammer.net>.
36682
36683 2008-10-12  Bruno Haible  <bruno@clisp.org>
36684
36685         Use msvcrt aware primitives for creation/termination of Win32 threads.
36686         * lib/glthread/thread.c: Include <process.h>.
36687         (glthread_create_func): Use _beginthreadex instead of CreateThread.
36688         (wrapper_func): Update signature.
36689         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
36690
36691 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36692             Bruno Haible  <bruno@clisp.org>
36693
36694         Provide a Win32 implementation of the 'cond' module.
36695         * lib/glthread/cond.h [USE_WIN32]: New implementation.
36696         * lib/glthread/cond.c (glthread_cond_init_func,
36697         glthread_cond_wait_func, glthread_cond_timedwait_func,
36698         glthread_cond_signal_func, glthread_cond_broadcast_func,
36699         glthread_cond_destroy_func) [USE_WIN32]: New functions.
36700         * modules/cond (Dependencies): Add gettimeofday.
36701
36702 2008-10-11  Bruno Haible  <bruno@clisp.org>
36703
36704         Make sleep work on older versions of mingw.
36705         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
36706         only whether it exists.
36707         * doc/posix-functions/sleep.texi: Mention the problem with older
36708         versions of mingw.
36709
36710 2008-10-11  Bruno Haible  <bruno@clisp.org>
36711
36712         New module 'shutdown'.
36713         * modules/shutdown: New file.
36714         * lib/sys_socket.in.h (shutdown): New declaration.
36715         * lib/winsock.c (shutdown): New function.
36716         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36717         GNULIB_SHUTDOWN.
36718         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
36719         * doc/posix-functions/shutdown.texi: Document the new module.
36720
36721 2008-10-11  Jim Meyering  <meyering@redhat.com>
36722
36723         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
36724
36725 2008-10-11  Bruno Haible  <bruno@clisp.org>
36726
36727         New module 'fclose'.
36728         * modules/fclose: New file.
36729         * lib/stdio.in.h (fclose): New declaration.
36730         * lib/fclose.c: New file.
36731         * m4/fclose.m4: New file.
36732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
36733         REPLACE_FCLOSE.
36734         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
36735         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
36736         REPLACE_FCLOSE.
36737         * modules/close (Depends-on): fclose.
36738         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
36739
36740 2008-10-11  Bruno Haible  <bruno@clisp.org>
36741
36742         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
36743         set errno and don't call _close.
36744
36745 2008-10-10  Bruno Haible  <bruno@clisp.org>
36746
36747         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
36748         ACL, not afterwards. Fixes test failure on Cygwin.
36749
36750 2008-10-09  Ben Pfaff  <blp@gnu.org>
36751
36752         * build-aux/announce-gen: Fix gnulib version related part of usage
36753         message.  Die with a useful error message if no tarballs are
36754         found.
36755
36756 2008-10-10  Jim Meyering  <meyering@redhat.com>
36757
36758         bootstrap: use git's --depth=N option only if it's supported
36759         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
36760         recognize the --depth option.  Reported by Pádraig Brady.
36761
36762 2008-10-09  Bruno Haible  <bruno@clisp.org>
36763
36764         New module 'ioctl'.
36765         * modules/ioctl: New file.
36766         * lib/sys_socket.in.h (ioctl): Remove declaration.
36767         * lib/winsock.c: Include <sys/ioctl.h>.
36768         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
36769         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36770         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
36771         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
36772         * doc/posix-functions/ioctl.texi: Mention the new module.
36773
36774 2008-10-09  Bruno Haible  <bruno@clisp.org>
36775
36776         New module 'sys_ioctl'.
36777         * lib/sys_ioctl.in.h: New file.
36778         * m4/sys_ioctl_h.m4: New file.
36779         * modules/sys_ioctl: New file.
36780         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
36781
36782 2008-10-09  Bruno Haible  <bruno@clisp.org>
36783
36784         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
36785         * lib/winsock.c: Include <stdarg.h>.
36786         (rpl_ioctl): Change to second argument 'int' and then varargs.
36787
36788 2008-10-09  Bruno Haible  <bruno@clisp.org>
36789
36790         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
36791         when the sys_socket module is present and the system has <winsock2.h>.
36792
36793 2008-10-09  Bruno Haible  <bruno@clisp.org>
36794
36795         * doc/posix-functions/close.texi: Mention module 'close' instead of
36796         module 'sys_socket'.
36797
36798 2008-10-09  Bruno Haible  <bruno@clisp.org>
36799
36800         * doc/glibc-headers/sys_ioctl.texi: New file.
36801         * doc/gnulib.texi: Include it.
36802
36803 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36804             Bruno Haible  <bruno@clisp.org>
36805
36806         Combine the two replacements of 'close'.
36807         * lib/sys_socket.in.h (close): Define to a reminder to include
36808         <unistd.h>.
36809         (_gl_close_fd_maybe_socket): New declaration.
36810         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
36811         * lib/winsock.c (close): Remove undefinition.
36812         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
36813         needed for the gnulib module 'close'.
36814         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
36815         define to an error symbol or to a warning, if suitable.
36816         * lib/close.c: Include <sys/socket.h>.
36817         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
36818         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
36819         UNISTD_H_HAVE_WINSOCK2_H.
36820         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
36821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36822         UNISTD_H_HAVE_WINSOCK2_H.
36823         * modules/sys_socket (Files): Add m4/unistd_h.m4.
36824         (configure.ac): Set a module indicator.
36825         (Makefile.am): Substitute GNULIB_CLOSE.
36826         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
36827         * modules/poll-tests (Depends-on): Add close.
36828         * modules/select-tests (Depends-on): Likewise.
36829
36830 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36831             Bruno Haible  <bruno@clisp.org>
36832
36833         New module 'close'.
36834         * modules/close: New file.
36835         * lib/unistd.in.h (close): Move declaration out of the
36836         FCHDIR_REPLACEMENT scope.
36837         (_gl_unregister_fd): New declaration.
36838         * lib/close.c: New file.
36839         * lib/fchdir.c (rpl_close): Remove function.
36840         * m4/close.m4: New file.
36841         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36842         close.
36843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
36844         REPLACE_CLOSE.
36845         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
36846         REPLACE_CLOSE.
36847         * modules/fchdir (Depends-on): Add close.
36848
36849 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36850             Bruno Haible  <bruno@clisp.org>
36851
36852         * lib/fcntl.in.h (open): Simplify conditionals.
36853         (_gl_register_fd): New declaration.
36854         * lib/fchdir.c (rpl_open): Remove function.
36855         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
36856         also.
36857         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
36858         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36859         open.
36860
36861 2008-10-09  Jim Meyering  <meyering@redhat.com>
36862
36863         GNUmakefile: use the more name-space-friendly "_version"
36864         * top/GNUmakefile (_dummy): Update.
36865         (_version): Rename from "version".
36866
36867 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36868             Bruno Haible  <bruno@clisp.org>
36869
36870         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
36871         rpl_close.
36872         (_gl_register_fd): New function, extracted from rpl_open.
36873         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
36874         (rpl_open, rpl_opendir): Use _gl_register_fd.
36875
36876 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36877
36878         Fix organization of 'open' replacement.
36879         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
36880         (gl_FUNC_OPEN): Use it.
36881         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
36882
36883 2008-10-08  Bruno Haible  <bruno@clisp.org>
36884
36885         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
36886
36887 2008-10-08  Simon Josefsson  <simon@josefsson.org>
36888
36889         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
36890         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
36891         listen).
36892
36893 2008-10-08  Eric Blake  <ebb9@byu.net>
36894
36895         GNUmakefile: add 'make version' target
36896         * top/GNUmakefile (_curr-ver): Split version update rules...
36897         (version): ...into a target.
36898
36899 2008-10-07  Bruno Haible  <bruno@clisp.org>
36900
36901         Use a more portable replacement expression for -0.0L.
36902         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
36903         instead of -0.0L. Fix m4 quotation.
36904
36905         * tests/test-signbit.c: Include <float.h>.
36906         (minus_zero): New variable.
36907         (test_signbitl): Use minus_zero instead of -zero.
36908         * modules/signbit-tests (Depends-on): Add float.
36909
36910         * tests/test-ceill.c: Include <float.h>.
36911         (zero): Remove variable.
36912         (minus_zero): New variable.
36913         (main): Use minus_zero instead of -zero.
36914         * modules/ceill-tests (Depends-on): Add float.
36915
36916         * tests/test-floorl.c: Include <float.h>.
36917         (zero): Remove variable.
36918         (minus_zero): New variable.
36919         (main): Use minus_zero instead of -zero.
36920         * modules/floorl-tests (Depends-on): Add float.
36921
36922         * tests/test-roundl.c: Include <float.h>.
36923         (zero): Remove variable.
36924         (minus_zero): New variable.
36925         (main): Use minus_zero instead of -zero.
36926         * modules/roundl-tests (Depends-on): Add float.
36927
36928         * tests/test-truncl.c: Include <float.h>.
36929         (zero): Remove variable.
36930         (minus_zero): New variable.
36931         (main): Use minus_zero instead of -zero.
36932         * modules/truncl-tests (Depends-on): Add float.
36933
36934         * tests/test-frexpl.c (zero): Remove variable.
36935         (minus_zero): New variable.
36936         (main): Use minus_zero instead of -zero.
36937         * modules/frexpl-tests (Depends-on): Add float.
36938
36939         * tests/test-isnan.c (zerol): Remove variable.
36940         (minus_zerol): New variable.
36941         (test_long_double): Use minus_zerol instead of -zerol.
36942         * modules/isnan-tests (Depends-on): Add float.
36943
36944         * tests/test-isnanl.h (zero): Remove variable.
36945         (minus_zero): New variable.
36946         (main): Use minus_zero instead of -zero.
36947         * modules/isnanl-nolibm-tests (Depends-on): Add float.
36948         * modules/isnanl-tests (Depends-on): Add float.
36949
36950         * tests/test-ldexpl.c (zero): Remove variable.
36951         (minus_zero): New variable.
36952         (main): Use minus_zero instead of -zero.
36953         * modules/ldexpl-tests (Depends-on): Add float.
36954
36955         * tests/test-snprintf-posix.h (zerol): Remove variable.
36956         (minus_zerol): New variable.
36957         (test_function): Use minus_zerol instead of -zerol.
36958         * modules/snprintf-posix-tests (Depends-on): Add float.
36959         * modules/vsnprintf-posix-tests (Depends-on): Add float.
36960
36961         * tests/test-sprintf-posix.h (zerol): Remove variable.
36962         (minus_zerol): New variable.
36963         (test_function): Use minus_zerol instead of -zerol.
36964         * modules/sprintf-posix-tests (Depends-on): Add float.
36965         * modules/vsprintf-posix-tests (Depends-on): Add float.
36966
36967         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
36968         (minus_zerol): New variable.
36969         (test_function): Use minus_zerol instead of -zerol.
36970         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36971
36972         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36973         (minus_zerol): New variable.
36974         (test_function): Use minus_zerol instead of -zerol.
36975         * modules/vasprintf-posix-tests (Depends-on): Add float.
36976
36977 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36978
36979         * MODULES.html.sh (Support for building documentation): Mention
36980         pmccabe2html.  Sort entries.
36981
36982         Add pmccabe2html module, from gnupdf.
36983         * build-aux/pmccabe.css: New file.
36984         * build-aux/pmccabe2html: New file.
36985         * m4/pmccabe2html.m4: New file.
36986         * modules/pmccabe2html: New file.
36987
36988 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36989
36990         flock: new module
36991         * MODULES.html.sh: Add to list of modules.
36992         * lib/flock.c: flock implementation for Windows and Unix systems
36993         which have fcntl.
36994         * doc/glibc-functions/flock.texi: Update documentation.
36995         * lib/sys_file.in.h: <sys/file.h> header file.
36996         * m4/flock.m4: M4 macros.
36997         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36998         * modules/flock: flock module.
36999         * modules/flock-tests: flock tests module.
37000         * modules/sys_file: sys/file.h module.
37001         * tests/test-flock.c: test suite for flock.
37002
37003 2008-10-06  Jim Meyering  <meyering@redhat.com>
37004
37005         bootstrap: check for LT_INIT more portably still ;-)
37006         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
37007         Spotted by Bruno Haible.
37008
37009 2008-10-06  Eric Blake  <ebb9@byu.net>
37010
37011         test-signbit: avoid tripping Irix cc bug on -0.0L
37012         * tests/test-signbit.c (minus_zerol): Delete, and replace with
37013         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
37014         entire testsuite consistent and avoids an Irix 6.2 bug.
37015
37016 2008-10-05  Bruno Haible  <bruno@clisp.org>
37017             Jim Meyering  <jim@meyering.net>
37018
37019         Add an option for ignoring EPIPE during close_stdout.
37020         * lib/closeout.h: Include <stdbool.h>.
37021         (close_stdout_set_ignore_EPIPE): New declaration.
37022         * lib/closeout.c: Include <stdbool.h>.
37023         (ignore_EPIPE): New variable.
37024         (close_stdout_set_ignore_EPIPE): New function.
37025         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
37026         * lib/close-stream.c (close_stream): Mention the possible EPIPE
37027         failure.
37028         * modules/closeout (Depends-on): Add stdbool.
37029
37030 2008-10-05  Bruno Haible  <bruno@clisp.org>
37031
37032         * modules/accept: New file.
37033         * modules/bind: New file.
37034         * modules/connect: New file.
37035         * modules/getpeername: New file.
37036         * modules/getsockname: New file.
37037         * modules/getsockopt: New file.
37038         * modules/listen: New file.
37039         * modules/recv: New file.
37040         * modules/recvfrom: New file.
37041         * modules/send: New file.
37042         * modules/sendto: New file.
37043         * modules/setsockopt: New file.
37044         * modules/socket: New file.
37045         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
37046         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
37047         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
37048         the particular module is requested. Add a link warning when the
37049         particular module is not requested.
37050         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
37051         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
37052         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
37053         the particular module is requested.
37054         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
37055         gl_SYS_SOCKET_H_DEFAULTS): New macros.
37056         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
37057         * modules/sys_socket (Depends-on): Add link-warning.
37058         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
37059         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
37060         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
37061         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
37062         GL_LINK_WARNING.
37063         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
37064         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
37065         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
37066         * doc/posix-functions/getpeername.texi: Mention the new module
37067         'getpeername'.
37068         * doc/posix-functions/getsockname.texi: Mention the new module
37069         'getsockname'.
37070         * doc/posix-functions/getsockopt.texi: Mention the new module
37071         'getsockopt'.
37072         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
37073         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
37074         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
37075         * doc/posix-functions/send.texi: Mention the new module 'send'.
37076         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
37077         * doc/posix-functions/setsockopt.texi: Mention the new module
37078         'setsockopt'.
37079         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
37080         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
37081         listen, connect, accept.
37082         * modules/select-tests (Depends-on): Likewise.
37083
37084 2008-10-05  Bruno Haible  <bruno@clisp.org>
37085
37086         * lib/winsock.c (strerror): Remove unused #undef.
37087         (rpl_close): Remove unused local variable.
37088
37089         * modules/sys_socket (Depends-on); Add errno.
37090
37091 2008-10-05  Bruno Haible  <bruno@clisp.org>
37092
37093         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
37094         (select): Add a link warning when the 'select' module is not used.
37095         * modules/sys_select (Depends-on): Add link-warning.
37096         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
37097         Suggested by Paolo Bonzini.
37098
37099 2008-10-05  Jim Meyering  <meyering@redhat.com>
37100
37101         bootstrap: check for LT_INIT more portably
37102         * build-aux/bootstrap: Avoid using grep -E, since it's not
37103         portable enough.  Suggestion from Bruno Haible.
37104
37105 2008-10-05  Bruno Haible  <bruno@clisp.org>
37106
37107         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
37108         as being fixed by gnulib.
37109
37110 2008-10-05  Bruno Haible  <bruno@clisp.org>
37111
37112         * modules/select-tests: New file, mostly copied from
37113         modules/sys_select-tests.
37114         * tests/test-select.c: New file, mostly copied from
37115         tests/test-sys_select.c.
37116         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
37117         * modules/sys_select-tests (Depends-on): Remove all dependencies.
37118         (Makefile.am): Remove test_sys_select_LDADD.
37119
37120         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
37121         to an undefined symbol, for an error message.
37122         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
37123         (gl_SYS_SELECT_H_DEFAULTS): New macro.
37124         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
37125         winsock-select.c here.
37126         * modules/sys_select (Files): Remove lib/winsock-select.c.
37127         (Depends-on): Remove alloca.
37128         (Makefile.am): Substitute GNULIB_SELECT.
37129         * modules/select: New file.
37130         * doc/posix-functions/select.texi: Update.
37131
37132 2008-10-05  Bruno Haible  <bruno@clisp.org>
37133
37134         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
37135         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
37136         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
37137         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
37138         getdtablesize.
37139         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
37140         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
37141
37142 2008-10-05  Bruno Haible  <bruno@clisp.org>
37143
37144         * modules/getdtablesize-tests: New file.
37145         * tests/test-getdtablesize.c: New file.
37146
37147         New module 'getdtablesize'.
37148         * lib/unistd.in.h (getdtablesize): New declaration.
37149         * lib/getdtablesize.c: New file.
37150         * m4/getdtablesize.m4: New file.
37151         * modules/getdtablesize: New file.
37152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37153         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
37154         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
37155         HAVE_GETDTABLESIZE.
37156         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
37157
37158 2008-10-05  Bruno Haible  <bruno@clisp.org>
37159
37160         * modules/sched (Makefile.am): Fix typo.
37161         Reported by Simon Josefsson.
37162
37163 2008-10-05  Jim Meyering  <meyering@redhat.com>
37164
37165         bootstrap: check for LT_INIT, too
37166         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
37167         are deprecated.  Suggestion from Ralf Wildenhues.
37168
37169 2008-10-05  Bruno Haible  <bruno@clisp.org>
37170
37171         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
37172         overriding them by ours.
37173         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
37174
37175 2008-10-05  Jim Meyering  <meyering@redhat.com>
37176
37177         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
37178         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
37179         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
37180
37181 2008-10-04  Bruno Haible  <bruno@clisp.org>
37182
37183         * modules/dup2 (License): Change to LGPLv2+.
37184         * modules/sleep (License): Likewise.
37185         * modules/perror (License): Likewise.
37186         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
37187         Blake.
37188         * modules/signal (License): Likewise.
37189         * modules/sigprocmask (License): Likewise.
37190         * modules/raise (License): Change to LGPLv2+, with approval by Jim
37191         Meyering.
37192
37193 2008-10-04  Bruno Haible  <bruno@clisp.org>
37194
37195         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
37196         Reported by Rainer Tammer <tammer@tammer.net>.
37197
37198 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
37199             Bruno Haible  <bruno@clisp.org>
37200
37201         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
37202         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
37203         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
37204
37205 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
37206
37207         filevercmp: new module
37208         * lib/filevercmp.h: New function filevercmp comparing version strings.
37209         * lib/filevercmp.c: Implementation of filevercmp function.
37210         * modules/filevercmp: Module metadata.
37211         * tests/test-filevercmp.c: Unit test for new module.
37212         * modules/filevercmp-tests: Unit test metadata.
37213         * MODULES.html.sh: Add filevercmp module.
37214
37215 2008-10-03  Bruno Haible  <bruno@clisp.org>
37216
37217         * lib/c-ctype.h: Add comment.
37218         Reported by Jim Meyering.
37219
37220 2008-10-02  Bruno Haible  <bruno@clisp.org>
37221
37222         * modules/posix_spawn-internal (Depends-on): Add 'open'.
37223
37224 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37225
37226         * build-aux/bootstrap: Allow renaming bootstrap, and change the
37227         name of bootstrap.conf accordingly.
37228
37229 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37230
37231         * build-aux/bootstrap: Install git-merge-changelog configuration
37232         items into .gitconfig if needed.
37233
37234 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37235
37236         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
37237         git repository, and initialize/update it accordingly.
37238
37239 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
37240
37241         * modules/fsync-tests: New file.
37242         * tests/test-fsync.c: New file.
37243
37244         New module 'fsync'.
37245         * lib/fsync.c: New file.
37246         * m4/fsync.m4: New file.
37247         * modules/fsync: New file.
37248         * lib/unistd.in.h (fsync): New declaration.
37249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
37250         GNULIB_FSYNC and HAVE_FSYNC.
37251         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
37252         * MODULES.html.sh (posix_functions): Add fsync.
37253         * doc/posix-functions/fsync.texi: Mention the new module.
37254
37255 2008-10-02  Jim Meyering  <meyering@redhat.com>
37256
37257         fts.c: sync with similar code from coreutils' remove.c
37258         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
37259         Guard also with "#if defined __linux__", since for now at least,
37260         this code is Linux-kernel-specific.
37261
37262 2008-10-02  Jim Meyering  <meyering@redhat.com>
37263
37264         fts: bug fixes
37265         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
37266         Include <sys/vfs.h>, not <sys/statfs.h>.
37267
37268         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
37269         Include <sys/vfs.h>, not <sys/statfs.h>.
37270
37271 2008-10-01  Bruno Haible  <bruno@clisp.org>
37272
37273         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
37274         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
37275         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
37276         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
37277         * doc/posix-functions/posix_spawnp.texi: Likewise.
37278         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
37279         whether posix_spawn actually works.
37280         * m4/pipe.m4 (gl_PIPE): Likewise.
37281         * modules/execute (Files): Add m4/posix_spawn.m4.
37282         * modules/pipe (Files): Add m4/posix_spawn.m4.
37283         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
37284
37285 2008-10-01  Jim Meyering  <meyering@redhat.com>
37286
37287         remove trailing spaces
37288         * NEWS: Likewise.
37289         * lib/poll.c (poll): Likewise.
37290         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
37291         * lib/winsock.c (rpl_close): Likewise.
37292         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
37293         * modules/yield: Likewise.
37294         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
37295         * tests/test-sys_select.c (connect_to_socket): Likewise.
37296
37297         fts.c: adjust a new interface to be more generally useful
37298         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
37299         (fts_build): Adjust caller.
37300
37301 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37302
37303         * modules/cond-tests: New file.
37304         * tests/test-cond.c: New file.
37305
37306 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37307             Bruno Haible  <bruno@clisp.org>
37308
37309         * modules/cond (Dependencies): Add errno, time.
37310         * lib/glthread/cond.h: Include <time.h>.
37311         (gl_cond_define, gl_cond_define_initialized): Use the same definition
37312         across platforms.
37313
37314 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37315             Bruno Haible  <bruno@clisp.org>
37316
37317         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
37318
37319 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37320             Bruno Haible  <bruno@clisp.org>
37321
37322         * modules/tls-tests (Depends-on): Add thread, yield.
37323         (configure.ac): Remove all checks.
37324         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
37325         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
37326         gl_thread_self): Remove definitions. Include glthread/thread.h and
37327         glthread/yield.h instead.
37328         (test_tls): Pass an additional NULL argument to gl_thread_join.
37329
37330 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37331             Bruno Haible  <bruno@clisp.org>
37332
37333         * modules/lock-tests (Depends-on): Add thread, yield.
37334         (configure.ac): Remove all checks.
37335         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
37336         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
37337         gl_thread_self): Remove definitions. Include glthread/thread.h and
37338         glthread/yield.h instead.
37339         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
37340         additional NULL argument to gl_thread_join.
37341
37342 2008-09-30  Bruno Haible  <bruno@clisp.org>
37343
37344         Fix the Win32 implementation of the 'thread' module.
37345         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
37346         pointer type.
37347         (gl_thread_self): Invoke gl_thread_self_func.
37348         (gl_thread_self_func): New declaration.
37349         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
37350         (do_init_self_key, init_self_key): New functions.
37351         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
37352         Remove some fields.
37353         (running_threads, running_lock): Remove variables.
37354         (get_current_thread_handle): New function.
37355         (gl_thread_self_func, wrapper_func, glthread_create_func,
37356         glthread_join_func, gl_thread_exit_func): Largely rewritten and
37357         simplified.
37358
37359 2008-09-30  Bruno Haible  <bruno@clisp.org>
37360
37361         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
37362         files.
37363
37364 2008-09-30  Jim Meyering  <meyering@redhat.com>
37365
37366         fts.m4: correct the test for statfs.f_type
37367         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
37368         when checking for statfs.f_type.
37369
37370 2008-09-15  Simon Josefsson  <simon@josefsson.org>
37371
37372         tests: avoid some compiler warnings
37373         * tests/test-memchr.c (main): Pass NULL indirectly.
37374         * tests/test-getdate.c (main): Remove unused variable 'ret'.
37375
37376 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
37377
37378         getdate.y: disallow countable dayshifts like "4 yesterday ago"
37379         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
37380         exactly specified dayshifts.
37381         (dayshift): New rule.
37382         (rel): Add dayshift.
37383         (relative_time_table) [tomorrow, yesterday, today, now]:
37384         Use tDAY_SHIFT in place of tDAY_UNIT.
37385         * tests/test-getdate.c: Add tests for now-disallowed countable
37386         dayshifts, e.g., "4 yesterday ago".
37387
37388 2008-09-29  Bruno Haible  <bruno@clisp.org>
37389
37390         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
37391         * tests/test-posix_spawn1.in.sh: Renamed from
37392         tests/test-posix_spawn.in.sh.
37393         * tests/test-posix_spawn2.c: New file.
37394         * tests/test-posix_spawn2.in.sh: New file.
37395         * modules/posix_spawnp-tests (Files): Update.
37396         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
37397
37398 2008-09-29  Bruno Haible  <bruno@clisp.org>
37399
37400         Propagate effects of putenv/setenv/unsetenv to child processes.
37401         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
37402         * lib/pipe.c (create_pipe): Likewise.
37403
37404 2008-09-29  Bruno Haible  <bruno@clisp.org>
37405
37406         Enable use of shell scripts as executables in mingw.
37407         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
37408         run the program as a shell script.
37409         * lib/pipe.c (create_pipe): Likewise.
37410         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
37411         resulting array.
37412
37413 2008-09-29  Eric Blake  <ebb9@byu.net>
37414
37415         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
37416
37417 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
37418
37419         * doc/posix-functions/accept.texi: Update mingw problems.
37420         * doc/posix-functions/bind.texi: Update mingw problems.
37421         * doc/posix-functions/close.texi: Update mingw problems.
37422         * doc/posix-functions/connect.texi: Update mingw problems.
37423         * doc/posix-functions/getpeername.texi: Update mingw problems.
37424         * doc/posix-functions/getsockname.texi: Update mingw problems.
37425         * doc/posix-functions/getsockopt.texi: Update mingw problems.
37426         * doc/posix-functions/ioctl.texi: Update mingw problems.
37427         * doc/posix-functions/listen.texi: Update mingw problems.
37428         * doc/posix-functions/recv.texi: Update mingw problems.
37429         * doc/posix-functions/recvfrom.texi: Update mingw problems.
37430         * doc/posix-functions/select.texi: Update mingw problems.
37431         * doc/posix-functions/send.texi: Update mingw problems.
37432         * doc/posix-functions/sendto.texi: Update mingw problems.
37433         * doc/posix-functions/setsockopt.texi: Update mingw problems.
37434         * doc/posix-functions/socket.texi: Update mingw problems.
37435
37436 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
37437             Bruno Haible  <bruno@clisp.org>
37438
37439         * lib/sys_select.in.h: Include sys/time.h.
37440         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
37441         * modules/sys_select: Depend on sys_time.
37442         * tests/test-sys_select.c: Test that sys/select.h defines struct
37443         timeval fully.
37444
37445 2008-09-29  Bruno Haible  <bruno@clisp.org>
37446
37447         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
37448         * lib/sys_select.in.h: Likewise.
37449
37450 2008-09-29  Bruno Haible  <bruno@clisp.org>
37451
37452         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
37453
37454 2008-09-29  Bruno Haible  <bruno@clisp.org>
37455
37456         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
37457         Set LIBSOCKET instead of augmenting LIBS.
37458         * modules/sockets (Link): New section.
37459         * modules/sockets-tests (test_sockets_LDADD): New variable.
37460         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
37461         * modules/poll-tests (test_poll_LDADD): New variable.
37462         * NEWS: Document the change.
37463
37464 2008-09-29  Bruno Haible  <bruno@clisp.org>
37465
37466         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
37467         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
37468         ARPA_INET_H directly.
37469         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37470
37471 2008-09-28  Bruno Haible  <bruno@clisp.org>
37472
37473         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
37474         from gl_HEADER_SYS_SOCKET.
37475         (gl_HEADER_SYS_SOCKET): Invoke it.
37476         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37477
37478 2008-09-28  Bruno Haible  <bruno@clisp.org>
37479
37480         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
37481         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
37482         Needed on OSF/1 4.0.
37483
37484 2008-09-28  Bruno Haible  <bruno@clisp.org>
37485
37486         Override open more carefully.
37487         * lib/open.c (orig_open): New function.
37488         (rpl_open): Use orig_open instead of open.
37489         * lib/fcntl.in.h: Add special invocation convention.
37490         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
37491         (gl_FUNC_OPEN): Invoke it.
37492
37493         Override freopen more carefully.
37494         * lib/freopen.c (orig_freopen): New function.
37495         (rpl_freopen): Use orig_freopen instead of freopen.
37496         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
37497         (gl_FUNC_FREOPEN): Invoke it.
37498
37499         Override fopen more carefully.
37500         * lib/fopen.c (orig_fopen): New function.
37501         (rpl_fopen): Use orig_fopen instead of fopen.
37502         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
37503         (gl_FUNC_FOPEN): Invoke it.
37504         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
37505
37506 2008-09-28  Bruno Haible  <bruno@clisp.org>
37507
37508         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
37509         SIGPIPE.
37510
37511 2008-09-28  Bruno Haible  <bruno@clisp.org>
37512
37513         * tests/test-sigaction.c (handler, main): Disable the check whether
37514         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
37515         glibc systems with LinuxThreads.
37516
37517 2008-09-28  Bruno Haible  <bruno@clisp.org>
37518
37519         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
37520
37521         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
37522         with AIX xlc.
37523         * lib/fcntl.in.h (open): Likewise.
37524         Reported by Rainer Tammer <tammer@tammer.net>.
37525
37526 2008-09-28  Bruno Haible  <bruno@clisp.org>
37527
37528         * modules/posix_spawnp-tests: New file.
37529         * tests/test-posix_spawn.c: New file.
37530         * tests/test-posix_spawn.in.sh: New file.
37531
37532         New module 'posix_spawnp'.
37533         * modules/posix_spawnp: New file.
37534         * lib/spawnp.c: New file, from GNU libc with modifications.
37535         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
37536
37537         New module 'posix_spawn'.
37538         * modules/posix_spawn: New file.
37539         * lib/spawn.c: New file, from GNU libc with modifications.
37540         * doc/posix-functions/posix_spawn.texi: Mention the new module.
37541
37542         New module 'posix_spawnattr_destroy'.
37543         * modules/posix_spawnattr_destroy: New file.
37544         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
37545         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
37546         module.
37547
37548         New module 'posix_spawnattr_setsigmask'.
37549         * modules/posix_spawnattr_setsigmask: New file.
37550         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
37551         modifications.
37552         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
37553         new module.
37554
37555         New module 'posix_spawnattr_getsigmask'.
37556         * modules/posix_spawnattr_getsigmask: New file.
37557         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
37558         modifications.
37559         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
37560         new module.
37561
37562         New module 'posix_spawnattr_setsigdefault'.
37563         * modules/posix_spawnattr_setsigdefault: New file.
37564         * lib/spawnattr_setdefault.c: New file, from GNU libc with
37565         modifications.
37566         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
37567         new module.
37568
37569         New module 'posix_spawnattr_getsigdefault'.
37570         * modules/posix_spawnattr_getsigdefault: New file.
37571         * lib/spawnattr_getdefault.c: New file, from GNU libc with
37572         modifications.
37573         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
37574         new module.
37575
37576         New module 'posix_spawnattr_setschedpolicy'.
37577         * modules/posix_spawnattr_setschedpolicy: New file.
37578         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
37579         modifications.
37580         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
37581         new module.
37582
37583         New module 'posix_spawnattr_getschedpolicy'.
37584         * modules/posix_spawnattr_getschedpolicy: New file.
37585         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
37586         modifications.
37587         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
37588         new module.
37589
37590         New module 'posix_spawnattr_setschedparam'.
37591         * modules/posix_spawnattr_setschedparam: New file.
37592         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
37593         modifications.
37594         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
37595         new module.
37596
37597         New module 'posix_spawnattr_getschedparam'.
37598         * modules/posix_spawnattr_getschedparam: New file.
37599         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
37600         modifications.
37601         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
37602         new module.
37603
37604         New module 'posix_spawnattr_setpgroup'.
37605         * modules/posix_spawnattr_setpgroup: New file.
37606         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
37607         modifications.
37608         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
37609         module.
37610
37611         New module 'posix_spawnattr_getpgroup'.
37612         * modules/posix_spawnattr_getpgroup: New file.
37613         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
37614         modifications.
37615         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
37616         module.
37617
37618         New module 'posix_spawnattr_setflags'.
37619         * modules/posix_spawnattr_setflags: New file.
37620         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
37621         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
37622         module.
37623
37624         New module 'posix_spawnattr_getflags'.
37625         * modules/posix_spawnattr_getflags: New file.
37626         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
37627         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
37628         module.
37629
37630         New module 'posix_spawnattr_init'.
37631         * modules/posix_spawnattr_init: New file.
37632         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
37633         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
37634         module.
37635
37636         New module 'posix_spawn_file_actions_destroy'.
37637         * modules/posix_spawn_file_actions_destroy: New file.
37638         * lib/spawn_faction_destroy.c: New file, from GNU libc with
37639         modifications.
37640         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
37641         the new module.
37642
37643         New module 'posix_spawn_file_actions_addopen'.
37644         * modules/posix_spawn_file_actions_addopen: New file.
37645         * lib/spawn_faction_addopen.c: New file, from GNU libc with
37646         modifications.
37647         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37648         the new module.
37649
37650         New module 'posix_spawn_file_actions_adddup2'.
37651         * modules/posix_spawn_file_actions_adddup2: New file.
37652         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
37653         modifications.
37654         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37655         the new module.
37656
37657         New module 'posix_spawn_file_actions_addclose'.
37658         * modules/posix_spawn_file_actions_addclose: New file.
37659         * lib/spawn_faction_addclose.c: New file, from GNU libc with
37660         modifications.
37661         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37662         the new module.
37663
37664         New module 'posix_spawn_file_actions_init'.
37665         * modules/posix_spawn_file_actions_init: New file.
37666         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
37667         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
37668         new module.
37669
37670         New module 'posix_spawn-internal'.
37671         * modules/posix_spawn-internal: New file.
37672         * lib/spawn_int.h: New file, from GNU libc with modifications.
37673         * lib/spawni.c: New file, from GNU libc with modifications.
37674         * m4/posix_spawn.m4: New file.
37675
37676         New module 'spawn'.
37677         * modules/spawn: New file.
37678         * lib/spawn.in.h: New file, from GNU libc with modifications.
37679         * m4/spawn_h.m4: New file.
37680         * doc/posix-headers/spawn.texi: Mention the new module.
37681
37682 2008-09-28  Bruno Haible  <bruno@clisp.org>
37683
37684         * modules/sched-tests: New file.
37685         * tests/test-sched.c: New file.
37686
37687         New module 'sched'.
37688         * modules/sched: New file.
37689         * lib/sched.in.h: New file.
37690         * m4/sched_h.m4: New file.
37691         * doc/posix-headers/sched.texi: Mention the new module.
37692
37693 2008-09-27  Eric Blake  <ebb9@byu.net>
37694
37695         Fix previous patch, and tweak references to $0.
37696         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
37697         (func_version, func_gnulib_dir): Don't call this program
37698         gnulib-tool.
37699         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
37700         with using $0 in function.
37701         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
37702         (func_fatal_error): Reuse the name the user invoked us with.
37703
37704 2008-09-27  Bruno Haible  <bruno@clisp.org>
37705
37706         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
37707         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
37708         (gl_ICONV_H): Not here.
37709         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37710         instead of assigning ICONV_H directly.
37711
37712         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
37713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
37714         WCHAR_H directly.
37715
37716 2008-09-27  Bruno Haible  <bruno@clisp.org>
37717
37718         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
37719         * modules/arpa_inet (Depends-on): Add link-warning.
37720         (Makefile.am): Insert the definition of GL_LINK-WARNING.
37721         * modules/unistd (Makefile.am): Likewise.
37722
37723 2008-09-26  Bruno Haible  <bruno@clisp.org>
37724
37725         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
37726         variables.
37727         (func_version): Essentially copied from gnulib-tool.
37728         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
37729         func_readlink): Copied from gnulib-tool.
37730
37731 2008-09-26  Bruno Haible  <bruno@clisp.org>
37732
37733         * gnulib-tool (func_version): Change directory to $gnulib_dir before
37734         invoking git-version-gen.
37735
37736 2008-09-26  Bruno Haible  <bruno@clisp.org>
37737
37738         * posix-modules: Update to directory names changed on 2008-01-19.
37739         Remove commas in output before splitting into words. No more need to
37740         avoid 'ftruncate' since 2007-02-19.
37741
37742 2008-09-26  Bruno Haible  <bruno@clisp.org>
37743
37744         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
37745
37746 2008-09-26  Bruno Haible  <bruno@clisp.org>
37747
37748         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
37749         * modules/fwriteerror (Depends-on): Add errno.
37750
37751 2008-09-26  Bruno Haible  <bruno@clisp.org>
37752
37753         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
37754         * tests/test-vc-list-files-cvs.sh: Likewise.
37755
37756 2008-09-26  Bruno Haible  <bruno@clisp.org>
37757
37758         * doc/posix-headers/sys_resource.texi: Reorder items.
37759
37760 2008-09-26  Jim Meyering  <meyering@redhat.com>
37761
37762         fts: tweak inode comparison function
37763         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
37764         inode numbers, as documented.
37765
37766         fts: sort dirent entries on inode number before traversing
37767         This avoids a quadratic, seek-related performance penalty when
37768         operating on a directory containing many entries (measurable at 10k;
37769         3.5 hours at 2 million entries with a cold cache) on certain types
37770         of file systems, including ext3 and ext4, but not tmpfs.
37771         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
37772         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
37773         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
37774         (fs_handles_readdir_ordered_dirents_efficiently): New function.
37775         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
37776         (fts_build): Set the stat.st_ino member from D_INO.
37777         If it is likely to be useful, sort dirent entries on inode number.
37778
37779         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
37780         and the struct statfs.f_type member.
37781         * modules/fts (Depends-on): Add d-ino.
37782
37783 2008-09-26  Bruno Haible  <bruno@clisp.org>
37784
37785         * modules/sigpipe-die (Depends-on): Add sigpipe.
37786
37787         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
37788         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
37789         and GNULIB_STDIO_H_SIGPIPE are set.
37790         * lib/stdio-write.c: New file.
37791         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
37792         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37793         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37794         REPLACE_STDIO_WRITE_FUNCS.
37795         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
37796         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37797         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37798         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37799         * modules/stdio (Files): Add lib/stdio-write.c.
37800         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
37801         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37802         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37803         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37804         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
37805         REPLACE_FPRINTF_POSIX.
37806         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
37807         REPLACE_PRINTF_POSIX.
37808         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
37809         REPLACE_VFPRINTF_POSIX.
37810         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
37811         REPLACE_VPRINTF_POSIX.
37812         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
37813         SIGPIPE issue.
37814         * doc/posix-functions/fputc.texi: Likewise.
37815         * doc/posix-functions/fputs.texi: Likewise.
37816         * doc/posix-functions/fwrite.texi: Likewise.
37817         * doc/posix-functions/printf.texi: Likewise.
37818         * doc/posix-functions/putc.texi: Likewise.
37819         * doc/posix-functions/putchar.texi: Likewise.
37820         * doc/posix-functions/puts.texi: Likewise.
37821         * doc/posix-functions/vfprintf.texi: Likewise.
37822         * doc/posix-functions/vprintf.texi: Likewise.
37823
37824         * modules/safe-write (Depends-on): Add write.
37825
37826         * modules/sigpipe-tests: New file.
37827         * tests/test-sigpipe.c: New file.
37828         * tests/test-sigpipe.sh: New file.
37829
37830         * modules/write: New file.
37831         * lib/unistd.in.h: Include <sys/types.h>.
37832         (write): New declaration.
37833         * lib/write.c: New file.
37834         * m4/write.m4: New file.
37835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37836         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
37837         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
37838         GNULIB_WRITE, REPLACE_WRITE.
37839         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
37840         and the SIGPIPE issue.
37841
37842         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
37843         (raise): New declaration.
37844         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
37845         (ext_signal): New function.
37846         (rpl_raise): New function.
37847         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
37848         GNULIB_SIGNAL_H_SIGPIPE.
37849         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
37850         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
37851
37852         * modules/sigpipe: New file.
37853         * m4/sigpipe.m4: New file.
37854
37855 2008-09-25  Derek Price  <derek@ximbiot.com>
37856             Bruno Haible  <bruno@clisp.org>
37857
37858         * gnulib-tool (func_import): Report all license incompatibilities, not
37859         just the first one.
37860
37861 2008-09-25  Bruno Haible  <bruno@clisp.org>
37862
37863         * gnulib-tool (func_import): When computing the edits, consider not
37864         only the Makefile.ams that exist but also those that will be generated.
37865
37866 2008-09-25  Simon Josefsson  <simon@josefsson.org>
37867
37868         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
37869         fixes gnulib-tool --test warning about duplicate dependency.
37870
37871 2008-09-25  Bruno Haible  <bruno@clisp.org>
37872
37873         * gnulib-tool: Don't ask the user to perform edits in the generated
37874         Makefile.ams.
37875         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
37876         apply to the Makefile.am being generated.
37877         (func_emit_tests_Makefile_am): Execute edits that apply to the
37878         Makefile.am being generated.
37879         (func_import): Setup list of Makefile.am edits before emitting the
37880         Makefile.ams, not at the end.
37881         (func_create_testdir): Update.
37882         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37883
37884 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37885
37886         * gnulib-tool (func_import): Store the --tests-base option in the
37887         comment in gnulib-cache.m4.
37888
37889 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
37890
37891         * NEWS: Document increased portability that sys_select now provides.
37892
37893         * lib/sys_select.in.h: Install select wrapper.
37894         * lib/sys_socket.in.h: Use more descriptive name when there is no
37895         select wrapper.
37896         * lib/winsock-select.c: New.
37897         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
37898         Require gl_HEADER_SYS_SOCKET.
37899         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
37900         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
37901         * tests/test-sys_select.c: Add functional tests.
37902
37903 2008-09-24  Eric Blake  <ebb9@byu.net>
37904
37905         open, fopen: close fd leak in last patch
37906         * lib/open.c (rpl_open): Close fd before returning error.
37907         * lib/fopen.c (rpl_fopen): Close fd before returning error.
37908         * doc/posix-functions/open.texi (open): Document that Irix also
37909         has the bug.
37910         * doc/posix-functions/fopen.texi (fopen): Likewise.
37911         Reported by Paolo Bonzini.
37912
37913 2008-09-24  Bruno Haible  <bruno@clisp.org>
37914
37915         Ensure that a filename ending in a slash cannot be used to access a
37916         non-directory.
37917         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
37918         to check whether it's really a directory.
37919         * lib/fopen.c: Include fcntl.h, unistd.h.
37920         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
37921         and fdopen().
37922         * modules/fopen (Depends-on): Add unistd.
37923         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
37924         * tests/test-fopen.c (main): Likewise.
37925         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
37926         * doc/posix-functions/fopen.texi: Likewise.
37927         Reported by Eric Blake.
37928
37929 2008-09-23  Eric Blake  <ebb9@byu.net>
37930
37931         c-stack: avoid compiler optimizations when provoking overflow
37932         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
37933         recursion harder to optimize, to ensure a stack overflow occurs.
37934         * tests/test-c-stack.c (recurse): Likewise.
37935         Borrowed from libsigsegv.
37936
37937         c-stack: work around Irix sigaltstack bug
37938         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
37939         whether sigaltstack uses wrong end of stack_t (copied in part from
37940         libsigsegv).
37941         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
37942         Irix bug, without requiring an over-allocation.
37943         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
37944         bug.
37945
37946         fopen: document mingw bug on directories
37947         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
37948         not allowing a stream visiting a directory, even though reading
37949         from such a stream is not portable.
37950
37951 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37952
37953         * lib/poll.c: Rewrite.
37954         * modules/poll: Depend on alloca.
37955
37956 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37957
37958         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
37959         instead define prototypes for a full set of wrappers.  Ensure
37960         that Cygwin does not use the compatibility code, which is only
37961         for MinGW.
37962         * lib/winsock.c: New.
37963         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
37964         * modules/sys_socket: Add lib/winsock.c.
37965
37966         * modules/poll-tests: Add errno and perror.
37967         * tests/test-poll.c: Use ioctl, not ioctlsocket.
37968
37969 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37970
37971         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37972
37973 2008-09-23  Bruno Haible  <bruno@clisp.org>
37974
37975         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37976         * doc/glibc-functions/*: Likewise.
37977
37978 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37979
37980         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37981         success.
37982
37983 2008-09-22  Eric Blake  <ebb9@byu.net>
37984             Bruno Haible  <bruno@clisp.org>
37985
37986         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37987         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37988         supply %A but mishandle pseudo-NaN.
37989         Reported by Simon Josefsson.
37990
37991 2008-09-21  Bruno Haible  <bruno@clisp.org>
37992
37993         * tests/test-lock.c (main): Tweak skip message.
37994         * tests/test-tls.c (main): Likewise.
37995
37996 2008-09-21  Bruno Haible  <bruno@clisp.org>
37997
37998         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37999         whether 'struct sigaction' has sa_sigaction here...
38000         (gl_PREREQ_SIG_HANDLER_H): ... not here.
38001         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
38002
38003 2008-09-21  Bruno Haible  <bruno@clisp.org>
38004
38005         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
38006         section.
38007         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
38008         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
38009         the new section.
38010         (Support for obsolete systems lacking POSIX:2001): New section.
38011         (String handling <string.h>): Move strdup to the new section.
38012         Suggested by Simon Josefsson and Paolo Bonzini.
38013
38014 2008-09-21  Bruno Haible  <bruno@clisp.org>
38015
38016         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
38017         exponents in %e and %g results on 'long double'. Needed for mingw's
38018         improved *printf functions.
38019         * tests/test-vasprintf-posix.c (test_function): Likewise.
38020         * tests/test-snprintf-posix.h (test_function): Likewise.
38021         * tests/test-sprintf-posix.h (test_function): Likewise.
38022         Reported by Eric Blake.
38023
38024 2008-09-21  Bruno Haible  <bruno@clisp.org>
38025
38026         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
38027         * tests/test-sprintf-posix.h (test_function): Likewise.
38028
38029 2008-09-21  Bruno Haible  <bruno@clisp.org>
38030
38031         * modules/getpass (Depends-on): Add strdup-posix.
38032
38033         New module 'strdup-posix'.
38034         * modules/strdup-posix: New file.
38035         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
38036         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
38037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38038         REPLACE_STRDUP.
38039         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
38040         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
38041         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38042         strdup-posix.
38043
38044         * modules/strdup (Depends-on): Remove malloc-posix.
38045
38046 2008-09-20  Bruno Haible  <bruno@clisp.org>
38047
38048         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
38049         Wildenhues.
38050
38051 2008-09-20  Bruno Haible  <bruno@clisp.org>
38052
38053         Ensure that wint_t gets defined on IRIX 5.3.
38054         * lib/wchar.in.h (wint_t): Define if not defined by the system.
38055         * lib/wctype.in.h (wint_t): Likewise.
38056         (__wctype_wint_t): Remove type.
38057         (isw*): Use wint_t instead of __wctype_wint_t.
38058         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
38059         * modules/wchar (Files): Add m4/wint_t.m4.
38060         (Makefile.am): Substitute HAVE_WINT_T.
38061         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
38062         * tests/test-wctype.c: Check that wint_t is defined.
38063         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
38064         * doc/posix-headers/wctype.texi: Likewise.
38065         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38066
38067 2008-09-18  Bruno Haible  <bruno@clisp.org>
38068
38069         * gnulib-tool (func_exit): Update comment.
38070
38071 2008-09-18  Simon Josefsson  <simon@josefsson.org>
38072
38073         * modules/getaddrinfo (Depends-on): Remove strdup, this module
38074         assumes strdup exists and does not depend on strdup to return
38075         ENOMEM on out of memory conditions.
38076
38077 2008-09-18  Bruno Haible  <bruno@clisp.org>
38078
38079         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
38080         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
38081         digits for the exponent.
38082
38083 2008-09-18  Jim Meyering  <meyering@redhat.com>
38084             Bruno Haible  <bruno@clisp.org>
38085
38086         * lib/vasnprintf.c (decimal_point_char): Define also if
38087         NEED_PRINTF_INFINITE_LONG_DOUBLE.
38088
38089 2008-09-16  Bruno Haible  <bruno@clisp.org>
38090         and Eric Blake  <ebb9@byu.net>
38091
38092         vasnprintf: support Irix 5.3
38093         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
38094         that mishandle long double infinity.
38095         Reported by Tom G. Christensen.
38096
38097 2008-09-16  Bruno Haible  <bruno@clisp.org>
38098
38099         * doc/glibc-functions/scandir.texi: Mention the function is missing on
38100         Solaris 9.
38101         * doc/glibc-functions/alphasort.texi: Likewise.
38102         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
38103
38104 2008-09-16  Jim Meyering  <meyering@redhat.com>
38105
38106         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
38107         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
38108         a umask modification leak out of a subshell.  Otherwise, the
38109         opensolaris /bin/sh would be accepted and thus cause unwarranted
38110         failures in the coreutils test suite.
38111
38112 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
38113
38114         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
38115         to succeed.
38116
38117 2008-09-16  Jim Meyering  <meyering@redhat.com>
38118
38119         avoid spurious test failure when library is built without ACL support
38120         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
38121         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
38122         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
38123         * tests/test-copy-acl.sh: Likewise.
38124
38125 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38126
38127         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
38128         based on character occurrence counts.
38129
38130 2008-09-15  Eric Blake  <ebb9@byu.net>
38131
38132         tests: avoid some compiler warnings
38133         * tests/test-memchr.c (main): Pass NULL indirectly.
38134         * tests/test-closein.c (main): Avoid unused variable.
38135
38136 2008-09-15  Bruno Haible  <bruno@clisp.org>
38137
38138         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
38139         are missing on OpenBSD 4.0 individually.
38140         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38141
38142 2008-09-15  Bruno Haible  <bruno@clisp.org>
38143
38144         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
38145         * doc/posix-functions/strerror.texi: Mention also Cygwin.
38146         * doc/posix-functions/perror.texi: Likewise.
38147         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
38148         is missing.
38149         Reported by Eric Blake.
38150
38151         * lib/errno.in.h: Use replacement values >= 2000.
38152         Reported by Eric Blake.
38153
38154 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38155
38156         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
38157         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
38158         limit.
38159         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
38160         compareseq was aborted.
38161
38162 2008-09-14  Bruno Haible  <bruno@clisp.org>
38163
38164         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
38165         yvec_edit_count.
38166         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
38167         (fstrcmp_bounded): Simplify result computation accordingly.
38168
38169 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38170
38171         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
38172         (fstrcmp): Define in terms of fstrcmp_bounded.
38173         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
38174         lower_bound argument.
38175         Return quickly if the result is certainly < lower_bound.
38176         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
38177
38178 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38179
38180         * lib/diffseq.h (EARLY_ABORT): New macro.
38181         (compareseq): Change return type to bool. Return true when EARLY_ABORT
38182         evaluates to true.
38183
38184 2008-09-14  Bruno Haible  <bruno@clisp.org>
38185
38186         * modules/perror-tests: New file.
38187         * tests/test-perror.sh: New file.
38188         * tests/test-perror.c: New file.
38189
38190         New module 'perror'.
38191         * lib/stdio.in.h (perror): New declaration.
38192         * lib/perror.c: New file.
38193         * m4/perror.m4: New file.
38194         * modules/perror: New file.
38195         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
38196         * doc/posix-functions/perror.texi: Mention the perror module.
38197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
38198         REPLACE_PERROR.
38199         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
38200         REPLACE_PERROR.
38201
38202 2008-09-14  Bruno Haible  <bruno@clisp.org>
38203
38204         * modules/stdio (Makefile.am): Reorder to match the order in
38205         lib/stdio.in.h.
38206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38207
38208 2008-09-13  Bruno Haible  <bruno@clisp.org>
38209
38210         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
38211
38212 2008-09-13  Bruno Haible  <bruno@clisp.org>
38213
38214         Extend strerror to cover the added errno values.
38215         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
38216         (rpl_strerror): Provide error messages for the added errno values and
38217         for the WSA* values.
38218         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
38219         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
38220         strerror.
38221         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
38222         * modules/strerror (Depends-on): Add errno.
38223         * doc/posix-functions/strerror.texi: Document the change.
38224         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
38225         and EOVERFLOW.
38226
38227 2008-09-13  Bruno Haible  <bruno@clisp.org>
38228
38229         * modules/EOVERFLOW: Remove file.
38230         * m4/eoverflow.m4: Remove file.
38231         * modules/EOVERFLOW-tests: Remove file.
38232         * tests/test-EOVERFLOW.c: Remove file.
38233         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
38234         * modules/ftell (Depends-on): Likewise.
38235         * modules/getdelim (Depends-on): Likewise.
38236         * modules/getugroups (Depends-on): Likewise.
38237         * modules/poll (Depends-on): Likewise.
38238         * modules/snprintf (Depends-on): Likewise.
38239         * modules/sprintf-posix (Depends-on): Likewise.
38240         * modules/vasnprintf (Depends-on): Likewise.
38241         * modules/vasprintf (Depends-on): Likewise.
38242         * modules/vfprintf-posix (Depends-on): Likewise.
38243         * modules/vsnprintf (Depends-on): Likewise.
38244         * modules/vsprintf-posix (Depends-on): Likewise.
38245         * modules/xvasprintf (Depends-on): Likewise.
38246         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38247         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
38248         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
38249         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
38250         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38251         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
38252         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
38253         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
38254         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38255         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
38256         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
38257         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
38258         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38259         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
38260         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
38261         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
38262         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38263         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
38264         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
38265         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
38266         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38267         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
38268         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
38269         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
38270         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
38271         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38272         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
38273         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
38274         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
38275         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
38276         * MODULES.html.sh: Remove EOVERFLOW.
38277         * NEWS: Mention the change.
38278
38279 2008-09-13  Bruno Haible  <bruno@clisp.org>
38280
38281         * modules/errno-tests: New file.
38282         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
38283
38284         * lib/errno.in.h: New file.
38285         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
38286         * modules/errno: New file.
38287         * doc/posix-headers/errno.texi: Update documentation.
38288         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
38289
38290 2008-09-13  Bruno Haible  <bruno@clisp.org>
38291
38292         * tests/test-poll.c: Use #if for native Windows, rather than testing
38293         __MSVCRT__.
38294
38295 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38296             Bruno Haible  <bruno@clisp.org>
38297
38298         * lib/glob.c: Don't include <pwd.h> on native Windows.
38299         (WINDOWS32): New macro.
38300         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
38301
38302 2008-09-13  Bruno Haible  <bruno@clisp.org>
38303
38304         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
38305         (ETIMEDOUT): Remove macro.
38306         (glthread_cond_timedwait_multithreaded): New declaration.
38307         (glthread_cond_timedwait): Use it.
38308         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
38309         (glthread_cond_timedwait_multithreaded): New function.
38310
38311 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38312
38313         * modules/poll-tests: Do not check for io.h.
38314         * tests/test-poll.c: Check for __MSVCRT__ instead.
38315
38316 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38317
38318         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
38319         * modules/poll-tests: Add inet_pton, stdbool, sockets.
38320         * tests/test-poll.c: Use them.  Use _pipe on Windows.
38321
38322 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38323
38324         * modules/poll-tests: New.
38325         * tests/test-poll.c: New.
38326
38327 2008-09-12  Eric Blake  <ebb9@byu.net>
38328
38329         frexp: test for NetBSD failure on -0.0
38330         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
38331         not all, bugs from NetBSD 3.0 have been fixed.
38332         * doc/posix-functions/frexp.texi (frexp): Document bug.
38333         Reported by Thomas Klausner.
38334
38335         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
38336         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
38337         literal -0.0.
38338         Reported by Jonathan C. Patschke <jp@centtech.com>.
38339
38340 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38341
38342         * lib/glthread/cond.h: Use dummy implementation also if
38343         USE_WIN32_THREADS.
38344
38345 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38346
38347         * modules/fnmatch-posix (License): Change to LGPLv2+.
38348         * modules/fnmatch-gnu (License): Likewise.
38349
38350 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38351
38352         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
38353
38354 2008-09-11  Jim Meyering  <meyering@redhat.com>
38355
38356         * users.txt: Add gtk-vnc.
38357
38358 2008-09-08  Simon Josefsson  <simon@josefsson.org>
38359
38360         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
38361         rotate amounts.
38362
38363         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
38364         required for 16-bit and 8-bit rotates.
38365         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
38366         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
38367         UINT8_MAX instead of hard-coded constants.
38368         Suggested by Paul Eggert.
38369
38370 2008-09-07  Bruno Haible  <bruno@clisp.org>
38371
38372         * tests/test-striconveh.c (main): Check behaviour when converting from
38373         UTF-7.
38374
38375         Make striconveh work better with stateful encodings.
38376         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
38377         that iconv does not increment the inptr when returning -1/EINVAL.
38378
38379 2008-09-07  Bruno Haible  <bruno@clisp.org>
38380
38381         * build-aux/config.rpath: Update according to libtool-2.2.6.
38382         * build-aux/config.libpath: Likewise.
38383
38384 2008-09-06  Bruno Haible  <bruno@clisp.org>
38385
38386         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
38387         * lib/freadptr.c (freadptr): Likewise.
38388         * lib/freadseek.c (freadptrinc): Likewise.
38389         Reported by Simon Josefsson.
38390
38391 2008-09-06  Bruno Haible  <bruno@clisp.org>
38392
38393         * modules/freadptr (License): Change to LGPLv2+.
38394         * modules/freadseek (License): Likewise.
38395         Suggested by Eric Blake.
38396
38397         * modules/memchr2 (License): Change to LGPLv2+.
38398         Approved by Eric Blake.
38399
38400 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38401             Bruno Haible  <bruno@clisp.org>
38402
38403         Make gnulib-tool work with native 'sed' on AIX.
38404         * gnulib-tool (sed_noop): New variable.
38405         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
38406         func_add_or_update, func_create_testdir): Use it to initialize sed
38407         script variables.
38408         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38409
38410 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
38411             Bruno Haible  <bruno@clisp.org>
38412
38413         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
38414         also works after #include directives.
38415
38416 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
38417
38418         getdate.y: reject an out-of-range timezone value
38419         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
38420         the range [-24...+24].  When specified with only one or two digits,
38421         * tests/test-getdate.c: Tests for the fix.
38422         * doc/getdate.texi: Document this change.
38423
38424 2008-09-03  Bruno Haible  <bruno@clisp.org>
38425
38426         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
38427
38428 2008-09-02  Simon Josefsson  <simon@josefsson.org>
38429
38430         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
38431         <bruce.korb@gmail.com> with ideas from Ben Pfaff
38432         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
38433         Blake <ebb9@byu.net>.
38434
38435         * tests/test-bitrotate.c: Add more test vectors.
38436
38437 2008-09-02  Eric Blake  <ebb9@byu.net>
38438
38439         vasnprintf-posix: handle large precision via %.*d
38440         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
38441         when handling it ourselves.
38442         * tests/test-vasnprintf-posix.c (test_function): Add test.
38443         * tests/test-snprintf-posix.h (test_function): Likewise.
38444         * tests/test-sprintf-posix.h (test_function): Likewise.
38445         * tests/test-vasprintf-posix.c (test_function): Likewise.
38446         Reported by Alain Guibert.
38447
38448 2008-09-01  Eric Blake  <ebb9@byu.net>
38449
38450         c-stack: make configure-time check more robust
38451         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
38452         successful sigaction call.
38453         Reported by Tom G. Christensen.
38454
38455 2008-09-01  Bruno Haible  <bruno@clisp.org>
38456
38457         New module 'findprog-lgpl'.
38458         * modules/findprog-lgpl: New file.
38459         * lib/findprog-lgpl.c: New file.
38460         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
38461         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
38462         to decide whether to use strdup or xstrdup, concatenated_filename or
38463         xconcatenated_filename.
38464
38465 2008-09-01  Bruno Haible  <bruno@clisp.org>
38466
38467         Split module 'concat-filename' into 'concat-filename' (LGPL) and
38468         'xconcat-filename' (GPL).
38469         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
38470         (License): Change to LGPLv2+.
38471         * modules/xconcat-filename: New file.
38472         * lib/concat-filename.h (concatenated_filename): Change specification.
38473         (xconcatenated_filename): New declaration.
38474         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
38475         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
38476         memory situations.
38477         * lib/xconcat-filename.c: New file.
38478         * NEWS: Mention the change.
38479         * lib/findprog.c: Include concat-filename.h, not filename.h.
38480         (find_in_path): Use xconcatenated_filename instead of
38481         concatenated_filename.
38482         * lib/javacomp.c: Include concat-filename.h, not filename.h.
38483         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38484         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38485         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38486         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
38487         instead of concatenated_filename.
38488         * lib/javaexec.c: Include concat-filename.h, not filename.h.
38489         (execute_java_class): Use xconcatenated_filename instead of
38490         concatenated_filename.
38491         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
38492         * modules/javacomp (Depends-on): Likewise.
38493         * modules/javaexec (Depends-on): Likewise.
38494
38495 2008-09-01  Bruno Haible  <bruno@clisp.org>
38496
38497         Split module 'filename' into 'filename' and 'concat-filename'.
38498         * modules/filename: Keep only lib/filename.h.
38499         (License): Change to LGPLv2+.
38500         * modules/concat-filename: New file, extracted from modules/filename.
38501         * lib/filename.h (concatenated_filename): Remove declaration.
38502         * lib/concat-filename.h: New file, extracted from lib/filename.h.
38503         * lib/concat-filename.c: Include concat-filename.h.
38504         * NEWS: Mention the change.
38505
38506 2008-09-01  Simon Josefsson  <simon@josefsson.org>
38507
38508         * lib/bitrotate.h (rotl8, rotr8): Add.
38509
38510         * modules/bitrotate (configure.ac): Need
38511         AC_REQUIRE([AC_C_INLINE]).
38512         (Description): Mention stdint.h.  Reported by Bruno Haible
38513         <bruno@clisp.org>.
38514
38515         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
38516         Paolo Bonzini <bonzini@gnu.org>.
38517
38518 2008-08-31  Bruno Haible  <bruno@clisp.org>
38519
38520         Assume Solaris specific bi-arch conventions on Solaris systems.
38521         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
38522         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
38523         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
38524         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
38525         like acl_libdirstem.
38526         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
38527         acl_libdirstem.
38528         * NEWS: Mention the change.
38529         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
38530
38531 2008-08-31  Jim Meyering  <meyering@redhat.com>
38532
38533         * lib/strftime.h: Add comments describing the two added arguments.
38534
38535         remove duplicate #include directives
38536         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
38537         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
38538
38539 2008-08-31  Bruno Haible  <bruno@clisp.org>
38540
38541         New module 'sigpipe-die'.
38542         * modules/sigpipe-die: New file.
38543         * lib/sigpipe-die.h: New file.
38544         * lib/sigpipe-die.c: New file.
38545         * MODULES.html.sh (Signal handling): Add sigpipe-die.
38546
38547 2008-08-31  Bruno Haible  <bruno@clisp.org>
38548
38549         Don't override previously installed signal handlers.
38550         * lib/fatal-signal.c (saved_sigactions): New variable.
38551         (uninstall_handlers): Reset the signal to the saved handler, not
38552         to SIG_DFL (except when ignored).
38553         (install_handlers): Save the previous handlers.
38554
38555 2008-08-30  Bruno Haible  <bruno@clisp.org>
38556
38557         * gnulib-tool (func_reset_sigpipe): New function.
38558         (func_get_automake_snippet, func_modules_transitive_closure,
38559         func_import): Invoke it before a join command that reads from stdin,
38560         to avoid "echo: write error: Broken pipe" error messages on stderr.
38561         Reported by Sam Steingold <sds@gnu.org>.
38562
38563 2008-08-30  Bruno Haible  <bruno@clisp.org>
38564
38565         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
38566         Code copied from m4/open.m4.
38567         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
38568         access and the filename ends in a slash. Code copied from lib/open.c.
38569         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
38570         * tests/test-fopen.c (main): Check against bug with trailing slash.
38571
38572 2008-08-29  Bruno Haible  <bruno@clisp.org>
38573
38574         Avoid some "gcc -pedantic" warnings.
38575         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
38576         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
38577         * lib/dirent.in.h: Likewise.
38578         * lib/fcntl.in.h: Likewise.
38579         * lib/float.in.h: Likewise.
38580         * lib/iconv.in.h: Likewise.
38581         * lib/inttypes.in.h: Likewise.
38582         * lib/locale.in.h: Likewise.
38583         * lib/math.in.h: Likewise.
38584         * lib/netinet_in.in.h: Likewise.
38585         * lib/search.in.h: Likewise.
38586         * lib/signal.in.h: Likewise.
38587         * lib/stdarg.in.h: Likewise.
38588         * lib/stdint.in.h: Likewise.
38589         * lib/stdio.in.h: Likewise.
38590         * lib/stdlib.in.h: Likewise.
38591         * lib/string.in.h: Likewise.
38592         * lib/strings.in.h: Likewise.
38593         * lib/sys_select.in.h: Likewise.
38594         * lib/sys_socket.in.h: Likewise.
38595         * lib/sys_stat.in.h: Likewise.
38596         * lib/sys_time.in.h: Likewise.
38597         * lib/sysexits.in.h: Likewise.
38598         * lib/time.in.h: Likewise.
38599         * lib/unistd.in.h: Likewise.
38600         * lib/wchar.in.h: Likewise.
38601         * lib/wctype.in.h: Likewise.
38602         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
38603         * modules/fchdir (Makefile.am): Likewise.
38604         * modules/fcntl (Makefile.am): Likewise.
38605         * modules/float (Makefile.am): Likewise.
38606         * modules/iconv_open (Makefile.am): Likewise.
38607         * modules/inttypes (Makefile.am): Likewise.
38608         * modules/locale (Makefile.am): Likewise.
38609         * modules/math (Makefile.am): Likewise.
38610         * modules/netinet_in (Makefile.am): Likewise.
38611         * modules/search (Makefile.am): Likewise.
38612         * modules/signal (Makefile.am): Likewise.
38613         * modules/stdarg (Makefile.am): Likewise.
38614         * modules/stdint (Makefile.am): Likewise.
38615         * modules/stdio (Makefile.am): Likewise.
38616         * modules/stdlib (Makefile.am): Likewise.
38617         * modules/string (Makefile.am): Likewise.
38618         * modules/strings (Makefile.am): Likewise.
38619         * modules/sys_select (Makefile.am): Likewise.
38620         * modules/sys_socket (Makefile.am): Likewise.
38621         * modules/sys_stat (Makefile.am): Likewise.
38622         * modules/sys_time (Makefile.am): Likewise.
38623         * modules/sysexits (Makefile.am): Likewise.
38624         * modules/time (Makefile.am): Likewise.
38625         * modules/unistd (Makefile.am): Likewise.
38626         * modules/wchar (Makefile.am): Likewise.
38627         * modules/wctype (Makefile.am): Likewise.
38628         Reported by Reuben Thomas <rrt@sc3d.org>.
38629
38630 2008-08-29  Bruno Haible  <bruno@clisp.org>
38631
38632         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
38633         any more.
38634
38635 2008-08-29  Simon Josefsson  <simon@josefsson.org>
38636
38637         * MODULES.html.sh (Misc): Add bitrotate.
38638
38639         * modules/bitrotate: New file.
38640
38641         * lib/bitrotate.h: New file.
38642
38643         * modules/bitrotate-tests: New file.
38644
38645         * tests/test-bitrotate.c: New file.
38646
38647         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
38648         on the bitrotate module.
38649
38650         * lib/arctwo.c: Use new bitrotate module.
38651
38652 2008-08-29  Jim Meyering  <meyering@redhat.com>
38653
38654         bootstrap: merge changes from coreutils
38655         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
38656         of copied files.  Remove a kludge, now that this is fixed.
38657         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
38658         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
38659         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
38660
38661 2008-08-29  Bruno Haible  <bruno@clisp.org>
38662
38663         * MODULES.html.sh: Remove --cvs-urls option.
38664
38665 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
38666
38667         maint.mk: adjust to file name change
38668         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
38669
38670 2008-08-28  Jim Meyering  <meyering@redhat.com>
38671
38672         * modules/getndelim2 (License): Relicense to LGPLv2+.
38673         Approved by Richard Stallman for the version of 1995, and by
38674         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
38675
38676 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
38677
38678         * lib/getdelim.c (flockfile, funlockfile): Make all of them
38679         dummy if one is not available.  Do not touch them if
38680         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
38681         (getc_maybe_unlocked): New.
38682         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
38683
38684 2008-08-26  Eric Blake  <ebb9@byu.net>
38685
38686         doc/INSTALL: resync from autoconf
38687         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
38688         (INSTALL_PRELUDE): Delete; this is done more efficiently by
38689         moving...
38690         * install.texi [!autoconf]: ...here.  Resync from autoconf.
38691         * INSTALL: Regenerate.
38692         * INSTALL.ISO: New file.
38693         * INSTALL.UTF-8: Likewise.
38694
38695 2008-08-26  Jim Meyering  <meyering@redhat.com>
38696
38697         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
38698         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
38699         these definitions conditional, so that they may be overridden, too.
38700
38701 2008-08-26  Bruno Haible  <bruno@clisp.org>
38702
38703         Generate INSTALL file variants with prettier quotes.
38704         * doc/Makefile (INSTALL_PRELUDE): New macro.
38705         (INSTALL): Use it.
38706         (INSTALL.ISO, INSTALL.UTF-8): New rules.
38707
38708 2008-08-26  Bruno Haible  <bruno@clisp.org>
38709
38710         Run makeinfo in an English locale.
38711         * doc/Makefile (MAKEINFO): New variable.
38712
38713 2008-08-26  Bruno Haible  <bruno@clisp.org>
38714
38715         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
38716         Suggested by Eric Blake.
38717
38718 2008-08-25  Bruno Haible  <bruno@clisp.org>
38719
38720         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
38721
38722 2008-08-25  Eric Blake  <ebb9@byu.net>
38723
38724         c-stack: test that stack overflow can be caught
38725         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
38726         that platform allows handling stack overflow; at least OS/2 EMX
38727         has sigaltstack, but crashes before transferring control to
38728         handler on stack overflow.
38729         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
38730         check for HAVE_STACK_OVERFLOW_HANDLING.
38731         Reported by Elbert Pol.
38732
38733 2008-08-25  Bruno Haible  <bruno@clisp.org>
38734
38735         * doc/posix-functions/strftime.texi: Fix description of strftime
38736         module.
38737
38738 2008-08-24  Bruno Haible  <bruno@clisp.org>
38739
38740         * tests/uniwidth/test-uc_width2.c: New file.
38741         * tests/uniwidth/test-uc_width2.sh: New file.
38742         * modules/uniwidth/width-tests (Files): Add the new files.
38743         (TESTS): Add uniwidth/test-uc_width2.sh.
38744         (TESTS_ENVIRONMENT): New variable.
38745         (check_PROGRAMS): Add test-uc_width2.
38746         (test_uc_width2_SOURCES): New variable.
38747
38748         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
38749         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
38750         not 0x00AB.
38751         Reported by Alexander V. Lukyanov <lav@netis.ru>.
38752
38753 2008-08-22  Eric Blake  <ebb9@byu.net>
38754
38755         test-lock, test-tls: mention why a test is skipped
38756         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
38757         skipped.
38758         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
38759
38760         count-one-bits: relax license
38761         * modules/count-one-bits (License): Relicense to LGPLv2+.
38762         Suggested by Ludovic Courtès, approved by Ben Pfaff.
38763
38764 2008-08-22  Andreas Schwab  <schwab@suse.de>
38765
38766         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
38767         Remove spurious space in assignment.
38768
38769 2008-08-21  Simon Josefsson  <simon@josefsson.org>
38770
38771         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
38772         Paul Eggert <eggert@CS.UCLA.EDU>.
38773
38774 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
38775
38776         * modules/gettext: Add m4/threadlib.m4.
38777
38778 2008-08-19  Eric Blake  <ebb9@byu.net>
38779
38780         test-c-stack: fix compilation failure on FreeBSD 5.0
38781         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
38782         headers before <sys/resource.h>.
38783         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
38784         the bug.
38785         Reported by Nelson H. F. Beebe.
38786
38787         strverscmp: migrate from "strverscmp.h" to <string.h>
38788         * modules/string (Makefile.am): Add new hooks.
38789         * modules/strverscmp (Files): Remove strverscmp.h.
38790         (Depends-on): Add string.
38791         (configure.ac): Add indicator.
38792         (Include): Mention new header.
38793         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
38794         defaults.
38795         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
38796         results.
38797         * lib/strverscmp.h: Delete.
38798         * lib/string.in.h (strverscmp): Provide declaration, when needed.
38799         * tests/test-strverscmp.c (includes): Adjust client.
38800         * lib/check-version.c (includes): Likewise.
38801         * NEWS: Document the change.
38802
38803         strverscmp: add unit test
38804         * modules/strverscmp-tests: New file.
38805         * tests/test-strverscmp.c: Likewise.
38806
38807 2008-08-19  Simon Josefsson  <simon@josefsson.org>
38808
38809         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
38810         regarding Windows crypto stuff, from Mono.
38811
38812 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
38813
38814         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
38815         if present, for intel RND.  Return error on failures.
38816
38817 2008-08-18  Ben Pfaff  <blp@gnu.org>
38818
38819         gitlog-to-changelog: give better diagnostic for failed pipe-open
38820         * build-aux/gitlog-to-changelog: Improve error message: suggest
38821         that the version of Git may be too old.
38822
38823 2008-08-18  Simon Josefsson  <simon@josefsson.org>
38824
38825         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
38826         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
38827
38828 2008-08-18  Bruno Haible  <bruno@clisp.org>
38829
38830         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
38831         pthread_in_use().
38832
38833 2008-08-18  Bruno Haible  <bruno@clisp.org>
38834
38835         * lib/glthread/threadlib.c: Include <pthread.h>.
38836
38837 2008-08-18  Bruno Haible  <bruno@clisp.org>
38838
38839         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
38840         glthread_recursive_lock_* macros.
38841         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
38842         Fix syntax error.
38843
38844 2008-08-18  Bruno Haible  <bruno@clisp.org>
38845
38846         * lib/glthread/thread.c: Avoid forcing a context switch right after
38847         thread creation.
38848
38849 2008-08-17  Bruno Haible  <bruno@clisp.org>
38850
38851         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
38852         * lib/glthread/thread.h: Provide Win32 specific implementation.
38853         * modules/thread (Files): Add lib/glthread/thread.c.
38854         (Depends-on): Add lock.
38855         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
38856
38857 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38858
38859         New module 'yield'.
38860         * modules/yield: New file.
38861         * lib/glthread/yield.h: New file.
38862         * m4/yield.m4: New file.
38863         * MODULES.html.sh (Multithreading): Add yield.
38864
38865 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38866
38867         New module 'thread'.
38868         * modules/thread: New file.
38869         * lib/glthread/thread.h: New file.
38870         * m4/thread.m4: New file.
38871         * MODULES.html.sh (Multithreading): Add thread.
38872
38873 2008-08-17  Bruno Haible  <bruno@clisp.org>
38874
38875         * lib/glthread/lock.h: Include <stdlib.h> always.
38876         * lib/glthread/tls.h: Likewise.
38877         * lib/glthread/cond.h: Likewise.
38878
38879 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38880
38881         New module 'cond'.
38882         * modules/cond: New file.
38883         * lib/glthread/cond.h: New file.
38884         * lib/glthread/cond.c: New file.
38885         * m4/cond.m4: New file.
38886         * MODULES.html.sh (Multithreading): Add cond.
38887
38888 2008-08-16  Eric Blake  <ebb9@byu.net>
38889
38890         c-stack: fix regression on Irix 5.3 from 2008-06-21
38891         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
38892         sa_sigaction...
38893         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
38894         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
38895         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
38896         * modules/signal (Makefile.am): Use the value.
38897         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
38898         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
38899         * doc/posix-headers/signal.texi (signal.h): Document this
38900         portability issue.
38901         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
38902         Reported by Tom G. Christensen.
38903
38904 2008-08-17  Bruno Haible  <bruno@clisp.org>
38905
38906         New module 'threadlib'.
38907         * modules/threadlib: New file.
38908         * lib/glthread/threadlib.c: New file, extracted from
38909         lib/glthread/lock.c.
38910         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
38911         functions.
38912         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
38913         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
38914         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
38915         macros.
38916         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
38917         (gl_DISABLE_THREADS): Remove macro.
38918         * modules/lock (Files): Remove build-aux/config.rpath.
38919         (Depends-on): Remove havelib. Add threadlib.
38920         (configure.ac-early): Remove section.
38921         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
38922         * modules/tls (Depends-on): Remove lock. Add threadlib.
38923         (Link): New section, copied from threadlib.
38924         * MODULES.html.sh (Multithreading): Add threadlib.
38925
38926 2008-08-14  Bruno Haible  <bruno@clisp.org>
38927
38928         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
38929         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
38930         glthread_rwlock_unlock, glthread_rwlock_destroy,
38931         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
38932         glthread_recursive_lock_destroy): Define as macros always.
38933         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
38934         glthread_lock_lock.
38935         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
38936         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
38937         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
38938         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
38939         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
38940         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
38941         (glthread_recursive_lock_lock_func): Renamed from
38942         glthread_recursive_lock_lock.
38943         (glthread_recursive_lock_unlock_func): Renamed from
38944         glthread_recursive_lock_unlock.
38945         (glthread_recursive_lock_destroy_func): Renamed from
38946         glthread_recursive_lock_destroy.
38947
38948 2008-08-14  Bruno Haible  <bruno@clisp.org>
38949
38950         * lib/glthread/lock.h: Renamed from lib/lock.h.
38951         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
38952         * lib/glthread/tls.h: Renamed from lib/tls.h.
38953         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
38954         * lib/fstrcmp.c: Update includes.
38955         * lib/strsignal.c: Update includes.
38956         * modules/lock (Files, Makefile.am): Update.
38957         (Include): Change to "glthread/lock.h".
38958         * modules/tls (Files, Makefile.am): Update.
38959         (Include): Change to "glthread/tls.h".
38960         * tests/test-lock.c: Update includes.
38961         * tests/test-tls.c: Update includes.
38962         * NEWS: Mention the renamed header files.
38963
38964 2008-08-11  Jim Meyering  <meyering@redhat.com>
38965
38966         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
38967
38968 2008-08-11  Eric Blake  <ebb9@byu.net>
38969
38970         test-c-stack: avoid C99-ism
38971         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38972         before statement.
38973         Reported by Alain Guibert.
38974
38975 2008-08-10  Jim Meyering  <meyering@redhat.com>
38976
38977         ensure that return value of uinttostr et al are not ignored
38978         * lib/inttostr.h (__GNUC_PREREQ): Define.
38979         (__attribute_warn_unused_result__): Define.
38980         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38981
38982 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38983
38984         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38985         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38986
38987 2008-08-07  Jim Meyering  <meyering@redhat.com>
38988
38989         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38990
38991         * modules/mkstemp (License): Relicense under LGPLv2+.
38992         * modules/tempname (License): Likewise.
38993
38994 2008-08-06  Bruno Haible  <bruno@clisp.org>
38995
38996         * lib/poll.c (poll): Further micro-optimization.
38997
38998 2008-08-06  Jim Meyering  <meyering@redhat.com>
38999
39000         inet_pton.c: use locale-independent tolower
39001         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
39002         (inet_pton6): Use c_tolower rather than tolower.
39003         * modules/inet_pton (Depends-on): Add c-ctype.
39004
39005 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
39006
39007         * lib/poll.c (poll): Avoid division when timeout is 0, cache
39008         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
39009
39010 2008-08-06  Jim Meyering  <meyering@redhat.com>
39011
39012         * modules/inet_pton (License): Relicense under LGPLv2+.
39013
39014 2008-08-03  Bruno Haible  <bruno@clisp.org>
39015
39016         Additional non-aborting API for lock and tls.
39017         * lib/lock.h: Include <errno.h>.
39018         (glthread_lock_init): New macro/function.
39019         (gl_lock_init): Define as wrapper around glthread_lock_init.
39020         (glthread_lock_lock): New macro/function.
39021         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
39022         (glthread_lock_unlock): New macro/function.
39023         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
39024         (glthread_lock_destroy): New macro/function.
39025         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
39026         (glthread_rwlock_init): New macro/function.
39027         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
39028         (glthread_rwlock_rdlock): New macro/function.
39029         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
39030         (glthread_rwlock_wrlock): New macro/function.
39031         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
39032         (glthread_rwlock_unlock): New macro/function.
39033         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
39034         (glthread_rwlock_destroy): New macro/function.
39035         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
39036         (glthread_recursive_lock_init): New macro/function.
39037         (gl_recursive_lock_init): Define as wrapper around
39038         glthread_recursive_lock_init.
39039         (glthread_recursive_lock_lock): New macro/function.
39040         (gl_recursive_lock_lock): Define as wrapper around
39041         glthread_recursive_lock_lock.
39042         (glthread_recursive_lock_unlock): New macro/function.
39043         (gl_recursive_lock_unlock): Define as wrapper around
39044         glthread_recursive_lock_unlock.
39045         (glthread_recursive_lock_destroy): New macro/function.
39046         (gl_recursive_lock_destroy): Define as wrapper around
39047         glthread_recursive_lock_destroy.
39048         (glthread_once): New macro/function.
39049         (gl_once): Define as wrapper around glthread_once.
39050         Update function declarations.
39051         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
39052         glthread_rwlock_init. Return error code.
39053         (glthread_rwlock_rdlock_multithreaded): Renamed from
39054         glthread_rwlock_rdlock. Return error code.
39055         (glthread_rwlock_wrlock_multithreaded): Renamed from
39056         glthread_rwlock_wrlock. Return error code.
39057         (glthread_rwlock_unlock_multithreaded): Renamed from
39058         glthread_rwlock_unlock. Return error code.
39059         (glthread_rwlock_destroy_multithreaded): Renamed from
39060         glthread_rwlock_destroy. Return error code.
39061         (glthread_recursive_lock_init_multithreaded): Renamed from
39062         glthread_recursive_lock_init. Return error code.
39063         (glthread_recursive_lock_lock_multithreaded): Renamed from
39064         glthread_recursive_lock_lock. Return error code.
39065         (glthread_recursive_lock_unlock_multithreaded): Renamed from
39066         glthread_recursive_lock_unlock. Return error code.
39067         (glthread_recursive_lock_destroy_multithreaded): Renamed from
39068         glthread_recursive_lock_destroy. Return error code.
39069         (glthread_once_call): Make static.
39070         (glthread_once_multithreaded): Renamed from glthread_once.
39071         * lib/tls.h: Include <errno.h>.
39072         (glthread_tls_key_init): New macro/function.
39073         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
39074         (glthread_tls_set): New macro/function.
39075         (gl_tls_set): Define as wrapper around glthread_tls_set.
39076         (glthread_tls_key_destroy): New macro/function.
39077         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
39078         Update function declarations.
39079         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
39080         glthread_tls_get.
39081         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39082
39083 2008-08-04  Eric Blake  <ebb9@byu.net>
39084
39085         gnumakefile: use space, not TAB, outside of targets
39086         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
39087
39088 2008-08-02  Jim Meyering  <meyering@redhat.com>
39089
39090         getdate.y: avoid locale-dependent date parsing failure
39091         In Turkish locales, getdate would fail to recognize keywords
39092         containing a lowercase "i".  The solution is not to rely on
39093         locale-sensitive case-conversion.
39094         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
39095         (lookup_word): Use c_toupper in place of toupper.
39096         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
39097         Reported by Vefa Bicakci <bicave@superonline.com> in
39098         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
39099         * modules/getdate (Depends-on): Add c-ctype.
39100
39101 2008-08-02  Bruno Haible  <bruno@clisp.org>
39102
39103         * gnulib-tool (func_import): When updating or creating a .gitignore
39104         file, prepend each added line with a slash, and ignore leading slashes
39105         from the existing lines.
39106         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39107
39108 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39109
39110         Portability fix for GNU make 3.79.1.
39111         * top/GNUmakefile: Avoid 'else COND', which older GNU make
39112         versions do not understand.
39113
39114 2008-08-01  Bruno Haible  <bruno@clisp.org>
39115
39116         Work around bug of HP-UX 10.20 cc with -0.0 literal.
39117         * tests/test-isnanf.h (zero): New variable.
39118         (main): Avoid literal -0.0f.
39119         * tests/test-isnand.h (zero): New variable.
39120         (main): Avoid literal -0.0.
39121         * tests/test-isnanl.h (zero): New variable.
39122         (main): Avoid literal -0.0L.
39123         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
39124         (test_float, test_double, test_long_double): Avoid literals -0.0f,
39125         -0.0, -0.0L.
39126         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
39127         (test_signbitd): Avoid literal -0.0.
39128         (test_signbitl): Avoid literal -0.0L.
39129         * tests/test-ceilf1.c (zero): New variable.
39130         (main): Avoid literal -0.0f.
39131         * tests/test-ceill.c (zero): New variable.
39132         (main): Avoid literal -0.0L.
39133         * tests/test-floorf1.c (zero): New variable.
39134         (main): Avoid literal -0.0f.
39135         * tests/test-floorl.c (zero): New variable.
39136         (main): Avoid literal -0.0L.
39137         * tests/test-roundf1.c (zero): New variable.
39138         (main): Avoid literal -0.0f.
39139         * tests/test-round1.c (zero): New variable.
39140         (main): Avoid literal -0.0.
39141         * tests/test-roundl.c (zero): New variable.
39142         (main): Avoid literal -0.0L.
39143         * tests/test-truncf1.c (zero): New variable.
39144         (main): Avoid literal -0.0f.
39145         * tests/test-trunc1.c (zero): New variable.
39146         (main): Avoid literal -0.0.
39147         * tests/test-truncl.c (zero): New variable.
39148         (main): Avoid literal -0.0L.
39149         * tests/test-frexp.c (zero): New variable.
39150         (main): Avoid literal -0.0.
39151         * tests/test-frexpl.c (zero): New variable.
39152         (main): Avoid literal -0.0L.
39153         * tests/test-ldexpl.c (zero): New variable.
39154         (main): Avoid literal -0.0L.
39155         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39156         (zerod, zerol): New variables.
39157         (test_function): Avoid literals -0.0, -0.0L.
39158         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39159         (zerod, zerol): New variables.
39160         (test_function): Avoid literals -0.0, -0.0L.
39161         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39162         (zerod, zerol): New variables.
39163         (test_function): Avoid literals -0.0, -0.0L.
39164         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39165         (zerod, zerol): New variables.
39166         (test_function): Avoid literals -0.0, -0.0L.
39167         * tests/test-strtod.c (zero): New variable.
39168         (main): Avoid literal -0.0.
39169         Reported by Jonathan C. Patschke <jp@centtech.com>.
39170
39171 2008-07-31  Jim Meyering  <meyering@redhat.com>
39172
39173         sha256.h: correct definition of SHA224_DIGEST_SIZE
39174         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
39175         Reported by Paulie Pena IV <paulie4@gmail.com>.
39176         Define as 224 / 8, rather than as a literal.
39177         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
39178         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
39179         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
39180
39181 2008-07-31  Bruno Haible  <bruno@clisp.org>
39182
39183         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
39184         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
39185         Reported by Jonathan Patschke <jp@centtech.com>.
39186
39187 2008-07-31  Bruno Haible  <bruno@clisp.org>
39188
39189         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
39190         Reported by Paolo Bonzini <bonzini@gnu.org>.
39191
39192 2008-07-30  Eric Blake  <ebb9@byu.net>
39193
39194         test-strtod: allow compilation without -lm
39195         * tests/test-strtod.c (main): Avoid link dependence on fabs.
39196         Reported by Dennis Clarke <blastwave@gmail.com>.
39197
39198 2008-07-28  Jim Meyering  <meyering@redhat.com>
39199
39200         bootstrap: work also when there are no .po files in po/
39201         * build-aux/bootstrap (update_po_files): Complete the change
39202         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
39203
39204 2008-07-27  Jim Meyering  <meyering@redhat.com>
39205
39206         * users.txt: Add zile.
39207
39208 2008-07-26  Ben Pfaff  <blp@gnu.org>
39209
39210         Add missing dependencies on new m4/exponent[fdl].m4 files.
39211         * modules/isnanf-nolibm: Add m4/exponentf.m4.
39212         * modules/isnand-nolibm: Add m4/exponentd.m4.
39213         * modules/isnanl-nolibm: Add m4/exponentl.m4.
39214         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
39215         m4/isnan[fdl].m4, because the macros actually used moved.
39216         Reported by Jim Meyering.
39217
39218 2008-07-14  Ben Pfaff  <blp@gnu.org>
39219
39220         Add isinf module.
39221         * lib/isinf.c: New file.
39222         * lib/math.in.h: Define isinf macro if we have decided to replace
39223         it.
39224         * m4/isinf.m4: New file.
39225         * m4/math_h.m4: Initialize and substitute variables for isinf
39226         module.
39227         * modules/isinf: New file.
39228         * modules/isinf-tests: New file.
39229         * modules/math: Add substitutions for new module.
39230         * tests/test-isinf.c: New file.
39231         * doc/posix-functions/isinf.texi: Mention new module.
39232         * MODULES.html.sh: Mention new module.
39233
39234 2008-07-14  Ben Pfaff  <blp@gnu.org>
39235
39236         Factor out some macros for use by additional modules.
39237         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
39238         exponentf.m4.
39239         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
39240         exponentd.m4.
39241         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
39242         file exponentl.m4.
39243         * m4/exponentf.m4: New file.
39244         * m4/exponentd.m4: New file.
39245         * m4/exponentl.m4: New file.
39246         * modules/isnanf: Use new file m4/exponentf.m4.
39247         * modules/isnand: Use new file m4/exponentd.m4.
39248         * modules/isnanl: Use new file m4/exponentl.m4.
39249
39250 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
39251
39252         mktime.c: normalize tp->tm_isdst value to -1/0/1.
39253         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
39254         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
39255         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
39256
39257         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
39258         readlink on platforms without PATH_MAX.
39259
39260 2008-07-21  Eric Blake  <ebb9@byu.net>
39261
39262         Warn, not fail, on stale version.
39263         * top/GNUmakefile (_curr-ver): Tone down previous patch.
39264
39265         Don't allow installation with stale devel version number.
39266         * top/GNUmakefile (_is-install-target): New macro.
39267         (_curr-ver): Forbid installation with stale version number.
39268
39269 2008-07-20  Bruno Haible  <bruno@clisp.org>
39270
39271         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
39272         TESTS_ENVIRONMENT.
39273         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
39274
39275 2008-07-20  Bruno Haible  <bruno@clisp.org>
39276
39277         * lib/c-stack.h (c_stack_action): Add documentation.
39278         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
39279
39280 2008-07-20  Bruno Haible  <bruno@clisp.org>
39281
39282         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
39283         * modules/readlink (License): Likewise.
39284
39285 2008-07-17  Eric Blake  <ebb9@byu.net>
39286
39287         * modules/c-stack (Link): Fix typo.
39288
39289         Make c-stack use libsigsegv, when available.
39290         * modules/c-stack (Depends-on): Add libsigsegv.
39291         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
39292         needed.
39293         * lib/c-stack.c (SIGSTKSZ): Define fallback.
39294         (segv_handler, overflow_handler, c_stack_action)
39295         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
39296         implementation when libsigsegv is available, but only when using
39297         the library is necessary.
39298         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
39299         comment, explaining why XSI check fails on Linux.
39300         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
39301         * tests/test-c-stack2.sh: Tweak skip message.
39302         * NEWS: Document new link-time requirements.
39303
39304 2008-07-16  Eric Blake  <ebb9@byu.net>
39305
39306         c-stack: Expose false positives when not using libsigsegv.
39307         * modules/c-stack-tests (Files): Expand test.
39308         * tests/test-c-stack.c (main): Add means to conditionally trigger
39309         non-overflow SIGSEGV.
39310         * tests/test-c-stack2.sh: New file.
39311
39312 2008-07-14  Bruno Haible  <bruno@clisp.org>
39313
39314         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
39315         Reported by Eric Blake.
39316
39317 2008-07-14  Sam Steingold  <sds@gnu.org>
39318             Bruno Haible  <bruno@clisp.org>
39319
39320         New module libsigsegv.
39321         * modules/libsigsegv: New file.
39322         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
39323         modifications.
39324         * MODULES.html.sh (Signal handling): New section.
39325
39326 2008-07-14  Bruno Haible  <bruno@clisp.org>
39327
39328         * modules/unictype/ctype-* (Description): Add the word "function".
39329         Improves the resulting doc in MODULES.html.
39330
39331 2008-07-12  Ben Pfaff  <blp@gnu.org>
39332
39333         Add longlong module.
39334         * modules/longlong: New file.
39335
39336 2008-07-12  Bruno Haible  <bruno@clisp.org>
39337
39338         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
39339         to empty.
39340
39341 2008-07-10  Ben Pfaff  <blp@gnu.org>
39342
39343         Add isnan module.
39344         * doc/posix-functions/isnan.texi: Mention new module.
39345         * lib/math.in.h: Define isnan macro if we have decided to replace
39346         it.
39347         * m4/isnan.m4: New file.
39348         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
39349         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
39350         also.
39351         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
39352         redundancy.
39353         * m4/math_h.m4: Initialize and substitute variables for isnan
39354         module.
39355         * modules/isnan: New file.
39356         * modules/isnan-tests: New file.
39357         * modules/math: Add substitutions for new module.
39358         * tests/test-isnan.c: New file.
39359         * MODULES.html.sh: Mention new module.
39360
39361 2008-07-10  Ben Pfaff  <blp@gnu.org>
39362
39363         Add isnanf module.
39364         * lib/isnanf.m4: New file.
39365         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
39366         (gl_HAVE_ISNANF_IN_LIBM): New macro.
39367         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
39368         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
39369         * modules/isnanf: New file.
39370         * modules/isnanf-tests: New file.
39371         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
39372         files.
39373         * tests/test-isnanf-nolibm.c: factored most of its contents into
39374         new file tests/test-isnanf.h.
39375         * tests/test-isnanf.h: New file.
39376         * tests/test-isnanf.c: New file.
39377         * MODULES.html.sh: Mention new module.
39378         * doc/glibc-functions/isnanf.texi: Mention new module.
39379
39380 2008-07-10  Ben Pfaff  <blp@gnu.org>
39381
39382         Add isnand module.
39383         * lib/isnand.h: New file.
39384         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
39385         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
39386         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
39387         functionality also.
39388         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
39389         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
39390         (gl_HAVE_ISNAND_IN_LIBM): New macro.
39391         * modules/isnand: New file.
39392         * modules/isnand-tests: New file.
39393         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
39394         files.
39395         * tests/test-isnand-nolibm.c: factored most of its contents into
39396         new file tests/test-isnand.h.
39397         * tests/test-isnand.h: New file.
39398         * tests/test-isnand.c: New file.
39399         * MODULES.html.sh: Mention new module.
39400
39401 2008-07-10  Ben Pfaff  <blp@gnu.org>
39402
39403         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
39404         * lib/isnand.h: Rename lib/isnand-nolibm.h.
39405         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
39406         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
39407         * modules/isnanf-nolibm: Update references to renamed files.
39408         * modules/isnand-nolibm: Likewise.
39409         * modules/isnanf-nolibm-tests: Likewise.
39410         * modules/isnand-nolibm-tests: Likewise.
39411         * lib/frexp.c: Likewise.
39412         * lib/isfinite.c: Likewise.
39413         * lib/signbitd.c: Likewise.
39414         * lib/signbitf.c: Likewise.
39415         * lib/vasnprintf.c: Likewise.
39416         * tests/test-ceilf1.c: Likewise.
39417         * tests/test-ceilf2.c: Likewise.
39418         * tests/test-floorf1.c: Likewise.
39419         * tests/test-floorf2.c: Likewise.
39420         * tests/test-frexp.c: Likewise.
39421         * tests/test-round1.c: Likewise.
39422         * tests/test-round2.c: Likewise.
39423         * tests/test-roundf1.c: Likewise.
39424         * tests/test-strtod.c: Likewise.
39425         * tests/test-trunc1.c: Likewise.
39426         * tests/test-trunc2.c: Likewise.
39427         * tests/test-truncf1.c: Likewise.
39428         * tests/test-truncf2.c: Likewise.
39429         * NEWS: Mention the renamed header files.
39430
39431 2008-07-11  Jim Meyering  <meyering@redhat.com>
39432
39433         vc-list-files: make the last-resort awk code more portable
39434         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
39435         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
39436         does not support it.
39437
39438 2008-07-10  Eric Blake  <ebb9@byu.net>
39439
39440         Work with tar's bootstrap.
39441         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
39442         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
39443         an m4 comment.
39444
39445 2008-07-09  Jim Meyering  <meyering@redhat.com>
39446
39447         posix-shell.m4: fix typo that made this test malfunction
39448         * m4/posix-shell.m4: Remove capitalization in variable name.
39449
39450 2008-07-08  Bruno Haible  <bruno@clisp.org>
39451
39452         * m4/onceonly.m4: Update comments.
39453         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39454
39455 2008-07-04  Jim Meyering  <meyering@redhat.com>
39456
39457         * users.txt: Add vc-dwim.
39458         (bison, coreutils): Use the gitweb URL.
39459
39460 2008-07-03  Jim Meyering  <meyering@redhat.com>
39461
39462         * users.txt: Add libffcall.  From Sam Steingold.
39463
39464 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
39465
39466         getdate.y: do not ignore TZ with relative day, month or year offset
39467         * lib/getdate.y (get_date): Move the tz-handling block to follow the
39468         relative-date-handling, since otherwise, the latter would clobber the
39469         sole output (an updated Start value) of the tz-handling block.
39470         * tests/test-getdate.c: Tests for the fix
39471
39472 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39473
39474         Recognize 'foo_LIBRARIES += libgnu.a'.
39475         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
39476         makefile snippet has already specified an installation location,
39477         also using '+='.
39478
39479 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
39480
39481         getdate.y: factor out common actions
39482         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
39483         Use them in place of open-coded actions.
39484
39485 2008-07-01  Simon Josefsson  <simon@josefsson.org>
39486
39487         Add self-test for getdate module.
39488         * modules/getdate-tests: New file.
39489         * tests/test-getdate.c: New file.
39490
39491 2008-06-29  Bruno Haible  <bruno@clisp.org>
39492
39493         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
39494         .gitignore.
39495         Reported by Sylvain Beucler <beuc@beuc.net>.
39496
39497 2008-06-29  Bruno Haible  <bruno@clisp.org>
39498
39499         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
39500         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
39501
39502 2008-06-29  Bruno Haible  <bruno@clisp.org>
39503
39504         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
39505         EXTRA_DIST.
39506         Reported by Sylvain Beucler <beuc@beuc.net>.
39507
39508 2008-06-26  Jim Meyering  <meyering@redhat.com>
39509
39510         make several modules depend on the "open" module
39511         This provides slightly increased consistency when opening-for-write
39512         the name of a non-directory spelled with a trailing slash.
39513         * modules/chdir-safer: Likewise.
39514         * modules/chown: Likewise.
39515         * modules/clean-temp: Likewise.
39516         * modules/copy-file: Likewise.
39517         * modules/fchdir: Likewise.
39518         * modules/fcntl-safer: Likewise.
39519         * modules/pipe: Likewise.
39520         * modules/utime: Likewise.
39521         Prompted by Eric Blake and Bruno Haible.
39522
39523 2008-06-24  Andreas Schwab  <schwab@suse.de>
39524
39525         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
39526         literals can be used as initializers for global variables.
39527
39528 2008-06-23  Eric Blake  <ebb9@byu.net>
39529
39530         Make gnulib-cache.m4 easier to diff.
39531         * gnulib-tool (func_import): Allow newlines when reading cached
39532         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
39533
39534 2008-06-23  Bruno Haible  <bruno@clisp.org>
39535
39536         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
39537         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
39538         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
39539         m4/signalblocking.m4.
39540         (gl_PREREQ_SIGACTION): Don't invoke it.
39541         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
39542         gl_PREREQ_SIG_HANDLER_H.
39543         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39544         Don't check for sigaction here.
39545
39546 2008-06-23  Bruno Haible  <bruno@clisp.org>
39547
39548         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
39549         (install_handlers): Don't set the SA_RESETHAND flag.
39550
39551 2008-06-23  Bruno Haible  <bruno@clisp.org>
39552
39553         * m4/sigaction.m4: Comment fixes.
39554         * lib/signal.in.h: Likewise.
39555
39556 2008-06-23  Eric Blake  <ebb9@byu.net>
39557
39558         Fix typo.
39559         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
39560
39561         Avoid SA_ namespace.
39562         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
39563         Reported by Ralf Wildenhues.
39564
39565         Avoid test failure due to SA_RESTORER.
39566         * tests/test-sigaction.c (SA_MASK): New macro.
39567         (main): Avoid failing due to extension flags being set.
39568         Reported by Jim Meyering.
39569
39570         Revert use of sig-handler.h in sigprocmask.c.
39571         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
39572         it requires the existence of struct sigaction.
39573         * lib/sigprocmask.c (handler_t): Restore typedef.
39574         (rpl_signal, old_handlers): Use local type.
39575
39576 2008-06-22  Bruno Haible  <bruno@clisp.org>
39577
39578         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
39579         conditionally.
39580         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39581
39582 2008-06-22  Bruno Haible  <bruno@clisp.org>
39583
39584         * doc/posix-functions/siginterrupt.texi: Move note.
39585
39586         * lib/signal.in.h (SA_RESTART): New macro.
39587         * lib/sigaction.c: Update comment.
39588
39589         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
39590
39591         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
39592         (gl_PREREQ_SIGPROCMASK): Invoke it.
39593         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
39594
39595         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
39596
39597         * lib/sigprocmask.c: Update a comment.
39598
39599 2008-06-21  Eric Blake  <ebb9@byu.net>
39600
39601         Use sigaction module rather than signal().
39602         * modules/c-stack (Depends-on): Add sigaction.
39603         * modules/fatal-signal (Depends-on): Likewise.
39604         * modules/nanosleep (Depends-on): Likewise.
39605         * modules/sigprocmask (Files): Add sig-handler.h.
39606         * modules/sigaction (Files): Likewise.
39607         * lib/sig-handler.h (get_handler): New file, suggested by Paul
39608         Eggert.
39609         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
39610         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
39611         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
39612         (init_fatal_signals): Likewise.
39613         * lib/nanosleep.c (rpl_nanosleep): Likewise.
39614         (siginterrupt): Delete fallback.
39615         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
39616         instead.
39617         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
39618         siginterrupt.
39619
39620         New module sigaction, for mingw.
39621         * modules/sigaction: New module...
39622         * modules/sigaction-tests: ...and its test.
39623         * m4/sigaction.m4: New file.
39624         * lib/sigaction.c: Likewise.
39625         * tests/test-sigaction.c: Likewise.
39626         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
39627         * modules/signal (Makefile.am): Likewise.
39628         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
39629         needed.
39630         * doc/posix-headers/signal.texi (signal.h): Mention provided
39631         types.
39632         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
39633         that sigaction is preferable.
39634         * doc/posix-functions/sigaction.texi (sigaction): Mention new
39635         module.
39636         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39637         sigaction.
39638
39639         Improve robustness of sigprocmask by overriding signal.
39640         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
39641         is in use.
39642         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
39643         (SIGKILL, SIGSTOP): Provide fallbacks.
39644         (rpl_signal): Implement.
39645         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
39646         signal can be called inside handlers.
39647
39648         Fix nanosleep module on mingw.
39649         * modules/nanosleep (Depends-on): Add sys_select.
39650         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
39651
39652         Fix licensing of sigprocmask.
39653         * modules/raise (License): Relicense as LGPL.
39654
39655 2008-06-21  Bruno Haible  <bruno@clisp.org>
39656
39657         * lib/propername.c (proper_name_utf8): Don't use the transliterated
39658         result if it contains question marks.
39659         Reported by Michael Geng <linux@michaelgeng.de>.
39660
39661 2008-06-19  Bruno Haible  <bruno@clisp.org>
39662
39663         Fix CVS-ism.
39664         * doc/gnulib.texi: Include updated-stamp.texi.
39665         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
39666         (updated-stamp.texi): New rule.
39667         (gnulib.info): Depend on it.
39668         * doc/.gitignore: Add updated-stamp.texi.
39669         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
39670
39671 2008-06-19  Bruno Haible  <bruno@clisp.org>
39672
39673         * doc/Makefile (gnulib.info): Update and simplify dependencies.
39674         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39675
39676 2008-06-19  Eric Blake  <ebb9@byu.net>
39677
39678         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
39679         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
39680         Reported by Stepan Kasal.
39681
39682 2008-06-18  Bruno Haible  <bruno@clisp.org>
39683
39684         * lib/fatal-signal.c (init_fatal_signals): Add comment.
39685         Reported by Eric Blake.
39686
39687 2008-06-18  Eric Blake  <ebb9@byu.net>
39688
39689         Work around cygwin 1.5.25 strsignal bug.
39690         * tests/test-strsignal.c: Allow for const char *.
39691         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
39692
39693 2008-06-18  Simon Josefsson  <simon@josefsson.org>
39694
39695         * users.txt: Update URL to article and add author/date
39696         information.
39697
39698 2008-06-17  Bruno Haible  <bruno@clisp.org>
39699
39700         New macro gl_DISABLE_THREADS.
39701         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
39702         if the user did not pass --enable-threads or --disable-threads option.
39703         (gl_DISABLE_THREADS): New macro.
39704         Reported by Eric Blake <ebb9@byu.net>.
39705
39706 2008-06-17  Bruno Haible  <bruno@clisp.org>
39707
39708         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
39709         when the macro ignores it.
39710         Based on a patch by Eric Blake <ebb9@byu.net>.
39711
39712 2008-06-17  Bruno Haible  <bruno@clisp.org>
39713
39714         * modules/tls (License): Change to LGPLv2+.
39715         Reported by Eric Blake.
39716
39717 2008-06-17  Eric Blake  <ebb9@byu.net>
39718
39719         Simplify c-stack prerequisites.
39720         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
39721         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
39722         no longer requires <ucontext.h> to exist.  Optimize setrlimit
39723         check.
39724         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
39725         <sys/resource.h>.
39726
39727         Move c-stack test into testsuite.
39728         * modules/c-stack-tests: New file.
39729         * lib/c-stack.c [DEBUG]: Move test program...
39730         * tests/test-c-stack.c: ...into this new file.  Skip rather than
39731         fail test if sigaltstack is lacking.
39732         * tests/test-c-stack.sh: New driver file.
39733
39734 2008-06-16  Eric Blake  <ebb9@byu.net>
39735
39736         Use raise module consistently.
39737         * modules/fatal-signal (Depends-on): Add raise.
39738         * modules/sigprocmask (Depends-on): Likewise.
39739         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
39740         * lib/sigprocmask.c (sigprocmask): Likewise.
39741         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39742         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
39743
39744         Fix compliance bug in sigpending.
39745         * lib/sigprocmask.c (sigpending): Return pending array via
39746         parameter, not return value.
39747
39748 2008-06-14  Eric Blake  <ebb9@byu.net>
39749
39750         Improve obstack-printf test code.
39751         * tests/test-obstack-printf.c (test_function): Fix comment, and
39752         simplify usage of obstack_* in macros.  Add a test for coverage.
39753         Reported by Bruno Haible.
39754
39755 2008-06-14  Bruno Haible  <bruno@clisp.org>
39756
39757         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
39758         array size as a constant, not as a const variable.
39759         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
39760         AC_USE_SYSTEM_EXTENSIONS.
39761         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39762         Test whether the obstack_printf function actually exists.
39763         * modules/obstack-printf (Depends-on): Add extensions.
39764         (Include): Remove obstack.h.
39765         * modules/obstack-printf-posix (Depends-on): Add extensions.
39766         (Include): Remove obstack.h.
39767
39768 2008-06-13  Eric Blake  <ebb9@byu.net>
39769
39770         Add obstack-printf and obstack-printf-posix modules.
39771         * modules/obstack-printf: New file.
39772         * modules/obstack-printf-posix: Likewise.
39773         * MODULES.html.sh (Misc): Mention them.
39774         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39775         Likewise.
39776         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39777         Likewise.
39778         * modules/stdio (Makefile.am): Accomodate new modules.
39779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39780         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
39781         Declare.
39782         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
39783         functions.
39784         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
39785         (gl_REPLACE_OBSTACK_PRINTF): New macros
39786         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
39787         * tests/test-obstack-printf.c: New file.
39788         * modules/obstack-printf-tests: Likewise.
39789         * modules/obstack-printf-posix-tests: Likewise.
39790
39791 2008-06-11  Bruno Haible  <bruno@clisp.org>
39792
39793         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
39794         * lib/open.c: Include errno.h.
39795         (open): Fail when attempting to write to a file that has a trailing
39796         slash.
39797         * tests/test-open.c (main): Test against trailing slash bug.
39798         * doc/posix-functions/open.texi: Mention the trailing slash bug.
39799
39800 2008-06-10  Bruno Haible  <bruno@clisp.org>
39801
39802         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
39803         for $? to work inside the trap command, with various /bin/sh-s.
39804         * tests/test-vc-list-files-cvs.sh: Likewise.
39805
39806 2008-06-10  Bruno Haible  <bruno@clisp.org>
39807
39808         * lib/acl-internal.h: Don't include gettext.h here.
39809         * lib/set-mode-acl.c: Include gettext.h here.
39810         * lib/copy-acl.c: Likewise.
39811
39812 2008-06-10  Bruno Haible  <bruno@clisp.org>
39813
39814         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
39815         * lib/wait-process.c (wait_subprocess): Likewise.
39816         * lib/execute.h (execute): Add termsigp argument.
39817         * lib/execute.c (execute): Likewise.
39818         * lib/csharpcomp.c (compile_csharp_using_pnet,
39819         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
39820         * lib/csharpexec.c (execute_csharp_using_pnet,
39821         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
39822         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
39823         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
39824         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
39825         is_jikes_present): Update.
39826         * lib/javaexec.c (execute_java_class): Update.
39827         * lib/javaversion.c (execute_and_read_line): Update.
39828         * NEWS: Document the changes.
39829         Reported by Eric Blake.
39830
39831 2008-06-10  Eric Blake  <ebb9@byu.net>
39832
39833         Add missing include.
39834         * tests/test-strstr.c (includes): Add <signal.h>.
39835         * tests/test-strcasestr.c (includes): Likewise.
39836         * tests/test-memmem.c (includes): Likewise.
39837
39838 2008-06-10  Bruno Haible  <bruno@clisp.org>
39839
39840         * lib/wait-process.c (wait_subprocess): Add an assertion.
39841
39842 2008-06-10  Bruno Haible  <bruno@clisp.org>
39843
39844         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
39845
39846 2008-06-10  Bruno Haible  <bruno@clisp.org>
39847
39848         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
39849         using alarm().
39850         * tests/test-strcasestr.c (main): Likewise.
39851         * tests/test-strstr.c (main): Likewise.
39852
39853 2008-06-09  Bruno Haible  <bruno@clisp.org>
39854
39855         Work around the Solaris 10 ACE ACLs ABI change.
39856         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
39857         declare if ACL_NO_TRIVIAL is present.
39858         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
39859         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
39860         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
39861         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
39862         define if ACL_NO_TRIVIAL is present.
39863         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
39864         and use the current ABI.
39865         (file_has_acl): Use same #if condition as elsewhere.
39866         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
39867         in use, and use the current ABI.
39868         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
39869         Reported by Jim Meyering.
39870
39871 2008-06-09  Eric Blake  <ebb9@byu.net>
39872
39873         Work around environments that (stupidly) ignore SIGALRM.
39874         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
39875         before using alarm().
39876         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39877         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39878         Reported by Ian Beckwith <ianb@erislabs.net>.
39879
39880         Produce autobuild blurb earlier in log.
39881         * modules/autobuild (configure.ac-early): Move AB_INIT here.
39882
39883 2008-06-09  Jim Meyering  <meyering@redhat.com>
39884         and OndÅ™ej Vašík  <ovasik@redhat.com>
39885
39886         utimens.c: correct kernel bug work-around
39887         OndÅ™ej Vašík found that the invalid return value of 280 indicates
39888         failure, not success, and the kernel bug we're trying to work
39889         around affects not just the utimensat call, but also the fallback
39890         futimens call.
39891         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
39892         not success.
39893         [HAVE_FUTIMENS]: Use the same work-around, here.
39894
39895 2008-06-09  Jim Meyering  <meyering@redhat.com>
39896
39897         add more guards around definition of ACE_-related code
39898         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
39899         ALLOW and ACE_OWNER are also defined.
39900
39901 2008-06-08  Bruno Haible  <bruno@clisp.org>
39902
39903         * lib/acl-internal.h: Add me as co-author.
39904         * lib/file-has-acl.c: Likewise.
39905         * lib/set-mode-acl.c: Likewise.
39906         * lib/copy-acl.c: Likewise.
39907
39908 2008-06-08  Bruno Haible  <bruno@clisp.org>
39909
39910         Add support for AIX ACLs.
39911         * lib/acl-internal.h (acl_nontrivial): New declaration.
39912         * lib/file-has-acl.c (acl_nontrivial): New function.
39913         (file_has_acl): Add implementation using AIX 4 ACL API.
39914         * lib/set-mode-acl.c (qset_acl): Likewise.
39915         * lib/copy-acl.c (qcopy_acl): Likewise.
39916
39917 2008-06-08  Bruno Haible  <bruno@clisp.org>
39918
39919         Add support for HP-UX ACLs.
39920         * lib/acl-internal.h (acl_nontrivial): New declaration.
39921         * lib/file-has-acl.c (acl_nontrivial): New function.
39922         (file_has_acl): Add implementation using HP-UX 11 ACL API.
39923         * lib/set-mode-acl.c (qset_acl): Likewise.
39924         * lib/copy-acl.c (qcopy_acl): Likewise.
39925
39926 2008-06-08  Bruno Haible  <bruno@clisp.org>
39927
39928         Add support for Cygwin ACLs.
39929         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
39930         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
39931         the chmod_or_fchmod call.
39932         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
39933
39934 2008-06-08  Bruno Haible  <bruno@clisp.org>
39935
39936         Fix bug with setuid modes in Solaris 10+ code.
39937         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
39938         succeeded, when the mode contains some special bits.
39939
39940 2008-06-08  Bruno Haible  <bruno@clisp.org>
39941
39942         Add support for Solaris 7..10 ACLs.
39943         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
39944         declarations.
39945         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
39946         functions.
39947         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
39948         * lib/set-mode-acl.c (qset_acl): Likewise.
39949         * lib/copy-acl.c (qcopy_acl): Likewise.
39950
39951 2008-06-08  Bruno Haible  <bruno@clisp.org>
39952
39953         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
39954         declaration.
39955         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
39956         (acl_access_nontrivial): Remove MacOS X case.
39957         (file_has_acl): Use acl_extended_nontrivial.
39958         * lib/copy-acl.c (qcopy_acl): Likewise.
39959
39960 2008-06-08  Bruno Haible  <bruno@clisp.org>
39961
39962         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
39963
39964 2008-06-08  Jim Meyering  <meyering@redhat.com>
39965
39966         * modules/acl (Maintainer): Add Bruno Haible.
39967
39968 2008-06-07  Bruno Haible  <bruno@clisp.org>
39969
39970         Improve support for Tru64 ACLs.
39971         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39972         ACL on OSF/1.
39973
39974 2008-06-07  Bruno Haible  <bruno@clisp.org>
39975
39976         Add support for MacOS X ACLs.
39977         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39978         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39979         * lib/set-mode-acl.c (qset_acl): Likewise.
39980         * lib/copy-acl.c (qcopy_acl): Likewise.
39981
39982 2008-06-07  Bruno Haible  <bruno@clisp.org>
39983
39984         Fix memory leak introduced on 2008-05-22.
39985         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39986         use.
39987
39988 2008-06-07  Bruno Haible  <bruno@clisp.org>
39989
39990         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39991         to construct an empty ACL.
39992
39993 2008-06-07  Bruno Haible  <bruno@clisp.org>
39994
39995         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39996         precisely.
39997         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39998
39999 2008-06-07  Bruno Haible  <bruno@clisp.org>
40000
40001         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
40002         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
40003
40004 2008-06-07  Bruno Haible  <bruno@clisp.org>
40005
40006         * doc/posix-functions/_setjmp.texi: Explain the use of this function
40007         regardless of POSIX.
40008         * doc/posix-functions/_longjmp.texi: Likewise.
40009         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
40010         SystemV platform in this case.
40011
40012 2008-06-06  Eric Blake  <ebb9@byu.net>
40013
40014         Document abort() bugs.
40015         * doc/posix-functions/abort.texi (abort): Mention anomalies.
40016
40017         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
40018         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
40019         sigsetjmp.
40020         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
40021         siglongjmp, but only as a macro.
40022         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
40023         is obsolete.
40024         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
40025
40026         Tweak documentation to cover cygwin argz bugs.
40027         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
40028         argz bug fix; no code change needed since no cygwin releases
40029         occurred between the last fix and the bug being tested.
40030         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
40031         module and recently fixed cygwin bugs.
40032         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
40033         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
40034         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
40035         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
40036         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
40037         Likewise.
40038         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
40039         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
40040         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
40041         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
40042         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
40043         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
40044         Likewise.
40045
40046         Avoid gcc warning on cygwin.
40047         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
40048         !ACL_NO_TRIVIAL]: Avoid unused variable.
40049
40050 2008-06-05  Eric Blake  <ebb9@byu.net>
40051
40052         Be tolerant of UNKNOWN version in gnulib-tool test dir.
40053         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
40054         git-version-gen fails to come up with a version.
40055         Reported by Simon Josefsson.
40056
40057 2008-06-05  Jim Meyering  <meyering@redhat.com>
40058             Paul Eggert  <eggert@cs.ucla.edu>
40059
40060         utimens.c: work around a probable Linux kernel bug
40061         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
40062         appears to be a kernel bug that causes utimensat to return 280
40063         instead of 0, indicating success.
40064
40065 2008-06-04  Bruno Haible  <bruno@clisp.org>
40066
40067         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
40068         2008-06-01 commit.
40069
40070 2008-06-04  Bruno Haible  <bruno@clisp.org>
40071
40072         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
40073         * lib/file-has-acl.c (acl_access_nontrivial): New function.
40074         (file_has_acl): Use it. Save errno afterwards.
40075         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
40076
40077 2008-06-03  Bruno Haible  <bruno@clisp.org>
40078
40079         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
40080         draft code. Simplify #ifs.
40081         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
40082         Put Solaris code after POSIX-draft code. Fix comments regarding
40083         Solaris 10, HP-UX. Mention Cygwin.
40084         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
40085
40086 2008-06-03  Eric Blake  <ebb9@byu.net>
40087
40088         Provide fallback for older kernels.
40089         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
40090         Provide runtime fallback if kernel lacks support.
40091         Reported by Mike Frysinger.
40092
40093 2008-06-02  Bruno Haible  <bruno@clisp.org>
40094
40095         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
40096         it exists.
40097
40098 2008-06-02  Bruno Haible  <bruno@clisp.org>
40099
40100         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
40101         * lib/copy-acl.c (qcopy_acl): Update comment.
40102
40103 2008-06-02  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
40106         like ACL APIs.
40107
40108 2008-06-02  Bruno Haible  <bruno@clisp.org>
40109
40110         * tests/test-file-has-acl.sh: Use different code for Cygwin.
40111         * tests/test-set-mode-acl.sh: Likewise.
40112         * tests/test-copy-acl.sh: Likewise.
40113         * tests/test-copy-file.sh: Likewise.
40114
40115 2008-06-02  Bruno Haible  <bruno@clisp.org>
40116
40117         * tests/test-file-has-acl.sh: Remove unused code.
40118
40119 2008-06-01  Bruno Haible  <bruno@clisp.org>
40120
40121         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
40122         (copy_acl): Just a wrapper around qcopy_acl that emits the error
40123         messages.
40124         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
40125
40126 2008-06-01  Bruno Haible  <bruno@clisp.org>
40127
40128         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
40129         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
40130         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
40131         APIs.
40132         * modules/acl-tests (configure.ac): Remove tests now contained in
40133         m4/acl.m4.
40134
40135 2008-06-02  Jim Meyering  <meyering@redhat.com>
40136
40137         announce-gen: use a better key-server host name
40138         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
40139         it may be more consistently reliable.  Suggested by Werner Koch
40140         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
40141
40142 2008-06-01  Bruno Haible  <bruno@clisp.org>
40143
40144         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
40145         Reported by Voroskoi Andras <voroskoi@gmail.com>.
40146
40147 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
40148
40149         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
40150
40151 2008-06-01  Bruno Haible  <bruno@clisp.org>
40152
40153         New ACL tests.
40154         * tests/test-file-has-acl.sh: New file.
40155         * tests/test-file-has-acl.c: New file.
40156         * tests/test-set-mode-acl.sh: New file.
40157         * tests/test-set-mode-acl.c: New file.
40158         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
40159         * tests/test-copy-acl.c: New file.
40160         * modules/acl-tests: New file, based on modules/copy-file-tests.
40161         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
40162         (Depends-on): Add acl-tests.
40163         (configure.ac): Remove checks.
40164         (Makefile.am): Don't create test-sameacls program here any more.
40165
40166 2008-06-01  Bruno Haible  <bruno@clisp.org>
40167
40168         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
40169         * tests/test-sameacls.c: Include progname.h.
40170         (main): Invoke set_program_name. Portability fixes for MacOS X,
40171         Solaris, HP-UX.
40172
40173 2008-06-01  Bruno Haible  <bruno@clisp.org>
40174
40175         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
40176         function.
40177         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
40178
40179 2008-06-01  Bruno Haible  <bruno@clisp.org>
40180
40181         * modules/rpmatch (Depends-on): Add strdup.
40182
40183 2008-06-01  Bruno Haible  <bruno@clisp.org>
40184
40185         * lib/pipe.c: Include unistd-safer.h.
40186         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
40187         * modules/pipe (Depends-on): Add unistd-safer.
40188
40189 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40190
40191         * modules/autobuild (configure.ac): Call AB_INIT.
40192
40193 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40194
40195         * tests/test-getaddrinfo.c: Don't print debug messages by default.
40196         Suggested by Bruno Haible <bruno@clisp.org>.
40197
40198 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40199
40200         * tests/test-base64.c: Cast size_t to unsigned long when invoking
40201         printf.  Use %lu instead of %d.  Reported by Bruno Haible
40202         <bruno@clisp.org>.
40203
40204 2008-05-29  Eric Blake  <ebb9@byu.net>
40205
40206         Prefer new POSIX 200x interfaces over futimesat.
40207         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
40208         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
40209         when available.
40210         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
40211
40212 2008-05-28  Bruno Haible  <bruno@clisp.org>
40213
40214         * modules/stpcpy (License): Change to LGPLv2+.
40215         Requested by David Lutterkort <dlutter@redhat.com>.
40216
40217 2008-05-27  Bruno Haible  <bruno@clisp.org>
40218
40219         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
40220         current mingw.
40221         Reported by Jose E. Marchesi <jemarch@gnu.org>.
40222
40223 2008-05-27  Bruno Haible  <bruno@clisp.org>
40224
40225         * modules/iconv_open (Link): New section, from module 'iconv'.
40226         * modules/striconv (Link): Likewise.
40227         * modules/striconveh (Link): Likewise.
40228         * modules/xstriconv (Link): Likewise.
40229         * modules/unicodeio (Link): Likewise.
40230         * modules/propername (Link): Likewise.
40231         Reported by Jim Meyering.
40232
40233 2008-05-26  Jim Meyering  <meyering@redhat.com>
40234
40235         sha256: do not artificially restrict buffer length to be < 2^32
40236         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
40237         uint32_t to size_t.
40238         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
40239         to match.
40240
40241         avoid unaligned access errors, e.g., on sparc
40242         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
40243         direct access through a possibly-unaligned uint64* pointer.
40244         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
40245         direct access through a possibly-unaligned uint32* pointer.
40246         Prompted by this patch from Tom "spot" Callaway:
40247         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
40248
40249         sha512.c: fix typo in comment
40250         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
40251
40252 2008-05-25  Bruno Haible  <bruno@clisp.org>
40253
40254         * lib/set-mode-acl.c: Renamed from lib/acl.c.
40255         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
40256         (Makefile.am): Update lib_SOURCES.
40257
40258 2008-05-25  Bruno Haible  <bruno@clisp.org>
40259
40260         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
40261
40262 2008-05-25  Jim Meyering  <meyering@redhat.com>
40263
40264         useless-if-before-free: freed expr may have white-space differences
40265         * build-aux/useless-if-before-free: Recognize cases in which the
40266         freed expression differs from the tested one in embedded white
40267         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
40268         $1 was used, so we can't make any regexp shy.  Improved tests now
40269         detect this.
40270
40271         useless-if-before-free: accept white space in the expression.
40272         * build-aux/useless-if-before-free: For now, any white space
40273         in the expression must be identical in the free argument.
40274
40275         useless-if-before-free: efficiency tweak
40276         * build-aux/useless-if-before-free: Make the expression-matching
40277         regexp "shy".
40278         Make the *outer* regexp shy, not the expr-matching one.
40279
40280         update code-in-comment to accept cast of free arg
40281         * build-aux/useless-if-before-free: Update regexp.
40282
40283 2008-05-25  Bruno Haible  <bruno@clisp.org>
40284
40285         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
40286         * modules/copy-file-tests (Files, Makefile.am): Update.
40287         * tests/test-copy-file.c (func_test_copy): Update.
40288
40289 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
40290
40291         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
40292
40293 2008-05-23  Bruno Haible  <bruno@clisp.org>
40294
40295         Improve support for ACLs on OSF/1.
40296         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
40297         Remove fallback for unknown flavors of ACLs.
40298
40299 2008-05-22  Bruno Haible  <bruno@clisp.org>
40300
40301         Add support for ACLs on OSF/1.
40302         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
40303         replacements.
40304         (acl_free_text): New macro fallback.
40305         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
40306         acl_free.
40307         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
40308         acl_free_text function. Require AC_C_INLINE.
40309
40310 2008-05-22  Bruno Haible  <bruno@clisp.org>
40311
40312         Make copy_acl work on MacOS X 10.5.
40313         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
40314         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
40315         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
40316         If MODE_INSIDE_ACL, don't assume that every system has the same text
40317         representation for ACLs as FreeBSD.
40318         * lib/copy-acl.c (copy_acl): Add support for platforms with
40319         !MODE_INSIDE_ACL.
40320         * lib/file-has-acl.c (file_has_acl): Likewise.
40321         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
40322         FreeBSD, MacOS X, or IRIX, respectively.
40323
40324 2008-05-22  Bruno Haible  <bruno@clisp.org>
40325
40326         * lib/acl.h: Don't include <sys/acl.h>.
40327         (GETACLCNT): Move fallback to lib/acl-internal.h.
40328         * lib/acl-internal.h: Include <sys/acl.h> here.
40329         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
40330
40331 2008-05-22  Bruno Haible  <bruno@clisp.org>
40332
40333         Split off copy_acl function to separate file.
40334         * lib/copy-acl.c: New file, extracted from lib/acl.c.
40335         * lib/acl.c (copy_acl): Moved function to separate file.
40336         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
40337         * modules/acl (Files): Add lib/copy-acl.c.
40338         (Makefiles.am): Augment lib_SOURCES.
40339
40340 2008-05-22  Bruno Haible  <bruno@clisp.org>
40341
40342         * modules/copy-file-tests: New file.
40343         * tests/test-copy-file.sh: New file.
40344         * tests/test-copy-file.c: New file.
40345         * tests/test-copy-file-sameacls.c: New file.
40346
40347 2008-05-22  Eric Blake  <ebb9@byu.net>
40348
40349         Avoid gcc warning.
40350         * tests/test-memcmp.c (main): Pass NULL indirectly.
40351
40352 2008-05-21  Bruno Haible  <bruno@clisp.org>
40353
40354         Add reference doc about ACLs.
40355         * doc/acl-resources.txt: New file.
40356         * doc/acl-cygwin.txt: New file.
40357
40358 2008-05-21  Bruno Haible  <bruno@clisp.org>
40359
40360         Avoid one more warning from gcc.
40361         * lib/vasnprintf.c (IF_LINT): Update comments.
40362         (VASNPRINTF): Use it also for the 'prefix' array initializer.
40363
40364 2008-05-21  Jim Meyering  <meyering@redhat.com>
40365
40366         avoid a warning from gcc
40367         * lib/vasnprintf.c (IF_LINT): Define.
40368         (scale10_round_decimal_long_double):
40369         Use it to avoid a "may be used uninitialized" warning.
40370         (scale10_round_decimal_double): Likewise.
40371
40372 2008-05-21  Simon Josefsson  <simon@josefsson.org>
40373
40374         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
40375         declared.
40376
40377 2008-05-20  Bruno Haible  <bruno@clisp.org>
40378
40379         * tests/test-memcmp.c (main): Test also the sign of the result. Test
40380         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
40381
40382 2008-05-20  Simon Josefsson  <simon@josefsson.org>
40383
40384         * modules/memcmp-tests: New file.
40385         * tests/test-memcmp.c: New file.
40386
40387 2008-05-19  Bruno Haible  <bruno@clisp.org>
40388
40389         * modules/propername (Notice, configure.ac): Put quoted "..." into
40390         --keyword option.
40391         * lib/propername.h: Update comments accordingly.
40392         Reported by Eric Blake.
40393
40394 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
40395
40396         * modules/getpass-gnu (Depends-on): Add fseeko.
40397
40398 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40399
40400         * modules/base64-tests: New file.
40401
40402 2008-05-19  Bo Borgerson <gigabo@gmail.com>
40403
40404         * lib/base64.c (base64_decode_ctx): If a decode context structure
40405         was passed in use it to ignore newlines.  If a context structure
40406         was _not_ passed in, continue to treat newlines as garbage (this
40407         is the historical behavior).  Formerly base64_decode.
40408         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40409         takes a decode context structure.
40410         * lib/base64.h (base64_decode): Macro for four-argument calls.
40411         (base64_decode_alloc): Likewise.
40412         * lib/base64.c (base64_decode_ctx): If a decode context structure
40413         was passed in use it to ignore newlines.  If a context structure
40414         was _not_ passed in, continue to treat newlines as garbage (this
40415         is the historical behavior).  Formerly base64_decode.
40416         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40417         takes a decode context structure.
40418         * lib/base64.h (base64_decode): Macro for four-argument calls.
40419         (base64_decode_alloc): Likewise.
40420
40421 2008-05-19  Jim Meyering  <meyering@redhat.com>
40422
40423         avoid a warning from gcc
40424         * lib/trim.c (IF_LINT): Define.
40425         (trim2): Use it to avoid a "may be used uninitialized" warning.
40426
40427         Fix doc typo.
40428         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
40429
40430 2008-05-19  Bruno Haible  <bruno@clisp.org>
40431
40432         * doc/glibc-functions/getpass.texi: Document limits of other
40433         implementations.
40434
40435 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40436             Bruno Haible <bruno@clisp.org>
40437
40438         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
40439
40440 2008-05-18  Bruno Haible  <bruno@clisp.org>
40441
40442         * modules/propername: New file, from GNU gettext.
40443         * lib/propername.h: New file, from GNU gettext.
40444         * lib/propername.c: New file, from GNU gettext.
40445         * MODULES.html.sh (Internationalization functions): Add propername.
40446
40447 2008-05-16  Jim Meyering  <meyering@redhat.com>
40448             Bruno Haible  <bruno@clisp.org>
40449
40450         Avoid some warnings from "gcc -Wshadow".
40451         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
40452
40453 2008-05-15  Eric Blake  <ebb9@byu.net>
40454
40455         Extend previous patch to cygwin 1.7.0.
40456         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
40457         fast implementation in cygwin >= 1.7.0.
40458         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40459         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40460
40461 2008-05-15  Bruno Haible  <bruno@clisp.org>
40462
40463         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
40464         implementation in glibc >= 2.9.
40465         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40466         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40467
40468 2008-05-15  Bruno Haible  <bruno@clisp.org>
40469
40470         * MODULES.html.sh (Internationalization functions): Remove linebreak.
40471         (Unicode string functions): Add unilbrk/*.
40472         Reported by Karl Berry.
40473
40474 2008-05-15  Eric Blake  <ebb9@byu.net>
40475
40476         Fix violation of <stdbool.h> replacement in regex.
40477         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
40478         * lib/regexec.c (re_search_internal): Likewise.
40479         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
40480
40481 2008-05-15  Jim Meyering  <meyering@redhat.com>
40482
40483         avoid distracting test output when git or cvs is not found
40484         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
40485         * tests/test-vc-list-files-git.sh: Likewise.
40486
40487 2008-05-15  Eric Blake  <ebb9@byu.net>
40488
40489         Glibc finally accepted the memmem speedup code, bugzilla #5514.
40490         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
40491         glibc version.
40492         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40493         * doc/posix-functions/strstr.texi (strstr): Likewise.
40494         * lib/str-two-way.h (MAX): Sychronize with glibc.
40495
40496 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
40497
40498         * lib/regcomp.c (optimize_utf8): Add a note on why we test
40499         opr.ctx_type.
40500         (calc_first): Initialize constraint field.
40501         (duplicate_node_closure): Use it instead of special casing ANCHORS.
40502         Fix grammar.
40503         (duplicate_node): Merge constraint field for all node types.
40504         (calc_eclosure_iter): Look at constraint field for all node types.
40505         * lib/regex_internal.c (create_cd_newstate): Don't look at
40506         opr.ctx_type.
40507
40508 2008-05-14  Bruno Haible  <bruno@clisp.org>
40509
40510         Help GCC to do better code generation.
40511         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
40512         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
40513         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
40514         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
40515         Declare with attribute 'malloc' if supported.
40516
40517 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
40518
40519         use "echo STR|wc -c" rather than unportable "expr length STR"
40520         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
40521         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
40522
40523 2008-05-14  Jim Meyering  <meyering@redhat.com>
40524
40525         use dd ibs=$n count=1 ... rather than less-portable head -c$n
40526         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
40527         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
40528         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
40529         via Collin Lasse.
40530
40531 2008-05-14  Eric Blake  <ebb9@byu.net>
40532
40533         Avoid quadratic growth in gl_LIBSOURCES.
40534         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
40535         Suggested by Bruno Haible.
40536
40537         Test xmemdup0.
40538         * modules/xmemdup0-tests: New file.
40539         * tests/test-xmemdup0.c: Likewise.
40540
40541 2008-05-13  Eric Blake  <ebb9@byu.net>
40542
40543         Split xmemdup0 into its own module.
40544         * modules/xmemdup0: New file.
40545         * lib/xmemdup0.h: Likewise.
40546         * lib/xmemdup0.c: Likewise.
40547         * MODULES.html.sh (Memory management functions): Add xmemdup0.
40548         * lib/xalloc.h (xmemdup0): Remove.
40549         * lib/xmalloc.c (xmemdup0): Likewise.
40550
40551 2008-05-13  Eric Blake  <ebb9@byu.net>
40552             Bruno Haible  <bruno@clisp.org>
40553
40554         Reduce number of forks required during autoconf.
40555         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
40556         and gl_LIBSOURCES_DIR.
40557         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
40558         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
40559         m4_syscmd per file.
40560         <m4_foreach_w>: Move...
40561         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
40562
40563 2008-05-13  Eric Blake  <ebb9@byu.net>
40564
40565         * gnulib-tool: Fix various comment typos.
40566
40567 2008-05-12  Bruno Haible  <bruno@clisp.org>
40568
40569         Tailor the linebreaking algorithm.
40570         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
40571
40572 2008-05-12  Bruno Haible  <bruno@clisp.org>
40573
40574         Update to Unicode 5.0.0.
40575         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40576         LBP_JV, LBP_JT. Redistribute values.
40577         (unilbrk_table): Change size.
40578         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
40579         Unicode TR#14 rev. 22.
40580         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40581         LBP_JV, LBP_JT. Redistribute values.
40582         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
40583         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
40584         Update.
40585         * lib/unilbrk/lbrkprop1.h: Regenerated.
40586         * lib/unilbrk/lbrkprop2.h: Regenerated.
40587         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
40588         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
40589         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
40590         Likewise.
40591         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
40592         Likewise.
40593         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
40594         result.
40595         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
40596         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
40597         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
40598         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
40599         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
40600         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
40601
40602 2008-05-11  Bruno Haible  <bruno@clisp.org>
40603
40604         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
40605
40606 2008-05-11  Bruno Haible  <bruno@clisp.org>
40607
40608         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
40609         * modules/unilbrk/gen-lbrk: New file.
40610
40611 2008-05-11  Bruno Haible  <bruno@clisp.org>
40612
40613         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
40614         * m4/sha512.m4 (gl_SHA512): Likewise.
40615
40616 2008-05-11  Jim Meyering  <meyering@redhat.com>
40617
40618         New modules: crypto/sha256, crypto/sha512 (from coreutils)
40619         * modules/crypto/sha256: New file.
40620         * modules/crypto/sha512: Likewise.
40621         * lib/sha256.c: Likewise.
40622         * lib/sha256.h: Likewise.
40623         * lib/sha512.c: Likewise.
40624         * lib/sha512.h: Likewise.
40625         * lib/u64.h: Likewise.
40626         * m4/sha256.m4: Likewise.
40627         * m4/sha512.m4: Likewise.
40628         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
40629
40630 2008-05-10  Bruno Haible  <bruno@clisp.org>
40631
40632         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
40633         (Input/Output <stdio.h>): Add xprintf.
40634         (Signal handling <signal.h>): Add strsignal.
40635         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
40636         (Core language properties): Add func.
40637         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
40638         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
40639         strings.
40640         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
40641         (Input/output): New section.
40642         (File system functions): Add openat-die, stat-macros.
40643         (Networking functions): Add sockets.
40644         (Unicode string functions): Add unictype/*.
40645         (Support for building libraries and executables): Add gperf.
40646         (Support for building documentation): Add agpl-3.0.
40647         (Misc): Add nocrash.
40648
40649 2008-05-10  Bruno Haible  <bruno@clisp.org>
40650
40651         * modules/unictype/gen-ctype: New file.
40652
40653 2008-05-10  Jim Meyering  <meyering@redhat.com>
40654
40655         Make chdir-safer.c more efficient on a system with no symlinks.
40656         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
40657         also if ELOOP is zero.  Suggested by Bruno Haible.
40658
40659         Make chdir-safer.c slightly safer.
40660         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
40661         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
40662
40663         Avoid compile failure on systems without ELOOP (like mingw).
40664         * lib/chdir-safer.c (ELOOP): Define if not already defined.
40665         Reported by Bruno Haible.
40666
40667 2008-05-10  Bruno Haible  <bruno@clisp.org>
40668
40669         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
40670         (is_utf8_encoding): Use a case-insensitive comparison.
40671         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
40672         streq.
40673
40674 2008-05-10  Bruno Haible  <bruno@clisp.org>
40675
40676         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
40677         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
40678         * lib/unilbrk/ulc-common.h (iconv_string_length,
40679         iconv_string_keeping_offsets): Remove declarations.
40680         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
40681         Don't include <iconv.h>, streq.h, xsize.h.
40682         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
40683         conversion.
40684         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
40685         <iconv.h>, streq.h, xsize.h.
40686         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
40687         conversion.
40688         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
40689         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
40690         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
40691         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
40692
40693 2008-05-10  Bruno Haible  <bruno@clisp.org>
40694
40695         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
40696         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
40697
40698         * modules/unilbrk/u32-width-linebreaks-tests: New file.
40699         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
40700
40701         * modules/unilbrk/u16-width-linebreaks-tests: New file.
40702         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
40703
40704         * modules/unilbrk/u8-width-linebreaks-tests: New file.
40705         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
40706
40707         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
40708         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
40709
40710         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
40711         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
40712
40713         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
40714         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
40715
40716         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
40717         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
40718
40719 2008-05-10  Bruno Haible  <bruno@clisp.org>
40720
40721         Split up 'linebreak' module.
40722         * lib/unilbrk.h: New file, based on lib/linebreak.h.
40723         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
40724         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
40725         modifications.
40726         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
40727         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
40728         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
40729         lib/linebreak.c.
40730         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
40731         lib/linebreak.c.
40732         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
40733         lib/linebreak.c.
40734         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
40735         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
40736         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
40737         lib/linebreak.c.
40738         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
40739         lib/linebreak.c.
40740         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
40741         lib/linebreak.c.
40742         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
40743         lib/linebreak.c.
40744         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
40745         lib/linebreak.c.
40746         * modules/unilbrk/base: New file.
40747         * modules/unilbrk/tables: New file.
40748         * modules/unilbrk/u8-possible-linebreaks: New file.
40749         * modules/unilbrk/u16-possible-linebreaks: New file.
40750         * modules/unilbrk/u32-possible-linebreaks: New file.
40751         * modules/unilbrk/ulc-common: New file.
40752         * modules/unilbrk/ulc-possible-linebreaks: New file.
40753         * modules/unilbrk/u8-width-linebreaks: New file.
40754         * modules/unilbrk/u16-width-linebreaks: New file.
40755         * modules/unilbrk/u32-width-linebreaks: New file.
40756         * modules/unilbrk/ulc-width-linebreaks: New file.
40757         * lib/linebreak.h: Remove file.
40758         * lib/linebreak.c: Remove file.
40759         * m4/linebreak.m4: Remove file.
40760         * modules/linebreak: Remove file.
40761         * NEWS: Mention the changes.
40762
40763 2008-05-09  Eric Blake  <ebb9@byu.net>
40764
40765         Add xmemdup0.
40766         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
40767         implementation.
40768         * lib/xmalloc.c (xmemdup0): New C implementation.
40769
40770 2008-05-08  Bruno Haible  <bruno@clisp.org>
40771
40772         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
40773
40774 2008-05-07  Eric Blake  <ebb9@byu.net>
40775
40776         Support cross-compilation of <wctype.h>.
40777         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
40778         AC_CACHE_CHECK.
40779
40780 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
40781
40782         * build-aux/vc-list-files: Add support for bzr.
40783
40784 2008-05-03  Jim Meyering  <meyering@redhat.com>
40785
40786         avoid failed assertion with tight malloc
40787         * tests/test-getndelim2.c: Correct an off-by-one assertion.
40788
40789 2008-05-03  Simon Josefsson  <simon@josefsson.org>
40790
40791         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
40792         are needed from arpa/inet.h.
40793         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
40794         Reported by Bruno Haible.
40795
40796 2008-05-02  Jim Meyering  <meyering@redhat.com>
40797
40798         avoid compilation error on FreeBSD 6
40799         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
40800
40801 2008-05-01  Jim Meyering  <meyering@redhat.com>
40802
40803         useless-if-before-free: correct --help's exit status description
40804         * build-aux/useless-if-before-free (usage): Like grep, exit 0
40805         for one or more matches, etc.  Reported by Bruno Haible.
40806
40807         vc-list-files: make the stand-alone gnulib test work
40808         * modules/vc-list-files-tests (configure.ac):
40809         Define and AC_SUBST abs_aux_dir.
40810         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
40811         $(abs_top_srcdir) to each script and having each of them
40812         duplicate the work of setting PATH, set PATH here, using
40813         the new variable, abs_aux_dir instead.
40814         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
40815         * tests/test-vc-list-files-git.sh: Likewise.
40816         Reported by Bruno Haible.
40817
40818 2008-05-01  Bruno Haible  <bruno@clisp.org>
40819
40820         * lib/getndelim2.c (getndelim2): Fix newsize computation during
40821         reallocation. Rename 'done' to 'found_delimiter'.
40822
40823 2008-05-01  Jim Meyering  <meyering@redhat.com>
40824
40825         vc-list-files: accommodate /bin/sh like the one from Solaris 10
40826         * build-aux/vc-list-files: Use `...`, not $(...).
40827
40828 2008-04-30  Jim Meyering  <meyering@redhat.com>
40829
40830         add tests for vc-list-files
40831         * modules/vc-list-files-tests: New module.
40832         * tests/test-vc-list-files-cvs.sh: New file.
40833         * tests/test-vc-list-files-git.sh: New file.
40834
40835         avoid a warning from gcc
40836         * lib/getndelim2.c (IF_LINT): Define.
40837         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
40838
40839         vc-list-files: work properly with build-aux/cvsu, too
40840         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
40841         to all cvs-based clauses.
40842
40843         vc-list-files: work properly in the CVS+awk case, too
40844         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
40845
40846         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
40847         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
40848         take more than one file argument, so .  Add quotes, just in case $dir
40849         ever contains a shell meta-character.  Prompted by Soren Hansen in
40850         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
40851
40852 2008-04-29  Eric Blake  <ebb9@byu.net>
40853
40854         Optimize getndelim2 to use block operations when possible.
40855         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
40856         freadseek, and memchr2.
40857         * lib/getndelim2.c (getndelim2): Use them for block reads.
40858
40859 2008-04-29  Bruno Haible  <bruno@clisp.org>
40860
40861         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
40862         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40863         * modules/inet_ntop (Depends-on): Add extensions.
40864         * modules/inet_pton (Depends-on): Likewise.
40865         Reported by Simon Josefsson.
40866
40867 2008-04-29  Jim Meyering  <meyering@redhat.com>
40868
40869         When the is more than one match in a block, match all of them.
40870         * build-aux/useless-if-before-free: Iterate through each block
40871         until there are no more matches.
40872
40873         Fix broken useless-if-before-free script.
40874         * build-aux/useless-if-before-free: Fix typo: missing "?" after
40875         the expression to match cast of argument to free-like function.
40876
40877 2008-04-29  Eric Blake  <ebb9@byu.net>
40878
40879         Use new header.
40880         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
40881
40882 2008-04-29  Jim Meyering  <meyering@redhat.com>
40883
40884         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
40885         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
40886         by gnulib to exist and to declare e.g., inet_ntop.
40887         Don't include "inet_ntop.h", now removed.
40888
40889         * m4/arpa_inet_h.m4: Remove trailing blanks.
40890
40891 2008-04-29  Eric Blake  <ebb9@byu.net>
40892
40893         Silence valgrind on safe reads beyond potential array bounds.
40894         * lib/rawmemchr.valgrind: New file.
40895         * lib/strchrnul.valgrind: Likewise.
40896         * modules/rawmemchr (Files): Distribute new file.
40897         * modules/strchrnul (Files): Likewise.
40898         Suggested by Bruno Haible.
40899
40900 2008-04-29  Bruno Haible  <bruno@clisp.org>
40901
40902         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
40903         (inet_ntop, inet_pton): Change portability warning's wording.
40904         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
40905         Invoke gl_CHECK_NEXT_HEADERS.
40906         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
40907         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
40908         set ARPA_INET_H.
40909         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40910         * modules/arpa_inet (Description): No longer only for systems that
40911         lack it.
40912         (Depends-on): Add include_next.
40913         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
40914         HAVE_ARPA_INET_H.
40915
40916 2008-04-29  Jim Meyering  <meyering@redhat.com>
40917
40918         * modules/mkdir (License): Re-license as LGPLv2+.
40919
40920 2008-04-29  Bruno Haible  <bruno@clisp.org>
40921
40922         * modules/rawmemchr (Maintainer): Set to Eric.
40923         * modules/strchrnul (Maintainer): Likewise.
40924
40925 2008-04-29  Simon Josefsson  <simon@josefsson.org>
40926
40927         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
40928         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
40929
40930         * modules/arpa_inet (arpa/inet.h): Use them.
40931
40932 2008-04-28  Eric Blake  <ebb9@byu.net>
40933
40934         Test getndelim2.
40935         * modules/getndelim2-tests: New file.
40936         * tests/test-getndelim2.c: Likewise.
40937         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
40938         stream.
40939         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
40940
40941         * MODULES.html.sh: Document new module.
40942
40943 2008-04-20  Bruno Haible  <bruno@clisp.org>
40944
40945         * lib/c-stack.c (die): Use raise.
40946         * modules/c-stack (Depends-on): Add raise.
40947
40948 2008-04-28  Bruno Haible  <bruno@clisp.org>
40949
40950         Expect rpmatch to be declared.
40951         * lib/yesno.c (rpmatch): Remove declaration.
40952
40953         Declare rpmatch.
40954         * lib/stdlib.in.h (rpmatch): New declaration.
40955         * lib/rpmatch.c: Include <stdlib.h> first.
40956         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
40957         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
40958         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
40959         HAVE_RPMATCH.
40960         * modules/rpmatch (Depends-on): Add stdlib, extensions.
40961         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40962         (Include): Set to <stdlib.h>.
40963         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
40964         HAVE_RPMATCH.
40965         * NEWS: Document the change.
40966
40967 2008-04-28  Bruno Haible  <bruno@clisp.org>
40968
40969         Change rpmatch to use nl_langinfo when appropriate.
40970         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40971         (N_): New macro.
40972         (localized_pattern): New function/macro.
40973         (try): Remove match, nomatch arguments. Copy the pattern into safe
40974         memory before caching it.
40975         (rpmatch): Use localized_pattern. Add translator comments.
40976         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40977         Suggested by Eric Blake.
40978         * modules/rpmatch (Depends-on): Add stdbool.
40979
40980 2008-04-28  Eric Blake  <ebb9@byu.net>
40981
40982         Add rawmemchr module, matching glibc.
40983         * modules/string (Makefile.am): New indicator.
40984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40985         * lib/string.in.h (rawmemchr): Declare when appropriate.
40986         * modules/rawmemchr: New file.
40987         * m4/rawmemchr.m4: Likewise.
40988         * lib/rawmemchr.c: Likewise.
40989         * modules/rawmemchr-tests: Likewise.
40990         * tests/test-rawmemchr.c: Likewise.
40991         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40992         module.
40993         * modules/strchrnul (Depends-on): Add rawmemchr.
40994         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40995
40996         Whitespace cleanup.
40997         * tests/test-strchrnul.c: Reindent.
40998         * lib/strchrnul.c: Likewise.
40999
41000         Optimize and test strchrnul.
41001         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
41002         * modules/strchrnul-tests: New file.
41003         * tests/test-strchrnul.c: Likewise.
41004
41005         Remove intprops dependency.
41006         * modules/memchr (Depends-on): Remove intprops.
41007         * modules/memrchr (Depends-on): Likewise.
41008         * modules/memchr2 (Depends-on): Likewise.
41009         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
41010         * lib/memrchr.c (__memrchr): Likewise.
41011         * lib/memrchr2.c (memchr2): Likewise.
41012         Reported by Simon Josefsson.
41013
41014 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41015
41016         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
41017         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41018
41019 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41020
41021         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
41022
41023         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
41024
41025         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
41026
41027         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
41028         declarations.
41029         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
41030
41031         * m4/inet_pton.m4: Don't check for header files.
41032
41033         * m4/inet_ntop.m4: Don't check for header files.
41034
41035 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41036
41037         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
41038         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
41039         trigger for cygwin).
41040         Reported by Bruno Haible  <bruno@clisp.org>.
41041
41042 2008-04-28  Bruno Haible  <bruno@clisp.org>
41043
41044         * doc/posix-functions/strdup.texi: Mention mingw problem.
41045
41046 2008-04-27  Bruno Haible  <bruno@clisp.org>
41047
41048         * modules/stat-time-tests (Depends-on): Add sleep.
41049         * tests/test-stat-time.c (force_unlink): New function.
41050         (cleanup): Use it.
41051         (test_mtime): Remove the ctime related tests.
41052         (test_ctime): New function, containing the ctime related tests.
41053         (main): Call test_ctime, except on native Windows platforms.
41054
41055 2008-04-27  Bruno Haible  <bruno@clisp.org>
41056
41057         * lib/rpmatch.c (rpmatch): Add some comments.
41058         Reported by James Youngman <jay@gnu.org>.
41059
41060 2008-04-27  Bruno Haible  <bruno@clisp.org>
41061
41062         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
41063         quiet NaNs.
41064
41065 2008-04-27  Bruno Haible  <bruno@clisp.org>
41066
41067         Make test-yesno.sh work on mingw.
41068         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
41069         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
41070         (main): Set stdin to binary mode.
41071         * modules/yesno-tests (Depends-on): Add binary-io.
41072
41073 2008-04-27  Bruno Haible  <bruno@clisp.org>
41074
41075         Fix 'isfinite' on x86, x86_64, ia64 platforms.
41076         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
41077         argument that lie outside the IEEE 854 domain.
41078         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
41079         (gl_ISFINITE): Use it.
41080         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
41081
41082 2008-04-27  Bruno Haible  <bruno@clisp.org>
41083
41084         Allow local renaming in config.h.
41085         * lib/memrchr.c (memrchr): Don't undefine outside libc.
41086
41087 2008-04-27  Bruno Haible  <bruno@clisp.org>
41088
41089         * lib/memchr.c (__memchr): Change type of 'i'.
41090         * lib/memchr2.c (memchr2): Likewise.
41091
41092 2008-04-26  Eric Blake  <ebb9@byu.net>
41093         and Bruno Haible  <bruno@clisp.org>
41094
41095         Optimize and test memrchr.
41096         * modules/memrchr (Depends-on): Add intprops.
41097         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
41098         * modules/memrchr-tests: New file.
41099         * tests/test-memrchr.c: New file.
41100
41101 2008-04-26  Bruno Haible  <bruno@clisp.org>
41102
41103         Add tentative support for DragonFly BSD.
41104         * lib/stdio-impl.h: Add macros for DragonFly BSD.
41105         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
41106         fp.
41107         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41108         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
41109         * lib/fpurge.c (fpurge): Likewise.
41110         * lib/freadable.c (freaadable): Likewise.
41111         * lib/freadahead.c (freadahead): Likewise.
41112         * lib/freading.c (freading): Likewise.
41113         * lib/freadptr.c (freadptr): Likewise.
41114         * lib/freadseek.c (freadptrinc): Likewise.
41115         * lib/fseeko.c (fseeko): Likewise.
41116         * lib/fseterr.c (fseterr): Likewise.
41117         * lib/fwritable.c (fwritable): Likewise.
41118         * lib/fwriting.c (fwriting): Likewise.
41119
41120 2008-04-26  Bruno Haible  <bruno@clisp.org>
41121
41122         * lib/stdio-impl.h: New file.
41123         * lib/fbufmode.c: Include stdio-impl.h.
41124         (fbufmode): Use fp_, remove redundant #defines.
41125         * lib/fflush.c: Include stdio-impl.h.
41126         (clear_ungetc_buffer): Remove redundant #defines.
41127         * lib/fpurge.c: Include stdio-impl.h.
41128         (fpurge): Remove redundant #defines.
41129         * lib/freadable.c: Include stdio-impl.h.
41130         (freadable): Remove redundant #defines.
41131         * lib/freadahead.c: Include stdio-impl.h.
41132         (freadahead): Remove redundant #defines.
41133         * lib/freading.c: Include stdio-impl.h.
41134         (freading): Remove redundant #defines.
41135         * lib/freadptr.c: Include stdio-impl.h.
41136         (freadptr): Remove redundant #defines.
41137         * lib/freadseek.c: Include stdio-impl.h.
41138         (freadptrinc): Remove redundant #defines.
41139         * lib/fseeko.c: Include stdio-impl.h.
41140         (rpl_fseeko): Remove redundant #defines.
41141         * lib/fseterr.c: Include stdio-impl.h.
41142         (fseterr): Remove redundant #defines.
41143         * lib/fwritable.c: Include stdio-impl.h.
41144         (fwritable: Remove redundant #defines.
41145         * lib/fwriting.c: Include stdio-impl.h.
41146         (fwriting): Remove redundant #defines.
41147         * modules/fbufmode (Files): Add lib/stdio-impl.h.
41148         * modules/fflush (Files): Likewise.
41149         * modules/fpurge (Files): Likewise.
41150         * modules/freadable (Files): Likewise.
41151         * modules/freadahead (Files): Likewise.
41152         * modules/freading (Files): Likewise.
41153         * modules/freadptr (Files): Likewise.
41154         * modules/freadseek (Files): Likewise.
41155         * modules/fseeko (Files): Likewise.
41156         * modules/fseterr (Files): Likewise.
41157         * modules/fwritable (Files): Likewise.
41158         * modules/fwriting (Files): Likewise.
41159
41160 2008-04-26  Bruno Haible  <bruno@clisp.org>
41161
41162         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41163         restore_seek_optimization, update_fpos_cache): New functions, extracted
41164         from rpl_fflush.
41165         (rpl_fflush): Use them.
41166         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
41167         (gl_REPLACE_FFLUSH): Use it.
41168
41169 2008-04-26  Bruno Haible  <bruno@clisp.org>
41170
41171         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
41172         on Solaris.
41173         * tests/test-xstrtoimax.sh: Likewise.
41174         * tests/test-xstrtoumax.sh: Likewise.
41175         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41176
41177 2008-04-26  Bruno Haible  <bruno@clisp.org>
41178
41179         * modules/memchr-tests: New file.
41180         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
41181
41182 2008-04-26  Eric Blake  <ebb9@byu.net>
41183             Bruno Haible  <bruno@clisp.org>
41184
41185         * lib/memchr.c: Include intprops.h.
41186         (__memchr): Optimize parallel detection of matching bytes. Rename local
41187         variables. Add explanatory comments.
41188
41189 2008-04-26  Bruno Haible  <bruno@clisp.org>
41190
41191         Fix module 'memchr', broken since 2000-10-28.
41192         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
41193
41194 2008-04-26  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
41197         comments.
41198
41199 2008-04-25  Eric Blake  <ebb9@byu.net>
41200
41201         Use native fstatat on cygwin 1.7.0.
41202         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
41203         first.
41204
41205 2008-04-23  Eric Blake  <ebb9@byu.net>
41206
41207         Improve memchr2 performance.
41208         * lib/memchr2.c (memchr2): Further optimize parallel detection of
41209         NUL bytes.
41210         * modules/memchr2 (Depends-on): Use intprops.h.
41211
41212 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41213
41214         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
41215         an inline function instead of a CPP macro.  Patch by Ben Pfaff
41216         <blp@cs.stanford.edu>.
41217
41218 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41219
41220         * lib/arpa_inet.in.h: New file.
41221
41222         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
41223         (Makefile.am): Sed in substitute header file.
41224
41225         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
41226         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
41227
41228         * modules/inet_ntop (configure.ac): Use
41229         gl_ARPA_INET_MODULE_INDICATOR.
41230
41231         * modules/inet_pton (configure.ac): Use
41232         gl_ARPA_INET_MODULE_INDICATOR.
41233
41234 2008-04-22  Jim Meyering  <meyering@redhat.com>
41235
41236         * modules/verify (License): Re-license as LGPLv2+.
41237
41238 2008-04-22  Simon Josefsson  <simon@josefsson.org>
41239
41240         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
41241         parameter to void* as per POSIX standard (MinGW uses char*).
41242
41243 2008-04-21  Bruno Haible  <bruno@clisp.org>
41244
41245         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41246         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
41247         Define to replacements if REPLACE_ISWCNTRL is 1.
41248         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
41249         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
41250         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
41251         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
41252         what it fixes.
41253         * doc/posix-functions/iswalpha.texi: Likewise.
41254         * doc/posix-functions/iswblank.texi: Likewise.
41255         * doc/posix-functions/iswcntrl.texi: Likewise.
41256         * doc/posix-functions/iswdigit.texi: Likewise.
41257         * doc/posix-functions/iswgraph.texi: Likewise.
41258         * doc/posix-functions/iswlower.texi: Likewise.
41259         * doc/posix-functions/iswprint.texi: Likewise.
41260         * doc/posix-functions/iswpunct.texi: Likewise.
41261         * doc/posix-functions/iswspace.texi: Likewise.
41262         * doc/posix-functions/iswupper.texi: Likewise.
41263         * doc/posix-functions/iswxdigit.texi: Likewise.
41264         Reported by Alain Guibert.
41265
41266 2008-04-21  Bruno Haible  <bruno@clisp.org>
41267
41268         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
41269         Patch by Alain Guibert.
41270
41271 2008-04-21  Bruno Haible  <bruno@clisp.org>
41272
41273         Fix test failures on mingw.
41274         * tests/test-xstrtol.c (print_no_progname): New function.
41275         (main): Install it in error_print_progname hook.
41276         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
41277         * tests/test-xstrtoimax.sh: Likewise.
41278         * tests/test-xstrtoumax.sh: Likewise.
41279
41280 2008-04-21  Bruno Haible  <bruno@clisp.org>
41281
41282         Fix test failure on mingw.
41283         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
41284
41285 2008-04-21  Bruno Haible  <bruno@clisp.org>
41286
41287         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
41288         Actually assign a value.
41289
41290 2008-04-20  Bruno Haible  <bruno@clisp.org>
41291
41292         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
41293         take 2.
41294         * lib/canonicalize.c (canonicalize_file_name): Elide if the
41295         'canonicalize-lgpl' module is also used.
41296         * lib/canonicalize-lgpl.c: Undo last change.
41297         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
41298
41299 2008-04-20  Bruno Haible  <bruno@clisp.org>
41300
41301         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
41302         config.h. Provide _mkdir based fallback for mingw.
41303         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
41304         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
41305         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
41306         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
41307         rather than defining mkdir in config.h.
41308         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
41309         (gl_SYS_STAT_H_DEFAULTS): New macro.
41310         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
41311         HAVE_IO_H any more.
41312         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
41313         HAVE_DECL_MKDIR and HAVE_IO_H.
41314
41315 2008-04-20  Bruno Haible  <bruno@clisp.org>
41316
41317         * lib/isapipe.c: Port to native Windows platforms.
41318
41319 2008-04-20  Bruno Haible  <bruno@clisp.org>
41320
41321         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
41322
41323 2008-04-21  Eric Blake  <ebb9@byu.net>
41324
41325         Work around preprocessors that don't handle UINTMAX_MAX.
41326         * lib/memchr2.c (memchr2): Avoid embedded #if.
41327         Reported by Alain Guibert, fix suggested by Bruno Haible.
41328
41329 2008-04-21  Simon Josefsson  <simon@josefsson.org>
41330
41331         * doc/posix-functions/strftime.texi (strftime): Explain better
41332         Windows incompatibility.  Suggested by Micah Cowan
41333         <micah@cowan.name>.
41334
41335 2008-04-20  Bruno Haible  <bruno@clisp.org>
41336
41337         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
41338         unistr/u8-mblen.
41339
41340 2008-04-20  Bruno Haible  <bruno@clisp.org>
41341
41342         Fix test failure on platforms with non-GNU iconv.
41343         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
41344         (U_TO_U8): Use it, rather than u16_to_u8.
41345         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
41346         units at the end of the input string.
41347         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
41348
41349 2008-04-20  Bruno Haible  <bruno@clisp.org>
41350
41351         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
41352         when the resulting length is 0.
41353         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
41354
41355 2008-04-20  Bruno Haible  <bruno@clisp.org>
41356
41357         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
41358         works.
41359         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
41360
41361 2008-04-20  Bruno Haible  <bruno@clisp.org>
41362
41363         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
41364         * modules/tsearch-tests (configure.ac): Test for initstate function.
41365
41366 2008-04-20  Bruno Haible  <bruno@clisp.org>
41367
41368         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
41369         for nlink_t if missing.
41370         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
41371
41372 2008-04-19  Bruno Haible  <bruno@clisp.org>
41373
41374         Work around snprintf bug on Linux libc5.
41375         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
41376         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41377         gl_SNPRINTF_SIZE1.
41378         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41379         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
41380         that test failed.
41381         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
41382         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
41383         * modules/snprintf (Files): Add m4/printf.m4.
41384         * modules/vsnprintf (Files): Likewise.
41385         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
41386         * doc/posix-functions/vsnprintf.texi: Likewise.
41387
41388 2008-04-19  Bruno Haible  <bruno@clisp.org>
41389
41390         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
41391         from 0.0058 to less than 10^-7.
41392
41393 2008-04-19  Bruno Haible  <bruno@clisp.org>
41394
41395         Fix rounding when a precision is given.
41396         * lib/vasnprintf.c (is_borderline): New function.
41397         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
41398         9...9x.
41399         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
41400         %e, %g.
41401         * tests/test-vasprintf-posix.c (test_function): Likewise.
41402         * tests/test-snprintf-posix.h (test_function): Likewise.
41403         * tests/test-sprintf-posix.h (test_function): Likewise.
41404         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
41405         * tests/test-printf-posix.h (test_function): Likewise.
41406         * tests/test-printf-posix.output: Update.
41407         Reported by John Darrington <john@darrington.wattle.id.au> via
41408         Ben Pfaff <blp@cs.stanford.edu>.
41409
41410 2008-04-18  Simon Josefsson  <simon@josefsson.org>
41411
41412         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
41413         Suggested by Bruno Haible <bruno@clisp.org>.
41414
41415 2008-04-17  Bruno Haible  <bruno@clisp.org>
41416
41417         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
41418         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
41419         implementation.
41420         Patch by Bruce Merry <bmerry@gmail.com>.
41421
41422 2008-04-17  Simon Josefsson  <simon@josefsson.org>
41423
41424         * doc/posix-functions/strftime.texi (strftime): Mention that %e
41425         doesn't work under Windows.
41426
41427 2008-04-16  Bruno Haible  <bruno@clisp.org>
41428
41429         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
41430         New macros.
41431         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
41432         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
41433         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
41434         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
41435         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
41436         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
41437         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
41438         macros.
41439         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
41440         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
41441         Northern Sotho, Uighur.
41442
41443 2008-04-16  Bruno Haible  <bruno@clisp.org>
41444
41445         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
41446         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
41447         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
41448         Reported by Daniel Bergström <daniel@octocode.com>.
41449
41450 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
41451             Bruno Haible  <bruno@clisp.org>
41452
41453         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
41454         function.
41455         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
41456         New functions, mostly extracted from gl_locale_name_default.
41457         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
41458
41459 2008-04-16  Eric Blake  <ebb9@byu.net>
41460
41461         Adjust strtod detection to catch glibc 2.7 bug.
41462         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
41463         Reported by John Gatewood Ham.
41464
41465 2008-04-16  Bruno Haible  <bruno@clisp.org>
41466
41467         Add tentative support for Linux libc5.
41468         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
41469         * lib/fpurge.c (fpurge): Likewise.
41470         * lib/freadable.c (freadable): Likewise.
41471         * lib/freadahead.c (freadahead): Likewise.
41472         * lib/freading.c (freading): Likewise.
41473         * lib/freadptr.c (freadptr): Likewise.
41474         * lib/freadseek.c (freadptrinc): Likewise.
41475         * lib/fseeko.c (rpl_fseeko): Likewise.
41476         * lib/fseterr.c (fseterr): Likewise.
41477         * lib/fwritable.c (fwritable): Likewise.
41478         * lib/fwriting.c (fwriting): Likewise.
41479         Reported by Alain Guibert <alguibert+bts@free.fr>.
41480
41481 2008-04-15  Bruno Haible  <bruno@clisp.org>
41482
41483         * modules/mathl (configure.ac): Define module indicator.
41484
41485 2008-04-15  Bruno Haible  <bruno@clisp.org>
41486
41487         * lib/logl.c (logl): Remove unused variables.
41488
41489 2008-04-15  Bruno Haible  <bruno@clisp.org>
41490
41491         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
41492         fails.
41493
41494 2008-04-15  Bruno Haible  <bruno@clisp.org>
41495
41496         * lib/trim.c (trim2): Fix argument of isspace() macro.
41497
41498 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
41499
41500         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
41501         to 0.
41502         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
41503
41504 2008-04-14  Bruno Haible  <bruno@clisp.org>
41505
41506         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
41507         AC_LANG_PROGRAM argument.
41508         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
41509         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
41510         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41511         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41512         * m4/math_h.m4 (gl_MATH_H): Likewise.
41513         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
41514         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41515         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41516         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
41517         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41518         * m4/regex.m4 (gl_REGEX): Likewise.
41519         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
41520         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
41521         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41522         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
41523         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41524         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41525         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41526         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41527
41528 2008-04-14  Jim Meyering  <meyering@redhat.com>
41529
41530         test-strtod: fix typos: s/abs/fabs/
41531         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
41532
41533 2008-04-13  Bruno Haible  <bruno@clisp.org>
41534
41535         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
41536         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
41537         module is also used and while not building the reloc-wrapper.
41538
41539 2008-04-13  Bruno Haible  <bruno@clisp.org>
41540
41541         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
41542
41543 2008-04-13  Bruno Haible  <bruno@clisp.org>
41544
41545         Fix AIX compilation failure introduced on 2008-04-02.
41546         * tests/test-frexp.c (exp): Undefine before redefining.
41547         * tests/test-frexpl.c (exp): Likewise.
41548
41549 2008-04-13  Bruno Haible  <bruno@clisp.org>
41550
41551         Work around a HP-UX stdio bug.
41552         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
41553         * tests/test-ftello.c (main): Likewise.
41554         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
41555         * doc/posix-functions/ftello.texi: Likewise.
41556
41557 2008-04-13  Bruno Haible  <bruno@clisp.org>
41558
41559         Make test-signbit pass on HP-UX/hppa.
41560         * tests/test-signbit.c (minus_zerol): New variable.
41561         (test_signbitl): Use it.
41562
41563 2008-04-13  Bruno Haible  <bruno@clisp.org>
41564
41565         Make truncl work on OSF/1 4.0.
41566         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
41567         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41568         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
41570         HAVE_DECL_TRUNCL.
41571         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
41572         HAVE_DECL_TRUNCL.
41573         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
41574
41575 2008-04-13  Bruno Haible  <bruno@clisp.org>
41576
41577         * lib/unictype.h: Remove trailing comma from enumeration definitions.
41578
41579 2008-04-13  Bruno Haible  <bruno@clisp.org>
41580
41581         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
41582         expression, so as to avoid HP-UX 11 cc compiler bug.
41583
41584 2008-04-13  Bruno Haible  <bruno@clisp.org>
41585
41586         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
41587
41588 2008-04-13  Bruno Haible  <bruno@clisp.org>
41589
41590         * lib/git-merge-changelog.c: Remove empty declaration outside of
41591         functions.
41592
41593 2008-04-13  Bruno Haible  <bruno@clisp.org>
41594
41595         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
41596
41597 2008-04-13  Bruno Haible  <bruno@clisp.org>
41598
41599         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
41600         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
41601         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
41602         also if it exists but lacks definitions of the SHUT_* macros.
41603         * modules/sys_socket (Description): Update.
41604         Reported by Elbert Pol <e.pol@chello.nl>.
41605
41606 2008-04-13  Bruno Haible  <bruno@clisp.org>
41607
41608         * lib/localcharset.c (OS2): Don't redefine if already defined.
41609         Reported by Elbert Pol <e.pol@chello.nl>.
41610
41611 2008-04-13  Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/binary-io.h [__EMX__]: Include <io.h>.
41614         Reported by Elbert Pol <e.pol@chello.nl>.
41615
41616 2008-04-12  Bruno Haible  <bruno@clisp.org>
41617
41618         * lib/fpucw.h: Enable the definitions also for x86_64.
41619         Needed for NetBSD/x86_64.
41620         Reported by Thomas Klausner <tk@giga.or.at>.
41621
41622 2008-04-12  Bruno Haible  <bruno@clisp.org>
41623
41624         * tests/test-strtod.c: Include isnand.h.
41625         (main): Use isnand instead of isnan.
41626         Reported by Jim Meyering.
41627
41628 2008-04-12  Bruno Haible  <bruno@clisp.org>
41629
41630         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
41631         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
41632
41633 2008-04-12  Jim Meyering  <meyering@redhat.com>
41634
41635         * m4/math_h.m4 (gl_MATH_H): Fix typos.
41636
41637 2008-04-12  Bruno Haible  <bruno@clisp.org>
41638
41639         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
41640         Reported by Elbert Pol <e.pol@chello.nl>.
41641
41642 2008-04-12  Eric Blake  <ebb9@byu.net>
41643
41644         Work around Solaris 10 math.h bug.
41645         * m4/math_h.m4 (gl_MATH_H): Check for bug.
41646         (gl_MATH_H_DEFAULTS): Set up default.
41647         * modules/math (Makefile.am): Replace new indicators.
41648         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
41649         * tests/test-math.c (main): Test this.
41650         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
41651         * doc/posix-headers/math.texi (math.h): Mention bug.
41652         Reported by Nelson H. F. Beebe and Jim Meyering.
41653
41654 2008-04-11  Bruno Haible  <bruno@clisp.org>
41655
41656         Adapt to future versions of Apple GCC.
41657         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
41658         Reported by Peter O'Gorman <peter@pogma.com>.
41659
41660 2008-04-11  Bruno Haible  <bruno@clisp.org>
41661
41662         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
41663
41664 2008-04-11  Bruno Haible  <bruno@clisp.org>
41665
41666         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
41667
41668         * modules/getaddrinfo-tests (Makefile.am): Define
41669         test_getaddrinfo_LDADD.
41670
41671 2008-04-11  Bruno Haible  <bruno@clisp.org>
41672
41673         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
41674         (init): Fix syntax error.
41675         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
41676         is declared.
41677
41678 2008-04-11  Bruno Haible  <bruno@clisp.org>
41679
41680         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
41681         * modules/glob (Depends-on): Add stdbool.
41682
41683 2008-04-11  Bruno Haible  <bruno@clisp.org>
41684
41685         * lib/trim.c: Include <string.h>.
41686
41687 2008-04-11  Eric Blake  <ebb9@byu.net>
41688
41689         Avoid compile failure on OS/2.
41690         * lib/regex_internal.h (internal_function): Disable optimization
41691         on OS/2 (__EMX__), where it caused compiler error.
41692         Reported by Elbert Pol.
41693
41694 2008-04-11  Bruno Haible  <bruno@clisp.org>
41695
41696         Flush the standard error stream before aborting. Needed on mingw.
41697         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
41698         * tests/test-array_list.c (ASSERT): Likewise.
41699         * tests/test-array_oset.c (ASSERT): Likewise.
41700         * tests/test-avltree_list.c (ASSERT): Likewise.
41701         * tests/test-avltree_oset.c (ASSERT): Likewise.
41702         * tests/test-avltreehash_list.c (ASSERT): Likewise.
41703         * tests/test-binary-io.c (ASSERT): Likewise.
41704         * tests/test-byteswap.c (ASSERT): Likewise.
41705         * tests/test-c-ctype.c (ASSERT): Likewise.
41706         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
41707         * tests/test-c-strcasestr.c (ASSERT): Likewise.
41708         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
41709         * tests/test-c-strstr.c (ASSERT): Likewise.
41710         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
41711         * tests/test-canonicalize.c (ASSERT): Likewise.
41712         * tests/test-carray_list.c (ASSERT): Likewise.
41713         * tests/test-ceilf1.c (ASSERT): Likewise.
41714         * tests/test-ceilf2.c (ASSERT): Likewise.
41715         * tests/test-ceill.c (ASSERT): Likewise.
41716         * tests/test-count-one-bits.c (ASSERT): Likewise.
41717         * tests/test-fbufmode.c (ASSERT): Likewise.
41718         * tests/test-fflush2.c (ASSERT): Likewise.
41719         * tests/test-floorf1.c (ASSERT): Likewise.
41720         * tests/test-floorf2.c (ASSERT): Likewise.
41721         * tests/test-floorl.c (ASSERT): Likewise.
41722         * tests/test-fopen.c (ASSERT): Likewise.
41723         * tests/test-fpending.c (ASSERT): Likewise.
41724         * tests/test-fprintf-posix.c (ASSERT): Likewise.
41725         * tests/test-fpurge.c (ASSERT): Likewise.
41726         * tests/test-freadable.c (ASSERT): Likewise.
41727         * tests/test-freadahead.c (ASSERT): Likewise.
41728         * tests/test-freading.c (ASSERT): Likewise.
41729         * tests/test-freadptr.c (ASSERT): Likewise.
41730         * tests/test-freadptr2.c (ASSERT): Likewise.
41731         * tests/test-freadseek.c (ASSERT): Likewise.
41732         * tests/test-freopen.c (ASSERT): Likewise.
41733         * tests/test-frexp.c (ASSERT): Likewise.
41734         * tests/test-frexpl.c (ASSERT): Likewise.
41735         * tests/test-fseek.c (ASSERT): Likewise.
41736         * tests/test-fseeko.c (ASSERT): Likewise.
41737         * tests/test-fstrcmp.c (ASSERT): Likewise.
41738         * tests/test-ftell.c (ASSERT): Likewise.
41739         * tests/test-ftello.c (ASSERT): Likewise.
41740         * tests/test-func.c (ASSERT): Likewise.
41741         * tests/test-fwritable.c (ASSERT): Likewise.
41742         * tests/test-fwriting.c (ASSERT): Likewise.
41743         * tests/test-getdelim.c (ASSERT): Likewise.
41744         * tests/test-getline.c (ASSERT): Likewise.
41745         * tests/test-i-ring.c (ASSERT): Likewise.
41746         * tests/test-iconv-utf.c (ASSERT): Likewise.
41747         * tests/test-iconv.c (ASSERT): Likewise.
41748         * tests/test-isfinite.c (ASSERT): Likewise.
41749         * tests/test-isnand.c (ASSERT): Likewise.
41750         * tests/test-isnanf.c (ASSERT): Likewise.
41751         * tests/test-isnanl.h (ASSERT): Likewise.
41752         * tests/test-ldexpl.c (ASSERT): Likewise.
41753         * tests/test-linked_list.c (ASSERT): Likewise.
41754         * tests/test-linkedhash_list.c (ASSERT): Likewise.
41755         * tests/test-localename.c (ASSERT): Likewise.
41756         * tests/test-lseek.c (ASSERT): Likewise.
41757         * tests/test-mbscasecmp.c (ASSERT): Likewise.
41758         * tests/test-mbscasestr1.c (ASSERT): Likewise.
41759         * tests/test-mbscasestr2.c (ASSERT): Likewise.
41760         * tests/test-mbscasestr3.c (ASSERT): Likewise.
41761         * tests/test-mbscasestr4.c (ASSERT): Likewise.
41762         * tests/test-mbschr.c (ASSERT): Likewise.
41763         * tests/test-mbscspn.c (ASSERT): Likewise.
41764         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
41765         * tests/test-mbspbrk.c (ASSERT): Likewise.
41766         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
41767         * tests/test-mbsrchr.c (ASSERT): Likewise.
41768         * tests/test-mbsspn.c (ASSERT): Likewise.
41769         * tests/test-mbsstr1.c (ASSERT): Likewise.
41770         * tests/test-mbsstr2.c (ASSERT): Likewise.
41771         * tests/test-mbsstr3.c (ASSERT): Likewise.
41772         * tests/test-memchr2.c (ASSERT): Likewise.
41773         * tests/test-memmem.c (ASSERT): Likewise.
41774         * tests/test-open.c (ASSERT): Likewise.
41775         * tests/test-printf-frexp.c (ASSERT): Likewise.
41776         * tests/test-printf-frexpl.c (ASSERT): Likewise.
41777         * tests/test-printf-posix.c (ASSERT): Likewise.
41778         * tests/test-quotearg.c (ASSERT): Likewise.
41779         * tests/test-rbtree_list.c (ASSERT): Likewise.
41780         * tests/test-rbtree_oset.c (ASSERT): Likewise.
41781         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
41782         * tests/test-round1.c (ASSERT): Likewise.
41783         * tests/test-roundf1.c (ASSERT): Likewise.
41784         * tests/test-roundl.c (ASSERT): Likewise.
41785         * tests/test-signbit.c (ASSERT): Likewise.
41786         * tests/test-sleep.c (ASSERT): Likewise.
41787         * tests/test-snprintf-posix.c (ASSERT): Likewise.
41788         * tests/test-snprintf.c (ASSERT): Likewise.
41789         * tests/test-sprintf-posix.c (ASSERT): Likewise.
41790         * tests/test-stat-time.c (ASSERT): Likewise.
41791         * tests/test-strcasestr.c (ASSERT): Likewise.
41792         * tests/test-strerror.c (ASSERT): Likewise.
41793         * tests/test-striconv.c (ASSERT): Likewise.
41794         * tests/test-striconveh.c (ASSERT): Likewise.
41795         * tests/test-striconveha.c (ASSERT): Likewise.
41796         * tests/test-strsignal.c (ASSERT): Likewise.
41797         * tests/test-strstr.c (ASSERT): Likewise.
41798         * tests/test-strtod.c (ASSERT): Likewise.
41799         * tests/test-trunc1.c (ASSERT): Likewise.
41800         * tests/test-trunc2.c (ASSERT): Likewise.
41801         * tests/test-truncf1.c (ASSERT): Likewise.
41802         * tests/test-truncf2.c (ASSERT): Likewise.
41803         * tests/test-truncl.c (ASSERT): Likewise.
41804         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
41805         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
41806         * tests/test-vasnprintf.c (ASSERT): Likewise.
41807         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
41808         * tests/test-vasprintf.c (ASSERT): Likewise.
41809         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
41810         * tests/test-vprintf-posix.c (ASSERT): Likewise.
41811         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
41812         * tests/test-vsnprintf.c (ASSERT): Likewise.
41813         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
41814         * tests/test-wcwidth.c (ASSERT): Likewise.
41815         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
41816         * tests/test-xprintf-posix.c (ASSERT): Likewise.
41817         * tests/test-xvasprintf.c (ASSERT): Likewise.
41818         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
41819         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
41820         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
41821         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
41822         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
41823         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
41824         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
41825         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
41826         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
41827         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
41828         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
41829         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
41830         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
41831         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
41832         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
41833         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
41834         * tests/unictype/test-block_list.c (ASSERT): Likewise.
41835         * tests/unictype/test-block_of.c (ASSERT): Likewise.
41836         * tests/unictype/test-block_test.c (ASSERT): Likewise.
41837         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
41838         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
41839         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
41840         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
41841         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
41842         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
41843         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
41844         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
41845         * tests/unictype/test-combining.c (ASSERT): Likewise.
41846         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
41847         * tests/unictype/test-digit.c (ASSERT): Likewise.
41848         * tests/unictype/test-mirror.c (ASSERT): Likewise.
41849         * tests/unictype/test-numeric.c (ASSERT): Likewise.
41850         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
41851         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
41852         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
41853         * tests/unictype/test-scripts.c (ASSERT): Likewise.
41854         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
41855         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
41856         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
41857         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
41858         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
41859         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
41860         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
41861         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
41862         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
41863         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
41864         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
41865         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
41866         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
41867         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
41868         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
41869         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
41870         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
41871         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
41872         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
41873         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
41874         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
41875         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
41876         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
41877         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
41878         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
41879         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
41880         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
41881         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
41882         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
41883         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
41884         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
41885         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
41886         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
41887         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
41888         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
41889         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
41890         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
41891         Reported by Eric Blake.
41892
41893 2008-04-11  Bruno Haible  <bruno@clisp.org>
41894
41895         * lib/wchar.in.h: Tweak comment.
41896
41897 2008-04-11  Bruno Haible  <bruno@clisp.org>
41898
41899         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
41900         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
41901         gl_COMMON.
41902         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
41903
41904 2008-04-11  Bruno Haible  <bruno@clisp.org>
41905
41906         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
41907
41908 2008-04-11  Simon Josefsson  <simon@josefsson.org>
41909
41910         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
41911         of attempting to use non-existing /dev/*random.  Based on patch
41912         from Adam Strzelecki <ono@java.pl> in
41913         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
41914
41915 2008-04-08  Bruno Haible  <bruno@clisp.org>
41916
41917         Add tentative support for emx+gcc.
41918         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
41919         * lib/fpurge.c (fpurge): Likewise.
41920         * lib/freadable.c (freadable): Likewise.
41921         * lib/freadahead.c (freadahead): Likewise.
41922         * lib/freading.c (freading): Likewise.
41923         * lib/freadptr.c (freadptr): Likewise.
41924         * lib/freadseek.c (freadptrinc): Likewise.
41925         * lib/fseeko.c (rpl_fseeko): Likewise.
41926         * lib/fseterr.c (fseterr): Likewise.
41927         * lib/fwritable.c (fwritable): Likewise.
41928         * lib/fwriting.c (fwriting): Likewise.
41929         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
41930
41931 2008-04-09  Eric Blake  <ebb9@byu.net>
41932
41933         Avoid some autoconf warnings.
41934         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
41935         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
41936         * m4/afs.m4 (gl_AFS): Likewise.
41937         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
41938         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
41939         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41940         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
41941         (gl_INTEGER_TYPE_SUFFIX): Likewise.
41942         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
41943         (AC_CHECK_DECLS_ONCE): Likewise.
41944         Rename file...
41945         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
41946         gnulib-tool requires autoconf 2.59 or better.
41947         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
41948
41949 2008-04-08  Eric Blake  <ebb9@byu.net>
41950
41951         Use 'git describe --match' if present (added in git 1.5.5).
41952         * build-aux/git-version-gen: Limit result to tags that match 'v*'
41953         if possible.
41954
41955 2008-04-08  Bruno Haible  <bruno@clisp.org>
41956
41957         Add tentative support for OpenServer.
41958         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
41959         _ptr, _cnt.
41960         * lib/fpurge.c (fpurge): Likewise.
41961         * lib/freadable.c (freadable): Likewise.
41962         * lib/freadahead.c (freadahead): Likewise.
41963         * lib/freading.c (freading): Likewise.
41964         * lib/freadptr.c (freadptr): Likewise.
41965         * lib/freadseek.c (freadptrinc): Likewise.
41966         * lib/fseeko.c (rpl_fseeko): Likewise.
41967         * lib/fseterr.c (fseterr): Likewise.
41968         * lib/fwritable.c (fwritable): Likewise.
41969         * lib/fwriting.c (fwriting): Likewise.
41970         Reported by Roger Cornelius <rac@tenzing.org> and
41971         Brian K. White <brian@aljex.com>.
41972
41973 2008-04-06  Jim Meyering  <meyering@redhat.com>
41974
41975         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41976
41977 2008-04-06  Bruno Haible  <bruno@clisp.org>
41978
41979         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41980         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41981         * tests/test-printf-posix.sh: Likewise.
41982         * tests/test-vfprintf-posix.sh: Likewise.
41983         * tests/test-vprintf-posix.sh: Likewise.
41984         * tests/test-xprintf-posix.sh: Likewise.
41985
41986 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41987
41988         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41989         hide error from 'ls', needed on OS/2.
41990         Report by Elbert Pol <elbert.pol@gmail.com>.
41991
41992 2008-04-04  Eric Blake  <ebb9@byu.net>
41993
41994         Make test-fseeko.c failures meaningful.
41995         * tests/test-fseeko.c: Print line number on failure.
41996         * tests/test-fseek.c: Likewise.
41997         Reported by Nelson H. F. Beebe.
41998
41999         Improve strtod bug detection check.
42000         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
42001         required for Solaris 10.
42002         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
42003
42004 2008-04-04  Bruno Haible  <bruno@clisp.org>
42005
42006         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
42007         by m4/setenv.m4.
42008
42009 2008-04-03  Eric Blake  <ebb9@byu.net>
42010
42011         Ensure sane .version contents.
42012         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
42013         version string.
42014         * build-aux/git-version-gen: Improve documentation.
42015
42016         Make GNU make output nicer.
42017         * top/GNUmakefile [!_have-Makefile]: Add dependency on
42018         MAKECMDGOALS to enforce message for all command line targets.  Set
42019         srcdir for use in maint.mk.
42020
42021         Another maintainer tweak.
42022         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
42023         a target that regenerates version.
42024
42025 2008-04-03  Jim Meyering  <meyering@redhat.com>
42026
42027         vc-list-files: don't cause coreutils "make po-check" failure
42028         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
42029
42030 2008-04-03  Eric Blake  <ebb9@byu.net>
42031
42032         Allow VPATH usage of vc-list-files.
42033         * build-aux/vc-list-files (scriptversion): Add timestamp.
42034         (options): Add --help, --version, -C.
42035         (CVS): Support installed cvsu.
42036
42037 2008-04-02  Bruno Haible  <bruno@clisp.org>
42038
42039         Avoid some "statement with no effect" warnings from gcc.
42040         * tests/test-wctype.c (main): Explicitly ignore unused values.
42041         Reported by Jim Meyering.
42042
42043 2008-04-02  Jim Meyering  <meyering@redhat.com>
42044
42045         Avoid some warnings from "gcc -Wshadow".
42046         * tests/test-frexp.c (exp): Define to a different identifier.
42047         * tests/test-frexpl.c (exp): Likewise.
42048
42049 2008-04-03  Jim Meyering  <meyering@redhat.com>
42050
42051         bootstrap: remove dangling *.[ch] symlinks from lib
42052         * build-aux/bootstrap [dangling symlink removal]: Move find's
42053         -depth option to precede all others, to avoid a warning.
42054         Remove *.[ch] files too, and from "$source_base" (usually lib/).
42055
42056 2008-04-02  Bruno Haible  <bruno@clisp.org>
42057
42058         Avoid some warnings from "gcc -Wshadow".
42059         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
42060         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
42061         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
42062         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
42063         Reported by Jim Meyering.
42064
42065 2008-04-01  Bruno Haible  <bruno@clisp.org>
42066
42067         Fix test to work on IRIX 6.5 with cc.
42068         * tests/test-math.c (numeric_equal): New function.
42069         (main): Use it.
42070
42071 2008-04-01  Bruno Haible  <bruno@clisp.org>
42072
42073         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
42074
42075 2008-04-01  Bruno Haible  <bruno@clisp.org>
42076
42077         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
42078         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42079         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
42080         (Depends-on): Remove math.
42081
42082         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
42083         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42084         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
42085         (Depends-on): Remove math.
42086
42087         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
42088         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42089         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
42090         (Depends-on): Remove math.
42091         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
42092         (Depends-on): Remove math.
42093
42094         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
42095         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42096         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
42097         (Depends-on): Remove math.
42098         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
42099         (Depends-on): Remove math.
42100
42101         * tests/test-round1.c: Include nan.h.
42102         (main): Use NaNd instead of NAN.
42103         * modules/round-tests (Files): Add tests/nan.h.
42104
42105         * tests/test-trunc1.c: Include nan.h.
42106         (main): Use NaNd instead of NAN.
42107         * modules/trunc-tests (Files): Add tests/nan.h.
42108
42109         * tests/test-roundf1.c: Include nan.h.
42110         (main): Use NaNf instead of NAN.
42111         * modules/roundf-tests (Files): Add tests/nan.h.
42112
42113         * tests/test-truncf1.c: Include nan.h.
42114         (main): Use NaNf instead of NAN.
42115         * modules/truncf-tests (Files): Add tests/nan.h.
42116
42117         * tests/test-ceilf1.c: Include nan.h.
42118         (main): Use NaNf instead of NAN.
42119         * modules/ceilf-tests (Files): Add tests/nan.h.
42120
42121         * tests/test-floorf1.c: Include nan.h.
42122         (main): Use NaNf instead of NAN.
42123         * modules/floorf-tests (Files): Add tests/nan.h.
42124
42125         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
42126         (main): Use NaNf instead of NAN.
42127         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
42128
42129         * tests/test-isnand.c: Include nan.h instead of <math.h>.
42130         (main): Use NaNd instead of NAN.
42131         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
42132
42133         * tests/test-frexp.c: Include nan.h.
42134         (main): Use NaNd instead of NAN.
42135         * modules/frexp-tests (Files): Add tests/nan.h.
42136
42137         * lib/isnan.c: Don't include <math.h>.
42138         (FUNC): Don't use NAN macro.
42139         * modules/isnand-nolibm (Depends-on): Remove math.
42140         * modules/isnanf-nolibm (Depends-on): Remove math.
42141         * modules/isnanl (Depends-on): Remove math.
42142         * modules/isnanl-nolibm (Depends-on): Remove math.
42143
42144         * tests/nan.h: New file.
42145
42146 2008-04-01  Eric Blake  <ebb9@byu.net>
42147
42148         Fix typos.
42149         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
42150         values to be the right type.
42151
42152         For now, cater to gnulib strtod inaccuracies.
42153         * tests/test-strtod.c (main): Allow 1-ulp error on expected
42154         fractional results.  While not as nice from a QoI perspective, it
42155         is a quicker patch than correctly implementing decimal to binary
42156         rounding.
42157
42158 2008-03-31  Eric Blake  <ebb9@byu.net>
42159
42160         Guarantee a definition of NAN.
42161         * lib/math.in.h (NAN): Define if missing.
42162         * tests/test-math.c (main): Test it.
42163         * doc/posix-headers/math.texi (math.h): Document this.
42164         * lib/isnan.c (rpl_isnand): Use it.
42165         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
42166         * tests/test-floorf1.c (NaN): Likewise.
42167         * tests/test-frexp.c (NaN): Likewise.
42168         * tests/test-isnand.c (NaN): Likewise.
42169         * tests/test-isnanf.c (NaN): Likewise.
42170         * tests/test-round1.c (NaN): Likewise.
42171         * tests/test-roundf1.c (NaN): Likewise.
42172         * tests/test-snprintf-posix.h (NaN): Likewise.
42173         * tests/test-sprintf-posix.h (NaN): Likewise.
42174         * tests/test-trunc1.c (NaN): Likewise.
42175         * tests/test-truncf1.c (NaN): Likewise.
42176         * tests/test-vasnprintf-posix.c (NaN): Likewise.
42177         * tests/test-vasprintf-posix.c (NaN): Likewise.
42178         * modules/isnand-nolibm (Depends-on): Add math.
42179         * modules/isnanf-nolibm (Depends-on): Likewise.
42180         * modules/isnanl (Depends-on): Likewise.
42181         * modules/isnanl-nolibm (Depends-on): Likewise.
42182         * modules/snprintf-posix-tests (Depends-on): Likewise.
42183         * modules/sprintf-posix-tests (Depends-on): Likewise.
42184         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
42185         * modules/vsprintf-posix-tests (Depends-on): Likewise.
42186         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
42187         * modules/vasprintf-posix-tests (Depends-on): Likewise.
42188
42189 2008-03-31  Bruno Haible  <bruno@clisp.org>
42190
42191         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
42192         * doc/posix-functions/strtod.texi: Likewise.
42193
42194 2008-03-31  Bruno Haible  <bruno@clisp.org>
42195
42196         * tests/test-strtod.c (main): Don't use C99 syntax.
42197
42198 2008-03-31  Bruno Haible  <bruno@clisp.org>
42199
42200         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
42201         Reported by Eric Blake.
42202
42203 2008-03-31  Jim Meyering  <meyering@redhat.com>
42204
42205         Don't compare actual signbit return values.
42206         * tests/test-strtod.c (main): Rather, compare only their
42207         zero/non-zero nature.
42208
42209 2008-03-31  Eric Blake  <ebb9@byu.net>
42210
42211         More strtod documentation.
42212         * doc/posix-functions/strtod.texi (strtod): Interpret more test
42213         failures as distinct bugs.
42214
42215 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
42216
42217         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
42218         Problem reported by Erik Benada in
42219         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
42220
42221 2008-03-30  Bruno Haible  <bruno@clisp.org>
42222
42223         * tests/test-strtod.c: Add comments about which assertion fails on which
42224         platform.
42225         * doc/posix-functions/strtod.texi: Add info about many more platforms.
42226
42227 2008-03-30  Eric Blake  <ebb9@byu.net>
42228
42229         Test signbit behavior on zeros.
42230         * tests/test-signbit.c (test_signbitf): Add tests for zero.
42231         (test_signbitd, test_signbitl): Likewise.
42232
42233         More strtod touchups.
42234         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
42235         sign of negative underflow, for now.  Use .5, not .1.
42236         * doc/posix-functions/strtod.texi (strtod): Mention these
42237         limitations.
42238         Reported by Jim Meyering.
42239
42240 2008-03-30  Bruno Haible  <bruno@clisp.org>
42241
42242         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
42243         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
42244
42245 2008-03-30  Bruno Haible  <bruno@clisp.org>
42246
42247         Avoid failure when attempting to return empty iconv results on some
42248         platforms.
42249         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
42250         allocation, don't report ENOMEM when the resulting string is empty.
42251
42252 2008-03-30  Bruno Haible  <bruno@clisp.org>
42253
42254         Fix buffer overrun.
42255         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
42256         Don't consider the width for tmp_length. Check count against tmp_length
42257         before doing the padding. Ensure enough allocation during padding.
42258
42259 2008-03-30  Eric Blake  <ebb9@byu.net>
42260
42261         strtod touchups.
42262         * lib/strtod.c (strtod): Avoid compiler warnings.
42263         Reported by Jim Meyering.
42264
42265 2008-03-30  Bruno Haible  <bruno@clisp.org>
42266
42267         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
42268         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
42269         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
42270         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
42271         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
42272         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
42273         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
42274         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
42275
42276         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
42277         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
42278         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
42279         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
42280         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
42281         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
42282         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
42283         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
42284
42285         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
42286         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
42287         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
42288         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
42289         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
42290         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
42291         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
42292         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
42293
42294         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
42295         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
42296
42297         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
42298         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
42299
42300         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
42301         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
42302
42303         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
42304         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
42305         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
42306
42307         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
42308         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
42309         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
42310
42311         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
42312         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
42313         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
42314
42315         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
42316         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
42317         * modules/vasprintf (Depends-on): Add EOVERFLOW.
42318
42319         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
42320         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
42321         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
42322         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
42323         (Depends-on): Add EOVERFLOW.
42324         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
42325         (Depends-on): Add EOVERFLOW.
42326         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
42327         (Depends-on): Add EOVERFLOW.
42328         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
42329         (Depends-on): Add EOVERFLOW.
42330         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
42331         (Depends-on): Add EOVERFLOW.
42332         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
42333         (Depends-on): Add EOVERFLOW.
42334         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
42335         (Depends-on): Add EOVERFLOW.
42336         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
42337         (Depends-on): Add EOVERFLOW.
42338
42339         * lib/sprintf.c (EOVERFLOW): Remove fallback.
42340         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
42341         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
42342
42343         * lib/snprintf.c (EOVERFLOW): Remove fallback.
42344         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
42345         * modules/snprintf (Depends-on): Add EOVERFLOW.
42346
42347         * lib/poll.c (EOVERFLOW): Remove fallback.
42348         * modules/poll (Depends-on): Add EOVERFLOW.
42349
42350         * lib/getugroups.c (EOVERFLOW): Remove fallback.
42351         * modules/getugroups (Depends-on): Add EOVERFLOW.
42352
42353         * lib/getdelim.c (EOVERFLOW): Remove fallback.
42354         * modules/getdelim (Depends-on): Add EOVERFLOW.
42355
42356         * lib/ftell.c (EOVERFLOW): Remove fallback.
42357         * modules/ftell (Depends-on): Add EOVERFLOW.
42358
42359         * lib/fprintf.c (EOVERFLOW): Remove fallback.
42360         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
42361         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
42362
42363         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
42364
42365         * modules/EOVERFLOW-tests: New file.
42366         * tests/test-EOVERFLOW.c: New file.
42367
42368         * modules/EOVERFLOW: New file.
42369         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
42370
42371 2008-03-30  Bruno Haible  <bruno@clisp.org>
42372
42373         Fix bug introduced on 2007-06-10.
42374         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
42375         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
42376
42377 2008-03-30  Bruno Haible  <bruno@clisp.org>
42378
42379         Improve freadseek's efficiency after ungetc.
42380         * lib/freadseek.c: Include freadahead.h.
42381         (freadptrinc): New function, extracted from freadseek.
42382         (freadseek): Use it in a loop. Use freadahead to determine the number
42383         of loop iterations.
42384         * modules/freadseek (Depends-on): Add freadahead.
42385         (configure.ac): Require AC_C_INLINE.
42386
42387 2008-03-30  Bruno Haible  <bruno@clisp.org>
42388
42389         * lib/freadseek.c (freadseek): Don't ignore the return value of
42390         freadptr.
42391
42392 2008-03-29  Eric Blake  <ebb9@byu.net>
42393
42394         Add hex float support.
42395         * modules/strtod (Depends-on): Add c-ctype.
42396         (Link): Mention POW_LIB.
42397         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
42398         whitespace between 'e' and exponent.
42399         * tests/test-strtod.c (main): Enable hex float tests.
42400         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
42401         now provides.
42402
42403         Document various strtod bugs, with some fixes.
42404         * doc/posix-functions/strtod.texi (strtod): Document bugs with
42405         "-0x", "inf", "nan", and hex constants.
42406         * doc/posix-functions/atof.texi (atof): Likewise.
42407         * modules/stdlib (Makefile.am): Support strtod.
42408         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42409         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
42410         detect additional strtod bugs.
42411         * lib/stdlib.in.h (rpl_strtod): Add declarations.
42412         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
42413         bool where appropriate.  Parse 'inf' and 'nan'.
42414         * tests/test-strtod.c: New file.
42415         * modules/strtod (Depends-on): Add stdbool, stdlib.
42416         (configure.ac): Turn on module indicator.
42417         * modules/strtod-tests: New module.
42418
42419 2008-03-29  Eric Blake  <ebb9@byu.net>
42420
42421         Fix ftell on mingw.
42422         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
42423         * modules/ftell-tests (Depends-on): Add binary-io.
42424         * modules/ftello-tests (Depends-on): Likewise.
42425         * tests/test-ftell.c (main): Enhance test to cover behavior after
42426         ungetc.  Enforce binary mode.
42427         * tests/test-ftello.c (main): Likewise.
42428
42429         Pass test-freadseek on cygwin.
42430         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
42431         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
42432         ungetc buffer.
42433
42434         * tests/test-fflush2.c (main): Fix typo.
42435
42436 2008-03-29  Bruno Haible  <bruno@clisp.org>
42437
42438         * tests/test-fflush2.c (main): Temporarily disable the contents of
42439         this test.
42440         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
42441         Reported by Eric Blake.
42442
42443 2008-03-28  Simon Josefsson  <simon@josefsson.org>
42444
42445         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
42446         (GC_SHA224_DIGEST_SIZE): Add.
42447
42448         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
42449         (gc_hash_digest_length): Likewise.
42450         (gc_hash_buffer): Likewise.
42451
42452 2008-03-25  Bruno Haible  <bruno@clisp.org>
42453
42454         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
42455         detail which gettext release to use.
42456         Reported by Simon Josefsson.
42457
42458 2008-03-26  Jim Meyering  <meyering@redhat.com>
42459
42460         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
42461         * modules/gnumakefile (clean-GNUmakefile): Also, use
42462         test ... && ... || : syntax rather than if-then ... fi.
42463
42464         gnumakefile: Don't double-quote-expand $(VPATH) value.
42465         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
42466
42467 2008-03-24  Eric Blake  <ebb9@byu.net>
42468
42469         Alter GNUmakefile to install into top directory.
42470         * modules/maintainer-makefile: Split, and add dependency...
42471         * modules/gnumakefile: to this new module.
42472         * build-aux/GNUmakefile: Move...
42473         * top/GNUmakefile: ...here.
42474         * build-aux/maint.mk: Move...
42475         * top/maint.mk: ...here.
42476         * MODULES.html.sh (Support for maintaining...): Document new
42477         module.
42478
42479 2008-03-23  Bruno Haible  <bruno@clisp.org>
42480
42481         * gnulib-tool: New options --vc-files, --no-vc-files.
42482         (func_usage): Document them.
42483         (vc_files): New variable.
42484         (func_import): Consider vc_files.
42485         (func_create_testdir): Set vc_files to empty.
42486         Suggested by Jim Meyering and Karl Berry.
42487
42488 2008-03-23  Bruno Haible  <bruno@clisp.org>
42489
42490         Fix regex compilation error on HP-UX 11.
42491         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
42492         * modules/regex (Files): Add m4/mbstate_t.m4.
42493         Reported by Ton Voon <ton.voon@altinity.com>.
42494
42495 2008-03-23  Bruno Haible  <bruno@clisp.org>
42496
42497         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
42498
42499 2008-03-23  Eric Blake  <ebb9@byu.net>
42500             Bruno Haible  <bruno@clisp.org>
42501
42502         Install files from top/ in the destination directory.
42503         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42504         augmentation also for the files from top/.
42505         (func_import, func_create_testdir): Rewrite file names:
42506         top/filename -> filename.
42507
42508 2008-03-23  Bruno Haible  <bruno@clisp.org>
42509
42510         Tweak "gnulib --version" output.
42511         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
42512
42513 2008-03-23  Bruno Haible  <bruno@clisp.org>
42514
42515         Tweak "gnulib --version" output.
42516         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
42517         rather than contents of ChangeLog, when possible.
42518
42519 2008-03-21  Eric Blake  <ebb9@byu.net>
42520
42521         More --version tweaks.
42522         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
42523         date of last ChangeLog entry.
42524
42525 2008-03-21  Jim Meyering  <meyering@redhat.com>
42526
42527         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
42528
42529 2008-03-20  Eric Blake  <ebb9@byu.net>
42530
42531         VPATH fix.
42532         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
42533
42534 2008-03-20  Simon Josefsson  <simon@josefsson.org>
42535
42536         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
42537         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
42538
42539 2008-03-20  Eric Blake  <ebb9@byu.net>
42540
42541         Sync GNUmakefile with coreutils.
42542         * build-aux/GNUmakefile (have-Makefile): Rename...
42543         (_have-Makefile): ...to this, for namespace consideration.
42544         (GNUmakefile.cfg): Include, if present.
42545         (_autoreconf): Define a default.
42546         (_is-dist-target): New rule for rebuilds to pick up intra-release
42547         version.
42548         (maint-cfg.mk): Rename...
42549         (cfg.mk): ...to this.
42550
42551 2008-03-18  Jim Meyering  <meyering@redhat.com>
42552
42553         New script and module: mktempd
42554         * MODULES.html.sh (maint+release support): Add mktempd.
42555         * build-aux/mktempd: New file.
42556         * modules/mktempd: New file.
42557
42558 2008-03-15  Jim Meyering  <meyering@redhat.com>
42559
42560         Undo last change.
42561         * lib/sha1.c, lib/md5.c: 63 != ~63.
42562         Reported by Andreas Schwab.
42563
42564         sha1.c, md5.c: Hoist a redundant expression.
42565         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
42566         "ctx->buflen" only once, before calling *_process_block.
42567         * lib/md5.c (md5_process_bytes): Likewise.
42568
42569 2008-03-14  Eric Blake  <ebb9@byu.net>
42570
42571         Bump copyright year in files generated by gnulib-tool.
42572         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
42573         gnulib-tool, rather than hard-coding it.
42574
42575         Fix 'gnulib-tool --version' output to work with git.
42576         * gnulib-tool (func_gnulib_dir): New function, extracted from...
42577         (startup): ...here.
42578         (func_version): Use it to invoke git-version-gen, rather than
42579         relying on CVS keyword expansion.  Modernize wording.
42580         (cvsdatestamp, last_checkin_date, version): Kill unused
42581         variables.
42582
42583 2008-03-12  Jim Meyering  <meyering@redhat.com>
42584
42585         Recognize optional cast of the argument to free.
42586         * build-aux/useless-if-before-free: Update regexps.
42587
42588         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
42589
42590 2008-03-11  Bruno Haible  <bruno@clisp.org>
42591
42592         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
42593         by a single package.
42594         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
42595         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
42596         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
42597         Reported by Sam Steingold <sds@gnu.org>.
42598
42599 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42600
42601         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
42602         repositories.
42603
42604 2008-03-11  Bruno Haible  <bruno@clisp.org>
42605
42606         Avoid conflicts between local macro definitions.
42607         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42608         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
42609
42610 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
42611             Bruno Haible  <bruno@clisp.org>
42612
42613         Make va_copy work with some version of xlc on AIX 5.1.
42614         * lib/stdarg.in.h: New file.
42615         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
42616         On AIX, use a <stdarg.h> file substitute.
42617         * modules/stdarg (Files): Add lib/stdarg.in.h.
42618         (Depends-on): Add include_next.
42619         (Makefile.am): Build a stdarg.h substitute if requested.
42620         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
42621
42622 2008-03-10  Bruno Haible  <bruno@clisp.org>
42623
42624         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
42625         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42626         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42627
42628 2008-03-10  Bruno Haible  <bruno@clisp.org>
42629
42630         * modules/stdlib (Depends-on): Add include_next, remove
42631         absolute-header.
42632
42633 2008-03-09  Bruno Haible  <bruno@clisp.org>
42634
42635         * lib/freadahead.h (freadahead): Document more precisely.
42636         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
42637         the sum of both buffer sizes.
42638         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
42639         * NEWS: Document the change.
42640
42641 2008-03-09  Bruno Haible  <bruno@clisp.org>
42642
42643         Extend freadptr to return also the buffer size.
42644         * lib/freadptr.h (freadptr): Add sizep argument.
42645         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
42646         (freadptr): Add sizep argument. Determine buffer size like freadahead
42647         does.
42648         * tests/test-freadptr.c: Don't include freadahead.h.
42649         (main): Adapt for new calling convention of freadptr.
42650         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
42651         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
42652         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
42653         tests/test-freadptr2.sh.
42654         (Depends): Remove freadahead.
42655         (TESTS): Add test-freadptr2.sh.
42656         (check_PROGRAMS): Add test-freadptr2.
42657
42658 2008-03-09  Bruno Haible  <bruno@clisp.org>
42659
42660         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
42661         Report and solution by Simon Josefsson.
42662
42663 2008-03-06  Bruno Haible  <bruno@clisp.org>
42664
42665         Make fflush after ungetc work on BSD platforms.
42666         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
42667         * tests/test-fflush2.c: New file.
42668         * tests/test-fflush2.sh: New file.
42669         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
42670         tests/test-fflush2.c.
42671         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
42672         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
42673
42674 2008-03-06  Eric Blake  <ebb9@byu.net>
42675
42676         Likewise for ftello.
42677         * modules/ftello (Dependencies): Add extensions.
42678         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
42679
42680 2008-03-06  Bruno Haible  <bruno@clisp.org>
42681
42682         * modules/fseeko (Dependencies): Add extensions.
42683         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
42684         Needed on glibc systems.
42685
42686 2008-03-06  Bruno Haible  <bruno@clisp.org>
42687
42688         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
42689         email address.
42690         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42691
42692 2008-03-06  Bruno Haible  <bruno@clisp.org>
42693
42694         * users.txt: Add libgnupdf.
42695
42696 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42697
42698         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
42699         (Header File Substitutes, Function Substitutes,
42700         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
42701         (Build robot for gnulib): Fix typo.
42702
42703 2008-03-06  Bruno Haible  <bruno@clisp.org>
42704
42705         * doc/gnulib-tool.texi (VCS Issues): Small updates.
42706         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42707
42708 2008-03-06  Bruno Haible  <bruno@clisp.org>
42709
42710         * doc/func.texi: New file, extracted from doc/gnulib.texi.
42711         * doc/gnulib.texi: Include it.
42712
42713 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42714
42715         * modules/func (License): Change license to unlimited; there was
42716         no LGPL parts in the module anyway.
42717
42718 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42719
42720         * modules/__func__: Renamed to modules/func.
42721         * modules/__func__-tests: Renamed to modules/func-tests.
42722         * tests/test-__func__.c: Renamed to tests/test-func.c.
42723         * m4/__func__.m4: Renamed to m4/func.m4.
42724         * doc/gnulib.texi (__func__): Section renamed to func.
42725         Suggested by Eric Blake <ebb9@byu.net>.
42726
42727 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42728
42729         * doc/gnulib.texi (__func__): Use C99 terminology when talking
42730         about __func__.  Make example self-contained.  Suggested by Eric
42731         Blake <ebb9@byu.net>.
42732
42733         * tests/test-__func__.c (main): Avoid extraneous () around __func.
42734         Suggested by Eric Blake <ebb9@byu.net>.
42735
42736 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42737
42738         * modules/__func__: New file.
42739         * modules/__func__-tests: New file.
42740         * tests/test-__func__.c: New file.
42741         * m4/__func__.m4: New file.
42742         * doc/gnulib.texi (__func__): Document __func__ module.
42743
42744 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42745
42746         * modules/byteswap (License): Re-license as LGPLv2+.
42747
42748 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42749
42750         * doc/Makefile: Add pdf target.
42751
42752 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42753
42754         * modules/inline (License): Use 'unlimited', since there are only
42755         *.m4 files in this module.
42756
42757 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42758             Bruno Haible  <bruno@clisp.org>
42759
42760         Add support for HP C 7.1 on OpenVMS 8.3.
42761         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
42762
42763 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42764
42765         Update VMS specifics.
42766         * lib/getopt.c [VMS]: Remove include of unixlib.h.
42767
42768 2008-03-02  Jim Meyering  <meyering@redhat.com>
42769
42770         Remove the last dependency on the "free" module.
42771         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
42772         Reported by Bob Proulx.
42773
42774         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
42775
42776         Remove useless "if" tests before free.  Deprecate "free" module.
42777         * doc/posix-functions/free.texi: Mention that this
42778         module is no longer useful.
42779         * modules/free (Notice): Say this module is obsolete.
42780         * modules/readutmp (Depends-on): Remove free.
42781         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
42782         * lib/putenv.c (putenv): Likewise.
42783         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
42784         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
42785         * tests/test-c-strcasestr.c (main): Likewise.
42786         * tests/test-c-strstr.c (main): Likewise.
42787         * tests/test-mbscasestr1.c (main): Likewise.
42788         * tests/test-mbscasestr2.c (main): Likewise.
42789         * tests/test-mbsstr1.c (main): Likewise.
42790         * tests/test-mbsstr2.c (main): Likewise.
42791         * tests/test-memmem.c (main): Likewise.
42792         * tests/test-strcasestr.c (main): Likewise.
42793         * tests/test-striconv.c (main): Likewise.
42794         * tests/test-striconveh.c (main): Likewise.
42795         * tests/test-striconveha.c (main): Likewise.
42796         * tests/test-strstr.c (main): Likewise.
42797
42798         * build-aux/git-version-gen: Adjust a comment and the Usage string.
42799
42800         bootstrap: sync from coreutils again
42801         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
42802
42803 2008-03-01  Jim Meyering  <meyering@redhat.com>
42804
42805         bootstrap: sync from coreutils
42806         * build-aux/bootstrap (update_po_files): Copy a .po file into place
42807         also when the target doesn't exist.
42808
42809 2008-03-01  Eric Blake  <ebb9@byu.net>
42810
42811         Fix bugs in last patch.
42812         * lib/memchr2.c (memchr2): Fix typo.
42813         * tests/test-memchr2.c: Test previous bug, and don't use GNU
42814         extension.
42815         Reported by Bruce Korb.
42816
42817         New module 'memchr2'.
42818         * modules/memchr2: New file.
42819         * modules/memchr2-tests: Likewise.
42820         * lib/memchr2.h: Likewise.
42821         * lib/memchr2.c: Likewise, based on memchr.c.
42822         * tests/test-memchr2.c: New test.
42823         * MODULES.html.sh (String handling): Add memchr2.
42824
42825 2008-02-29  Bruno Haible  <bruno@clisp.org>
42826
42827         * modules/freadseek-tests: New file.
42828         * tests/test-freadseek.sh: New file.
42829         * tests/test-freadseek.c: New file.
42830
42831         New module 'freadseek'.
42832         * modules/freadseek: New file.
42833         * lib/freadseek.h: New file.
42834         * lib/freadseek.c: New file.
42835         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
42836
42837 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42838
42839         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
42840         wydawca.
42841
42842         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
42843         program_invocation_name and program_invocation_short_name are
42844         present.
42845
42846 2008-02-28  Bruno Haible  <bruno@clisp.org>
42847
42848         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
42849         * tests/test-freadptr.sh: Also test non-seekable stdin.
42850
42851 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
42852
42853         * build-aux/bootstrap (source_base, m4_base)
42854         (doc_base, tests_base): New variables.
42855         (gnulib_tool_options): Do not hardcode base directories, use
42856         the above variables instead.
42857
42858 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
42859
42860         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
42861
42862 2008-02-28  Bruno Haible  <bruno@clisp.org>
42863
42864         * modules/freadptr-tests: New file.
42865         * tests/test-freadptr.sh: New file.
42866         * tests/test-freadptr.c: New file.
42867
42868         New module 'freadptr'.
42869         * modules/freadptr: New file.
42870         * lib/freadptr.h: New file.
42871         * lib/freadptr.c: New file.
42872         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
42873
42874 2008-02-26  Karl Berry  <karl@freefriends.org>
42875
42876         Sync from Libtool:
42877         * libltdl/argz.c (argz_add, argz_count): New functions.
42878         * libltdl/argz.in.h: Declare them.
42879         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
42880
42881 2008-02-22  Bruno Haible  <bruno@clisp.org>
42882
42883         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
42884         is a pointer type.  Needed for HP-UX 10.
42885         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
42886         * doc/posix-functions/gmtime_r.texi: Likewise.
42887         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42888
42889 2008-02-24  Bruno Haible  <bruno@clisp.org>
42890
42891         * modules/environ-tests: New file.
42892         * tests/test-environ.c: New file.
42893
42894         New module 'environ'.
42895         * modules/environ: New file.
42896         * lib/unistd.in.h (environ): New declaration.
42897         * m4/environ.m4: New file.
42898         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
42899         after use.
42900         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
42901         HAVE_DECL_ENVIRON.
42902         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
42903         HAVE_DECL_ENVIRON.
42904         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
42905         wrong claim that 'environ' is missing on some systems.
42906         * modules/execute (Depends-on): Add environ.
42907         * lib/execute.c (environ): Remove fallback declaration.
42908         * modules/pipe (Depends-on): Add environ.
42909         * lib/pipe.c (environ): Remove fallback declaration.
42910         * modules/setenv (Depends-on): Add environ.
42911         * lib/setenv.c (environ): Remove fallback declaration.
42912         * modules/unsetenv (Depends-on): Add environ.
42913         * lib/unsetenv.c (environ): Remove fallback declaration.
42914         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
42915         m4/environ.m4.
42916         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
42917         (gl_PREREQ_UNSETENV): Likewise.
42918
42919 2008-02-24  Bruno Haible  <bruno@clisp.org>
42920
42921         * doc/posix-functions/environ.texi: Document the MacOS X problem.
42922
42923 2008-02-20  Bob Proulx  <bob@proulx.com>
42924
42925         Enable use of older two part flavor 'git describe'.
42926         * build-aux/git-version-gen: If using the older two part flavor of
42927         git version then recreate the third part now present in the
42928         newer three part flavor of git describe.
42929
42930 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
42931
42932         * lib/fts.c (fts_build): Typo correction to comment.
42933
42934 2008-02-17  Bruno Haible  <bruno@clisp.org>
42935
42936         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
42937         generating no-op conflicts.
42938
42939 2008-02-17  Bruno Haible  <bruno@clisp.org>
42940
42941         Speed up by 10%.
42942         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
42943         result_entries, rather than an index-based loop.
42944
42945 2008-02-17  Bruno Haible  <bruno@clisp.org>
42946
42947         Speed up by 25%.
42948         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
42949         'hashcode_cached'.
42950         (entry_create): New function.
42951         (entry_hashcode): Use the cached hashcode if possible.
42952         (read_changelog_file, try_split_merged_entry): Use entry_create.
42953
42954 2008-02-17  Bruno Haible  <bruno@clisp.org>
42955
42956         Speed up from O(n^2) to O(n) for long ChangeLog files.
42957         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
42958         (read_changelog_file): Change implementation of entries_reversed list
42959         to rbtreehash.
42960         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
42961
42962 2008-02-17  Bruno Haible  <bruno@clisp.org>
42963
42964         New option --split-merged-entry.
42965         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
42966         (find_paragraph_end, try_split_merged_entry): New functions.
42967         (long_options): Add option --split-merged-entry.
42968         (usage): Document option --split-merged-entry.
42969         (main): Implement option --split-merged-entry.
42970         Reported by Eric Blake.
42971
42972 2008-02-17  Bruno Haible  <bruno@clisp.org>
42973
42974         * lib/git-merge-changelog.c: Include c-strstr.h.
42975         (main): Support the "git pull --rebase" situation.
42976         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42977         Reported by Eric Blake.
42978
42979 2008-02-16  Eric Blake  <ebb9@byu.net>
42980
42981         Avoid doubling \ in common case of "c-maybe" quoting style.
42982         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42983         eliding outer quotes.
42984         * lib/quotearg.h: Document this.
42985         * tests/test-quotearg.c (result_strings, inputs, results_g)
42986         (flag_results, locale_results): Test it by adding a new string to
42987         each test group.
42988         (compare_strings): Test new string.
42989
42990 2008-02-13  Eric Blake  <ebb9@byu.net>
42991
42992         Avoid trigraph quoting in default output.
42993         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42994         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42995         unless explicitly requested.
42996         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42997
42998 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42999
43000         Don't rely on signed integer overflowing to negative value.
43001         * lib/getugroups.c (getugroups): Include <limits.h>.
43002         Instead, compare against INT_MAX, and increment only if the test passes.
43003
43004 2008-02-13  Jim Meyering  <meyering@redhat.com>
43005         and Eric Blake  <ebb9@byu.net>
43006
43007         Avoid shadowing warning and compile errors on Linux.
43008         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
43009         forwarding macros on Linux.
43010         (dcgettext): Define a stub, for Linux.
43011         (results_g, main): Avoid warnings.
43012
43013 2008-02-12  Eric Blake  <ebb9@byu.net>
43014
43015         Silence warning in last patch.
43016         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
43017
43018         Quotearg part 4: add tests, fix c-maybe colon quoting.
43019         * lib/quotearg.h: Improve documentation.
43020         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
43021         escapes when adding outer quotes.  When quoting trigraphs, use
43022         valid C notation.  When quoting NUL, omit extra characters if next
43023         character is not digit.  Alter prototype.
43024         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
43025         callers.
43026         * modules/quotearg-tests: New module.
43027         * tests/test-quotearg.c: New test.
43028
43029 2008-02-07  Eric Blake  <ebb9@byu.net>
43030
43031         Quotearg part 3: add flag to control outer quote elision.
43032         * lib/quotearg.h (c_maybe_quoting_style): New style.
43033         (enum quoting_flags): Better documentation of flags.
43034         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
43035         c-maybe style.
43036         (quotearg_buffer_restyled): Handle new flag to elide outer
43037         quotes.
43038
43039         Quotearg part 2: add flag that can control NUL elision.
43040         * lib/quotearg.h (set_quoting_flags): New prototype.
43041         * lib/quotearg.c (struct quoting_options): Add flag field.
43042         (set_quoting_flags): New function.
43043         (quotearg_buffer_restyled): Add flags parameter.
43044         (quotearg_alloc_mem): Set the flag if length cannot be returned.
43045         (quotearg_n_options): Set the flag, since length cannot be
43046         returned.
43047         (quoting_options_from_style): Default flags correctly.
43048
43049         Quotearg part 1: more wrappers, restore quotearg_char state.
43050         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
43051         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
43052         (quotearg_colon_mem): New wrappers.
43053         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
43054         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
43055         functions.
43056         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
43057         (quotearg_colon_mem): New functions.
43058
43059 2008-02-11  Bruno Haible  <bruno@clisp.org>
43060
43061         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
43062         library in the current directory: it does not work with parallel make.
43063         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43064
43065 2008-02-11  Bruno Haible  <bruno@clisp.org>
43066
43067         * .gitattributes: New file.
43068
43069 2008-02-11  Jim Meyering  <meyering@redhat.com>
43070
43071         useless-if-before-free: Fix reversed exit values.
43072         * build-aux/useless-if-before-free: Use correct values
43073         for EXIT_MATCH and EXIT_NO_MATCH.
43074
43075         * build-aux/useless-if-before-free: Close stdout carefully.
43076
43077 2008-02-10  Bruno Haible  <bruno@clisp.org>
43078
43079         New module 'git-merge-changelog'.
43080         * modules/git-merge-changelog: New file.
43081         * lib/git-merge-changelog.c: New file.
43082
43083 2008-02-10  Jim Meyering  <meyering@redhat.com>
43084
43085         useless-if-before-free: New option: --list (-l).
43086
43087         useless-if-before-free: Don't exit immediately upon open failure.
43088         * build-aux/useless-if-before-free: Exit 2 for errors.
43089         Upon failure to open a file, don't exit immediately.
43090         Rather, just warn and continue with any remaining files.
43091
43092 2008-02-10  Bruno Haible  <bruno@clisp.org>
43093
43094         New abstract list operation 'node_set_value'.
43095         * lib/gl_list.h (gl_list_node_set_value): New function.
43096         (struct gl_list_implementation): New field node_set_value.
43097         * lib/gl_list.c (gl_list_node_set_value): New function.
43098         * lib/gl_array_list.c (gl_array_node_set_value): New function.
43099         (gl_array_list_implementation): Update.
43100         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
43101         (gl_carray_list_implementation): Update.
43102         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
43103         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43104         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43105         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
43106         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43107         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43108         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43109         Update.
43110         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43111         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
43112         (gl_sublist_list_implementation): Update.
43113
43114 2008-02-10  Bruno Haible  <bruno@clisp.org>
43115
43116         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
43117         Needed when ELEMENT is #defined to 'some_type *'.
43118
43119 2008-02-10  Jim Meyering  <meyering@redhat.com>
43120
43121         New script and module: useless-if-before-free
43122         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
43123         * build-aux/useless-if-before-free: New file.
43124         * modules/useless-if-before-free: New file.
43125
43126         * build-aux/gitlog-to-changelog: Use committer date, not author date.
43127
43128         xstrtol_error: Fix typo.
43129         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
43130         s/exit_failure/exit_status/.
43131
43132 2008-02-09  Jim Meyering  <meyering@redhat.com>
43133
43134         New script and module: gitlog-to-changelog
43135         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
43136         * modules/gitlog-to-changelog: New file.
43137         * build-aux/gitlog-to-changelog: New file.
43138
43139 2008-02-08  Jim Meyering  <meyering@redhat.com>
43140
43141         Avoid two "parameter unused" warnings.
43142         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
43143         Mark "st" as used.
43144
43145         Use "git COMMAND", not "git-COMMAND".
43146         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
43147         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
43148         * build-aux/git-version-gen: Use "git status", not "git-status".
43149
43150 2008-02-07  Bruno Haible  <bruno@clisp.org>
43151
43152         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
43153         Avoids a crash on Windows Vista.
43154         Reported by Adam Strzelecki <ono@java.pl> via
43155         Simon Josefsson <simon@josefsson.org>.
43156
43157 2008-02-06  Bruno Haible  <bruno@clisp.org>
43158
43159         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
43160         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
43161         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
43162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
43163         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43164         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43165         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
43166         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
43167         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43168         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43169         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43170         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43171         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43172         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43173         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43174         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
43175         left-adjust flag.
43176         * tests/test-snprintf-posix.h (test_function): Likewise.
43177         * tests/test-sprintf-posix.h (test_function): Likewise.
43178         * tests/test-vasprintf-posix.c (test_function): Likewise.
43179         * doc/posix-functions/fprintf.texi: Update.
43180         * doc/posix-functions/printf.texi: Update.
43181         * doc/posix-functions/snprintf.texi: Update.
43182         * doc/posix-functions/sprintf.texi: Update.
43183         * doc/posix-functions/vfprintf.texi: Update.
43184         * doc/posix-functions/vprintf.texi: Update.
43185         * doc/posix-functions/vsnprintf.texi: Update.
43186         * doc/posix-functions/vsprintf.texi: Update.
43187         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43188
43189 2008-02-06  Bruno Haible  <bruno@clisp.org>
43190
43191         Fix bug introduced on 2008-01-26.
43192         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
43193
43194 2008-02-06  Bruno Haible  <bruno@clisp.org>
43195
43196         Fix bug introduced on 2007-06-10.
43197         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
43198         !NEED_PRINTF_FLAG_ZERO.
43199
43200 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
43201
43202         getloadavg: use libperfstat on AIX5
43203         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
43204
43205 2008-02-03  Bruno Haible  <bruno@clisp.org>
43206
43207         * lib/diffseq.h: Add comments about required #includes.
43208         Reported by Michael Biggs <gnulib@doubleplum.net>.
43209
43210 2008-02-01  Bruno Haible  <bruno@clisp.org>
43211
43212         * users.txt: Add gnuit.
43213
43214 2008-01-31  Bruno Haible  <bruno@clisp.org>
43215
43216         * lib/md4.c (set_uint32): Mark as inline.
43217         * lib/md5.c (set_uint32): Likewise.
43218         * lib/sha1.c (set_uint32): Likewise.
43219         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
43220         * m4/md5.m4 (gl_MD5): Likewise.
43221         * m4/sha1.m4 (gl_SHA1): Likewise.
43222
43223 2008-01-31  Jim Meyering  <meyering@redhat.com>
43224
43225         Use "sizeof VAR", rather than a literal "4".
43226         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
43227         * lib/md4.c (md4_read_ctx): Likewise.
43228         * lib/sha1.c (sha1_read_ctx): Likewise.
43229
43230 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43231
43232         * tests/test-sha1.c: New file, based on test-md5.c.
43233
43234         * modules/crypto/sha1-tests: New file.
43235
43236 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43237
43238         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
43239
43240 2008-01-31  Jim Meyering  <meyering@redhat.com>
43241
43242         Prefer "sizeof v" over the equivalent "4".
43243         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
43244         * lib/md5.c (set_uint32): Likewise.
43245         * lib/sha1.c (set_uint32): Likewise.
43246
43247 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43248
43249         * lib/sha1.c (set_uint32): Mark function as static.
43250
43251 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43252
43253         md2: clarify comments to say that alignment is not required.
43254         * lib/md2.h: Remove warning about alignment in comment.
43255         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
43256         never been required.
43257
43258 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43259
43260         md4: adapt alignment constraint fix from sha1.
43261         * lib/md4.c (set_uint32): New function, from sha1.c
43262         (md4_read_ctx): Use it.
43263         (md4_finish_ctx): Doc fix.
43264         * lib/md4.h: Doc fix.
43265
43266 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43267
43268         md5: adapt alignment constraint fix from sha1.
43269         * lib/md5.c (set_uint32): New function, from sha1.c
43270         (md5_read_ctx): Use it.
43271         (md5_finish_ctx): Doc fix.
43272         * lib/md5.h: Doc fix.
43273
43274 2008-01-30  Peter Palfrader  <weasel@debian.org>
43275
43276         sha1: remove the result buffer alignment constraint
43277         * lib/sha1.c (set_uint32): New function.
43278         (sha1_read_ctx): Rewrite to remove the result buffer alignment
43279         constraint.
43280         (sha1_finish_ctx): Remove comment warning about alignment constraint.
43281         * lib/sha1.h: Likewise.
43282
43283 2008-01-30  Andreas Schwab  <schwab@suse.de>
43284             Bruno Haible  <bruno@clisp.org>
43285
43286         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
43287         correct definition of LDBL_MIN_EXP.
43288
43289 2008-01-30  Karl Berry  <karl@gnu.org>
43290
43291         * config/srclist-update: try to preserve x bit on updates.
43292         * config/srclistvars.sh: update for karl.
43293
43294 2008-01-29  Jim Meyering  <meyering@redhat.com>
43295
43296         vasnprintf.c: Avoid warning about unused label
43297         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
43298         "overflow" label definition and associated code with the
43299         same cpp condition that guards the sole use of that label.
43300
43301 2008-01-26  Bruno Haible  <bruno@clisp.org>
43302
43303         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
43304         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
43305         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
43306         * lib/isnanl-nolibm.h (isnanl): Likewise.
43307         Reported by Paul Eggert <eggert@cs.ucla.edu>.
43308
43309 2008-01-26  Bruno Haible  <bruno@clisp.org>
43310
43311         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
43312         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
43313
43314 2008-01-26  Bruno Haible  <bruno@clisp.org>
43315
43316         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
43317         GCC >= 4.0 built-in.
43318         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
43319
43320 2008-01-26  Bruno Haible  <bruno@clisp.org>
43321
43322         Rename isnan, applicable to 'double' only, to isnand.
43323         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
43324         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
43325         (configure.ac): Update.
43326         (Include): Replace "isnan.h" with "isnand.h".
43327         * m4/isnand.m4: Renamed from m4/isnan.m4.
43328         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
43329         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
43330         instead of isnan.c.
43331         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
43332         instead of HAVE_ISNAN_IN_LIBC.
43333         (isnand): Renamed from isnan.
43334         * lib/isnand.c: New file.
43335         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
43336         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
43337         (Makefile.am): Update.
43338         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
43339         Include isnand.h instead of isnan.h.
43340         (main): Test isnand instead of isnan.
43341         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
43342         isnan-nolibm.
43343         * modules/frexp (Depends-on): Likewise.
43344         * modules/frexp-tests (Depends-on): Likewise.
43345         * modules/frexp-nolibm (Depends-on): Likewise.
43346         * modules/frexp-nolibm-tests (Depends-on): Likewise.
43347         * modules/isfinite (Depends-on): Likewise.
43348         * modules/round-tests (Depends-on): Likewise.
43349         * modules/signbit (Depends-on): Likewise.
43350         * modules/signbit-tests (Depends-on): Likewise.
43351         * modules/snprintf-posix (Depends-on): Likewise.
43352         * modules/sprintf-posix (Depends-on): Likewise.
43353         * modules/trunc-tests (Depends-on): Likewise.
43354         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43355         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43356         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43357         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43358         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43359         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43360         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43361         * modules/vasnprintf-posix (Depends-on): Likewise.
43362         * modules/vasprintf-posix (Depends-on): Likewise.
43363         * modules/vfprintf-posix (Depends-on): Likewise.
43364         * modules/vsnprintf-posix (Depends-on): Likewise.
43365         * modules/vsprintf-posix (Depends-on): Likewise.
43366         * lib/frexp.c: Include isnand.h instead of isnan.h.
43367         (ISNAN): Set to isnand instead of isnan.
43368         * lib/isfinite.c: Include isnand.h instead of isnan.h.
43369         (gl_isfinited): Use isnand instead of isnan.
43370         * lib/signbitd.c: Include isnand.h instead of isnan.h.
43371         (gl_signbitd): Use isnand instead of isnan.
43372         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
43373         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
43374         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
43375         (main): Use isnand instead of isnan.
43376         * tests/test-round1.c: Include isnand.h.
43377         (main): Use isnand instead of isnan.
43378         * tests/test-round2.c: Include isnand.h instead of isnan.h.
43379         (ISNAN): Set to isnand instead of isnan.
43380         * tests/test-trunc1.c: Include isnand.h.
43381         (main): Use isnand instead of isnan.
43382         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
43383         (equal): Use isnand instead of isnan.
43384         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
43385         isnand-nolibm.
43386         * NEWS: Mention the change.
43387
43388 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43389             Bruno Haible  <bruno@clisp.org>
43390
43391         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
43392         the GCC builtins for signbits are present and set
43393         REPLACE_SIGNBIT_USING_GCC if so.
43394         * lib/math.in.h (signbit): Define using GCC builtins if
43395         REPLACE_SIGNBIT_USING_GCC is set.
43396         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
43397         REPLACE_SIGNBIT_USING_GCC.
43398         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
43399
43400 2008-01-25  Jim Meyering  <meyering@redhat.com>
43401
43402         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
43403         * lib/poll.c: Include <config.h>, not "config.h".
43404         * tests/test-getaddrinfo.c: Likewise.
43405
43406 2008-01-25  Simon Josefsson  <simon@josefsson.org>
43407
43408         * modules/sockets-tests: New file.
43409
43410 2008-01-24  Simon Josefsson  <simon@josefsson.org>
43411
43412         * modules/sockets: New module, can be used to call WSA_Startup and
43413         WSA_Cleanup when needed.
43414
43415         * lib/sockets.h, lib/sockets.c: New files.
43416
43417         * m4/sockets.m4: New file.
43418
43419         * tests/test-sockets.c: New file.
43420
43421 2008-01-19  Bruno Haible  <bruno@clisp.org>
43422
43423         * doc/posix-headers: Renamed from doc/headers.
43424         * doc/posix-functions: Renamed from doc/functions.
43425         * doc/gnulib.texi: Update.
43426
43427 2008-01-19  Bruno Haible  <bruno@clisp.org>
43428
43429         * doc/glibc-functions/strcasestr.texi: Include contents of
43430         doc/functions/strcasestr.texi, fixing the list of platforms.
43431         * doc/functions/strcasestr.texi: Remove file.
43432
43433 2008-01-19  Bruno Haible  <bruno@clisp.org>
43434
43435         * doc/glibc-functions/memmem.texi: Include contents of
43436         doc/functions/memmem.texi.
43437         * doc/functions/memmem.texi: Remove file.
43438
43439 2008-01-18  Bruno Haible  <bruno@clisp.org>
43440
43441         * doc/glibc-functions/*.texi: New files.
43442         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
43443         to use the new files.
43444
43445 2008-01-17  Bruno Haible  <bruno@clisp.org>
43446
43447         * tests/test-gethostname.c (main): Fix printf statement.
43448
43449 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43450
43451         * modules/gethostname-tests: New file.
43452
43453         * tests/test-gethostname.c: New file.
43454
43455 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43456
43457         * lib/gethostname.c: Include string.h unconditionally, strncpy is
43458         used by the UNAME case.  Reported by Bruno Haible
43459         <bruno@clisp.org>.
43460
43461 2008-01-17  Eric Blake  <ebb9@byu.net>
43462
43463         Convert c-strcasestr to be more efficient.
43464         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
43465         (Depends-on): Add c-strcase, remove malloca, strnlen.
43466         * tests/test-c-strcasestr.c (main): Enhance test.
43467         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
43468
43469 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43470
43471         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
43472         Use it in creating po/Makevars.
43473
43474 2008-01-15  Simon Josefsson  <simon@josefsson.org>
43475
43476         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
43477         Applications that requires it should initialize libgcrypt
43478         manually.
43479
43480 2008-01-16  Simon Josefsson  <simon@josefsson.org>
43481
43482         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
43483
43484 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
43485
43486         Fix problem with getdate on mingw32 reported by Simon Josefsson
43487         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
43488         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
43489         tzname", when deciding whether to declare tzname.
43490         * lib/strftime.c (tzname): Likewise.
43491
43492 2008-01-15  Bruno Haible  <bruno@clisp.org>
43493
43494         Work around a MacOS X 10.5 bug in frexpl().
43495         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
43496         * doc/functions/frexpl.texi: Document the bug.
43497         Reported by Elias Pipping <pipping@gentoo.org>.
43498
43499 2008-01-14  Eric Blake  <ebb9@byu.net>
43500
43501         Touch up previous patch.
43502         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
43503         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
43504
43505         Convert strcasestr module to use Two-Way algorithm.
43506         * modules/strcasestr-simple: New module, based on the old
43507         strcasestr, but with Two-Way rather than KMP.
43508         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
43509         * lib/string.in.h (rpl_strcasestr): Declare.
43510         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
43511         performance.
43512         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
43513         * modules/string (Makefile.am): Support strcasestr.
43514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43515         * modules/strcasestr-tests (Depends-on): Check for alarm.
43516         * tests/test-strcasestr.c: Augment test.
43517         * lib/str-two-way.h: Clean up stray macro.
43518         * NEWS: Document new module.
43519         * MODULES.html.sh (string handling): Likewise.
43520         * doc/functions/strcasestr.texi: New file.
43521         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
43522         here, since it is not a POSIX function.
43523
43524 2008-01-14  Colin Watson  <cjwatson@debian.org>
43525             Bruno Haible  <bruno@clisp.org>
43526
43527         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
43528         works fine; if not, set REPLACE_STRSIGNAL.
43529         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
43530         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43531         REPLACE_STRSIGNAL.
43532         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
43533         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
43534         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
43535
43536 2008-01-14  Bruno Haible  <bruno@clisp.org>
43537
43538         * modules/strsignal (Include): Change to <string.h>.
43539
43540 2008-01-14  Colin Watson  <cjwatson@debian.org>
43541
43542         * modules/argp (Notice): Add a notice recommending to change
43543         XGETTEXT_OPTIONS.
43544         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
43545
43546 2008-01-13  Colin Watson  <cjwatson@debian.org>
43547
43548         * modules/strsignal-tests: New file.
43549         * tests/test-strsignal.c: New file.
43550
43551         * lib/strsignal.c: New file, from glibc with modifications.
43552         * lib/siglist.h: New file, from glibc with modifications.
43553         * lib/string.in.h (strsignal): New declaration.
43554         * m4/strsignal.m4: New file.
43555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43556         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
43557         * modules/strsignal: New file.
43558         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
43559         HAVE_DECL_STRSIGNAL.
43560
43561 2008-01-13  Bruno Haible  <bruno@clisp.org>
43562
43563         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
43564         locale encoding is not ASCII. Needed for OpenBSD 4.0.
43565         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43566         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43567
43568 2008-01-13  Bruno Haible  <bruno@clisp.org>
43569
43570         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
43571         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
43572         * lib/argp.h (__attribute__): Likewise.
43573         * lib/c-stack.c (__attribute__): Likewise.
43574         * lib/error.h (__attribute__): Likewise.
43575         * lib/fts.c (__attribute__): Likewise.
43576         * lib/openat.h (__attribute__): Likewise.
43577         * lib/stdio.in.h (__attribute__): Likewise.
43578         * lib/string.in.h (__attribute__): Likewise.
43579         * lib/utimens.c (__attribute__): Likewise.
43580         * lib/vasnprintf.h (__attribute__): Likewise.
43581         * lib/xalloc.h (__attribute__): Likewise.
43582         * lib/xprintf.h (__attribute__): Likewise.
43583         * lib/xstrtol.h (__attribute__): Likewise.
43584         * lib/xvasprintf.h (__attribute__): Likewise.
43585
43586 2008-01-12  Bruno Haible  <bruno@clisp.org>
43587
43588         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
43589         * doc/glibc-headers/a.out.texi: New file.
43590         * doc/glibc-headers/aliases.texi: New file.
43591         * doc/glibc-headers/alloca.texi: New file.
43592         * doc/glibc-headers/ar.texi: New file.
43593         * doc/glibc-headers/argp.texi: New file.
43594         * doc/glibc-headers/argz.texi: New file.
43595         * doc/glibc-headers/byteswap.texi: New file.
43596         * doc/glibc-headers/crypt.texi: New file.
43597         * doc/glibc-headers/endian.texi: New file.
43598         * doc/glibc-headers/envz.texi: New file.
43599         * doc/glibc-headers/err.texi: New file.
43600         * doc/glibc-headers/error.texi: New file.
43601         * doc/glibc-headers/execinfo.texi: New file.
43602         * doc/glibc-headers/fpu_control.texi: New file.
43603         * doc/glibc-headers/fstab.texi: New file.
43604         * doc/glibc-headers/fts.texi: New file.
43605         * doc/glibc-headers/getopt.texi: New file.
43606         * doc/glibc-headers/ieee754.texi: New file.
43607         * doc/glibc-headers/ifaddrs.texi: New file.
43608         * doc/glibc-headers/libintl.texi: New file.
43609         * doc/glibc-headers/mcheck.texi: New file.
43610         * doc/glibc-headers/mntent.texi: New file.
43611         * doc/glibc-headers/obstack.texi: New file.
43612         * doc/glibc-headers/paths.texi: New file.
43613         * doc/glibc-headers/printf.texi: New file.
43614         * doc/glibc-headers/pty.texi: New file.
43615         * doc/glibc-headers/resolv.texi: New file.
43616         * doc/glibc-headers/shadow.texi: New file.
43617         * doc/glibc-headers/sysexits.texi: New file.
43618         * doc/glibc-headers/ttyent.texi: New file.
43619
43620 2008-01-12  Jim Meyering  <meyering@redhat.com>
43621
43622         announce-gen: emit Gnulib's git-based version string.
43623         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
43624         New option --gnulib-version=V, where V is expected to be
43625         the output of running git describe in the gnulib directory.
43626         (get_tool_versions): Request feedback on xdelta.  I suspect it's
43627         not useful, and plan to stop publishing an xdelta file with each
43628         coreutils release.
43629
43630         * build-aux/announce-gen: Also check for lzma-compressed files.
43631
43632 2008-01-11  Bruno Haible  <bruno@clisp.org>
43633
43634         * tests/test-memmem.c (main): Increase maximum allowed time.
43635         * tests/test-strstr.c (main): Likewise.
43636
43637 2008-01-11  Bruno Haible  <bruno@clisp.org>
43638
43639         * doc/functions/memmem.texi: Add more precisions about platforms.
43640         * doc/functions/strstr.texi: Likewise.
43641
43642 2008-01-10  Eric Blake  <ebb9@byu.net>
43643
43644         * m4/strstr.m4: Delete cruft from copy-n-paste.
43645         Reported by Bruno Haible.
43646
43647 2008-01-10  Bruno Haible  <bruno@clisp.org>
43648
43649         Make c-strstr rely on strstr.
43650         * lib/c-strstr.c: Don't include str-kmp.h.
43651         (c_strstr): Define in terms of strstr.
43652         * modules/c-strstr (Files): Remove lib/str-kmp.h.
43653         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
43654
43655 2008-01-10  Bruno Haible  <bruno@clisp.org>
43656
43657         * doc/gnulib.texi (String Functions in C Locale): New section.
43658         * doc/c-ctype.texi: New file.
43659         * doc/c-strcase.texi: New file.
43660         * doc/c-strcaseeq.texi: New file.
43661         * doc/c-strcasestr.texi: New file.
43662         * doc/c-strstr.texi: New file.
43663         * doc/c-strtod.texi: New file.
43664         * doc/c-strtold.texi: New file.
43665
43666 2008-01-10  Eric Blake  <ebb9@byu.net>
43667
43668         * lib/relocatable.h: Fix a comment.
43669
43670 2008-01-10  Eric Blake  <ebb9@byu.net>
43671
43672         Share two-way algorithm.
43673         * lib/str-two-way.h: New file, merged from...
43674         * lib/memmem.c: ...here...
43675         * lib/strstr.c: ...and here.
43676         * modules/memmem (Files): Use it.
43677         * modules/strstr (Files): Likewise.
43678
43679         Avoid quadratic strstr implementations.
43680         * lib/strstr.c: New file.
43681         * m4/strstr.m4: Likewise.
43682         * modules/strstr: Likewise.
43683         * modules/strstr-tests: Likewise.
43684         * tests/test-strstr.c: Likewise.
43685         * lib/string.in.h (rpl_strstr): Declare.
43686         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
43687         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
43688         * modules/string (Makefile.am): Likewise.
43689         * MODULES.html.sh (string handling): Mention new module.
43690         * doc/functions/strstr.texi (strstr): Document the bug.
43691
43692 2008-01-10  Bruno Haible  <bruno@clisp.org>
43693
43694         * lib/relocatable.h (relocate): State whether result is freshly
43695         allocated or not.
43696         * lib/relocatable.c (relocate): Return a freshly allocated string
43697         instead of a pointer to a privately held string.
43698         Reported by Sylvain Beucler <beuc@gnu.org>.
43699
43700 2008-01-10  Colin Watson  <cjwatson@debian.org>
43701
43702         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
43703         s/S_ISNLK/S_ISLNK/.
43704
43705 2008-01-09  Bruno Haible  <bruno@clisp.org>
43706
43707         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
43708         and other files.
43709         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
43710         if it's only a guess.
43711         * modules/memmem: Simplify by depending on memmem-simple.
43712
43713 2008-01-09  Bruno Haible  <bruno@clisp.org>
43714
43715         Work around OpenBSD 4.0 tdelete() bug.
43716         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
43717         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
43718         macros and don't redefine the enum values.
43719         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
43720         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
43721         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
43722
43723 2008-01-09  Bruno Haible  <bruno@clisp.org>
43724
43725         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
43726         (main): Don't perform the tests if setlocale did not install a UTF-8
43727         locale. Needed on OpenBSD 4.0.
43728         * modules/wcwidth-tests (Depends-on): Add localcharset.
43729
43730 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43731
43732         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
43733         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
43734         * NEWS: announce this.
43735         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
43736
43737 2008-01-09  Simon Josefsson  <simon@josefsson.org>
43738         and Eric Blake  <ebb9@byu.net>
43739
43740         Add memmem-simple module.
43741         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
43742         (gl_FUNC_MEMMEM): Separate performance from presence checks.
43743         * modules/memmem-simple: New file.
43744         * modules/memmem (Description): Tweak.
43745         * MODULES.html.sh (string handling): Mention new module.
43746         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
43747         addressed by memmem-simple.
43748         * NEWS: Document the difference.
43749
43750 2008-01-09  Eric Blake  <ebb9@byu.net>
43751
43752         Give gcc some memmem optimization hints.
43753         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
43754         (strcasestr): Declare as pure.
43755         * modules/memmem (Maintainer): Claim my implementation.
43756
43757 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43758
43759         Support AIX 6.1 and higher.
43760         * build-aux/config.libpath: Likewise.
43761         * build-aux/config.rpath: Likewise.
43762
43763 2008-01-08  Jim Meyering  <meyering@redhat.com>
43764             Bruno Haible  <bruno@clisp.org>
43765
43766         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
43767         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
43768         Reported by Peter Fales in
43769         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
43770
43771 2008-01-08  Bruno Haible  <bruno@clisp.org>
43772
43773         * modules/unictype/category-of (Depends-on): Add
43774         unictype/category-none.
43775         * modules/unictype/category-and-tests (Depends-on): Add
43776         unictype/category-{L,N,Lu,Nd}.
43777         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
43778         * modules/unictype/category-or-tests (Depends-on): Add
43779         unictype/category-{L,N}.
43780         * modules/unictype/category-name-tests (Depends-on): Add
43781         unictype/category-{Z,Nl}.
43782         Reported by Simon Josefsson.
43783
43784 2008-01-08  Bruno Haible  <bruno@clisp.org>
43785
43786         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
43787         convention better.
43788         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
43789         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
43790         Reported by Peter Miller <millerp@canb.auug.org.au>.
43791
43792 2008-01-08  Eric Blake  <ebb9@byu.net>
43793
43794         Rewrite memmem to guarantee linear complexity without malloc.
43795         * lib/memmem.c (memmem): Use Two-Way rather than
43796         Knuth-Morris-Pratt, to allow O(1) space usage.
43797         (critical_factorization, two_way_short_needle)
43798         (two_way_long_needle): New functions.
43799         (knuth_morris_pratt): Delete.
43800         * modules/memmem (Depends-on): No longer need malloca or stdbool.
43801         Add stdint.
43802         * tests/test-memmem.c (main): Add tests for periodic needle and
43803         sublinear performance.
43804         * doc/functions/memmem.texi (memmem): Document other deficiencies
43805         in cygwin and older glibc.
43806
43807 2008-01-08  Bruno Haible  <bruno@clisp.org>
43808
43809         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
43810         augmentation.
43811
43812 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
43813
43814         Add a configure time option: --disable-acl.
43815         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
43816         AC_ARG_ENABLE(acl).
43817
43818 2008-01-06  Simon Josefsson  <simon@josefsson.org>
43819
43820         * tests/test-localename.c: Don't include obsolete "setenv.h".
43821
43822         * modules/localename-tests (Depends-on): Need unsetenv.
43823
43824 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43825
43826         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
43827
43828 2008-01-06  Colin Watson  <cjwatson@debian.org>
43829
43830         * users.txt: Add man-db.
43831
43832 2008-01-07  Bruno Haible  <bruno@clisp.org>
43833
43834         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
43835         previous section name.
43836
43837 2008-01-07  Bruno Haible  <bruno@clisp.org>
43838
43839         * lib/progname.c (set_program_name): Don't strip off a leading
43840         "lt-" prefix outside a .libs directory.
43841         Suggested by Paul Eggert.
43842
43843 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
43844             Bruno Haible  <bruno@clisp.org>
43845
43846         Improve memory cleanup in 'relocatable' module.
43847         * lib/relocatable.h (compute_curr_prefix): Change return type to
43848         'char *'.
43849         * lib/relocatable.c (compute_curr_prefix): Change return type to
43850         'char *'. Free curr_installdir after use.
43851         (relocate): Free curr_prefix_better after use.
43852         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
43853
43854 2008-01-01  Bruno Haible  <bruno@clisp.org>
43855
43856         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
43857         failure on older glibc systems.
43858         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43859
43860 2008-01-05  Eric Blake  <ebb9@byu.net>
43861
43862         Avoid quadratic system memmem.
43863         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
43864         Reported by Ralf Wildenhues.
43865
43866         Fix memmem test for mingw.
43867         * modules/memmem-tests (configure.ac): Check for alarm.
43868         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
43869         it.
43870         * doc/functions/memmem.texi: New file.
43871         * doc/gnulib.texi (Function Substitutes): Add memmem.
43872         Reported by Bruno Haible.
43873
43874 2008-01-04  Bruno Haible  <bruno@clisp.org>
43875
43876         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
43877         Require gl_HEADER_STRINGS_H_DEFAULTS, not
43878         gl_HEADER_STRING_H_DEFAULTS.
43879
43880 2008-01-04  Eric Blake  <ebb9@byu.net>
43881
43882         Shorten duration of memmem test.
43883         * tests/test-memmem.c (main): Use alarm to declare failure if test
43884         is taking too long.
43885         Reported by Ralf Wildenhues.
43886
43887 2007-12-21  Simon Josefsson  <simon@josefsson.org>
43888
43889         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
43890         string, needed by strerror.
43891
43892 2008-01-03  Colin Watson  <cjwatson@debian.org>
43893             Bruno Haible  <bruno@clisp.org>
43894
43895         * doc/gnulib-tool.texi (Localization): New section.
43896
43897 2008-01-02  Bruno Haible  <bruno@clisp.org>
43898
43899         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
43900         variables to 'unsigned char *' type.
43901         Reported by Paul Eggert.
43902
43903 2008-01-02  Jim Meyering  <jim@meyering.net>
43904
43905         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43906
43907 2007-12-31  Jim Meyering  <jim@meyering.net>
43908
43909         Avoid use of private FTS type name.
43910         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
43911
43912 2007-12-30  Karl Berry  <karl@gnu.org>
43913
43914         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
43915         work around defect in Texinfo and/or the standalone Info browser.
43916
43917 2007-12-30  Bruno Haible  <bruno@clisp.org>
43918
43919         Unify 5 copies of the KMP code.
43920         * lib/str-kmp.h: New file.
43921         * lib/c-strcasestr.c: Include str-kmp.h.
43922         (knuth_morris_pratt): Remove function.
43923         (c_strcasestr): Update.
43924         * lib/c-strstr.c: Include str-kmp.h.
43925         (knuth_morris_pratt): Remove function.
43926         (c_strcasestr): Update.
43927         * lib/mbscasestr.c: Include str-kmp.h.
43928         (knuth_morris_pratt_unibyte): Remove function.
43929         * lib/mbsstr.c: Include str-kmp.h.
43930         (knuth_morris_pratt_unibyte): Remove function.
43931         * lib/strcasestr.c: Include str-kmp.h.
43932         (knuth_morris_pratt): Remove function.
43933         (strcasestr): Update.
43934         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
43935         * modules/c-strstr (Files): Likewise.
43936         * modules/mbscasestr (Files): Likewise.
43937         * modules/mbsstr (Files): Likewise.
43938         * modules/strcasestr (Files): Likewise.
43939         Suggested by Paul Eggert.
43940
43941 2007-12-30  Bruno Haible  <bruno@clisp.org>
43942
43943         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
43944         defined.
43945
43946 2007-12-30  Bruno Haible  <bruno@clisp.org>
43947
43948         * lib/xmalloca.h: Include xalloc.h.
43949         (xnmalloca): New macro.
43950
43951 2007-12-30  Bruno Haible  <bruno@clisp.org>
43952
43953         * lib/malloca.h (nmalloca): New macro.
43954         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
43955         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
43956         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
43957         knuth_morris_pratt_multibyte): Likewise.
43958         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
43959         knuth_morris_pratt_multibyte): Likewise.
43960         * lib/memmem.c (knuth_morris_pratt): Likewise.
43961         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
43962
43963 2007-12-25  Bruno Haible  <bruno@clisp.org>
43964
43965         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
43966         * lib/glob.c: Don't include openat.h.
43967         (link_exists2_p): Add back the code that deals with the
43968         !GLOB_ALTDIRFUNC case.
43969         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
43970         let it do the filename concatenation.
43971         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43972         * modules/glob (Depends-on): Remove openat.
43973
43974 2007-12-31  Bruno Haible  <bruno@clisp.org>
43975
43976         * modules/dirfd (License): Change to LGPLv2+.
43977         Approved by Jim Meyering.
43978
43979 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43980
43981         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43982         when multiplying M by sizeof (size_t).
43983
43984 2007-12-10  Martin Lambers  <marlam@marlam.de>
43985
43986         Override getpagesize on mingw.
43987         * lib/getpagesize.c: New file.
43988         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43989         * modules/getpagesize (Files): Add lib/getpagesize.c.
43990         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43992         REPLACE_GETPAGESIZE.
43993         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43994
43995 2007-12-25  Bruno Haible  <bruno@clisp.org>
43996
43997         * modules/localcharset (Notice): New field.
43998         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43999         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
44000
44001 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44002             Bruno Haible  <bruno@clisp.org>
44003
44004         Avoid using the syntax symbol() in formatted documentation.
44005         * MODULES.html.sh (func_module): When replacing symbol() with a
44006         hyperlink, remove the parentheses. Show an error if some remain.
44007         Recognize and render the '...' syntax.
44008         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
44009         Rework. Add paragraph about GCC's inlining.
44010         * doc/alloca.texi: Likewise.
44011         * doc/error.texi: Remove parentheses from symbol reference.
44012         * doc/gnulib-intro.texi: Likewise.
44013         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
44014         * modules/fnmatch (Description): Reword to say "the ... function".
44015         * modules/full-read (Description): Likewise.
44016         * modules/full-write (Description): Likewise.
44017         * modules/safe-read (Description): Likewise.
44018         * modules/safe-write (Description): Likewise.
44019         * modules/strchrnul (Description): Likewise.
44020         * modules/trim (Description): Likewise.
44021         * modules/error (Description): Remove parentheses from symbol
44022         references.
44023         * modules/verror (Description): Likewise.
44024         Reported by Karl Berry.
44025
44026 2007-12-25  Bruno Haible  <bruno@clisp.org>
44027
44028         Fixup after 2007-10-16 commit.
44029         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
44030
44031 2007-12-24  Bruno Haible  <bruno@clisp.org>
44032
44033         Make --enable-relocatable work with DESTDIR.
44034         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
44035         to compute installdir from destprog.
44036         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
44037         also set the RELOC_DESTDIR variable.
44038         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44039
44040 2007-12-24  Bruno Haible  <bruno@clisp.org>
44041
44042         Fix link error due to xalloc_die().
44043         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
44044         of xreadlink.
44045         * lib/relocwrapper.c: Update comments.
44046         * build-aux/install-reloc: Remove xreadlink.c from file list.
44047         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
44048         xreadlink.c.
44049         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44050
44051 2007-12-24  Bruno Haible  <bruno@clisp.org>
44052
44053         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
44054         * lib/setenv.h: Remove file.
44055         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
44056         lib/setenv.h.
44057         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
44058         (Depends-on): Add stdlib.
44059         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
44060         gl_FUNC_UNSETENV.
44061         (Include): Replace setenv.h with <stdlib.h>.
44062         * modules/unsetenv: New file.
44063         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
44064         * lib/unsetenv.c: Include <stdlib.h> first.
44065         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
44066         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
44067         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
44068         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
44069         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
44070         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44071         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
44072         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44073         * doc/functions/unsetenv.texi: Update.
44074         * modules/xsetenv (Depends-on): Add unsetenv.
44075         * modules/getdate (Depends-on): Likewise.
44076         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
44077         * lib/xsetenv.c: Don't include setenv.h.
44078         * lib/getdate.y: Likewise.
44079         * lib/relocwrapper.c: Likewise.
44080         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
44081         (Depends-on): Add stdlib.
44082         * NEWS: Mention the changes.
44083         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44084
44085 2007-12-23  Bruno Haible  <bruno@clisp.org>
44086
44087         * lib/memmem.c (memmem): Use lowercase variable names. Tab
44088         indentation.
44089
44090 2007-12-23  Bruno Haible  <bruno@clisp.org>
44091
44092         * lib/c-strcasestr.c: Add more comments.
44093         * lib/c-strstr.c: Likewise.
44094         * lib/mbscasestr.c: Likewise.
44095         * lib/mbsstr.c: Likewise.
44096         * lib/strcasestr.c: Likewise.
44097         * lib/memmem.c: Likewise.
44098
44099 2007-12-23  Bruno Haible  <bruno@clisp.org>
44100
44101         * tests/test-memmem.c: Include <string.h> first.
44102
44103 2007-12-22  Bruno Haible  <bruno@clisp.org>
44104
44105         * gnulib-tool (func_create_testdir): Change $auxdir while generating
44106         the contents of $testsbase.
44107         Reported by Ralf Wildenhues.
44108
44109 2007-12-22  Bruno Haible  <bruno@clisp.org>
44110
44111         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
44112         two variables local_ldadd_before, local_ldadd_last.
44113
44114 2007-12-20  Eric Blake  <ebb9@byu.net>
44115
44116         Work around circular library issue when cross-compiling.
44117         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
44118         that progname.o does not need to pull in rpl_memcmp.
44119
44120 2007-12-19  Eric Blake  <ebb9@byu.net>
44121
44122         Fix memmem to avoid O(n^2) worst-case complexity.
44123         * lib/memmem.c (knuth_morris_pratt): New function.
44124         (memmem): Use it if first few naive iterations fail.
44125         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
44126         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
44127         * modules/memchr (License): Likewise.
44128         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
44129         malloca.
44130         * tests/test-memmem.c: Rewrite, borrowing ideas from
44131         test-mbsstr1.c; the old version wouldn't even compile!
44132         * modules/memmem-tests: New file.
44133         * lib/string.in.h (rpl_memmem): Add declaration.
44134         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
44135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
44136         REPLACE_MEMMEM.
44137
44138 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44139
44140         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
44141         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
44142         before any system include files, and undef after them all.  This
44143         should fix a problem on VMS reported by John E. Malmberg in
44144         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
44145
44146 2007-12-17  Eric Blake  <ebb9@byu.net>
44147
44148         Revert addition of verify, for BSD/OS.
44149         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
44150         can't handle large files, for the sake of obsolete platforms.
44151         * modules/fseeko (Depends-on): Remove verify.
44152         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
44153         * doc/functions/ftello.texi (ftello): Likewise.
44154         * doc/functions/fgetpos.texi (fgetpos): Likewise.
44155         Reported by Larry Jones.
44156
44157 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
44158
44159         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
44160         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
44161
44162 2007-12-17  Jim Meyering  <meyering@redhat.com>
44163
44164         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
44165         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
44166         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
44167         * modules/getcwd (Depends-on): Add openat.
44168         Reported by Petr Salinger.
44169
44170 2007-12-17  Bruno Haible  <bruno@clisp.org>
44171
44172         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
44173         avoid a segmentation fault of the configure test on x86_64 systems.
44174
44175 2007-12-15  Jim Meyering  <meyering@redhat.com>
44176
44177         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
44178
44179 2007-12-13  Eric Blake  <ebb9@byu.net>
44180
44181         Another fseek test.
44182         * tests/test-fseek.c (main): Also test ungetc handling.
44183         * tests/test-fseeko.c (main): Likewise.
44184         * modules/fseeko (Depends-on): Add verify.
44185         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
44186         large.
44187         Reported by Larry Jones.
44188
44189         Fix fseeko on mingw.
44190         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
44191         seek.
44192
44193         Beef up fseek tests.
44194         * tests/test-fseek.c (main): Also test eof handling.
44195         * tests/test-fseeko.c (main): Likewise.
44196         Reported by Larry Jones.
44197
44198 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
44199
44200         Fix fseeko on BSD-based platforms.
44201         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
44202         successful seek.
44203
44204 2007-12-12  Eric Blake  <ebb9@byu.net>
44205
44206         Allow circular dependency of separate libtests.a
44207         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
44208         when use_libtests.
44209
44210 2007-12-11  Eric Blake  <ebb9@byu.net>
44211
44212         Fix bug with -0.0L in previous patch.
44213         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
44214         * tests/test-isnan.c (main): Also test on zeroes.
44215         * tests/test-isnanf.c (main): Likewise.
44216         * tests/test-isnanl.h (main): Likewise.
44217
44218         Detect pseudo-denormals on x86 even when cross-compiling.
44219         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
44220         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
44221         invalid bit patterns that happen to satisfy ==.
44222
44223         Avoid link failures with separate libtests.a.
44224         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
44225         last, to satisfy circular dependencies.
44226
44227 2007-12-11  Eric Blake  <ebb9@byu.net>
44228         and Bruno Haible  <bruno@clisp.org>
44229
44230         Fix OpenBSD 4.0 <float.h> handling of long double.
44231         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
44232         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
44233         * doc/headers/float.texi (float.h): Document OpenBSD bug.
44234
44235 2007-12-11  Jim Meyering  <meyering@redhat.com>
44236
44237         * users.txt: Add libvirt.
44238
44239         Support versions of autoconf prior to 2.59c.
44240         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
44241         if it is not already defined.
44242
44243 2007-12-09  Bruno Haible  <bruno@clisp.org>
44244
44245         Let 'gnulib-tool --import' collect sources needed for the tests in
44246         tests/ rather than in lib/.
44247         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
44248         argument. If true, add rules to generate libtests.a, and put libtests.a
44249         into $(LDADD). Consider source files in subdirectories and set
44250         uses_subdirs.
44251         (func_emit_initmacro_start, func_emit_initmacro_end,
44252         func_emit_initmacro_done): Pass all arguments explicitly.
44253         (func_import): Determine two module lists main_modules,
44254         testsrelated_modules. Determine use_libtests. Determine two variables
44255         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
44256         instead of just sed_transform_lib_file. Determine two variables
44257         main_files and testsrelated_files. Compute 'files' as the union of
44258         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
44259         func_add_or_update. In the generated gnulib-comp.m4, collect the
44260         object files for tests/ in different variables than those for lib/.
44261         Substitute LIBTESTS_LIBDEPS.
44262         (func_create_testdir): Combine the uses_subdirs results from
44263         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
44264
44265 2007-12-09  Bruno Haible  <bruno@clisp.org>
44266
44267         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
44268         the build-aux directory.
44269
44270 2007-12-09  Bruno Haible  <bruno@clisp.org>
44271
44272         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
44273         introduced on 2006-09-09.
44274
44275 2007-12-07  Jim Meyering  <meyering@redhat.com>
44276
44277         Let these macros work also with autoconf-2.59.
44278         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
44279         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
44280         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44281
44282 2007-12-06  Jim Meyering  <meyering@redhat.com>
44283
44284         Avoid a configure-time syntax error in gl_FUNC_ACL.
44285         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
44286         function in each branch, before testing the cache variable.
44287
44288 2007-12-04  Eric Blake  <ebb9@byu.net>
44289
44290         Make scripts executable.
44291         * build-aux/config.guess: Add execute permissions.
44292         * build-aux/config.sub: Likewise.
44293         * build-aux/gendocs.sh: Likewise.
44294
44295         Fix frexp on mingw.
44296         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
44297         cross-compiling.
44298         * doc/functions/frexp.texi (frexp): Document the bug.
44299
44300         Make cygwin fseeko check more reliable.
44301         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
44302         version numbers, rather than unrelated feature check.
44303         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
44304         * doc/functions/ftello.texi (ftello): Likewise.
44305         Reported by Bruno Haible.
44306
44307         * m4/strerror.m4: Bump version number.
44308
44309 2007-12-03  Bruno Haible  <bruno@clisp.org>
44310
44311         * doc/functions/mprotect.texi: Mention the mingw problem.
44312
44313 2007-12-03  Eric Blake  <ebb9@byu.net>
44314
44315         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
44316         REPLACE_STRERROR is initialized before this macro.
44317
44318 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44319
44320         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
44321         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
44322         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
44323         put -lsec in even for programs other than 'ls'.  This fixes a problem
44324         for gettext reported by Bruno Haible in
44325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
44326         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
44327         Add support for Solaris 10.  This isn't efficient, but should get the
44328         job done for now.
44329
44330 2007-12-03  James Youngman  <jay@gnu.org>
44331
44332         * doc/regexprops-generic.texi: change "an close-group" to "a
44333         close-group" and "illegal" to "not allowed".
44334
44335 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44336
44337         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
44338         pr_byname.h. Needed for the rare case when the maintainer has done
44339         "make maintainer-clean" in the source directory and then attempts a
44340         build outside the source directory.
44341         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
44342         scripts_byname.h.
44343
44344 2007-12-02  Martin Lambers <marlam@marlam.de>
44345             Bruno Haible  <bruno@clisp.org>
44346
44347         * lib/getpagesize.h: Remove file.
44348         * lib/unistd.in.h: Include declaration of getpagesize here.
44349         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
44350         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
44351         HAVE_SYS_PARAM_H.
44352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
44353         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44354         * modules/getpagesize (Files): Remove lib/getpagesize.h.
44355         (Depends-on): Add unistd.
44356         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44357         (Include): Use <unistd.h> instead of getpagesize.h.
44358         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
44359         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44360         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
44361         gl_GETPAGESIZE invocation, already handled by module dependency.
44362         * lib/pagealign_alloc.c: Don't include getpagesize.h.
44363
44364 2007-12-02  Bruno Haible  <bruno@clisp.org>
44365
44366         * modules/strings-tests: New file.
44367         * tests/test-strings.c: New file.
44368
44369         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
44370         * lib/strings.in.h: New file.
44371         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
44372         * m4/strings_h.m4: New file.
44373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
44374         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
44375         * modules/strings: New file.
44376         * modules/string (Makefile.am): Update.
44377         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
44378         Reported by Karl Berry.
44379
44380 2007-12-01  Eric Blake  <ebb9@byu.net>
44381
44382         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
44383         accomodate fix in cygwin 1.5.25.
44384
44385 2007-12-01  Jim Meyering  <meyering@redhat.com>
44386
44387         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
44388         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
44389         that would inhibit utf8-optimization of a regexp containing line-
44390         or buffer-anchors, e.g., `^', `$'.
44391
44392 2007-11-30  Bruno Haible  <bruno@clisp.org>
44393
44394         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
44395         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
44396         glthread_recursive_lock_init.
44397         * lib/lock.c (glthread_recursive_lock_init)
44398         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
44399         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44400
44401 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44402
44403         New function qset_acl, like set_acl but with syscall semantics.
44404         * lib/acl.h (qset_acl): New decl.
44405         * lib/acl.c (qset_acl): New function.
44406         (set_acl): Use new function.  Use more-consistent diagnostics.
44407
44408 2007-11-28  Jim Meyering  <meyering@redhat.com>
44409
44410         * modules/physmem (License): Change from GPL to LGPLv2+.
44411
44412 2007-11-26  Bruno Haible  <bruno@clisp.org>
44413
44414         * lib/vasnprintf.c (decode_long_double): Don't abort if the
44415         'long double' type has excess precision.
44416         Reported by Jim Meyering in
44417         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
44418
44419 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44420
44421         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
44422         Sync from <http://gnu.org/licenses>.
44423         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
44424         with license text from same location.
44425         * doc/maintain.texi, doc/standards.texi:  Sync from
44426         <http://savannah.gnu.org/projects/gnustandards>.
44427
44428 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
44429         and Jim Meyering  <meyering@redhat.com>
44430
44431         Adjust getdate' grammar to accept a slightly more regular language.
44432         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
44433         Before, the former was rejected.
44434         * lib/getdate.y (digits_to_date_time): New function, factored
44435         out of ...
44436         (number): ...here.  Just call digits_to_date_time.
44437         (hybrid): New non-terminal to handle an <unsigned number,
44438         signed relative offset> sequence consistently.
44439
44440 2007-11-18  Jim Meyering  <meyering@redhat.com>
44441
44442         Pull my changes from coreutils:
44443         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
44444         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
44445         use of $gnulib_tool_option_extras, so that it's separated from the
44446         preceding argument.
44447
44448         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
44449         * build-aux/bootstrap (cp_mark_as_generated): Create any required
44450         parent destination directories before copying a file into place.
44451
44452 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44453
44454         bootstrap: work also with 4-argument variant of AC_INIT
44455         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
44456
44457 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44458
44459         Port test-getaddrinfo to Solaris.
44460         Problem reported by Bruno Haible in
44461         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
44462         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
44463         explanation of setting 'hints'.
44464         Don't reject an implementation merely because it returns EAI_SERVICE.
44465         (EAI_SERVICE): Define to 0 if not defined.
44466
44467 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
44468
44469         The license of gnu-make and posix-shell is now "GPLed build tool".
44470         * modules/gnu-make (License): Likewise.
44471         * modules/posix-shell (License): Likewise.
44472
44473         New module posix-shell, for determining a POSIX shell
44474         or perhaps something that is close enough to a POSIX shell.
44475         * m4/posix-shell.m4: New file.
44476         * modules/posix-shell: New file.
44477
44478         * MODULES.html.sh: Mention new module.
44479
44480         New module gnu-make, for determining whether we're using GNU Make.
44481         * m4/gnu-make.m4: New file.
44482         * modules/gnu-make: New file.
44483         * MODULES.html.sh: Mention new module.
44484
44485 2007-11-14  Jim Meyering  <meyering@redhat.com>
44486
44487         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
44488         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
44489         use this macro to create a function _definition_.
44490         Remove useless "#undef ARGMATCH_DIE".
44491
44492 2007-11-14  Bruno Haible  <bruno@clisp.org>
44493
44494         * lib/config.charset: Update for OpenBSD 4.1.
44495         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
44496
44497 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
44498
44499         Document 64-bit #if problems in stdint.texi.
44500         * doc/headers/stdint.texi (stdint.h): Mention problems with
44501         64-bit-#if, and how to work around them.
44502
44503         Don't insist on 'long long int' support in the preprocessor.  It
44504         breaks too many things.  For example, PRIdMAX still uses a 'long
44505         long int' format with the latest Sun compiler, even though
44506         HAVE_LONG_LONG_INT isn't defined due to that compiler's
44507         preprocessor problem.  This causes the latest coreutils to dump
44508         core on Solaris 10 sparc with the Sun C compiler.
44509         Instead, fix the 2007-10-16 problem in a different way, by evaluating
44510         the troublesome expressions at configure-time, not at #if-time.
44511         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
44512         preprocessor.
44513         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
44514         compile-time C checks, done at 'configure'-time.
44515         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
44516         * modules/inttypes (Makefile): Substitute the new symbols that
44517         gl_INTTYPES_H now generates.
44518         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
44519
44520 2007-11-12  Bruno Haible  <bruno@clisp.org>
44521
44522         Tests for Unicode character classification functions.
44523
44524         * modules/unictype/bidicategory-byname-tests: New file.
44525         * modules/unictype/bidicategory-name-tests: New file.
44526         * modules/unictype/bidicategory-of-tests: New file.
44527         * modules/unictype/bidicategory-test-tests: New file.
44528         * modules/unictype/block-list-tests: New file.
44529         * modules/unictype/block-of-tests: New file.
44530         * modules/unictype/block-test-tests: New file.
44531         * modules/unictype/category-C-tests: New file.
44532         * modules/unictype/category-Cc-tests: New file.
44533         * modules/unictype/category-Cf-tests: New file.
44534         * modules/unictype/category-Cn-tests: New file.
44535         * modules/unictype/category-Co-tests: New file.
44536         * modules/unictype/category-Cs-tests: New file.
44537         * modules/unictype/category-L-tests: New file.
44538         * modules/unictype/category-Ll-tests: New file.
44539         * modules/unictype/category-Lm-tests: New file.
44540         * modules/unictype/category-Lo-tests: New file.
44541         * modules/unictype/category-Lt-tests: New file.
44542         * modules/unictype/category-Lu-tests: New file.
44543         * modules/unictype/category-M-tests: New file.
44544         * modules/unictype/category-Mc-tests: New file.
44545         * modules/unictype/category-Me-tests: New file.
44546         * modules/unictype/category-Mn-tests: New file.
44547         * modules/unictype/category-N-tests: New file.
44548         * modules/unictype/category-Nd-tests: New file.
44549         * modules/unictype/category-Nl-tests: New file.
44550         * modules/unictype/category-No-tests: New file.
44551         * modules/unictype/category-P-tests: New file.
44552         * modules/unictype/category-Pc-tests: New file.
44553         * modules/unictype/category-Pd-tests: New file.
44554         * modules/unictype/category-Pe-tests: New file.
44555         * modules/unictype/category-Pf-tests: New file.
44556         * modules/unictype/category-Pi-tests: New file.
44557         * modules/unictype/category-Po-tests: New file.
44558         * modules/unictype/category-Ps-tests: New file.
44559         * modules/unictype/category-S-tests: New file.
44560         * modules/unictype/category-Sc-tests: New file.
44561         * modules/unictype/category-Sk-tests: New file.
44562         * modules/unictype/category-Sm-tests: New file.
44563         * modules/unictype/category-So-tests: New file.
44564         * modules/unictype/category-Z-tests: New file.
44565         * modules/unictype/category-Zl-tests: New file.
44566         * modules/unictype/category-Zp-tests: New file.
44567         * modules/unictype/category-Zs-tests: New file.
44568         * modules/unictype/category-and-not-tests: New file.
44569         * modules/unictype/category-and-tests: New file.
44570         * modules/unictype/category-byname-tests: New file.
44571         * modules/unictype/category-name-tests: New file.
44572         * modules/unictype/category-none-tests: New file.
44573         * modules/unictype/category-of-tests: New file.
44574         * modules/unictype/category-or-tests: New file.
44575         * modules/unictype/category-test-withtable-tests: New file.
44576         * modules/unictype/combining-class-tests: New file.
44577         * modules/unictype/ctype-alnum-tests: New file.
44578         * modules/unictype/ctype-alpha-tests: New file.
44579         * modules/unictype/ctype-blank-tests: New file.
44580         * modules/unictype/ctype-cntrl-tests: New file.
44581         * modules/unictype/ctype-digit-tests: New file.
44582         * modules/unictype/ctype-graph-tests: New file.
44583         * modules/unictype/ctype-lower-tests: New file.
44584         * modules/unictype/ctype-print-tests: New file.
44585         * modules/unictype/ctype-punct-tests: New file.
44586         * modules/unictype/ctype-space-tests: New file.
44587         * modules/unictype/ctype-upper-tests: New file.
44588         * modules/unictype/ctype-xdigit-tests: New file.
44589         * modules/unictype/decimal-digit-tests: New file.
44590         * modules/unictype/digit-tests: New file.
44591         * modules/unictype/mirror-tests: New file.
44592         * modules/unictype/numeric-tests: New file.
44593         * modules/unictype/property-alphabetic-tests: New file.
44594         * modules/unictype/property-ascii-hex-digit-tests: New file.
44595         * modules/unictype/property-bidi-arabic-digit-tests: New file.
44596         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
44597         * modules/unictype/property-bidi-block-separator-tests: New file.
44598         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
44599         * modules/unictype/property-bidi-common-separator-tests: New file.
44600         * modules/unictype/property-bidi-control-tests: New file.
44601         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
44602         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
44603         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
44604         * modules/unictype/property-bidi-european-digit-tests: New file.
44605         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
44606         * modules/unictype/property-bidi-left-to-right-tests: New file.
44607         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
44608         * modules/unictype/property-bidi-other-neutral-tests: New file.
44609         * modules/unictype/property-bidi-pdf-tests: New file.
44610         * modules/unictype/property-bidi-segment-separator-tests: New file.
44611         * modules/unictype/property-bidi-whitespace-tests: New file.
44612         * modules/unictype/property-byname-tests: New file.
44613         * modules/unictype/property-combining-tests: New file.
44614         * modules/unictype/property-composite-tests: New file.
44615         * modules/unictype/property-currency-symbol-tests: New file.
44616         * modules/unictype/property-dash-tests: New file.
44617         * modules/unictype/property-decimal-digit-tests: New file.
44618         * modules/unictype/property-default-ignorable-code-point-tests: New file.
44619         * modules/unictype/property-deprecated-tests: New file.
44620         * modules/unictype/property-diacritic-tests: New file.
44621         * modules/unictype/property-extender-tests: New file.
44622         * modules/unictype/property-format-control-tests: New file.
44623         * modules/unictype/property-grapheme-base-tests: New file.
44624         * modules/unictype/property-grapheme-extend-tests: New file.
44625         * modules/unictype/property-grapheme-link-tests: New file.
44626         * modules/unictype/property-hex-digit-tests: New file.
44627         * modules/unictype/property-hyphen-tests: New file.
44628         * modules/unictype/property-id-continue-tests: New file.
44629         * modules/unictype/property-id-start-tests: New file.
44630         * modules/unictype/property-ideographic-tests: New file.
44631         * modules/unictype/property-ids-binary-operator-tests: New file.
44632         * modules/unictype/property-ids-trinary-operator-tests: New file.
44633         * modules/unictype/property-ignorable-control-tests: New file.
44634         * modules/unictype/property-iso-control-tests: New file.
44635         * modules/unictype/property-join-control-tests: New file.
44636         * modules/unictype/property-left-of-pair-tests: New file.
44637         * modules/unictype/property-line-separator-tests: New file.
44638         * modules/unictype/property-logical-order-exception-tests: New file.
44639         * modules/unictype/property-lowercase-tests: New file.
44640         * modules/unictype/property-math-tests: New file.
44641         * modules/unictype/property-non-break-tests: New file.
44642         * modules/unictype/property-not-a-character-tests: New file.
44643         * modules/unictype/property-numeric-tests: New file.
44644         * modules/unictype/property-other-alphabetic-tests: New file.
44645         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
44646         * modules/unictype/property-other-grapheme-extend-tests: New file.
44647         * modules/unictype/property-other-id-continue-tests: New file.
44648         * modules/unictype/property-other-id-start-tests: New file.
44649         * modules/unictype/property-other-lowercase-tests: New file.
44650         * modules/unictype/property-other-math-tests: New file.
44651         * modules/unictype/property-other-uppercase-tests: New file.
44652         * modules/unictype/property-paired-punctuation-tests: New file.
44653         * modules/unictype/property-paragraph-separator-tests: New file.
44654         * modules/unictype/property-pattern-syntax-tests: New file.
44655         * modules/unictype/property-pattern-white-space-tests: New file.
44656         * modules/unictype/property-private-use-tests: New file.
44657         * modules/unictype/property-punctuation-tests: New file.
44658         * modules/unictype/property-quotation-mark-tests: New file.
44659         * modules/unictype/property-radical-tests: New file.
44660         * modules/unictype/property-sentence-terminal-tests: New file.
44661         * modules/unictype/property-soft-dotted-tests: New file.
44662         * modules/unictype/property-space-tests: New file.
44663         * modules/unictype/property-terminal-punctuation-tests: New file.
44664         * modules/unictype/property-test-tests: New file.
44665         * modules/unictype/property-titlecase-tests: New file.
44666         * modules/unictype/property-unassigned-code-value-tests: New file.
44667         * modules/unictype/property-unified-ideograph-tests: New file.
44668         * modules/unictype/property-uppercase-tests: New file.
44669         * modules/unictype/property-variation-selector-tests: New file.
44670         * modules/unictype/property-white-space-tests: New file.
44671         * modules/unictype/property-xid-continue-tests: New file.
44672         * modules/unictype/property-xid-start-tests: New file.
44673         * modules/unictype/property-zero-width-tests: New file.
44674         * modules/unictype/scripts-tests: New file.
44675         * modules/unictype/syntax-c-ident-tests: New file.
44676         * modules/unictype/syntax-c-whitespace-tests: New file.
44677         * modules/unictype/syntax-java-ident-tests: New file.
44678         * modules/unictype/syntax-java-whitespace-tests: New file.
44679         * tests/unictype/test-bidi_byname.c: New file.
44680         * tests/unictype/test-bidi_name.c: New file.
44681         * tests/unictype/test-bidi_of.c: New file.
44682         * tests/unictype/test-bidi_test.c: New file.
44683         * tests/unictype/test-block_list.c: New file.
44684         * tests/unictype/test-block_of.c: New file.
44685         * tests/unictype/test-block_test.c: New file.
44686         * tests/unictype/test-categ_and.c: New file.
44687         * tests/unictype/test-categ_and_not.c: New file.
44688         * tests/unictype/test-categ_byname.c: New file.
44689         * tests/unictype/test-categ_name.c: New file.
44690         * tests/unictype/test-categ_none.c: New file.
44691         * tests/unictype/test-categ_of.c: New file.
44692         * tests/unictype/test-categ_or.c: New file.
44693         * tests/unictype/test-categ_test_withtable.c: New file.
44694         * tests/unictype/test-combining.c: New file.
44695         * tests/unictype/test-decdigit.c: New file.
44696         * tests/unictype/test-digit.c: New file.
44697         * tests/unictype/test-mirror.c: New file.
44698         * tests/unictype/test-numeric.c: New file.
44699         * tests/unictype/test-pr_byname.c: New file.
44700         * tests/unictype/test-pr_test.c: New file.
44701         * tests/unictype/test-predicate-part1.h: New file.
44702         * tests/unictype/test-predicate-part2.h: New file.
44703         * tests/unictype/test-scripts.c: New file.
44704         * tests/unictype/test-sy_c_ident.c: New file.
44705         * tests/unictype/test-sy_java_ident.c: New file.
44706
44707         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
44708         for Unicode 5.0.0.
44709         * tests/unictype/test-categ_Cc.c: Likewise.
44710         * tests/unictype/test-categ_Cf.c: Likewise.
44711         * tests/unictype/test-categ_Cn.c: Likewise.
44712         * tests/unictype/test-categ_Co.c: Likewise.
44713         * tests/unictype/test-categ_Cs.c: Likewise.
44714         * tests/unictype/test-categ_L.c: Likewise.
44715         * tests/unictype/test-categ_Ll.c: Likewise.
44716         * tests/unictype/test-categ_Lm.c: Likewise.
44717         * tests/unictype/test-categ_Lo.c: Likewise.
44718         * tests/unictype/test-categ_Lt.c: Likewise.
44719         * tests/unictype/test-categ_Lu.c: Likewise.
44720         * tests/unictype/test-categ_M.c: Likewise.
44721         * tests/unictype/test-categ_Mc.c: Likewise.
44722         * tests/unictype/test-categ_Me.c: Likewise.
44723         * tests/unictype/test-categ_Mn.c: Likewise.
44724         * tests/unictype/test-categ_N.c: Likewise.
44725         * tests/unictype/test-categ_Nd.c: Likewise.
44726         * tests/unictype/test-categ_Nl.c: Likewise.
44727         * tests/unictype/test-categ_No.c: Likewise.
44728         * tests/unictype/test-categ_P.c: Likewise.
44729         * tests/unictype/test-categ_Pc.c: Likewise.
44730         * tests/unictype/test-categ_Pd.c: Likewise.
44731         * tests/unictype/test-categ_Pe.c: Likewise.
44732         * tests/unictype/test-categ_Pf.c: Likewise.
44733         * tests/unictype/test-categ_Pi.c: Likewise.
44734         * tests/unictype/test-categ_Po.c: Likewise.
44735         * tests/unictype/test-categ_Ps.c: Likewise.
44736         * tests/unictype/test-categ_S.c: Likewise.
44737         * tests/unictype/test-categ_Sc.c: Likewise.
44738         * tests/unictype/test-categ_Sk.c: Likewise.
44739         * tests/unictype/test-categ_Sm.c: Likewise.
44740         * tests/unictype/test-categ_So.c: Likewise.
44741         * tests/unictype/test-categ_Z.c: Likewise.
44742         * tests/unictype/test-categ_Zl.c: Likewise.
44743         * tests/unictype/test-categ_Zp.c: Likewise.
44744         * tests/unictype/test-categ_Zs.c: Likewise.
44745         * tests/unictype/test-ctype_alnum.c: Likewise.
44746         * tests/unictype/test-ctype_alpha.c: Likewise.
44747         * tests/unictype/test-ctype_blank.c: Likewise.
44748         * tests/unictype/test-ctype_cntrl.c: Likewise.
44749         * tests/unictype/test-ctype_digit.c: Likewise.
44750         * tests/unictype/test-ctype_graph.c: Likewise.
44751         * tests/unictype/test-ctype_lower.c: Likewise.
44752         * tests/unictype/test-ctype_print.c: Likewise.
44753         * tests/unictype/test-ctype_punct.c: Likewise.
44754         * tests/unictype/test-ctype_space.c: Likewise.
44755         * tests/unictype/test-ctype_upper.c: Likewise.
44756         * tests/unictype/test-ctype_xdigit.c: Likewise.
44757         * tests/unictype/test-decdigit.h: Likewise.
44758         * tests/unictype/test-digit.h: Likewise.
44759         * tests/unictype/test-numeric.h: Likewise.
44760         * tests/unictype/test-pr_alphabetic.c: Likewise.
44761         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
44762         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44763         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44764         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
44765         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44766         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
44767         * tests/unictype/test-pr_bidi_control.c: Likewise.
44768         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
44769         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
44770         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44771         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44772         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44773         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44774         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44775         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44776         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
44777         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
44778         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
44779         * tests/unictype/test-pr_combining.c: Likewise.
44780         * tests/unictype/test-pr_composite.c: Likewise.
44781         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44782         * tests/unictype/test-pr_dash.c: Likewise.
44783         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44784         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
44785         * tests/unictype/test-pr_deprecated.c: Likewise.
44786         * tests/unictype/test-pr_diacritic.c: Likewise.
44787         * tests/unictype/test-pr_extender.c: Likewise.
44788         * tests/unictype/test-pr_format_control.c: Likewise.
44789         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44790         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44791         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44792         * tests/unictype/test-pr_hex_digit.c: Likewise.
44793         * tests/unictype/test-pr_hyphen.c: Likewise.
44794         * tests/unictype/test-pr_id_continue.c: Likewise.
44795         * tests/unictype/test-pr_id_start.c: Likewise.
44796         * tests/unictype/test-pr_ideographic.c: Likewise.
44797         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
44798         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
44799         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44800         * tests/unictype/test-pr_iso_control.c: Likewise.
44801         * tests/unictype/test-pr_join_control.c: Likewise.
44802         * tests/unictype/test-pr_left_of_pair.c: Likewise.
44803         * tests/unictype/test-pr_line_separator.c: Likewise.
44804         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44805         * tests/unictype/test-pr_lowercase.c: Likewise.
44806         * tests/unictype/test-pr_math.c: Likewise.
44807         * tests/unictype/test-pr_non_break.c: Likewise.
44808         * tests/unictype/test-pr_not_a_character.c: Likewise.
44809         * tests/unictype/test-pr_numeric.c: Likewise.
44810         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44811         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
44812         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
44813         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44814         * tests/unictype/test-pr_other_id_start.c: Likewise.
44815         * tests/unictype/test-pr_other_lowercase.c: Likewise.
44816         * tests/unictype/test-pr_other_math.c: Likewise.
44817         * tests/unictype/test-pr_other_uppercase.c: Likewise.
44818         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
44819         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
44820         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
44821         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
44822         * tests/unictype/test-pr_private_use.c: Likewise.
44823         * tests/unictype/test-pr_punctuation.c: Likewise.
44824         * tests/unictype/test-pr_quotation_mark.c: Likewise.
44825         * tests/unictype/test-pr_radical.c: Likewise.
44826         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44827         * tests/unictype/test-pr_soft_dotted.c: Likewise.
44828         * tests/unictype/test-pr_space.c: Likewise.
44829         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44830         * tests/unictype/test-pr_titlecase.c: Likewise.
44831         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44832         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44833         * tests/unictype/test-pr_uppercase.c: Likewise.
44834         * tests/unictype/test-pr_variation_selector.c: Likewise.
44835         * tests/unictype/test-pr_white_space.c: Likewise.
44836         * tests/unictype/test-pr_xid_continue.c: Likewise.
44837         * tests/unictype/test-pr_xid_start.c: Likewise.
44838         * tests/unictype/test-pr_zero_width.c: Likewise.
44839         * tests/unictype/test-sy_c_whitespace.c: Likewise.
44840         * tests/unictype/test-sy_java_whitespace.c: Likewise.
44841
44842 2007-11-12  Bruno Haible  <bruno@clisp.org>
44843
44844         Unicode character classification functions.
44845         * lib/unictype.h: New file.
44846         * modules/unictype/base: New file.
44847         * modules/unictype/category-L: New file.
44848         * modules/unictype/category-Lu: New file.
44849         * modules/unictype/category-Ll: New file.
44850         * modules/unictype/category-Lt: New file.
44851         * modules/unictype/category-Lm: New file.
44852         * modules/unictype/category-Lo: New file.
44853         * modules/unictype/category-M: New file.
44854         * modules/unictype/category-Mn: New file.
44855         * modules/unictype/category-Mc: New file.
44856         * modules/unictype/category-Me: New file.
44857         * modules/unictype/category-N: New file.
44858         * modules/unictype/category-Nd: New file.
44859         * modules/unictype/category-Nl: New file.
44860         * modules/unictype/category-No: New file.
44861         * modules/unictype/category-P: New file.
44862         * modules/unictype/category-Pc: New file.
44863         * modules/unictype/category-Pd: New file.
44864         * modules/unictype/category-Ps: New file.
44865         * modules/unictype/category-Pe: New file.
44866         * modules/unictype/category-Pi: New file.
44867         * modules/unictype/category-Pf: New file.
44868         * modules/unictype/category-Po: New file.
44869         * modules/unictype/category-S: New file.
44870         * modules/unictype/category-Sm: New file.
44871         * modules/unictype/category-Sc: New file.
44872         * modules/unictype/category-Sk: New file.
44873         * modules/unictype/category-So: New file.
44874         * modules/unictype/category-Z: New file.
44875         * modules/unictype/category-Zs: New file.
44876         * modules/unictype/category-Zl: New file.
44877         * modules/unictype/category-Zp: New file.
44878         * modules/unictype/category-C: New file.
44879         * modules/unictype/category-Cc: New file.
44880         * modules/unictype/category-Cf: New file.
44881         * modules/unictype/category-Cs: New file.
44882         * modules/unictype/category-Co: New file.
44883         * modules/unictype/category-Cn: New file.
44884         * modules/unictype/category-or: New file.
44885         * modules/unictype/category-of: New file.
44886         * modules/unictype/category-test: New file.
44887         * modules/unictype/category-test-withtable: New file.
44888         * modules/unictype/category-byname: New file.
44889         * modules/unictype/category-none: New file.
44890         * modules/unictype/category-and: New file.
44891         * modules/unictype/category-and-not: New file.
44892         * modules/unictype/category-name: New file.
44893         * modules/unictype/combining-class: New file.
44894         * modules/unictype/category-all: New file.
44895         * modules/unictype/bidicategory-all: New file.
44896         * modules/unictype/bidicategory-byname: New file.
44897         * modules/unictype/bidicategory-name: New file.
44898         * modules/unictype/bidicategory-of: New file.
44899         * modules/unictype/bidicategory-test: New file.
44900         * modules/unictype/decimal-digit: New file.
44901         * modules/unictype/digit: New file.
44902         * modules/unictype/numeric: New file.
44903         * modules/unictype/mirror: New file.
44904         * modules/unictype/property-white-space: New file.
44905         * modules/unictype/property-alphabetic: New file.
44906         * modules/unictype/property-other-alphabetic: New file.
44907         * modules/unictype/property-not-a-character: New file.
44908         * modules/unictype/property-default-ignorable-code-point: New file.
44909         * modules/unictype/property-other-default-ignorable-code-point: New
44910         file.
44911         * modules/unictype/property-deprecated: New file.
44912         * modules/unictype/property-logical-order-exception: New file.
44913         * modules/unictype/property-variation-selector: New file.
44914         * modules/unictype/property-private-use: New file.
44915         * modules/unictype/property-unassigned-code-value: New file.
44916         * modules/unictype/property-uppercase: New file.
44917         * modules/unictype/property-other-uppercase: New file.
44918         * modules/unictype/property-lowercase: New file.
44919         * modules/unictype/property-other-lowercase: New file.
44920         * modules/unictype/property-titlecase: New file.
44921         * modules/unictype/property-soft-dotted: New file.
44922         * modules/unictype/property-id-start: New file.
44923         * modules/unictype/property-other-id-start: New file.
44924         * modules/unictype/property-id-continue: New file.
44925         * modules/unictype/property-other-id-continue: New file.
44926         * modules/unictype/property-xid-start: New file.
44927         * modules/unictype/property-xid-continue: New file.
44928         * modules/unictype/property-pattern-white-space: New file.
44929         * modules/unictype/property-pattern-syntax: New file.
44930         * modules/unictype/property-join-control: New file.
44931         * modules/unictype/property-grapheme-base: New file.
44932         * modules/unictype/property-grapheme-extend: New file.
44933         * modules/unictype/property-other-grapheme-extend: New file.
44934         * modules/unictype/property-grapheme-link: New file.
44935         * modules/unictype/property-bidi-control: New file.
44936         * modules/unictype/property-bidi-left-to-right: New file.
44937         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
44938         * modules/unictype/property-bidi-arabic-right-to-left: New file.
44939         * modules/unictype/property-bidi-european-digit: New file.
44940         * modules/unictype/property-bidi-eur-num-separator: New file.
44941         * modules/unictype/property-bidi-eur-num-terminator: New file.
44942         * modules/unictype/property-bidi-arabic-digit: New file.
44943         * modules/unictype/property-bidi-common-separator: New file.
44944         * modules/unictype/property-bidi-block-separator: New file.
44945         * modules/unictype/property-bidi-segment-separator: New file.
44946         * modules/unictype/property-bidi-whitespace: New file.
44947         * modules/unictype/property-bidi-non-spacing-mark: New file.
44948         * modules/unictype/property-bidi-boundary-neutral: New file.
44949         * modules/unictype/property-bidi-pdf: New file.
44950         * modules/unictype/property-bidi-embedding-or-override: New file.
44951         * modules/unictype/property-bidi-other-neutral: New file.
44952         * modules/unictype/property-hex-digit: New file.
44953         * modules/unictype/property-ascii-hex-digit: New file.
44954         * modules/unictype/property-ideographic: New file.
44955         * modules/unictype/property-unified-ideograph: New file.
44956         * modules/unictype/property-radical: New file.
44957         * modules/unictype/property-ids-binary-operator: New file.
44958         * modules/unictype/property-ids-trinary-operator: New file.
44959         * modules/unictype/property-zero-width: New file.
44960         * modules/unictype/property-space: New file.
44961         * modules/unictype/property-non-break: New file.
44962         * modules/unictype/property-iso-control: New file.
44963         * modules/unictype/property-format-control: New file.
44964         * modules/unictype/property-dash: New file.
44965         * modules/unictype/property-hyphen: New file.
44966         * modules/unictype/property-punctuation: New file.
44967         * modules/unictype/property-line-separator: New file.
44968         * modules/unictype/property-paragraph-separator: New file.
44969         * modules/unictype/property-quotation-mark: New file.
44970         * modules/unictype/property-sentence-terminal: New file.
44971         * modules/unictype/property-terminal-punctuation: New file.
44972         * modules/unictype/property-currency-symbol: New file.
44973         * modules/unictype/property-math: New file.
44974         * modules/unictype/property-other-math: New file.
44975         * modules/unictype/property-paired-punctuation: New file.
44976         * modules/unictype/property-left-of-pair: New file.
44977         * modules/unictype/property-combining: New file.
44978         * modules/unictype/property-composite: New file.
44979         * modules/unictype/property-decimal-digit: New file.
44980         * modules/unictype/property-numeric: New file.
44981         * modules/unictype/property-diacritic: New file.
44982         * modules/unictype/property-extender: New file.
44983         * modules/unictype/property-ignorable-control: New file.
44984         * modules/unictype/property-test: New file.
44985         * modules/unictype/property-byname: New file.
44986         * modules/unictype/property-all: New file.
44987         * modules/unictype/scripts: New file.
44988         * modules/unictype/scripts-all: New file.
44989         * modules/unictype/block-of: New file.
44990         * modules/unictype/block-test: New file.
44991         * modules/unictype/block-list: New file.
44992         * modules/unictype/block-all: New file.
44993         * modules/unictype/syntax-c-whitespace: New file.
44994         * modules/unictype/syntax-java-whitespace: New file.
44995         * modules/unictype/syntax-c-ident: New file.
44996         * modules/unictype/syntax-java-ident: New file.
44997         * modules/unictype/ctype-alnum: New file.
44998         * modules/unictype/ctype-alpha: New file.
44999         * modules/unictype/ctype-cntrl: New file.
45000         * modules/unictype/ctype-digit: New file.
45001         * modules/unictype/ctype-graph: New file.
45002         * modules/unictype/ctype-lower: New file.
45003         * modules/unictype/ctype-print: New file.
45004         * modules/unictype/ctype-punct: New file.
45005         * modules/unictype/ctype-space: New file.
45006         * modules/unictype/ctype-upper: New file.
45007         * modules/unictype/ctype-xdigit: New file.
45008         * modules/unictype/ctype-blank: New file.
45009         * lib/unictype/bidi_byname.c: New file.
45010         * lib/unictype/bidi_name.c: New file.
45011         * lib/unictype/bidi_of.c: New file.
45012         * lib/unictype/bidi_test.c: New file.
45013         * lib/unictype/bitmap.h: New file.
45014         * lib/unictype/block_test.c: New file.
45015         * lib/unictype/blocks.c: New file.
45016         * lib/unictype/categ_C.c: New file.
45017         * lib/unictype/categ_Cc.c: New file.
45018         * lib/unictype/categ_Cf.c: New file.
45019         * lib/unictype/categ_Cn.c: New file.
45020         * lib/unictype/categ_Co.c: New file.
45021         * lib/unictype/categ_Cs.c: New file.
45022         * lib/unictype/categ_L.c: New file.
45023         * lib/unictype/categ_Ll.c: New file.
45024         * lib/unictype/categ_Lm.c: New file.
45025         * lib/unictype/categ_Lo.c: New file.
45026         * lib/unictype/categ_Lt.c: New file.
45027         * lib/unictype/categ_Lu.c: New file.
45028         * lib/unictype/categ_M.c: New file.
45029         * lib/unictype/categ_Mc.c: New file.
45030         * lib/unictype/categ_Me.c: New file.
45031         * lib/unictype/categ_Mn.c: New file.
45032         * lib/unictype/categ_N.c: New file.
45033         * lib/unictype/categ_Nd.c: New file.
45034         * lib/unictype/categ_Nl.c: New file.
45035         * lib/unictype/categ_No.c: New file.
45036         * lib/unictype/categ_P.c: New file.
45037         * lib/unictype/categ_Pc.c: New file.
45038         * lib/unictype/categ_Pd.c: New file.
45039         * lib/unictype/categ_Pe.c: New file.
45040         * lib/unictype/categ_Pf.c: New file.
45041         * lib/unictype/categ_Pi.c: New file.
45042         * lib/unictype/categ_Po.c: New file.
45043         * lib/unictype/categ_Ps.c: New file.
45044         * lib/unictype/categ_S.c: New file.
45045         * lib/unictype/categ_Sc.c: New file.
45046         * lib/unictype/categ_Sk.c: New file.
45047         * lib/unictype/categ_Sm.c: New file.
45048         * lib/unictype/categ_So.c: New file.
45049         * lib/unictype/categ_Z.c: New file.
45050         * lib/unictype/categ_Zl.c: New file.
45051         * lib/unictype/categ_Zp.c: New file.
45052         * lib/unictype/categ_Zs.c: New file.
45053         * lib/unictype/categ_and.c: New file.
45054         * lib/unictype/categ_and_not.c: New file.
45055         * lib/unictype/categ_byname.c: New file.
45056         * lib/unictype/categ_name.c: New file.
45057         * lib/unictype/categ_none.c: New file.
45058         * lib/unictype/categ_of.c: New file.
45059         * lib/unictype/categ_or.c: New file.
45060         * lib/unictype/categ_test.c: New file.
45061         * lib/unictype/combining.c: New file.
45062         * lib/unictype/ctype_alnum.c: New file.
45063         * lib/unictype/ctype_alpha.c: New file.
45064         * lib/unictype/ctype_blank.c: New file.
45065         * lib/unictype/ctype_cntrl.c: New file.
45066         * lib/unictype/ctype_digit.c: New file.
45067         * lib/unictype/ctype_graph.c: New file.
45068         * lib/unictype/ctype_lower.c: New file.
45069         * lib/unictype/ctype_print.c: New file.
45070         * lib/unictype/ctype_punct.c: New file.
45071         * lib/unictype/ctype_space.c: New file.
45072         * lib/unictype/ctype_upper.c: New file.
45073         * lib/unictype/ctype_xdigit.c: New file.
45074         * lib/unictype/decdigit.c: New file.
45075         * lib/unictype/digit.c: New file.
45076         * lib/unictype/identsyntaxmap.h: New file.
45077         * lib/unictype/mirror.c: New file.
45078         * lib/unictype/numeric.c: New file.
45079         * lib/unictype/pr_alphabetic.c: New file.
45080         * lib/unictype/pr_ascii_hex_digit.c: New file.
45081         * lib/unictype/pr_bidi_arabic_digit.c: New file.
45082         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
45083         * lib/unictype/pr_bidi_block_separator.c: New file.
45084         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
45085         * lib/unictype/pr_bidi_common_separator.c: New file.
45086         * lib/unictype/pr_bidi_control.c: New file.
45087         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
45088         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
45089         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
45090         * lib/unictype/pr_bidi_european_digit.c: New file.
45091         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
45092         * lib/unictype/pr_bidi_left_to_right.c: New file.
45093         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
45094         * lib/unictype/pr_bidi_other_neutral.c: New file.
45095         * lib/unictype/pr_bidi_pdf.c: New file.
45096         * lib/unictype/pr_bidi_segment_separator.c: New file.
45097         * lib/unictype/pr_bidi_whitespace.c: New file.
45098         * lib/unictype/pr_byname.c: New file.
45099         * lib/unictype/pr_byname.gperf: New file.
45100         * lib/unictype/pr_combining.c: New file.
45101         * lib/unictype/pr_composite.c: New file.
45102         * lib/unictype/pr_currency_symbol.c: New file.
45103         * lib/unictype/pr_dash.c: New file.
45104         * lib/unictype/pr_decimal_digit.c: New file.
45105         * lib/unictype/pr_default_ignorable_code_point.c: New file.
45106         * lib/unictype/pr_deprecated.c: New file.
45107         * lib/unictype/pr_diacritic.c: New file.
45108         * lib/unictype/pr_extender.c: New file.
45109         * lib/unictype/pr_format_control.c: New file.
45110         * lib/unictype/pr_grapheme_base.c: New file.
45111         * lib/unictype/pr_grapheme_extend.c: New file.
45112         * lib/unictype/pr_grapheme_link.c: New file.
45113         * lib/unictype/pr_hex_digit.c: New file.
45114         * lib/unictype/pr_hyphen.c: New file.
45115         * lib/unictype/pr_id_continue.c: New file.
45116         * lib/unictype/pr_id_start.c: New file.
45117         * lib/unictype/pr_ideographic.c: New file.
45118         * lib/unictype/pr_ids_binary_operator.c: New file.
45119         * lib/unictype/pr_ids_trinary_operator.c: New file.
45120         * lib/unictype/pr_ignorable_control.c: New file.
45121         * lib/unictype/pr_iso_control.c: New file.
45122         * lib/unictype/pr_join_control.c: New file.
45123         * lib/unictype/pr_left_of_pair.c: New file.
45124         * lib/unictype/pr_line_separator.c: New file.
45125         * lib/unictype/pr_logical_order_exception.c: New file.
45126         * lib/unictype/pr_lowercase.c: New file.
45127         * lib/unictype/pr_math.c: New file.
45128         * lib/unictype/pr_non_break.c: New file.
45129         * lib/unictype/pr_not_a_character.c: New file.
45130         * lib/unictype/pr_numeric.c: New file.
45131         * lib/unictype/pr_other_alphabetic.c: New file.
45132         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
45133         * lib/unictype/pr_other_grapheme_extend.c: New file.
45134         * lib/unictype/pr_other_id_continue.c: New file.
45135         * lib/unictype/pr_other_id_start.c: New file.
45136         * lib/unictype/pr_other_lowercase.c: New file.
45137         * lib/unictype/pr_other_math.c: New file.
45138         * lib/unictype/pr_other_uppercase.c: New file.
45139         * lib/unictype/pr_paired_punctuation.c: New file.
45140         * lib/unictype/pr_paragraph_separator.c: New file.
45141         * lib/unictype/pr_pattern_syntax.c: New file.
45142         * lib/unictype/pr_pattern_white_space.c: New file.
45143         * lib/unictype/pr_private_use.c: New file.
45144         * lib/unictype/pr_punctuation.c: New file.
45145         * lib/unictype/pr_quotation_mark.c: New file.
45146         * lib/unictype/pr_radical.c: New file.
45147         * lib/unictype/pr_sentence_terminal.c: New file.
45148         * lib/unictype/pr_soft_dotted.c: New file.
45149         * lib/unictype/pr_space.c: New file.
45150         * lib/unictype/pr_terminal_punctuation.c: New file.
45151         * lib/unictype/pr_test.c: New file.
45152         * lib/unictype/pr_titlecase.c: New file.
45153         * lib/unictype/pr_unassigned_code_value.c: New file.
45154         * lib/unictype/pr_unified_ideograph.c: New file.
45155         * lib/unictype/pr_uppercase.c: New file.
45156         * lib/unictype/pr_variation_selector.c: New file.
45157         * lib/unictype/pr_white_space.c: New file.
45158         * lib/unictype/pr_xid_continue.c: New file.
45159         * lib/unictype/pr_xid_start.c: New file.
45160         * lib/unictype/pr_zero_width.c: New file.
45161         * lib/unictype/scripts.c: New file.
45162         * lib/unictype/sy_c_ident.c: New file.
45163         * lib/unictype/sy_c_whitespace.c: New file.
45164         * lib/unictype/sy_java_ident.c: New file.
45165         * lib/unictype/sy_java_whitespace.c: New file.
45166
45167         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
45168         Unicode 5.0.0.
45169         * lib/unictype/blocks.h: Likewise.
45170         * lib/unictype/categ_C.h: Likewise.
45171         * lib/unictype/categ_Cc.h: Likewise.
45172         * lib/unictype/categ_Cf.h: Likewise.
45173         * lib/unictype/categ_Cn.h: Likewise.
45174         * lib/unictype/categ_Co.h: Likewise.
45175         * lib/unictype/categ_Cs.h: Likewise.
45176         * lib/unictype/categ_L.h: Likewise.
45177         * lib/unictype/categ_Ll.h: Likewise.
45178         * lib/unictype/categ_Lm.h: Likewise.
45179         * lib/unictype/categ_Lo.h: Likewise.
45180         * lib/unictype/categ_Lt.h: Likewise.
45181         * lib/unictype/categ_Lu.h: Likewise.
45182         * lib/unictype/categ_M.h: Likewise.
45183         * lib/unictype/categ_Mc.h: Likewise.
45184         * lib/unictype/categ_Me.h: Likewise.
45185         * lib/unictype/categ_Mn.h: Likewise.
45186         * lib/unictype/categ_N.h: Likewise.
45187         * lib/unictype/categ_Nd.h: Likewise.
45188         * lib/unictype/categ_Nl.h: Likewise.
45189         * lib/unictype/categ_No.h: Likewise.
45190         * lib/unictype/categ_P.h: Likewise.
45191         * lib/unictype/categ_Pc.h: Likewise.
45192         * lib/unictype/categ_Pd.h: Likewise.
45193         * lib/unictype/categ_Pe.h: Likewise.
45194         * lib/unictype/categ_Pf.h: Likewise.
45195         * lib/unictype/categ_Pi.h: Likewise.
45196         * lib/unictype/categ_Po.h: Likewise.
45197         * lib/unictype/categ_Ps.h: Likewise.
45198         * lib/unictype/categ_S.h: Likewise.
45199         * lib/unictype/categ_Sc.h: Likewise.
45200         * lib/unictype/categ_Sk.h: Likewise.
45201         * lib/unictype/categ_Sm.h: Likewise.
45202         * lib/unictype/categ_So.h: Likewise.
45203         * lib/unictype/categ_Z.h: Likewise.
45204         * lib/unictype/categ_Zl.h: Likewise.
45205         * lib/unictype/categ_Zp.h: Likewise.
45206         * lib/unictype/categ_Zs.h: Likewise.
45207         * lib/unictype/categ_of.h: Likewise.
45208         * lib/unictype/combining.h: Likewise.
45209         * lib/unictype/ctype_alnum.h: Likewise.
45210         * lib/unictype/ctype_alpha.h: Likewise.
45211         * lib/unictype/ctype_blank.h: Likewise.
45212         * lib/unictype/ctype_cntrl.h: Likewise.
45213         * lib/unictype/ctype_digit.h: Likewise.
45214         * lib/unictype/ctype_graph.h: Likewise.
45215         * lib/unictype/ctype_lower.h: Likewise.
45216         * lib/unictype/ctype_print.h: Likewise.
45217         * lib/unictype/ctype_punct.h: Likewise.
45218         * lib/unictype/ctype_space.h: Likewise.
45219         * lib/unictype/ctype_upper.h: Likewise.
45220         * lib/unictype/ctype_xdigit.h: Likewise.
45221         * lib/unictype/decdigit.h: Likewise.
45222         * lib/unictype/digit.h: Likewise.
45223         * lib/unictype/mirror.h: Likewise.
45224         * lib/unictype/numeric.h: Likewise.
45225         * lib/unictype/pr_alphabetic.h: Likewise.
45226         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
45227         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
45228         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
45229         * lib/unictype/pr_bidi_block_separator.h: Likewise.
45230         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
45231         * lib/unictype/pr_bidi_common_separator.h: Likewise.
45232         * lib/unictype/pr_bidi_control.h: Likewise.
45233         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
45234         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
45235         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
45236         * lib/unictype/pr_bidi_european_digit.h: Likewise.
45237         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
45238         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
45239         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
45240         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
45241         * lib/unictype/pr_bidi_pdf.h: Likewise.
45242         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
45243         * lib/unictype/pr_bidi_whitespace.h: Likewise.
45244         * lib/unictype/pr_combining.h: Likewise.
45245         * lib/unictype/pr_composite.h: Likewise.
45246         * lib/unictype/pr_currency_symbol.h: Likewise.
45247         * lib/unictype/pr_dash.h: Likewise.
45248         * lib/unictype/pr_decimal_digit.h: Likewise.
45249         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
45250         * lib/unictype/pr_deprecated.h: Likewise.
45251         * lib/unictype/pr_diacritic.h: Likewise.
45252         * lib/unictype/pr_extender.h: Likewise.
45253         * lib/unictype/pr_format_control.h: Likewise.
45254         * lib/unictype/pr_grapheme_base.h: Likewise.
45255         * lib/unictype/pr_grapheme_extend.h: Likewise.
45256         * lib/unictype/pr_grapheme_link.h: Likewise.
45257         * lib/unictype/pr_hex_digit.h: Likewise.
45258         * lib/unictype/pr_hyphen.h: Likewise.
45259         * lib/unictype/pr_id_continue.h: Likewise.
45260         * lib/unictype/pr_id_start.h: Likewise.
45261         * lib/unictype/pr_ideographic.h: Likewise.
45262         * lib/unictype/pr_ids_binary_operator.h: Likewise.
45263         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
45264         * lib/unictype/pr_ignorable_control.h: Likewise.
45265         * lib/unictype/pr_iso_control.h: Likewise.
45266         * lib/unictype/pr_join_control.h: Likewise.
45267         * lib/unictype/pr_left_of_pair.h: Likewise.
45268         * lib/unictype/pr_line_separator.h: Likewise.
45269         * lib/unictype/pr_logical_order_exception.h: Likewise.
45270         * lib/unictype/pr_lowercase.h: Likewise.
45271         * lib/unictype/pr_math.h: Likewise.
45272         * lib/unictype/pr_non_break.h: Likewise.
45273         * lib/unictype/pr_not_a_character.h: Likewise.
45274         * lib/unictype/pr_numeric.h: Likewise.
45275         * lib/unictype/pr_other_alphabetic.h: Likewise.
45276         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
45277         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
45278         * lib/unictype/pr_other_id_continue.h: Likewise.
45279         * lib/unictype/pr_other_id_start.h: Likewise.
45280         * lib/unictype/pr_other_lowercase.h: Likewise.
45281         * lib/unictype/pr_other_math.h: Likewise.
45282         * lib/unictype/pr_other_uppercase.h: Likewise.
45283         * lib/unictype/pr_paired_punctuation.h: Likewise.
45284         * lib/unictype/pr_paragraph_separator.h: Likewise.
45285         * lib/unictype/pr_pattern_syntax.h: Likewise.
45286         * lib/unictype/pr_pattern_white_space.h: Likewise.
45287         * lib/unictype/pr_private_use.h: Likewise.
45288         * lib/unictype/pr_punctuation.h: Likewise.
45289         * lib/unictype/pr_quotation_mark.h: Likewise.
45290         * lib/unictype/pr_radical.h: Likewise.
45291         * lib/unictype/pr_sentence_terminal.h: Likewise.
45292         * lib/unictype/pr_soft_dotted.h: Likewise.
45293         * lib/unictype/pr_space.h: Likewise.
45294         * lib/unictype/pr_terminal_punctuation.h: Likewise.
45295         * lib/unictype/pr_titlecase.h: Likewise.
45296         * lib/unictype/pr_unassigned_code_value.h: Likewise.
45297         * lib/unictype/pr_unified_ideograph.h: Likewise.
45298         * lib/unictype/pr_uppercase.h: Likewise.
45299         * lib/unictype/pr_variation_selector.h: Likewise.
45300         * lib/unictype/pr_white_space.h: Likewise.
45301         * lib/unictype/pr_xid_continue.h: Likewise.
45302         * lib/unictype/pr_xid_start.h: Likewise.
45303         * lib/unictype/pr_zero_width.h: Likewise.
45304         * lib/unictype/scripts.h: Likewise.
45305         * lib/unictype/scripts_byname.gperf: Likewise.
45306         * lib/unictype/sy_c_ident.h: Likewise.
45307         * lib/unictype/sy_c_whitespace.h: Likewise.
45308         * lib/unictype/sy_java_ident.h: Likewise.
45309         * lib/unictype/sy_java_whitespace.h: Likewise.
45310
45311         * lib/unictype/Makefile: New file.
45312         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
45313         glibc.
45314         * lib/unictype/3level.h: New file, copied from glibc.
45315         * lib/unictype/3levelbit.h: New file.
45316
45317 2007-11-11  Bruno Haible  <bruno@clisp.org>
45318
45319         * modules/gperf: New file.
45320         * modules/iconv_open (Depends-on): Add it.
45321         (Makefile.am): Remove the GPERF definition.
45322
45323 2007-11-11  Bruno Haible  <bruno@clisp.org>
45324
45325         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
45326         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
45327
45328 2007-11-11  Bruno Haible  <bruno@clisp.org>
45329
45330         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
45331         (usage): Remove function.
45332
45333 2007-11-11  Bruno Haible  <bruno@clisp.org>
45334
45335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
45336         gl_FUNC_CEILF_LIBS.
45337         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
45338         gl_FUNC_CEIL_LIBS.
45339         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
45340         gl_FUNC_CEILL_LIBS.
45341         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
45342         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
45343         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
45344
45345 2007-11-11  Bruno Haible  <bruno@clisp.org>
45346
45347         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
45348         roundf were declared but do not exist on functions.
45349         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
45350         roundl were declared but do not exist on functions.
45351         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
45352         HAVE_FLOORL_AND_CEILL, respectively.
45353         Needed for Sun C on Solaris 10.
45354
45355 2007-11-11  Bruno Haible  <bruno@clisp.org>
45356
45357         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
45358         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
45359         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
45360         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
45361         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
45362         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
45363         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
45364         HAVE_DECL_ROUNDF.
45365         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
45366         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
45367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
45368         of HAVE_DECL_ROUND*.
45369         * modules/math (Makefile.am): Update.
45370
45371 2007-11-10  Bruno Haible  <bruno@clisp.org>
45372
45373         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
45374         ptrdiff_t as m4/intl.m4.
45375
45376 2007-11-10  Jim Meyering  <meyering@redhat.com>
45377
45378         Avoid link failure for the argmatch test.
45379         * tests/test-argmatch.c (usage): Define function to avoid a link
45380         failure: argmatch_die requires a usage function.
45381
45382 2007-11-09  Bruno Haible  <bruno@clisp.org>
45383
45384         * doc/functions/snprintf.texi: Mention BeOS deficiency.
45385         * doc/functions/vsnprintf.texi: Likewise.
45386         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
45387         with a size argument < 2.
45388
45389 2007-11-09  Bruno Haible  <bruno@clisp.org>
45390
45391         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
45392         buffer. Fixes an inefficiency introduced on 2007-11-03.
45393
45394 2007-11-09  Bruno Haible  <bruno@clisp.org>
45395
45396         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
45397         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
45398
45399 2007-11-08  Jim Meyering  <meyering@redhat.com>
45400
45401         Change cache variable name prefix "jm_" to "gl_" everywhere.
45402         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
45403         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
45404         * m4/uptime.m4: s/gl_/jm_/
45405
45406 2007-11-07  Bruno Haible  <bruno@clisp.org>
45407
45408         Update to GNU gettext 0.17.
45409         * m4/intl.m4: Update to GNU gettext 0.17.
45410         * m4/po.m4: Likewise.
45411         * modules/gettext (Files): Remove m4/ulonglong.m4.
45412         (configure.ac): Require gettext infrastructure from version 0.17.
45413
45414 2007-11-06  Bruno Haible  <bruno@clisp.org>
45415
45416         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
45417         symbolic values are not defined in a public header.
45418         * lib/freadable.c (freadable) [QNX]: Likewise.
45419         * lib/freadahead.c (freadahead) [QNX]: Likewise.
45420         * lib/freading.c (freading) [QNX]: Likewise.
45421         * lib/fseterr.c (fseterr) [QNX]: Likewise.
45422         * lib/fwritable.c (fwritable) [QNX]: Likewise.
45423         * lib/fwriting.c (fwriting) [QNX]: Likewise.
45424         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
45425         Reported by Alain Magloire.
45426
45427         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
45428
45429 2007-11-05  Bruno Haible  <bruno@clisp.org>
45430
45431         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
45432         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
45433         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
45434         Reported by Eric Blake.
45435
45436 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45437             Bruno Haible  <bruno@clisp.org>
45438
45439         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
45440         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
45441         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
45442         (malloc): Undefine also before including <stdlib.h>.
45443         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
45444         Needed on OSF/1 4.0.
45445
45446 2007-11-05  Jim Meyering  <meyering@redhat.com>
45447
45448         git-version-gen: sync from coreutils.
45449         * build-aux/git-version-gen: Add comments.
45450         Change the first '-' to '.' in the snapshot version string,
45451         e.g., 6.9-377-08144 -> 6.9.377-08144
45452         Remove first parameter.
45453         Don't declare a version "-dirty" merely because a time
45454         stamp has changed.
45455
45456 2007-11-04  Bruno Haible  <bruno@clisp.org>
45457
45458         * lib/lock.h: Protect all macro definitions containing an 'if'
45459         statement through a "do { ... } while (0)".
45460         * lib/tls.h: Likewise.
45461
45462 2007-11-04  Bruno Haible  <bruno@clisp.org>
45463
45464         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
45465
45466 2007-11-04  Bruno Haible  <bruno@clisp.org>
45467
45468         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
45469         * modules/fprintf-posix (Depends-on): Add nocrash.
45470         * modules/snprintf-posix (Depends-on): Likewise.
45471         * modules/sprintf-posix (Depends-on): Likewise.
45472         * modules/vasnprintf-posix (Depends-on): Likewise.
45473         * modules/vasprintf-posix (Depends-on): Likewise.
45474         * modules/vfprintf-posix (Depends-on): Likewise.
45475         * modules/vsnprintf-posix (Depends-on): Likewise.
45476         * modules/vsprintf-posix (Depends-on): Likewise.
45477         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45478         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45479         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45480         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45481         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45482         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45483         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45484
45485 2007-11-04  Bruno Haible  <bruno@clisp.org>
45486
45487         * modules/nocrash: New file.
45488         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
45489         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
45490
45491 2007-11-04  Bruno Haible  <bruno@clisp.org>
45492
45493         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
45494         precision handling.
45495         * tests/test-vasprintf-posix.c (test_function): Likewise.
45496         * tests/test-snprintf-posix.h (test_function): Likewise.
45497         * tests/test-sprintf-posix.h (test_function): Likewise.
45498
45499         Fix *printf behaviour for large precisions on mingw and BeOS.
45500         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
45501         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
45502         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
45503         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45504         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45505         gl_PRINTF_PRECISION and test its result. Invoke
45506         gl_PREREQ_VASNPRINTF_PRECISION.
45507         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45508         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45509         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45510         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45511         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45512         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45513         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45514         * doc/functions/fprintf.texi: Update.
45515         * doc/functions/printf.texi: Update.
45516         * doc/functions/snprintf.texi: Update.
45517         * doc/functions/sprintf.texi: Update.
45518         * doc/functions/vfprintf.texi: Update.
45519         * doc/functions/vprintf.texi: Update.
45520         * doc/functions/vsnprintf.texi: Update.
45521         * doc/functions/vsprintf.texi: Update.
45522
45523 2007-11-04  Bruno Haible  <bruno@clisp.org>
45524
45525         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
45526
45527 2007-11-04  Bruno Haible  <bruno@clisp.org>
45528
45529         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
45530         Reported by Sylvain Beucler <beuc@gnu.org>.
45531
45532 2007-11-03  Bruno Haible  <bruno@clisp.org>
45533
45534         * tests/test-fprintf-posix2.sh: New file.
45535         * tests/test-fprintf-posix2.c: New file.
45536         * modules/fprintf-posix-tests (Files): Add them.
45537         (TESTS): Add test-fprintf-posix2.sh.
45538         (configure.ac): Check for getrlimit and setrlimit.
45539         (check_PROGRAMS): Add test-fprintf-posix2.
45540
45541         * tests/test-printf-posix2.sh: New file.
45542         * tests/test-printf-posix2.c: New file.
45543         * modules/printf-posix-tests (Files): Add them.
45544         (TESTS): Add test-printf-posix2.sh.
45545         (configure.ac): Check for getrlimit and setrlimit.
45546         (check_PROGRAMS): Add test-printf-posix2.
45547
45548         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
45549         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
45550         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
45551         (decode_double): New function, copied from decode_long_double.
45552         (scale10_round_decimal_decoded): New function, extracted from
45553         scale10_round_decimal_long_double.
45554         (scale10_round_decimal_long_double): Use it.
45555         (scale10_round_decimal_double): New function.
45556         (floorlog10): New function.
45557         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
45558         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
45559         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45560         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45561         gl_PRINTF_ENOMEM and test its result. Invoke
45562         gl_PREREQ_VASNPRINTF_ENOMEM.
45563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45564         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45566         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45567         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45568         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45569         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45570         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
45571         * modules/snprintf-posix (Depends-on): Likewise.
45572         * modules/sprintf-posix (Depends-on): Likewise.
45573         * modules/vasnprintf-posix (Depends-on): Likewise.
45574         * modules/vasprintf-posix (Depends-on): Likewise.
45575         * modules/vfprintf-posix (Depends-on): Likewise.
45576         * modules/vsnprintf-posix (Depends-on): Likewise.
45577         * modules/vsprintf-posix (Depends-on): Likewise.
45578         * doc/functions/fprintf.texi: Update.
45579         * doc/functions/printf.texi: Update.
45580         * doc/functions/snprintf.texi: Update.
45581         * doc/functions/sprintf.texi: Update.
45582         * doc/functions/vfprintf.texi: Update.
45583         * doc/functions/vprintf.texi: Update.
45584         * doc/functions/vsnprintf.texi: Update.
45585         * doc/functions/vsprintf.texi: Update.
45586
45587 2007-11-03  Bruno Haible  <bruno@clisp.org>
45588
45589         * modules/frexp-nolibm-tests: New file.
45590
45591         * modules/frexp-nolibm: New file.
45592         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
45593
45594 2007-11-03  Bruno Haible  <bruno@clisp.org>
45595
45596         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
45597         value is C99 compliant.
45598         Needed for OSF/1 5.1.
45599
45600 2007-11-03  Bruno Haible  <bruno@clisp.org>
45601
45602         Fix out-of-memory handling of vasnprintf.
45603         * lib/printf-parse.c: Include <errno.h>.
45604         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
45605         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
45606         is already set.
45607
45608 2007-11-02  Eric Blake  <ebb9@byu.net>
45609
45610         Fix tests on cygwin.
45611         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
45612
45613 2007-11-01  Bruno Haible  <bruno@clisp.org>
45614
45615         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
45616         warning.
45617         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
45618         needed for POSIX compatibility.
45619
45620 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45621
45622         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
45623         for compatibility with GNU.
45624
45625 2007-11-01  Bruno Haible  <bruno@clisp.org>
45626
45627         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
45628         (putenv): Renamed from rpl_putenv. Change argument type from
45629         'const char *' to 'char *'.
45630         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
45631         of defining putenv in config.h, just set REPLACE_PUTENV.
45632         * modules/putenv (Depends-on): Add stdlib.
45633         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45634         (Include): Use <stdlib.h>.
45635         * lib/stdlib.in.h (putenv): New declaration.
45636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
45637         REPLACE_PUTENV.
45638         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
45639         REPLACE_PUTENV.
45640         Needed for MacOS X 10.5.0.
45641         Reported by Peter O'Gorman <peter@pogma.com>.
45642
45643 2007-11-01  Jim Meyering  <meyering@redhat.com>
45644
45645         Treat an empty date string exactly like "0".
45646         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
45647         if the remaining date string (to be parsed) is empty, use "0".
45648         Reported by Mischa Molhoek and discussed in this thread:
45649         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
45650
45651 2007-10-31  Bruno Haible  <bruno@clisp.org>
45652
45653         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
45654         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
45655         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
45656         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
45657         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
45658         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
45659
45660 2007-10-31  Bruno Haible  <bruno@clisp.org>
45661
45662         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
45663         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
45664         (AC_TYPE_LONG_LONG_INT): Use it.
45665         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
45666         it as well.
45667         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
45668         to m4/longlong.m4.
45669         * modules/stdint (Files): Remove m4/ulonglong.m4.
45670         * modules/strtoull (Files): Use m4/longlong.m4 instead of
45671         m4/ulonglong.m4.
45672         * modules/strtoumax (Files): Likewise.
45673
45674 2007-10-30  Bruno Haible  <bruno@clisp.org>
45675
45676         * modules/xvasprintf-posix: New file.
45677         Suggested by Eric Blake.
45678
45679 2007-10-30  Bruno Haible  <bruno@clisp.org>
45680
45681         * modules/xprintf-posix-tests: New file.
45682         * tests/test-xprintf-posix.sh: New file.
45683         * tests/test-xprintf-posix.c: New file.
45684         * tests/test-xfprintf-posix.c: New file.
45685
45686         * modules/xprintf-posix: New file.
45687
45688 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45689
45690         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
45691         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
45692         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
45693
45694 2007-10-29  Bruno Haible  <bruno@clisp.org>
45695
45696         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
45697         contain the special marker '_cv_'.
45698         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45699         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45700         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45701         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
45702         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45703         Reported by Ralf Wildenhues.
45704
45705 2007-10-29  Bruno Haible  <bruno@clisp.org>
45706
45707         * gnulib-tool (func_import): When --lgpl is not specified, set
45708         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
45709         GPLv3.
45710         Reported by Simon Josefsson.
45711
45712 2007-10-28  Bruno Haible  <bruno@clisp.org>
45713
45714         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
45715         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
45716         HAVE_DECL_ISFINITE.
45717         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45718         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
45719         HAVE_DECL_ISFINITE.
45720
45721 2007-10-28  Bruno Haible  <bruno@clisp.org>
45722
45723         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
45724         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
45725
45726 2007-10-28  Bruno Haible  <bruno@clisp.org>
45727
45728         Fix link errors with Sun C 5.0 on Solaris 10.
45729         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
45730         function is declared but not present in the compiler's libm.
45731         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
45732         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45733         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
45734         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
45735         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
45736         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
45737         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
45738         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45739         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
45740         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
45741         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
45742         HAVE_DECL_FLOORL.
45743
45744 2007-10-28  Bruno Haible  <bruno@clisp.org>
45745
45746         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
45747         gl_FUNC_FLOORL. Cache the result.
45748         (gl_FUNC_FLOORL): Use it.
45749         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
45750         gl_FUNC_CEILL. Cache the result.
45751         (gl_FUNC_CEILL): Use it.
45752
45753         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
45754         gl_FUNC_FLOOR. Cache the result.
45755         (gl_FUNC_FLOOR): Use it.
45756         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
45757         gl_FUNC_CEIL. Cache the result.
45758         (gl_FUNC_CEIL): Use it.
45759
45760         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
45761         gl_FUNC_FLOORF. Cache the result.
45762         (gl_FUNC_FLOORF): Use it.
45763         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
45764         gl_FUNC_CEILF. Cache the result.
45765         (gl_FUNC_CEILF): Use it.
45766
45767 2007-10-28  Bruno Haible  <bruno@clisp.org>
45768
45769         * gnulib-tool: Allow specifying the LGPL version number through
45770         --lgpl=2 or --lgpl=3.
45771         (func_usage): Document --lgpl with argument.
45772         Handle --lgpl=... arguments.
45773         (func_import): Recognize also gl_LGPL calls with an argument. When
45774         --lgpl=2 is used and the module's license is just LGPL, report an
45775         error. Set sed_transform_lib_file according to the lgpl variable. In
45776         the generated files, use --lgpl or gl_LGPL invocations with argument,
45777         if necessary.
45778         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
45779         an LGPv2+ license.
45780         * doc/gnulib-tool.texi (Modified imports): Update explanation of
45781         gl_LGPL macro.
45782
45783 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45784             Bruno Haible  <bruno@clisp.org>
45785
45786         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
45787         (u16_uctomb_aux): Likewise.
45788         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
45789         !HAVE_INLINE.
45790         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
45791
45792 2007-10-28  Bruno Haible  <bruno@clisp.org>
45793
45794         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
45795         Invoke AM_GETTEXT_OPTION if it exists.
45796         * modules/vasprintf: Likewise.
45797         * modules/verror: Likewise.
45798         * modules/xprintf: Likewise.
45799         * modules/xvasprintf: Likewise.
45800
45801 2007-10-27  Ben Pfaff  <blp@gnu.org>
45802
45803         * lib/math.in.h: Define isfinite macro and prototypes for
45804         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
45805         implementations.
45806         * m4/math_h.m4: New substitutions for isfinite module.
45807         * lib/isfinite.c: New file.
45808         * m4/isfinite.m4: New file.
45809         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
45810         * modules/isfinite: New file.
45811         * modules/isfinite-tests: New file.
45812         * tests/tests-isfinite.c: New file.
45813         * doc/functions/isfinite.texi: Mention isfinite module.
45814         * MODULES.html.sh: Mention new module.
45815
45816 2007-10-27  Ben Pfaff  <blp@gnu.org>
45817
45818         Ralf Wildenhues reported that Tru64 4.0D declares the round
45819         functions but does not have definitions.
45820         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
45821         cannot be found in any library, set the output variable to
45822         "missing" instead of "".
45823         * m4/round.m4: Also use our substitute if we cannot find round in
45824         any library, even if it is declared.
45825         * m4/roundf.m4: Likewise for roundf.
45826         * m4/roundl.m4: Likewise for roundl.
45827         * lib/math.in.h: Undefine roundf, round, roundl before defining
45828         their replacements, to allow for hypothetical systems where these
45829         may be defined as macros but not available in libraries.
45830
45831 2007-10-27  Bruno Haible  <bruno@clisp.org>
45832
45833         * doc/gnulib.texi: Invoke @firstparagraphindent.
45834         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
45835         changes in gnulib.
45836         (Source changes): New section.
45837
45838 2007-10-26  Bruno Haible  <bruno@clisp.org>
45839
45840         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
45841         borrowed from autoconf.
45842
45843 2007-10-26  Bruno Haible  <bruno@clisp.org>
45844
45845         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
45846         strerror returned the empty string. Needed on HP-UX 11.00.
45847
45848 2007-10-24  Micah Cowan  <micah@cowan.name>
45849
45850         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
45851         * build-aux/bootstrap: Remove support for now-unnecessary option,
45852         --cvs-user, and envvars CVS_USER, CVS_RSH.
45853
45854 2007-10-24  Jim Meyering  <meyering@redhat.com>
45855
45856         Avoid diagnostics from sha1sum when there is no cached checksum.
45857         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
45858         if the po.s1 file hasn't been created yet.
45859
45860         * build-aux/bootstrap: Sync from coreutils:
45861         2007-10-24  Jim Meyering  <meyering@redhat.com>
45862         Get gnulib from the git repository, not from an obsolete cvs one.
45863         * build-aux/bootstrap: Suggestion from Micah Cowan.
45864         2007-10-04  Jim Meyering  <jim@meyering.net>
45865         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
45866         (update_po_files): Work also when there are no .po files in po/.
45867
45868 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45869
45870         * README: Append ".git" to git and cg examples.
45871         Problem reported by Benoit Sigoure.
45872
45873 2007-10-23  Micah Cowan  <micah@cowan.name>
45874
45875         * users.txt: Add wget.
45876
45877 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45878
45879         Fix linking of some unistdio tests on FreeBSD.
45880         * modules/unistdio/u16-vsnprintf-tests
45881         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
45882         * modules/unistdio/u16-vsprintf-tests
45883         (test_u16_vsnprintf1_LDADD): Likewise.
45884         * modules/unistdio/u32-vsnprintf-tests
45885         (test_u32_vsnprintf1_LDADD): Likewise.
45886         * modules/unistdio/u32-vsprintf-tests
45887         (test_u32_vsprintf1_LDADD): Likewise.
45888         * modules/unistdio/u8-vsnprintf-tests
45889         (test_u8_vsnprintf1_LDADD): Likewise.
45890         * modules/unistdio/u8-vsprintf-tests
45891         (test_u8_vsprintf1_LDADD): Likewise.
45892         * modules/unistdio/ulc-vsnprintf-tests
45893         (test_ulc_vsnprintf1_LDADD): Likewise.
45894         * modules/unistdio/ulc-vsprintf-tests
45895         (test_ulc_vsprintf1_LDADD): Likewise.
45896
45897         Fix linking of some uniconv tests on FreeBSD.
45898         * modules/uniconv/u16-conv-from-enc-tests
45899         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
45900         * modules/uniconv/u16-conv-to-enc-tests
45901         (test_u16_conv_to_enc_LDADD): Likewise.
45902         * modules/uniconv/u16-strconv-from-enc-tests
45903         (test_u16_strconv_from_enc_LDADD): Likewise.
45904         * modules/uniconv/u16-strconv-to-enc-tests
45905         (test_u16_strconv_to_enc_LDADD): Likewise.
45906         * modules/uniconv/u32-conv-from-enc-tests
45907         (test_u32_conv_from_enc_LDADD): Likewise.
45908         * modules/uniconv/u32-conv-to-enc-tests
45909         (test_u32_conv_to_enc_LDADD): Likewise.
45910         * modules/uniconv/u32-strconv-from-enc-tests
45911         (test_u32_strconv_from_enc_LDADD): Likewise.
45912         * modules/uniconv/u32-strconv-to-enc-tests
45913         (test_u32_strconv_to_enc_LDADD): Likewise.
45914         * modules/uniconv/u8-conv-from-enc-tests
45915         (test_u8_conv_from_enc_LDADD): Likewise.
45916         * modules/uniconv/u8-conv-to-enc-tests
45917         (test_u8_conv_to_enc_LDADD): Likewise.
45918         * modules/uniconv/u8-strconv-from-enc-tests
45919         (test_u8_strconv_from_enc_LDADD): Likewise.
45920         * modules/uniconv/u8-strconv-to-enc-tests
45921         (test_u8_strconv_to_enc_LDADD): Likewise.
45922
45923 2007-10-22  Bruno Haible  <bruno@clisp.org>
45924
45925         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
45926         size.
45927
45928 2007-10-22  Eric Blake  <ebb9@byu.net>
45929
45930         Tweak x*printf documentation.
45931         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
45932         variable name and comments.
45933         Suggested by Bruno Haible.
45934
45935 2007-10-22  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/acl.c (copy_acl): Fix file name in comment.
45938
45939 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45940
45941         Fix Tru64 problem with stdbool.h.
45942         * lib/stdbool.in.h (false, true):
45943         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
45944         Don't declare as an enum in this situation; it runs afoul of Tru64.
45945         Problem reported by Steven M. Schweda in
45946         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
45947
45948 2007-10-22  Eric Blake  <ebb9@byu.net>
45949
45950         Also wrap vf?printf.
45951         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
45952         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
45953         (xvprintf, xvfprintf): New functions.
45954
45955 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45956
45957         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
45958         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
45959
45960         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
45961         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
45962
45963 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45964
45965         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
45966         by Bruno Haible.
45967
45968 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45969
45970         * lib/getloadavg.c
45971         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45972         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45973
45974         * tests/test-i-ring.c: Work for C89.
45975
45976 2007-10-22  Bruno Haible  <bruno@clisp.org>
45977
45978         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45979         -1u, in preprocessor expression, so that we don't test for the bug
45980         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45981         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45982
45983 2007-10-22  Eric Blake  <ebb9@byu.net>
45984
45985         * tests/test-yesno.sh: Silence stderr during test.
45986
45987 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45988
45989         * modules/crypto/gc-camellia: New file.
45990
45991         * m4/gc-camellia.m4: New file.
45992
45993         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45994
45995         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45996
45997 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45998
45999         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
46000         --help to stdout.  Reported by sms@antinode.org (Steven
46001         M. Schweda).
46002
46003 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46004
46005         * users.txt: Fix link to libksba.
46006
46007 2007-10-21  Ben Pfaff  <blp@gnu.org>
46008
46009         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
46010         round.c roundf implementation that depends on floorf and ceilf to
46011         be tested unconditionally.
46012
46013 2007-10-21  Ben Pfaff  <blp@gnu.org>
46014
46015         * m4/check-libm-func.m4: Removed.
46016         * m4/check-math-lib.m4: New file.
46017         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
46018         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
46019         definition and lack of AC_LIBOBJ([roundf]).
46020         * m4/roundl.m4: Ditto, and similarly for roundl.
46021         * modules/round: Reference new m4 file.
46022         * modules/roundf: Ditto.
46023         * modules/roundl: Ditto.
46024         * tests/test-round2.c (main): Use ROUND instead of round.
46025         Bug report from Bruno Haible.
46026
46027 2007-10-21  Bruno Haible  <bruno@clisp.org>
46028
46029         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
46030         context.
46031
46032 2007-10-21  Bruno Haible  <bruno@clisp.org>
46033
46034         * tests/test-wcwidth.c (main): Allow negative result for some control
46035         characters.
46036
46037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
46038         Needed on OSF/1 5.1.
46039
46040 2007-10-21  Bruno Haible  <bruno@clisp.org>
46041
46042         * tests/test-floorf1.c: Include isnanf.h.
46043         (main): Use isnanf() instead of isnan().
46044         * tests/test-ceilf1.c: Include isnanf.h.
46045         (main): Use isnanf() instead of isnan().
46046         * tests/test-truncf1.c: Include isnanf.h.
46047         (main): Use isnanf() instead of isnan().
46048         * tests/test-roundf1.c: Include isnanf.h.
46049         (main): Use isnanf() instead of isnan().
46050
46051 2007-10-21  Eric Blake  <ebb9@byu.net>
46052
46053         * users.txt: Update URL for m4.
46054
46055 2007-10-21  Bruno Haible  <bruno@clisp.org>
46056
46057         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
46058
46059 2007-10-21  Bruno Haible  <bruno@clisp.org>
46060
46061         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
46062         Git's management files if the CVS files are not present.
46063
46064 2007-10-20  Bruno Haible  <bruno@clisp.org>
46065
46066         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
46067         gcc-3.4.x.
46068
46069 2007-10-20  Ben Pfaff  <blp@gnu.org>
46070
46071         * lib/math.in.h: Declare round, roundf, roundl if we are providing
46072         implementations.
46073         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
46074         * lib/round.c: New file.
46075         * lib/roundf.c: New file.
46076         * lib/roundl.c: New file.
46077         * m4/round.m4: New file.
46078         * m4/roundf.m4: New file.
46079         * m4/roundl.m4: New file.
46080         * m4/check-libm-func-m4: New file.
46081         * modules/math: Replace round, roundf, roundl related @VARS@ in
46082         math.in.h.
46083         * modules/round: New file.
46084         * modules/round-tests: New file.
46085         * modules/roundf: New file.
46086         * modules/roundf-tests: New file.
46087         * modules/roundl: New file.
46088         * modules/roundl-tests: New file.
46089         * tests/test-round1.c: New file.
46090         * tests/test-round2.c: New file.
46091         * tests/test-roundf1.c: New file.
46092         * tests/test-roundf2.c: New file.
46093         * tests/test-roundl.c: New file.
46094         * doc/functions/round.texi: Mention round module.
46095         * doc/functions/roundf.texi: Mention roundf module.
46096         * doc/functions/roundl.texi: Mention roundl module.
46097         * MODULES.html.sh: Mention new modules.
46098         Thanks to Bruno Haible for suggestions.
46099
46100 2007-10-20  Jim Meyering  <meyering@redhat.com>
46101
46102         * lib/xprintf.c: Include <config.h> unconditionally.
46103
46104         Change xprintf's license to GPL.
46105         * modules/xprintf (License): s/LGPL/GPL/, since this module
46106         depends on modules (exit and exitfail) which are GPL.
46107         Suggestion from Bruno Haible.
46108
46109         xprintf fixes.
46110         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
46111         Use a clearer diagnostic.
46112         Patch from Bruno Haible.
46113
46114 2007-10-20  Bruno Haible  <bruno@clisp.org>
46115
46116         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
46117         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
46118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46119
46120 2007-10-20  Bruno Haible  <bruno@clisp.org>
46121
46122         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
46123         precision in the comparison result > x - 1 or similar.
46124         * tests/test-ceilf2.c (correct_result_p): Likewise.
46125         * tests/test-truncf2.c (correct_result_p): Likewise.
46126         * tests/test-trunc2.c (correct_result_p): Likewise.
46127         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46128
46129 2007-10-20  Bruno Haible  <bruno@clisp.org>
46130
46131         * modules/ceil: New file.
46132         * m4/ceil.m4: New file.
46133         * doc/functions/ceil.texi: Mention the 'ceil' module.
46134
46135 2007-10-20  Bruno Haible  <bruno@clisp.org>
46136
46137         * modules/floor: New file.
46138         * m4/floor.m4: New file.
46139         * doc/functions/floor.texi: Mention the 'floor' module.
46140
46141 2007-10-20  Bruno Haible  <bruno@clisp.org>
46142
46143         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
46144         of %a.
46145         * modules/floorf-tests (Depends-on): Likewise.
46146         * modules/truncf-tests (Depends-on): Likewise.
46147         * modules/trunc-tests (Depends-on): Likewise.
46148         Reported by Ben Pfaff.
46149
46150 2007-10-19  Jim Meyering  <meyering@redhat.com>
46151
46152         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
46153         Don't bother testing specific errno values.  Just test ferror.
46154
46155         New module: xprintf
46156         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
46157
46158 2007-10-19  Bruno Haible  <bruno@clisp.org>
46159
46160         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
46161         syntax.
46162         * modules/javaexec (Makefile.am): Likewise.
46163         * modules/relocatable-prog (Makefile.am): Likewise.
46164         Suggested by Jim Meyering.
46165
46166 2007-10-18  Bruno Haible  <bruno@clisp.org>
46167
46168         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
46169         Reported by Jim Meyering.
46170
46171 2007-10-18  Eric Blake  <ebb9@byu.net>
46172
46173         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
46174
46175 2007-10-18  Bruno Haible  <bruno@clisp.org>
46176
46177         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
46178         the format string into writable memory. Needed in Fortify conditions.
46179
46180 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
46181             Bruno Haible  <bruno@clisp.org>
46182
46183         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
46184         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
46185         * modules/trim (Depends-on): Add mbchar.
46186         (configure.ac): Add gl_FUNC_MBRTOWC.
46187         (Makefile.am): Augment lib_SOURCES.
46188
46189 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46190
46191         Modify glob.c to use fstatat and dirfd, to simplify it.
46192         Suggested by Eric Blake.
46193         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
46194         Don't include <stdbool.h>; not used.
46195         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
46196         (link_exists_p): Simplify implementation, since we can now assume
46197         dirfd and fstatat.
46198         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
46199
46200 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46201
46202         * gnulib-tool (func_get_dependencies): Fix sed script to
46203         match only tests.
46204
46205 2007-10-17  Bruno Haible  <bruno@clisp.org>
46206
46207         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
46208         allow locale names without encoding suffix.
46209         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
46210         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46211
46212 2007-10-16  Bruno Haible  <bruno@clisp.org>
46213
46214         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
46215         * lib/getgroups.c (getgroups): Likewise.
46216         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
46217
46218 2007-10-16  Bruno Haible  <bruno@clisp.org>
46219
46220         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
46221         * modules/malloc-posix (License): Likewise.
46222         * modules/realloc-posix (License): Likewise.
46223         * modules/calloc-posix (License): Likewise.
46224         * modules/intprops (License): Change from GPL to LGPL, with
46225         Paul Eggert's approval.
46226
46227 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46228
46229         Merge glibc changes into lib/glob.c.
46230
46231         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
46232         2007-10-15 04:59:03 UTC.  Here are the changes:
46233
46234         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
46235
46236         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
46237
46238         * lib/glob.c: Add some branch prediction throughout.
46239
46240         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
46241
46242         [BZ #5103]
46243         * lib/glob.c (glob): Recognize patterns starting \/.
46244
46245         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
46246
46247         [BZ #3996]
46248         * lib/glob.c (attribute_hidden): Define if not defined.
46249         (glob): Unescape dirname, filename or username when needed and not
46250         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
46251         is NULL.  Handle unescaped [ in pattern without closing ].
46252         Don't pass GLOB_CHECK down to recursive glob for directories.
46253         (__glob_pattern_type): New function.
46254         (__glob_pattern_p): Implement using __glob_pattern_type.
46255         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
46256         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
46257         Remove unreachable code.
46258
46259         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
46260
46261         * lib/glob.c (glob_in_dir): Add some comments and asserts to
46262         explain why there are no leaks.
46263
46264         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
46265
46266         [BZ #3253]
46267         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
46268         time, rather allocate increasingly bigger arrays of pointers, if
46269         possible with alloca, if too large with malloc.
46270
46271 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46272
46273         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
46274         Problem reported by H.Merijn Brand in
46275         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
46276         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
46277         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
46278
46279 2007-10-15  Bruno Haible  <bruno@clisp.org>
46280
46281         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
46282         with explicit rpl_ prefix.
46283         * lib/fopen.c (fopen): Likewise.
46284         * lib/freopen.c (freopen): Likewise.
46285         * lib/iconv.c (iconv): Likewise.
46286         * lib/iconv_close.c (iconv_close): Likewise.
46287
46288 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46289
46290         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
46291
46292 2007-10-15  Bruno Haible  <bruno@clisp.org>
46293
46294         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
46295         <stddef.h> instead of <stdlib.h> since we only need NULL.
46296         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46297
46298 2007-10-15  Bruno Haible  <bruno@clisp.org>
46299
46300         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
46301         Replace paragraph talking about LIBOBJS.
46302         Reported by Colin Watson <cjwatson@debian.org>.
46303
46304 2007-10-15  Bruno Haible  <bruno@clisp.org>
46305
46306         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
46307         <stdlib.h> before using NULL.
46308
46309 2007-10-15  Simon Josefsson  <simon@josefsson.org>
46310
46311         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
46312         Reported by Albert Chin <china@thewrittenword.com>.
46313
46314 2007-10-14  Bruno Haible  <bruno@clisp.org>
46315
46316         * modules/iconv_open-utf-tests: New file.
46317         * tests/test-iconv-utf.c: New file.
46318
46319         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
46320         * modules/iconv_open-utf: New file.
46321         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
46322         (iconv, iconv_close): New declarations.
46323         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
46324         be defined.
46325         (iconv_open): Add special handling of conversion between UTF-8 and
46326         UTF-{16,32}{BE,LE}.
46327         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
46328         * lib/iconv_close.c: New file.
46329         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
46330         gl_FUNC_ICONV_OPEN.
46331         (gl_FUNC_ICONV_OPEN): Use it.
46332         (gl_FUNC_ICONV_OPEN_UTF): New macro.
46333         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
46334         and REPLACE_ICONV_UTF.
46335         * modules/iconv_open (Depends-on): Add c-strcase.
46336         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
46337         ICONV_CONST.
46338         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
46339
46340 2007-10-13  Albert Chin  <china@thewrittenword.com>
46341             Bruno Haible  <bruno@clisp.org>
46342
46343         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
46344         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
46345
46346 2007-10-13  Bruno Haible  <bruno@clisp.org>
46347
46348         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
46349         defined, use the ISO C99 inline semantics.
46350         * lib/argp.h (ARGP_EI): Likewise.
46351
46352 2007-10-13  Bruno Haible  <bruno@clisp.org>
46353
46354         Handle 'inline' change in gcc 4.3.0.
46355         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
46356         argp_fmtstream_write, argp_fmtstream_set_lmargin,
46357         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
46358         argp_fmtstream_point): Disable 'extern' declaration if the function
46359         definition is going to be provided inline.
46360         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
46361         semantics, not the ISO C99 inline semantics.
46362         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
46363         'extern' declaration if the function definition is going to be provided
46364         inline.
46365         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
46366         the GNU C inline semantics, not the ISO C99 inline semantics. With
46367         GCC 4.2, avoid a warning.
46368
46369 2007-10-13  Bruno Haible  <bruno@clisp.org>
46370
46371         * lib/freading.h (freading): Enable the use of __freading for
46372         glibc >= 2.7.
46373         * lib/freading.c (freading): Likewise.
46374
46375 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46376
46377         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
46378         "warning: C99 inline functions are not supported; using GNU89".
46379
46380 2007-10-12  Bruno Haible  <bruno@clisp.org>
46381
46382         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
46383         of 2.
46384         * tests/test-ceilf2.c: New file.
46385         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
46386
46387         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
46388         * modules/ceilf-tests: Update.
46389
46390 2007-10-12  Bruno Haible  <bruno@clisp.org>
46391
46392         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
46393         of 2.
46394         * tests/test-floorf2.c: New file.
46395         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
46396
46397         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
46398         * modules/floorf-tests: Update.
46399
46400 2007-10-12  Bruno Haible  <bruno@clisp.org>
46401
46402         * tests/test-trunc2.c: New file.
46403         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
46404
46405         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
46406         * modules/trunc-tests: Update.
46407
46408 2007-10-12  Bruno Haible  <bruno@clisp.org>
46409
46410         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
46411         of 2.
46412         * tests/test-truncf2.c: New file.
46413         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
46414
46415         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
46416         * modules/truncf-tests: Update.
46417
46418 2007-10-11  Eric Blake  <ebb9@byu.net>
46419
46420         Don't claim strerror is broken on Interix.
46421         * doc/functions/strerror.texi (strerror): Known broken systems are
46422         now Solaris 8, and not Interix.
46423         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
46424         Interix on cross-compile.
46425         Reported by Martin Koeppe in
46426         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
46427
46428 2007-10-11  Bruno Haible  <bruno@clisp.org>
46429
46430         * modules/i-ring-tests: New file.
46431         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
46432         instead of assert.
46433
46434 2007-10-11  Bruno Haible  <bruno@clisp.org>
46435
46436         * modules/filenamecat-tests: New file.
46437         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
46438         * lib/filenamecat.c: Remove test code.
46439
46440 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46441
46442         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
46443
46444         * lib/strerror.c: Include <string.h> always, to test interface,
46445         and to remove the need for the dummy.
46446         Include intprops.h to compute width instead of doing it ourselves
46447         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
46448         (strerror): Define it to return NULL if there's no system strerror.
46449         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
46450         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
46451         ancient pre-strerror Unix systems well any more.  Saying "unknown
46452         system error" is enough.
46453         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
46454         simpler strerror.c implementation.
46455         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
46456         Simplify the tests to reflect the simpler strerror implementation.
46457         * modules/strerror (Depends-on): Add intprops.
46458
46459 2007-10-09  Eric Blake  <ebb9@byu.net>
46460
46461         Silence test-fpending.
46462         * modules/fpending-tests (Files): Add wrapper script.
46463         * tests/test-fpending.sh: New file.
46464
46465 2007-10-09  Bruno Haible  <bruno@clisp.org>
46466
46467         * MODULES.html.sh (func_module): Don't create a hyperlink for
46468         function names like 'printf_frexp'.
46469         (Misc): Add crc, memxor.
46470         (Characteristics of floating types): New section.
46471         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
46472         isnanf-nolibm, signbit, trunc, truncf, truncl.
46473         (Enhancements for ISO C 99 functions): New subsection Input/output.
46474         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
46475         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
46476         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
46477         (Compatibility checks for POSIX:2001 functions): Add clock-time.
46478         (Enhancements for POSIX:2001 functions): Add chdir-long.
46479         (File system functions): Add areadlink, chdir-safer, read-file.
46480         Remove cycle-check.
46481         (File system as inode set): New section.
46482         (Date and time): Add gethrxtime.
46483         (Multithreading): Add openmp.
46484         (Internationalization functions): Add localename.
46485         (Unicode string functions): Add unistr/u*-mbsnlen.
46486         (Support for maintaining and releasing projects): Add git-version-gen.
46487         (Lone files): Remove directories.
46488
46489 2007-10-08  Ben Pfaff  <blp@gnu.org>
46490
46491         * lib/xmalloca.h: Fix typo in comment.
46492
46493 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46494
46495         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
46496         when avoiding problems with integer overflow.  Use a portable test
46497         instead.
46498
46499 2007-10-08  Simon Josefsson  <simon@josefsson.org>
46500
46501         * modules/dummy (License): Change to LGPLv2+.
46502         * modules/float (License): Likewise
46503         * modules/realloc (License): Likewise
46504         * modules/stdlib (License): Likewise
46505
46506 2007-10-07  Bruno Haible  <bruno@clisp.org>
46507
46508         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
46509         * floor.c (TWO_MANT_DIG): Likewise.
46510         * ceil.c (TWO_MANT_DIG): Likewise.
46511         Reported by Ben Pfaff.
46512
46513 2007-10-07  Bruno Haible  <bruno@clisp.org>
46514
46515         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
46516         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
46517         * lib/frexp.c (FUNC): Likewise.
46518         * lib/printf-frexp.h (printf_frexp): Likewise.
46519         * lib/printf-frexpl.h (printf_frexpl): Likewise.
46520         * lib/printf-frexp.c (FUNC): Likewise.
46521         Suggested by Jim Meyering.
46522
46523 2007-10-07  Jim Meyering  <meyering@redhat.com>
46524
46525         Make xnanosleep's integer overflow test more robust.
46526         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
46527         so that gcc-4.3.0 doesn't optimize away this test for overflow.
46528
46529 2007-10-07  Bruno Haible  <bruno@clisp.org>
46530
46531         * NEWS: Mention the license change.
46532
46533         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
46534         abbreviations in the modules files.
46535
46536         Change copyright notice from GPLv2+ to GPLv3+.
46537         * README: Change copyright notice.
46538         * MODULES.html.sh: Likewise.
46539         * build-aux/bootstrap.conf: Likewise.
46540         * build-aux/config.libpath: Likewise.
46541         * build-aux/csharpcomp.sh.in: Likewise.
46542         * build-aux/csharpexec.sh.in: Likewise.
46543         * build-aux/install-reloc: Likewise.
46544         * build-aux/javacomp.sh.in: Likewise.
46545         * build-aux/javaexec.sh.in: Likewise.
46546         * build-aux/ldd.sh.in: Likewise.
46547         * build-aux/reloc-ldflags: Likewise.
46548         * build-aux/relocatable.sh.in: Likewise.
46549         * build-aux/x-to-1.in: Likewise.
46550         * check-module: Likewise.
46551         * config/srclistvars.sh: Likewise.
46552         * gnulib-tool: Likewise.
46553         * lib/acl-internal.h: Likewise.
46554         * lib/acl.c: Likewise.
46555         * lib/acl.h: Likewise.
46556         * lib/acl_entries.c: Likewise.
46557         * lib/areadlink-with-size.c: Likewise.
46558         * lib/areadlink.c: Likewise.
46559         * lib/areadlink.h: Likewise.
46560         * lib/argmatch.c: Likewise.
46561         * lib/argmatch.h: Likewise.
46562         * lib/argp-ba.c: Likewise.
46563         * lib/argp-eexst.c: Likewise.
46564         * lib/argp-fmtstream.c: Likewise.
46565         * lib/argp-fmtstream.h: Likewise.
46566         * lib/argp-fs-xinl.c: Likewise.
46567         * lib/argp-help.c: Likewise.
46568         * lib/argp-namefrob.h: Likewise.
46569         * lib/argp-parse.c: Likewise.
46570         * lib/argp-pin.c: Likewise.
46571         * lib/argp-pv.c: Likewise.
46572         * lib/argp-pvh.c: Likewise.
46573         * lib/argp-xinl.c: Likewise.
46574         * lib/argp.h: Likewise.
46575         * lib/at-func.c: Likewise.
46576         * lib/atanl.c: Likewise.
46577         * lib/backupfile.c: Likewise.
46578         * lib/backupfile.h: Likewise.
46579         * lib/basename.c: Likewise.
46580         * lib/binary-io.h: Likewise.
46581         * lib/byteswap.in.h: Likewise.
46582         * lib/c-stack.c: Likewise.
46583         * lib/c-stack.h: Likewise.
46584         * lib/c-strcasestr.c: Likewise.
46585         * lib/c-strcasestr.h: Likewise.
46586         * lib/c-strstr.c: Likewise.
46587         * lib/c-strstr.h: Likewise.
46588         * lib/c-strtod.c: Likewise.
46589         * lib/calloc.c: Likewise.
46590         * lib/canon-host.c: Likewise.
46591         * lib/canon-host.h: Likewise.
46592         * lib/canonicalize-lgpl.c: Likewise.
46593         * lib/canonicalize.c: Likewise.
46594         * lib/canonicalize.h: Likewise.
46595         * lib/ceil.c: Likewise.
46596         * lib/ceilf.c: Likewise.
46597         * lib/ceill.c: Likewise.
46598         * lib/chdir-long.c: Likewise.
46599         * lib/chdir-long.h: Likewise.
46600         * lib/chdir-safer.c: Likewise.
46601         * lib/chdir-safer.h: Likewise.
46602         * lib/chown.c: Likewise.
46603         * lib/classpath.c: Likewise.
46604         * lib/classpath.h: Likewise.
46605         * lib/clean-temp.c: Likewise.
46606         * lib/clean-temp.h: Likewise.
46607         * lib/cloexec.c: Likewise.
46608         * lib/close-stream.c: Likewise.
46609         * lib/closein.c: Likewise.
46610         * lib/closein.h: Likewise.
46611         * lib/closeout.c: Likewise.
46612         * lib/closeout.h: Likewise.
46613         * lib/concat-filename.c: Likewise.
46614         * lib/copy-file.c: Likewise.
46615         * lib/copy-file.h: Likewise.
46616         * lib/count-one-bits.h: Likewise.
46617         * lib/crc.c: Likewise.
46618         * lib/crc.h: Likewise.
46619         * lib/creat-safer.c: Likewise.
46620         * lib/csharpcomp.c: Likewise.
46621         * lib/csharpcomp.h: Likewise.
46622         * lib/csharpexec.c: Likewise.
46623         * lib/csharpexec.h: Likewise.
46624         * lib/cycle-check.c: Likewise.
46625         * lib/cycle-check.h: Likewise.
46626         * lib/diacrit.c: Likewise.
46627         * lib/diacrit.h: Likewise.
46628         * lib/diffseq.h: Likewise.
46629         * lib/dirchownmod.c: Likewise.
46630         * lib/dirent.in.h: Likewise.
46631         * lib/dirfd.c: Likewise.
46632         * lib/dirfd.h: Likewise.
46633         * lib/dirname.c: Likewise.
46634         * lib/dirname.h: Likewise.
46635         * lib/dummy.c: Likewise.
46636         * lib/dup-safer.c: Likewise.
46637         * lib/dup2.c: Likewise.
46638         * lib/eealloc.h: Likewise.
46639         * lib/error.c: Likewise.
46640         * lib/error.h: Likewise.
46641         * lib/euidaccess.c: Likewise.
46642         * lib/exclude.c: Likewise.
46643         * lib/exclude.h: Likewise.
46644         * lib/execute.c: Likewise.
46645         * lib/execute.h: Likewise.
46646         * lib/exitfail.c: Likewise.
46647         * lib/exitfail.h: Likewise.
46648         * lib/expl.c: Likewise.
46649         * lib/fatal-signal.c: Likewise.
46650         * lib/fatal-signal.h: Likewise.
46651         * lib/fbufmode.c: Likewise.
46652         * lib/fbufmode.h: Likewise.
46653         * lib/fchdir.c: Likewise.
46654         * lib/fchmodat.c: Likewise.
46655         * lib/fchownat.c: Likewise.
46656         * lib/fcntl--.h: Likewise.
46657         * lib/fcntl-safer.h: Likewise.
46658         * lib/fcntl.in.h: Likewise.
46659         * lib/fd-safer.c: Likewise.
46660         * lib/fflush.c: Likewise.
46661         * lib/file-has-acl.c: Likewise.
46662         * lib/file-set.c: Likewise.
46663         * lib/file-type.c: Likewise.
46664         * lib/file-type.h: Likewise.
46665         * lib/fileblocks.c: Likewise.
46666         * lib/filemode.c: Likewise.
46667         * lib/filemode.h: Likewise.
46668         * lib/filename.h: Likewise.
46669         * lib/filenamecat.c: Likewise.
46670         * lib/filenamecat.h: Likewise.
46671         * lib/findprog.c: Likewise.
46672         * lib/findprog.h: Likewise.
46673         * lib/float.in.h: Likewise.
46674         * lib/floor.c: Likewise.
46675         * lib/floorf.c: Likewise.
46676         * lib/floorl.c: Likewise.
46677         * lib/fopen-safer.c: Likewise.
46678         * lib/fopen.c: Likewise.
46679         * lib/fpending.c: Likewise.
46680         * lib/fpending.h: Likewise.
46681         * lib/fprintf.c: Likewise.
46682         * lib/fprintftime.h: Likewise.
46683         * lib/fpucw.h: Likewise.
46684         * lib/fpurge.c: Likewise.
46685         * lib/fpurge.h: Likewise.
46686         * lib/freadable.c: Likewise.
46687         * lib/freadable.h: Likewise.
46688         * lib/freadahead.c: Likewise.
46689         * lib/freadahead.h: Likewise.
46690         * lib/freading.c: Likewise.
46691         * lib/freading.h: Likewise.
46692         * lib/free.c: Likewise.
46693         * lib/freopen.c: Likewise.
46694         * lib/frexp.c: Likewise.
46695         * lib/frexpl.c: Likewise.
46696         * lib/fseek.c: Likewise.
46697         * lib/fseterr.c: Likewise.
46698         * lib/fseterr.h: Likewise.
46699         * lib/fstatat.c: Likewise.
46700         * lib/fstrcmp.c: Likewise.
46701         * lib/fstrcmp.h: Likewise.
46702         * lib/fsusage.c: Likewise.
46703         * lib/fsusage.h: Likewise.
46704         * lib/ftell.c: Likewise.
46705         * lib/ftello.c: Likewise.
46706         * lib/fts-cycle.c: Likewise.
46707         * lib/fts.c: Likewise.
46708         * lib/fts_.h: Likewise.
46709         * lib/full-read.c: Likewise.
46710         * lib/full-read.h: Likewise.
46711         * lib/full-write.c: Likewise.
46712         * lib/full-write.h: Likewise.
46713         * lib/fwritable.c: Likewise.
46714         * lib/fwritable.h: Likewise.
46715         * lib/fwriteerror.c: Likewise.
46716         * lib/fwriteerror.h: Likewise.
46717         * lib/fwriting.c: Likewise.
46718         * lib/fwriting.h: Likewise.
46719         * lib/gcd.c: Likewise.
46720         * lib/gcd.h: Likewise.
46721         * lib/getcwd.c: Likewise.
46722         * lib/getdate.h: Likewise.
46723         * lib/getdate.y: Likewise.
46724         * lib/getdomainname.c: Likewise.
46725         * lib/getdomainname.h: Likewise.
46726         * lib/getgroups.c: Likewise.
46727         * lib/gethostname.c: Likewise.
46728         * lib/gethrxtime.c: Likewise.
46729         * lib/gethrxtime.h: Likewise.
46730         * lib/getloadavg.c: Likewise.
46731         * lib/getndelim2.c: Likewise.
46732         * lib/getndelim2.h: Likewise.
46733         * lib/getnline.c: Likewise.
46734         * lib/getnline.h: Likewise.
46735         * lib/getopt.c: Likewise.
46736         * lib/getopt.in.h: Likewise.
46737         * lib/getopt1.c: Likewise.
46738         * lib/getopt_int.h: Likewise.
46739         * lib/getpagesize.h: Likewise.
46740         * lib/getsubopt.c: Likewise.
46741         * lib/gettime.c: Likewise.
46742         * lib/getugroups.c: Likewise.
46743         * lib/getugroups.h: Likewise.
46744         * lib/getusershell.c: Likewise.
46745         * lib/gl_anyavltree_list1.h: Likewise.
46746         * lib/gl_anyavltree_list2.h: Likewise.
46747         * lib/gl_anyhash_list1.h: Likewise.
46748         * lib/gl_anyhash_list2.h: Likewise.
46749         * lib/gl_anylinked_list1.h: Likewise.
46750         * lib/gl_anylinked_list2.h: Likewise.
46751         * lib/gl_anyrbtree_list1.h: Likewise.
46752         * lib/gl_anyrbtree_list2.h: Likewise.
46753         * lib/gl_anytree_list1.h: Likewise.
46754         * lib/gl_anytree_list2.h: Likewise.
46755         * lib/gl_anytree_oset.h: Likewise.
46756         * lib/gl_anytreehash_list1.h: Likewise.
46757         * lib/gl_anytreehash_list2.h: Likewise.
46758         * lib/gl_array_list.c: Likewise.
46759         * lib/gl_array_list.h: Likewise.
46760         * lib/gl_array_oset.c: Likewise.
46761         * lib/gl_array_oset.h: Likewise.
46762         * lib/gl_avltree_list.c: Likewise.
46763         * lib/gl_avltree_list.h: Likewise.
46764         * lib/gl_avltree_oset.c: Likewise.
46765         * lib/gl_avltree_oset.h: Likewise.
46766         * lib/gl_avltreehash_list.c: Likewise.
46767         * lib/gl_avltreehash_list.h: Likewise.
46768         * lib/gl_carray_list.c: Likewise.
46769         * lib/gl_carray_list.h: Likewise.
46770         * lib/gl_linked_list.c: Likewise.
46771         * lib/gl_linked_list.h: Likewise.
46772         * lib/gl_linkedhash_list.c: Likewise.
46773         * lib/gl_linkedhash_list.h: Likewise.
46774         * lib/gl_list.c: Likewise.
46775         * lib/gl_list.h: Likewise.
46776         * lib/gl_oset.c: Likewise.
46777         * lib/gl_oset.h: Likewise.
46778         * lib/gl_rbtree_list.c: Likewise.
46779         * lib/gl_rbtree_list.h: Likewise.
46780         * lib/gl_rbtree_oset.c: Likewise.
46781         * lib/gl_rbtree_oset.h: Likewise.
46782         * lib/gl_rbtreehash_list.c: Likewise.
46783         * lib/gl_rbtreehash_list.h: Likewise.
46784         * lib/gl_sublist.c: Likewise.
46785         * lib/gl_sublist.h: Likewise.
46786         * lib/group-member.c: Likewise.
46787         * lib/group-member.h: Likewise.
46788         * lib/hard-locale.c: Likewise.
46789         * lib/hard-locale.h: Likewise.
46790         * lib/hash-pjw.c: Likewise.
46791         * lib/hash-pjw.h: Likewise.
46792         * lib/hash-triple.c: Likewise.
46793         * lib/hash.c: Likewise.
46794         * lib/hash.h: Likewise.
46795         * lib/human.c: Likewise.
46796         * lib/human.h: Likewise.
46797         * lib/i-ring.c: Likewise.
46798         * lib/i-ring.h: Likewise.
46799         * lib/idcache.c: Likewise.
46800         * lib/imaxabs.c: Likewise.
46801         * lib/imaxdiv.c: Likewise.
46802         * lib/inet_pton.c: Likewise.
46803         * lib/inet_pton.h: Likewise.
46804         * lib/intprops.h: Likewise.
46805         * lib/inttostr.c: Likewise.
46806         * lib/inttostr.h: Likewise.
46807         * lib/inttypes.in.h: Likewise.
46808         * lib/isapipe.c: Likewise.
46809         * lib/isdir.c: Likewise.
46810         * lib/isnan.c: Likewise.
46811         * lib/isnan.h: Likewise.
46812         * lib/isnanf.c: Likewise.
46813         * lib/isnanf.h: Likewise.
46814         * lib/isnanl-nolibm.h: Likewise.
46815         * lib/isnanl.c: Likewise.
46816         * lib/isnanl.h: Likewise.
46817         * lib/javacomp.c: Likewise.
46818         * lib/javacomp.h: Likewise.
46819         * lib/javaexec.c: Likewise.
46820         * lib/javaexec.h: Likewise.
46821         * lib/javaversion.c: Likewise.
46822         * lib/javaversion.h: Likewise.
46823         * lib/javaversion.java: Likewise.
46824         * lib/lbrkprop.h: Likewise.
46825         * lib/lchmod.h: Likewise.
46826         * lib/lchown.c: Likewise.
46827         * lib/ldexpl.c: Likewise.
46828         * lib/linebreak.c: Likewise.
46829         * lib/linebreak.h: Likewise.
46830         * lib/linebuffer.c: Likewise.
46831         * lib/linebuffer.h: Likewise.
46832         * lib/locale.in.h: Likewise.
46833         * lib/logl.c: Likewise.
46834         * lib/long-options.c: Likewise.
46835         * lib/long-options.h: Likewise.
46836         * lib/lstat.c: Likewise.
46837         * lib/lstat.h: Likewise.
46838         * lib/math.in.h: Likewise.
46839         * lib/mbchar.c: Likewise.
46840         * lib/mbchar.h: Likewise.
46841         * lib/mbfile.h: Likewise.
46842         * lib/mbiter.h: Likewise.
46843         * lib/mbscasecmp.c: Likewise.
46844         * lib/mbscasestr.c: Likewise.
46845         * lib/mbschr.c: Likewise.
46846         * lib/mbscspn.c: Likewise.
46847         * lib/mbslen.c: Likewise.
46848         * lib/mbsncasecmp.c: Likewise.
46849         * lib/mbsnlen.c: Likewise.
46850         * lib/mbspbrk.c: Likewise.
46851         * lib/mbspcasecmp.c: Likewise.
46852         * lib/mbsrchr.c: Likewise.
46853         * lib/mbssep.c: Likewise.
46854         * lib/mbsspn.c: Likewise.
46855         * lib/mbsstr.c: Likewise.
46856         * lib/mbstok_r.c: Likewise.
46857         * lib/mbswidth.c: Likewise.
46858         * lib/mbswidth.h: Likewise.
46859         * lib/mbuiter.h: Likewise.
46860         * lib/memcasecmp.c: Likewise.
46861         * lib/memcasecmp.h: Likewise.
46862         * lib/memchr.c: Likewise.
46863         * lib/memcmp.c: Likewise.
46864         * lib/memcoll.c: Likewise.
46865         * lib/memcoll.h: Likewise.
46866         * lib/memcpy.c: Likewise.
46867         * lib/memrchr.c: Likewise.
46868         * lib/mkancesdirs.c: Likewise.
46869         * lib/mkdir-p.c: Likewise.
46870         * lib/mkdir-p.h: Likewise.
46871         * lib/mkdir.c: Likewise.
46872         * lib/mkdirat.c: Likewise.
46873         * lib/mkdtemp.c: Likewise.
46874         * lib/mkstemp-safer.c: Likewise.
46875         * lib/mkstemp.c: Likewise.
46876         * lib/modechange.c: Likewise.
46877         * lib/modechange.h: Likewise.
46878         * lib/mountlist.c: Likewise.
46879         * lib/mountlist.h: Likewise.
46880         * lib/mpsort.c: Likewise.
46881         * lib/nanosleep.c: Likewise.
46882         * lib/obstack.c: Likewise.
46883         * lib/obstack.h: Likewise.
46884         * lib/open-safer.c: Likewise.
46885         * lib/open.c: Likewise.
46886         * lib/openat-die.c: Likewise.
46887         * lib/openat-priv.h: Likewise.
46888         * lib/openat-proc.c: Likewise.
46889         * lib/openat.c: Likewise.
46890         * lib/openat.h: Likewise.
46891         * lib/pagealign_alloc.c: Likewise.
46892         * lib/pagealign_alloc.h: Likewise.
46893         * lib/physmem.c: Likewise.
46894         * lib/physmem.h: Likewise.
46895         * lib/pipe-safer.c: Likewise.
46896         * lib/pipe.c: Likewise.
46897         * lib/pipe.h: Likewise.
46898         * lib/posixtm.c: Likewise.
46899         * lib/posixtm.h: Likewise.
46900         * lib/posixver.c: Likewise.
46901         * lib/printf-frexp.c: Likewise.
46902         * lib/printf-frexp.h: Likewise.
46903         * lib/printf-frexpl.c: Likewise.
46904         * lib/printf-frexpl.h: Likewise.
46905         * lib/printf.c: Likewise.
46906         * lib/progname.c: Likewise.
46907         * lib/progname.h: Likewise.
46908         * lib/progreloc.c: Likewise.
46909         * lib/putenv.c: Likewise.
46910         * lib/quote.c: Likewise.
46911         * lib/quote.h: Likewise.
46912         * lib/quotearg.c: Likewise.
46913         * lib/quotearg.h: Likewise.
46914         * lib/raise.c: Likewise.
46915         * lib/readline.c: Likewise.
46916         * lib/readline.h: Likewise.
46917         * lib/readlink.c: Likewise.
46918         * lib/readtokens.c: Likewise.
46919         * lib/readtokens.h: Likewise.
46920         * lib/readtokens0.c: Likewise.
46921         * lib/readtokens0.h: Likewise.
46922         * lib/readutmp.c: Likewise.
46923         * lib/readutmp.h: Likewise.
46924         * lib/realloc.c: Likewise.
46925         * lib/relocwrapper.c: Likewise.
46926         * lib/rename-dest-slash.c: Likewise.
46927         * lib/rename.c: Likewise.
46928         * lib/rmdir.c: Likewise.
46929         * lib/rpmatch.c: Likewise.
46930         * lib/safe-read.c: Likewise.
46931         * lib/safe-read.h: Likewise.
46932         * lib/safe-write.c: Likewise.
46933         * lib/safe-write.h: Likewise.
46934         * lib/same-inode.h: Likewise.
46935         * lib/same.c: Likewise.
46936         * lib/same.h: Likewise.
46937         * lib/save-cwd.c: Likewise.
46938         * lib/save-cwd.h: Likewise.
46939         * lib/savedir.c: Likewise.
46940         * lib/savedir.h: Likewise.
46941         * lib/savewd.c: Likewise.
46942         * lib/savewd.h: Likewise.
46943         * lib/search.in.h: Likewise.
46944         * lib/setenv.c: Likewise.
46945         * lib/setenv.h: Likewise.
46946         * lib/settime.c: Likewise.
46947         * lib/sh-quote.c: Likewise.
46948         * lib/sh-quote.h: Likewise.
46949         * lib/sig2str.c: Likewise.
46950         * lib/sig2str.h: Likewise.
46951         * lib/signal.in.h: Likewise.
46952         * lib/signbitd.c: Likewise.
46953         * lib/signbitf.c: Likewise.
46954         * lib/signbitl.c: Likewise.
46955         * lib/sigprocmask.c: Likewise.
46956         * lib/sincosl.c: Likewise.
46957         * lib/sleep.c: Likewise.
46958         * lib/sprintf.c: Likewise.
46959         * lib/sqrtl.c: Likewise.
46960         * lib/stat-time.h: Likewise.
46961         * lib/stdio--.h: Likewise.
46962         * lib/stdio-safer.h: Likewise.
46963         * lib/stdlib--.h: Likewise.
46964         * lib/stdlib-safer.h: Likewise.
46965         * lib/stdlib.in.h: Likewise.
46966         * lib/stpcpy.c: Likewise.
46967         * lib/stpncpy.c: Likewise.
46968         * lib/strchrnul.c: Likewise.
46969         * lib/strcspn.c: Likewise.
46970         * lib/strerror.c: Likewise.
46971         * lib/strftime.c: Likewise.
46972         * lib/strftime.h: Likewise.
46973         * lib/striconveh.c: Likewise.
46974         * lib/striconveh.h: Likewise.
46975         * lib/striconveha.c: Likewise.
46976         * lib/striconveha.h: Likewise.
46977         * lib/stripslash.c: Likewise.
46978         * lib/strnlen1.c: Likewise.
46979         * lib/strnlen1.h: Likewise.
46980         * lib/strtod.c: Likewise.
46981         * lib/strtoimax.c: Likewise.
46982         * lib/strtok_r.c: Likewise.
46983         * lib/strtol.c: Likewise.
46984         * lib/strtoll.c: Likewise.
46985         * lib/strtoul.c: Likewise.
46986         * lib/strtoull.c: Likewise.
46987         * lib/sysexits.in.h: Likewise.
46988         * lib/tempname.c: Likewise.
46989         * lib/tempname.h: Likewise.
46990         * lib/timespec.h: Likewise.
46991         * lib/tls.c: Likewise.
46992         * lib/tls.h: Likewise.
46993         * lib/tmpdir.c: Likewise.
46994         * lib/tmpdir.h: Likewise.
46995         * lib/tmpfile-safer.c: Likewise.
46996         * lib/tmpfile.c: Likewise.
46997         * lib/trigl.c: Likewise.
46998         * lib/trigl.h: Likewise.
46999         * lib/trim.c: Likewise.
47000         * lib/trim.h: Likewise.
47001         * lib/trunc.c: Likewise.
47002         * lib/truncf.c: Likewise.
47003         * lib/truncl.c: Likewise.
47004         * lib/tsearch.c: Likewise.
47005         * lib/unicodeio.c: Likewise.
47006         * lib/unicodeio.h: Likewise.
47007         * lib/unistd--.h: Likewise.
47008         * lib/unistd-safer.h: Likewise.
47009         * lib/unistdio/ulc-fprintf.c: Likewise.
47010         * lib/unistdio/ulc-vfprintf.c: Likewise.
47011         * lib/unlinkdir.c: Likewise.
47012         * lib/unlinkdir.h: Likewise.
47013         * lib/unlocked-io.h: Likewise.
47014         * lib/unsetenv.c: Likewise.
47015         * lib/userspec.c: Likewise.
47016         * lib/utime.c: Likewise.
47017         * lib/utimecmp.c: Likewise.
47018         * lib/utimecmp.h: Likewise.
47019         * lib/utimens.c: Likewise.
47020         * lib/verify.h: Likewise.
47021         * lib/verror.c: Likewise.
47022         * lib/verror.h: Likewise.
47023         * lib/version-etc-fsf.c: Likewise.
47024         * lib/version-etc.c: Likewise.
47025         * lib/version-etc.h: Likewise.
47026         * lib/vfprintf.c: Likewise.
47027         * lib/vprintf.c: Likewise.
47028         * lib/vsprintf.c: Likewise.
47029         * lib/w32spawn.h: Likewise.
47030         * lib/wait-process.c: Likewise.
47031         * lib/wait-process.h: Likewise.
47032         * lib/wcwidth.c: Likewise.
47033         * lib/write-any-file.c: Likewise.
47034         * lib/xalloc-die.c: Likewise.
47035         * lib/xalloc.h: Likewise.
47036         * lib/xasprintf.c: Likewise.
47037         * lib/xgetcwd.c: Likewise.
47038         * lib/xgetcwd.h: Likewise.
47039         * lib/xgetdomainname.c: Likewise.
47040         * lib/xgetdomainname.h: Likewise.
47041         * lib/xgethostname.c: Likewise.
47042         * lib/xmalloc.c: Likewise.
47043         * lib/xmalloca.c: Likewise.
47044         * lib/xmalloca.h: Likewise.
47045         * lib/xmemcoll.c: Likewise.
47046         * lib/xnanosleep.c: Likewise.
47047         * lib/xreadlink.c: Likewise.
47048         * lib/xreadlink.h: Likewise.
47049         * lib/xsetenv.c: Likewise.
47050         * lib/xsetenv.h: Likewise.
47051         * lib/xstriconv.c: Likewise.
47052         * lib/xstriconv.h: Likewise.
47053         * lib/xstrndup.c: Likewise.
47054         * lib/xstrndup.h: Likewise.
47055         * lib/xstrtod.c: Likewise.
47056         * lib/xstrtod.h: Likewise.
47057         * lib/xstrtol-error.c: Likewise.
47058         * lib/xstrtol.c: Likewise.
47059         * lib/xstrtol.h: Likewise.
47060         * lib/xtime.h: Likewise.
47061         * lib/xvasprintf.c: Likewise.
47062         * lib/xvasprintf.h: Likewise.
47063         * lib/yesno.c: Likewise.
47064         * lib/yesno.h: Likewise.
47065         * posix-modules: Likewise.
47066         * tests/test-alloca-opt.c: Likewise.
47067         * tests/test-arcfour.c: Likewise.
47068         * tests/test-arctwo.c: Likewise.
47069         * tests/test-argmatch.c: Likewise.
47070         * tests/test-argp-2.sh: Likewise.
47071         * tests/test-argp.c: Likewise.
47072         * tests/test-arpa_inet.c: Likewise.
47073         * tests/test-array_list.c: Likewise.
47074         * tests/test-array_oset.c: Likewise.
47075         * tests/test-atexit.c: Likewise.
47076         * tests/test-avltree_list.c: Likewise.
47077         * tests/test-avltree_oset.c: Likewise.
47078         * tests/test-avltreehash_list.c: Likewise.
47079         * tests/test-base64.c: Likewise.
47080         * tests/test-binary-io.c: Likewise.
47081         * tests/test-byteswap.c: Likewise.
47082         * tests/test-c-ctype.c: Likewise.
47083         * tests/test-c-strcasecmp.c: Likewise.
47084         * tests/test-c-strcasestr.c: Likewise.
47085         * tests/test-c-strncasecmp.c: Likewise.
47086         * tests/test-c-strstr.c: Likewise.
47087         * tests/test-canonicalize-lgpl.c: Likewise.
47088         * tests/test-canonicalize.c: Likewise.
47089         * tests/test-carray_list.c: Likewise.
47090         * tests/test-ceilf.c: Likewise.
47091         * tests/test-ceill.c: Likewise.
47092         * tests/test-count-one-bits.c: Likewise.
47093         * tests/test-crc.c: Likewise.
47094         * tests/test-dirname.c: Likewise.
47095         * tests/test-fbufmode.c: Likewise.
47096         * tests/test-fcntl.c: Likewise.
47097         * tests/test-fflush.c: Likewise.
47098         * tests/test-floorf.c: Likewise.
47099         * tests/test-floorl.c: Likewise.
47100         * tests/test-fopen.c: Likewise.
47101         * tests/test-fprintf-posix.c: Likewise.
47102         * tests/test-fprintf-posix.h: Likewise.
47103         * tests/test-fpurge.c: Likewise.
47104         * tests/test-freadable.c: Likewise.
47105         * tests/test-freadahead.c: Likewise.
47106         * tests/test-freading.c: Likewise.
47107         * tests/test-freopen.c: Likewise.
47108         * tests/test-frexp.c: Likewise.
47109         * tests/test-frexpl.c: Likewise.
47110         * tests/test-fseek.c: Likewise.
47111         * tests/test-fseeko.c: Likewise.
47112         * tests/test-fseterr.c: Likewise.
47113         * tests/test-fstrcmp.c: Likewise.
47114         * tests/test-ftell.c: Likewise.
47115         * tests/test-ftello.c: Likewise.
47116         * tests/test-fwritable.c: Likewise.
47117         * tests/test-fwriting.c: Likewise.
47118         * tests/test-getaddrinfo.c: Likewise.
47119         * tests/test-getpass.c: Likewise.
47120         * tests/test-gettimeofday.c: Likewise.
47121         * tests/test-hmac-md5.c: Likewise.
47122         * tests/test-hmac-sha1.c: Likewise.
47123         * tests/test-iconv.c: Likewise.
47124         * tests/test-iconvme.c: Likewise.
47125         * tests/test-inttypes.c: Likewise.
47126         * tests/test-isnan.c: Likewise.
47127         * tests/test-isnanf.c: Likewise.
47128         * tests/test-isnanl-nolibm.c: Likewise.
47129         * tests/test-isnanl.c: Likewise.
47130         * tests/test-isnanl.h: Likewise.
47131         * tests/test-ldexpl.c: Likewise.
47132         * tests/test-linked_list.c: Likewise.
47133         * tests/test-linkedhash_list.c: Likewise.
47134         * tests/test-locale.c: Likewise.
47135         * tests/test-localename.c: Likewise.
47136         * tests/test-lock.c: Likewise.
47137         * tests/test-lseek.c: Likewise.
47138         * tests/test-malloca.c: Likewise.
47139         * tests/test-math.c: Likewise.
47140         * tests/test-mbscasecmp.c: Likewise.
47141         * tests/test-mbscasestr1.c: Likewise.
47142         * tests/test-mbscasestr2.c: Likewise.
47143         * tests/test-mbscasestr3.c: Likewise.
47144         * tests/test-mbscasestr4.c: Likewise.
47145         * tests/test-mbschr.c: Likewise.
47146         * tests/test-mbscspn.c: Likewise.
47147         * tests/test-mbsncasecmp.c: Likewise.
47148         * tests/test-mbspbrk.c: Likewise.
47149         * tests/test-mbspcasecmp.c: Likewise.
47150         * tests/test-mbsrchr.c: Likewise.
47151         * tests/test-mbsspn.c: Likewise.
47152         * tests/test-mbsstr1.c: Likewise.
47153         * tests/test-mbsstr2.c: Likewise.
47154         * tests/test-mbsstr3.c: Likewise.
47155         * tests/test-md5.c: Likewise.
47156         * tests/test-memmem.c: Likewise.
47157         * tests/test-netinet_in.c: Likewise.
47158         * tests/test-open.c: Likewise.
47159         * tests/test-printf-frexp.c: Likewise.
47160         * tests/test-printf-frexpl.c: Likewise.
47161         * tests/test-printf-posix.c: Likewise.
47162         * tests/test-printf-posix.h: Likewise.
47163         * tests/test-rbtree_list.c: Likewise.
47164         * tests/test-rbtree_oset.c: Likewise.
47165         * tests/test-rbtreehash_list.c: Likewise.
47166         * tests/test-read-file.c: Likewise.
47167         * tests/test-rijndael.c: Likewise.
47168         * tests/test-search.c: Likewise.
47169         * tests/test-signbit.c: Likewise.
47170         * tests/test-sleep.c: Likewise.
47171         * tests/test-snprintf-posix.c: Likewise.
47172         * tests/test-snprintf-posix.h: Likewise.
47173         * tests/test-snprintf.c: Likewise.
47174         * tests/test-sprintf-posix.c: Likewise.
47175         * tests/test-sprintf-posix.h: Likewise.
47176         * tests/test-stat-time.c: Likewise.
47177         * tests/test-stdbool.c: Likewise.
47178         * tests/test-stdint.c: Likewise.
47179         * tests/test-stdio.c: Likewise.
47180         * tests/test-stdlib.c: Likewise.
47181         * tests/test-stpncpy.c: Likewise.
47182         * tests/test-strcasestr.c: Likewise.
47183         * tests/test-striconv.c: Likewise.
47184         * tests/test-striconveh.c: Likewise.
47185         * tests/test-striconveha.c: Likewise.
47186         * tests/test-string.c: Likewise.
47187         * tests/test-sys_select.c: Likewise.
47188         * tests/test-sys_socket.c: Likewise.
47189         * tests/test-sys_stat.c: Likewise.
47190         * tests/test-sys_time.c: Likewise.
47191         * tests/test-sysexits.c: Likewise.
47192         * tests/test-time.c: Likewise.
47193         * tests/test-tls.c: Likewise.
47194         * tests/test-trunc.c: Likewise.
47195         * tests/test-truncf.c: Likewise.
47196         * tests/test-truncl.c: Likewise.
47197         * tests/test-unistd.c: Likewise.
47198         * tests/test-vasnprintf-posix.c: Likewise.
47199         * tests/test-vasnprintf-posix2.c: Likewise.
47200         * tests/test-vasnprintf.c: Likewise.
47201         * tests/test-vasprintf-posix.c: Likewise.
47202         * tests/test-vasprintf.c: Likewise.
47203         * tests/test-verify.c: Likewise.
47204         * tests/test-vfprintf-posix.c: Likewise.
47205         * tests/test-vprintf-posix.c: Likewise.
47206         * tests/test-vsnprintf-posix.c: Likewise.
47207         * tests/test-vsnprintf.c: Likewise.
47208         * tests/test-vsprintf-posix.c: Likewise.
47209         * tests/test-wchar.c: Likewise.
47210         * tests/test-wctype.c: Likewise.
47211         * tests/test-wcwidth.c: Likewise.
47212         * tests/test-xstrtol.c: Likewise.
47213         * tests/test-xvasprintf.c: Likewise.
47214         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
47215         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
47216         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47217         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47218         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47219         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
47220         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47221         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47222         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47223         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
47224         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47225         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47226         * tests/uniname/test-uninames.c: Likewise.
47227         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
47228         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
47229         * tests/unistdio/test-u16-printf1.h: Likewise.
47230         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
47231         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
47232         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
47233         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
47234         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
47235         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
47236         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
47237         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
47238         * tests/unistdio/test-u32-printf1.h: Likewise.
47239         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
47240         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
47241         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
47242         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
47243         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
47244         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
47245         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
47246         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
47247         * tests/unistdio/test-u8-printf1.h: Likewise.
47248         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
47249         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
47250         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
47251         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
47252         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
47253         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
47254         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
47255         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
47256         * tests/unistdio/test-ulc-printf1.h: Likewise.
47257         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
47258         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
47259         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
47260         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
47261         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
47262         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
47263         * tests/uniwidth/test-u16-strwidth.c: Likewise.
47264         * tests/uniwidth/test-u16-width.c: Likewise.
47265         * tests/uniwidth/test-u32-strwidth.c: Likewise.
47266         * tests/uniwidth/test-u32-width.c: Likewise.
47267         * tests/uniwidth/test-u8-strwidth.c: Likewise.
47268         * tests/uniwidth/test-u8-width.c: Likewise.
47269         * tests/uniwidth/test-uc_width.c: Likewise.
47270         * config/srclist-update: Likewise.
47271         (fixlicense): Update to GPLv3+.
47272
47273         Change copyright notice from LGPLv2.1+ to LGPLv3+.
47274         * tests/test-tsearch.c: Change copyright notice.
47275
47276         Change copyright notice from LGPLv2.0+ to LGPLv3+.
47277         * lib/c-strcaseeq.h: Change copyright notice.
47278         * lib/streq.h: Likewise.
47279         * lib/uniconv.h: Likewise.
47280         * lib/uniconv/u-conv-from-enc.h: Likewise.
47281         * lib/uniconv/u-conv-to-enc.h: Likewise.
47282         * lib/uniconv/u-strconv-from-enc.h: Likewise.
47283         * lib/uniconv/u-strconv-to-enc.h: Likewise.
47284         * lib/uniconv/u16-conv-from-enc.c: Likewise.
47285         * lib/uniconv/u16-conv-to-enc.c: Likewise.
47286         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
47287         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
47288         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
47289         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
47290         * lib/uniconv/u32-conv-from-enc.c: Likewise.
47291         * lib/uniconv/u32-conv-to-enc.c: Likewise.
47292         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
47293         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
47294         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
47295         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
47296         * lib/uniconv/u8-conv-from-enc.c: Likewise.
47297         * lib/uniconv/u8-conv-to-enc.c: Likewise.
47298         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
47299         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
47300         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
47301         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
47302         * lib/uniname.h: Likewise.
47303         * lib/uniname/uniname.c: Likewise.
47304         * lib/unistdio.h: Likewise.
47305         * lib/unistdio/u-asnprintf.h: Likewise.
47306         * lib/unistdio/u-asprintf.h: Likewise.
47307         * lib/unistdio/u-printf-args.c: Likewise.
47308         * lib/unistdio/u-printf-args.h: Likewise.
47309         * lib/unistdio/u-printf-parse.h: Likewise.
47310         * lib/unistdio/u-snprintf.h: Likewise.
47311         * lib/unistdio/u-sprintf.h: Likewise.
47312         * lib/unistdio/u-vasprintf.h: Likewise.
47313         * lib/unistdio/u-vsnprintf.h: Likewise.
47314         * lib/unistdio/u-vsprintf.h: Likewise.
47315         * lib/unistdio/u16-asnprintf.c: Likewise.
47316         * lib/unistdio/u16-asprintf.c: Likewise.
47317         * lib/unistdio/u16-printf-parse.c: Likewise.
47318         * lib/unistdio/u16-snprintf.c: Likewise.
47319         * lib/unistdio/u16-sprintf.c: Likewise.
47320         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
47321         * lib/unistdio/u16-u16-asprintf.c: Likewise.
47322         * lib/unistdio/u16-u16-snprintf.c: Likewise.
47323         * lib/unistdio/u16-u16-sprintf.c: Likewise.
47324         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
47325         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
47326         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
47327         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
47328         * lib/unistdio/u16-vasnprintf.c: Likewise.
47329         * lib/unistdio/u16-vasprintf.c: Likewise.
47330         * lib/unistdio/u16-vsnprintf.c: Likewise.
47331         * lib/unistdio/u16-vsprintf.c: Likewise.
47332         * lib/unistdio/u32-asnprintf.c: Likewise.
47333         * lib/unistdio/u32-asprintf.c: Likewise.
47334         * lib/unistdio/u32-printf-parse.c: Likewise.
47335         * lib/unistdio/u32-snprintf.c: Likewise.
47336         * lib/unistdio/u32-sprintf.c: Likewise.
47337         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
47338         * lib/unistdio/u32-u32-asprintf.c: Likewise.
47339         * lib/unistdio/u32-u32-snprintf.c: Likewise.
47340         * lib/unistdio/u32-u32-sprintf.c: Likewise.
47341         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
47342         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
47343         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
47344         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
47345         * lib/unistdio/u32-vasnprintf.c: Likewise.
47346         * lib/unistdio/u32-vasprintf.c: Likewise.
47347         * lib/unistdio/u32-vsnprintf.c: Likewise.
47348         * lib/unistdio/u32-vsprintf.c: Likewise.
47349         * lib/unistdio/u8-asnprintf.c: Likewise.
47350         * lib/unistdio/u8-asprintf.c: Likewise.
47351         * lib/unistdio/u8-printf-parse.c: Likewise.
47352         * lib/unistdio/u8-snprintf.c: Likewise.
47353         * lib/unistdio/u8-sprintf.c: Likewise.
47354         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
47355         * lib/unistdio/u8-u8-asprintf.c: Likewise.
47356         * lib/unistdio/u8-u8-snprintf.c: Likewise.
47357         * lib/unistdio/u8-u8-sprintf.c: Likewise.
47358         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
47359         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
47360         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
47361         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
47362         * lib/unistdio/u8-vasnprintf.c: Likewise.
47363         * lib/unistdio/u8-vasprintf.c: Likewise.
47364         * lib/unistdio/u8-vsnprintf.c: Likewise.
47365         * lib/unistdio/u8-vsprintf.c: Likewise.
47366         * lib/unistdio/ulc-asnprintf.c: Likewise.
47367         * lib/unistdio/ulc-asprintf.c: Likewise.
47368         * lib/unistdio/ulc-printf-parse.c: Likewise.
47369         * lib/unistdio/ulc-snprintf.c: Likewise.
47370         * lib/unistdio/ulc-sprintf.c: Likewise.
47371         * lib/unistdio/ulc-vasnprintf.c: Likewise.
47372         * lib/unistdio/ulc-vasprintf.c: Likewise.
47373         * lib/unistdio/ulc-vsnprintf.c: Likewise.
47374         * lib/unistdio/ulc-vsprintf.c: Likewise.
47375         * lib/unistr.h: Likewise.
47376         * lib/unistr/u-cpy-alloc.h: Likewise.
47377         * lib/unistr/u-cpy.h: Likewise.
47378         * lib/unistr/u-endswith.h: Likewise.
47379         * lib/unistr/u-move.h: Likewise.
47380         * lib/unistr/u-set.h: Likewise.
47381         * lib/unistr/u-startswith.h: Likewise.
47382         * lib/unistr/u-stpcpy.h: Likewise.
47383         * lib/unistr/u-stpncpy.h: Likewise.
47384         * lib/unistr/u-strcat.h: Likewise.
47385         * lib/unistr/u-strcpy.h: Likewise.
47386         * lib/unistr/u-strcspn.h: Likewise.
47387         * lib/unistr/u-strdup.h: Likewise.
47388         * lib/unistr/u-strlen.h: Likewise.
47389         * lib/unistr/u-strncat.h: Likewise.
47390         * lib/unistr/u-strncpy.h: Likewise.
47391         * lib/unistr/u-strnlen.h: Likewise.
47392         * lib/unistr/u-strpbrk.h: Likewise.
47393         * lib/unistr/u-strspn.h: Likewise.
47394         * lib/unistr/u-strstr.h: Likewise.
47395         * lib/unistr/u-strtok.h: Likewise.
47396         * lib/unistr/u16-check.c: Likewise.
47397         * lib/unistr/u16-chr.c: Likewise.
47398         * lib/unistr/u16-cmp.c: Likewise.
47399         * lib/unistr/u16-cpy-alloc.c: Likewise.
47400         * lib/unistr/u16-cpy.c: Likewise.
47401         * lib/unistr/u16-endswith.c: Likewise.
47402         * lib/unistr/u16-mblen.c: Likewise.
47403         * lib/unistr/u16-mbsnlen.c: Likewise.
47404         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47405         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47406         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47407         * lib/unistr/u16-mbtouc.c: Likewise.
47408         * lib/unistr/u16-mbtoucr.c: Likewise.
47409         * lib/unistr/u16-move.c: Likewise.
47410         * lib/unistr/u16-next.c: Likewise.
47411         * lib/unistr/u16-prev.c: Likewise.
47412         * lib/unistr/u16-set.c: Likewise.
47413         * lib/unistr/u16-startswith.c: Likewise.
47414         * lib/unistr/u16-stpcpy.c: Likewise.
47415         * lib/unistr/u16-stpncpy.c: Likewise.
47416         * lib/unistr/u16-strcat.c: Likewise.
47417         * lib/unistr/u16-strchr.c: Likewise.
47418         * lib/unistr/u16-strcmp.c: Likewise.
47419         * lib/unistr/u16-strcpy.c: Likewise.
47420         * lib/unistr/u16-strcspn.c: Likewise.
47421         * lib/unistr/u16-strdup.c: Likewise.
47422         * lib/unistr/u16-strlen.c: Likewise.
47423         * lib/unistr/u16-strmblen.c: Likewise.
47424         * lib/unistr/u16-strmbtouc.c: Likewise.
47425         * lib/unistr/u16-strncat.c: Likewise.
47426         * lib/unistr/u16-strncmp.c: Likewise.
47427         * lib/unistr/u16-strncpy.c: Likewise.
47428         * lib/unistr/u16-strnlen.c: Likewise.
47429         * lib/unistr/u16-strpbrk.c: Likewise.
47430         * lib/unistr/u16-strrchr.c: Likewise.
47431         * lib/unistr/u16-strspn.c: Likewise.
47432         * lib/unistr/u16-strstr.c: Likewise.
47433         * lib/unistr/u16-strtok.c: Likewise.
47434         * lib/unistr/u16-to-u32.c: Likewise.
47435         * lib/unistr/u16-to-u8.c: Likewise.
47436         * lib/unistr/u16-uctomb-aux.c: Likewise.
47437         * lib/unistr/u16-uctomb.c: Likewise.
47438         * lib/unistr/u32-check.c: Likewise.
47439         * lib/unistr/u32-chr.c: Likewise.
47440         * lib/unistr/u32-cmp.c: Likewise.
47441         * lib/unistr/u32-cpy-alloc.c: Likewise.
47442         * lib/unistr/u32-cpy.c: Likewise.
47443         * lib/unistr/u32-endswith.c: Likewise.
47444         * lib/unistr/u32-mblen.c: Likewise.
47445         * lib/unistr/u32-mbsnlen.c: Likewise.
47446         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47447         * lib/unistr/u32-mbtouc.c: Likewise.
47448         * lib/unistr/u32-mbtoucr.c: Likewise.
47449         * lib/unistr/u32-move.c: Likewise.
47450         * lib/unistr/u32-next.c: Likewise.
47451         * lib/unistr/u32-prev.c: Likewise.
47452         * lib/unistr/u32-set.c: Likewise.
47453         * lib/unistr/u32-startswith.c: Likewise.
47454         * lib/unistr/u32-stpcpy.c: Likewise.
47455         * lib/unistr/u32-stpncpy.c: Likewise.
47456         * lib/unistr/u32-strcat.c: Likewise.
47457         * lib/unistr/u32-strchr.c: Likewise.
47458         * lib/unistr/u32-strcmp.c: Likewise.
47459         * lib/unistr/u32-strcpy.c: Likewise.
47460         * lib/unistr/u32-strcspn.c: Likewise.
47461         * lib/unistr/u32-strdup.c: Likewise.
47462         * lib/unistr/u32-strlen.c: Likewise.
47463         * lib/unistr/u32-strmblen.c: Likewise.
47464         * lib/unistr/u32-strmbtouc.c: Likewise.
47465         * lib/unistr/u32-strncat.c: Likewise.
47466         * lib/unistr/u32-strncmp.c: Likewise.
47467         * lib/unistr/u32-strncpy.c: Likewise.
47468         * lib/unistr/u32-strnlen.c: Likewise.
47469         * lib/unistr/u32-strpbrk.c: Likewise.
47470         * lib/unistr/u32-strrchr.c: Likewise.
47471         * lib/unistr/u32-strspn.c: Likewise.
47472         * lib/unistr/u32-strstr.c: Likewise.
47473         * lib/unistr/u32-strtok.c: Likewise.
47474         * lib/unistr/u32-to-u16.c: Likewise.
47475         * lib/unistr/u32-to-u8.c: Likewise.
47476         * lib/unistr/u32-uctomb.c: Likewise.
47477         * lib/unistr/u8-check.c: Likewise.
47478         * lib/unistr/u8-chr.c: Likewise.
47479         * lib/unistr/u8-cmp.c: Likewise.
47480         * lib/unistr/u8-cpy-alloc.c: Likewise.
47481         * lib/unistr/u8-cpy.c: Likewise.
47482         * lib/unistr/u8-endswith.c: Likewise.
47483         * lib/unistr/u8-mblen.c: Likewise.
47484         * lib/unistr/u8-mbsnlen.c: Likewise.
47485         * lib/unistr/u8-mbtouc-aux.c: Likewise.
47486         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47487         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47488         * lib/unistr/u8-mbtouc.c: Likewise.
47489         * lib/unistr/u8-mbtoucr.c: Likewise.
47490         * lib/unistr/u8-move.c: Likewise.
47491         * lib/unistr/u8-next.c: Likewise.
47492         * lib/unistr/u8-prev.c: Likewise.
47493         * lib/unistr/u8-set.c: Likewise.
47494         * lib/unistr/u8-startswith.c: Likewise.
47495         * lib/unistr/u8-stpcpy.c: Likewise.
47496         * lib/unistr/u8-stpncpy.c: Likewise.
47497         * lib/unistr/u8-strcat.c: Likewise.
47498         * lib/unistr/u8-strchr.c: Likewise.
47499         * lib/unistr/u8-strcmp.c: Likewise.
47500         * lib/unistr/u8-strcpy.c: Likewise.
47501         * lib/unistr/u8-strcspn.c: Likewise.
47502         * lib/unistr/u8-strdup.c: Likewise.
47503         * lib/unistr/u8-strlen.c: Likewise.
47504         * lib/unistr/u8-strmblen.c: Likewise.
47505         * lib/unistr/u8-strmbtouc.c: Likewise.
47506         * lib/unistr/u8-strncat.c: Likewise.
47507         * lib/unistr/u8-strncmp.c: Likewise.
47508         * lib/unistr/u8-strncpy.c: Likewise.
47509         * lib/unistr/u8-strnlen.c: Likewise.
47510         * lib/unistr/u8-strpbrk.c: Likewise.
47511         * lib/unistr/u8-strrchr.c: Likewise.
47512         * lib/unistr/u8-strspn.c: Likewise.
47513         * lib/unistr/u8-strstr.c: Likewise.
47514         * lib/unistr/u8-strtok.c: Likewise.
47515         * lib/unistr/u8-to-u16.c: Likewise.
47516         * lib/unistr/u8-to-u32.c: Likewise.
47517         * lib/unistr/u8-uctomb-aux.c: Likewise.
47518         * lib/unistr/u8-uctomb.c: Likewise.
47519         * lib/unitypes.h: Likewise.
47520         * lib/uniwidth.h: Likewise.
47521         * lib/uniwidth/cjk.h: Likewise.
47522         * lib/uniwidth/u16-strwidth.c: Likewise.
47523         * lib/uniwidth/u16-width.c: Likewise.
47524         * lib/uniwidth/u32-strwidth.c: Likewise.
47525         * lib/uniwidth/u32-width.c: Likewise.
47526         * lib/uniwidth/u8-strwidth.c: Likewise.
47527         * lib/uniwidth/u8-width.c: Likewise.
47528         * lib/uniwidth/width.c: Likewise.
47529
47530 2007-10-07  Bruno Haible  <bruno@clisp.org>
47531
47532         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
47533         The file is still under LGPL (see modules/inttypes).
47534
47535 2007-10-06  Bruno Haible  <bruno@clisp.org>
47536
47537         * modules/trunc (Dependencies): Add 'extensions'.
47538         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
47539         Reported by Ben Pfaff <blp@gnu.org>.
47540
47541 2007-10-06  Bruno Haible  <bruno@clisp.org>
47542
47543         * modules/freopen-tests: New file.
47544         * tests/test-freopen.c: New file.
47545
47546         * modules/fopen-tests: New file.
47547         * tests/test-fopen.c: New file.
47548
47549         * modules/fopen: New file.
47550         * lib/fopen.c: New file.
47551         * m4/fopen.m4: New file.
47552         * modules/freopen: New file.
47553         * lib/freopen.c: New file.
47554         * m4/freopen.m4: New file.
47555         * lib/stdio.in.h (fopen, freopen): New declarations.
47556         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
47557         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47558         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
47559         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47560         * doc/functions/fopen.texi: Mention the 'fopen' module.
47561         * doc/functions/freopen.texi: Mention the 'freopen' module.
47562
47563 2007-10-06  Bruno Haible  <bruno@clisp.org>
47564
47565         * modules/open-tests: New file.
47566         * tests/test-open.c: New file.
47567
47568         * modules/open: New file.
47569         * lib/open.c: New file.
47570         * m4/open.m4: New file.
47571         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
47572         lib/open.c does.
47573         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
47574         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
47575         macros.
47576         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
47577         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
47578         REPLACE_OPEN.
47579         * doc/functions/open.texi: Mention the 'open' module.
47580
47581 2007-10-04  Bruno Haible  <bruno@clisp.org>
47582
47583         * modules/ceill-tests: New file.
47584         * tests/test-ceill.c: New file.
47585
47586         * modules/ceill: New file.
47587         * lib/ceill.c: Replace entire file.
47588         * m4/ceill.m4: New file.
47589         * lib/math.in.h (ceill): Replace declaration.
47590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
47591         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
47592         * doc/functions/ceill.texi: Mention the 'ceill' module.
47593         * modules/mathl (Files): Remove lib/ceill.c.
47594         (Depends-on): Add ceill.
47595
47596 2007-10-04  Bruno Haible  <bruno@clisp.org>
47597
47598         * modules/ceilf-tests: New file.
47599         * tests/test-ceilf.c: New file.
47600
47601         * modules/ceilf: New file.
47602         * lib/ceil.c: New file.
47603         * lib/ceilf.c: New file.
47604         * m4/ceilf.m4: New file.
47605         * lib/math.in.h (ceilf): New declaration.
47606         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
47607         HAVE_DECL_CEILF.
47608         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
47609         HAVE_DECL_CEILF.
47610         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
47611
47612 2007-10-04  Bruno Haible  <bruno@clisp.org>
47613
47614         * modules/floorl-tests: New file.
47615         * tests/test-floorl.c: New file.
47616
47617         * modules/floorl: New file.
47618         * lib/floorl.c: Replace entire file.
47619         * m4/floorl.m4: New file.
47620         * lib/math.in.h (floorl): Replace declaration.
47621         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
47622         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
47623         * doc/functions/floorl.texi: Mention the 'floorl' module.
47624         * modules/mathl (Files): Remove lib/floorl.c.
47625         (Depends-on): Add floorl.
47626
47627 2007-10-04  Bruno Haible  <bruno@clisp.org>
47628
47629         * modules/floorf-tests: New file.
47630         * tests/test-floorf.c: New file.
47631
47632         * modules/floorf: New file.
47633         * lib/floor.c: New file.
47634         * lib/floorf.c: New file.
47635         * m4/floorf.m4: New file.
47636         * lib/math.in.h (floorf): New declaration.
47637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
47638         HAVE_DECL_FLOORF.
47639         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
47640         HAVE_DECL_FLOORF.
47641         * doc/functions/floorf.texi: Mention the 'floorf' module.
47642
47643 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
47644             Bruno Haible  <bruno@clisp.org>
47645
47646         Advertise for the Git server instead of the CVS server.
47647         * doc/gnulib-intro.texi (Steady Development): Mention the Git
47648         repository instead of the CVS one.
47649         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
47650         about all VCS systems generically.
47651         * doc/gnulib.texi (Introduction): Capitalize `Git'.
47652
47653 2007-10-04  Bruno Haible  <bruno@clisp.org>
47654
47655         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
47656         means.
47657         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
47658
47659 2007-10-04  Bruno Haible  <bruno@clisp.org>
47660
47661         * modules/truncl-tests: New file.
47662         * tests/test-truncl.c: New file.
47663
47664         * modules/truncl: New file.
47665         * lib/truncl.c: New file.
47666         * m4/truncl.m4: New file.
47667         * lib/math.in.h (truncl): New declaration.
47668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
47669         HAVE_DECL_TRUNCL.
47670         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
47671         HAVE_DECL_TRUNCL.
47672         * doc/functions/truncl.texi: Mention the 'truncl' module.
47673
47674 2007-10-04  Bruno Haible  <bruno@clisp.org>
47675
47676         * modules/truncf-tests: New file.
47677         * tests/test-truncf.c: New file.
47678
47679         * modules/truncf: New file.
47680         * lib/trunc.c: Make paramerizable through USE_* macros.
47681         * lib/truncf.c: New file.
47682         * m4/truncf.m4: New file.
47683         * lib/math.in.h (truncf): New declaration.
47684         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
47685         HAVE_DECL_TRUNCF.
47686         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
47687         HAVE_DECL_TRUNCF.
47688         * doc/functions/truncf.texi: Mention the 'truncf' module.
47689
47690 2007-10-03  Bruno Haible  <bruno@clisp.org>
47691
47692         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47693         augmentation also for tests modules.
47694         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
47695         * modules/atexit-tests (Makefile.am): Likewise.
47696         * modules/binary-io-tests (Makefile.am): Likewise.
47697         * modules/c-strcase-tests (Makefile.am): Likewise.
47698         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
47699         * modules/canonicalize-tests (Makefile.am): Likewise.
47700         * modules/closein-tests (Makefile.am): Likewise.
47701         * modules/fprintf-posix-tests (Makefile.am): Likewise.
47702         * modules/freadahead-tests (Makefile.am): Likewise.
47703         * modules/fseek-tests (Makefile.am): Likewise.
47704         * modules/fseeko-tests (Makefile.am): Likewise.
47705         * modules/ftell-tests (Makefile.am): Likewise.
47706         * modules/ftello-tests (Makefile.am): Likewise.
47707         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
47708         * modules/isnanl-tests (Makefile.am): Likewise.
47709         * modules/lseek-tests (Makefile.am): Likewise.
47710         * modules/mbscasecmp-tests (Makefile.am): Likewise.
47711         * modules/mbscasestr-tests (Makefile.am): Likewise.
47712         * modules/mbschr-tests (Makefile.am): Likewise.
47713         * modules/mbscspn-tests (Makefile.am): Likewise.
47714         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
47715         * modules/mbspbrk-tests (Makefile.am): Likewise.
47716         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
47717         * modules/mbsrchr-tests (Makefile.am): Likewise.
47718         * modules/mbsspn-tests (Makefile.am): Likewise.
47719         * modules/mbsstr-tests (Makefile.am): Likewise.
47720         * modules/printf-posix-tests (Makefile.am): Likewise.
47721         * modules/snprintf-posix-tests (Makefile.am): Likewise.
47722         * modules/sprintf-posix-tests (Makefile.am): Likewise.
47723         * modules/tsearch-tests (Makefile.am): Likewise.
47724         * modules/uniname/uniname-tests (Makefile.am): Likewise.
47725         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
47726         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
47727         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
47728         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
47729         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
47730         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
47731         * modules/vprintf-posix-tests (Makefile.am): Likewise.
47732         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
47733         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
47734         * modules/xstrtoimax-tests (Makefile.am): Likewise.
47735         * modules/xstrtol-tests (Makefile.am): Likewise.
47736         * modules/xstrtoumax-tests (Makefile.am): Likewise.
47737         * modules/yesno-tests (Makefile.am): Likewise.
47738
47739 2007-10-03  Bruno Haible  <bruno@clisp.org>
47740
47741         * modules/trunc-tests: New file.
47742         * tests/test-trunc.c: New file.
47743
47744         * modules/trunc: New file.
47745         * lib/trunc.c: New file.
47746         * m4/trunc.m4: New file.
47747         * lib/math.in.h (trunc): New declaration.
47748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
47749         HAVE_DECL_TRUNC.
47750         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
47751         HAVE_DECL_TRUNC.
47752         * doc/functions/trunc.texi: Mention the 'trunc' module.
47753
47754 2007-10-03  Bruno Haible  <bruno@clisp.org>
47755
47756         * tests/test-fpending.c: New file, mostly copied
47757         from coreutils/lib/t-fpending.c.
47758         * modules/fpending-tests: New file.
47759
47760 2007-10-03  Bruno Haible  <bruno@clisp.org>
47761
47762         Port the stdio extensions to QNX (untested).
47763         * lib/fseterr.c (fseterr): Add support for QNX.
47764         * lib/fbufmode.c (fbufmode): Likewise.
47765         * lib/freadable.c (freadable): Likewise.
47766         * lib/fwritable.c (fwritable): Likewise.
47767         * lib/freading.c (freading): Likewise.
47768         * lib/fwriting.c (fwriting): Likewise.
47769         * lib/freadahead.c (freadahed): Likewise.
47770         * lib/fpurge.c (fpurge): Likewise.
47771         * lib/fseeko.c (rpl_fseeko): Likewise.
47772
47773 2007-10-03  Bruno Haible  <bruno@clisp.org>
47774             Jim Meyering  <jim@meyering.net>
47775             Eric Blake  <ebb9@byu.net>
47776
47777         * doc/relocatable.texi: Use @command instead of @program.
47778
47779 2007-10-02  Jim Meyering  <jim@meyering.net>
47780
47781         Perform one more "_.h" -> ".in.h" substitution.
47782         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
47783         instead of unistd_.h here, too.
47784
47785 2007-10-01  Bruno Haible  <bruno@clisp.org>
47786
47787         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
47788         Needed for the alloca-opt module.
47789
47790 2007-09-30  Bruno Haible  <bruno@clisp.org>
47791
47792         * lib/alloca.in.h: Renamed from lib/alloca_.h.
47793         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
47794         alloca_.h.
47795         * lib/argz.in.h: Renamed from lib/argz_.h.
47796         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
47797         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
47798         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
47799         byteswap_.h.
47800         * lib/dirent.in.h: Renamed from lib/dirent_.h.
47801         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
47802         dirent_.h.
47803         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
47804         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
47805         fcntl_.h.
47806         * lib/float.in.h: Renamed from lib/float_.h.
47807         * modules/float (Files, Makefile.am): Use float.in.h instead of
47808         float_.h.
47809         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
47810         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
47811         fnmatch_.h.
47812         * lib/getopt.in.h: Renamed from lib/getopt_.h.
47813         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
47814         getopt_.h.
47815         * lib/glob.in.h: Renamed from lib/glob_.h.
47816         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
47817         * lib/iconv.in.h: Renamed from lib/iconv_.h.
47818         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
47819         iconv_.h.
47820         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
47821         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
47822         inttypes_.h.
47823         * lib/locale.in.h: Renamed from lib/locale_.h.
47824         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
47825         locale_.h.
47826         * lib/math.in.h: Renamed from lib/math_.h.
47827         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
47828         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
47829         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
47830         of netinet_in_.h. Add dependency.
47831         * lib/poll.in.h: Renamed from lib/poll_.h.
47832         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
47833         * lib/search.in.h: Renamed from lib/search_.h.
47834         * modules/search (Files, Makefile.am): Use search.in.h instead of
47835         search_.h.
47836         * lib/signal.in.h: Renamed from lib/signal_.h.
47837         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
47838         _signal.h.
47839         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
47840         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
47841         stdbool_.h.
47842         * lib/stdint.in.h: Renamed from lib/stdint_.h.
47843         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
47844         stdint_.h.
47845         * lib/stdio.in.h: Renamed from lib/stdio_.h.
47846         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
47847         stdio_.h.
47848         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
47849         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
47850         stdlib_.h.
47851         * lib/string.in.h: Renamed from lib/string_.h.
47852         * modules/string (Files, Makefile.am): Use string.in.h instead of
47853         string_.h.
47854         * doc/gnulib-tool.texi (Initial import): Update.
47855         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
47856         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
47857         of sys_select_.h. Add dependency.
47858         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
47859         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
47860         of sys_socket_.h.
47861         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
47862         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
47863         sys_stat_.h.
47864         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
47865         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
47866         sys_time_.h.
47867         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
47868         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
47869         sysexits_.h.
47870         * lib/time.in.h: Renamed from lib/time_.h.
47871         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
47872         * lib/unistd.in.h: Renamed from lib/unistd_.h.
47873         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
47874         unistd_.h.
47875         * lib/wchar.in.h: Renamed from lib/wchar_.h.
47876         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
47877         wchar_.h.
47878         * lib/wctype.in.h: Renamed from lib/wctype_.h.
47879         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
47880         wctype_.h.
47881         * build-aux/bootstrap (slurp): Update.
47882         * lib/.cppi-disable: Update.
47883
47884 2007-09-30  Bruno Haible  <bruno@clisp.org>
47885
47886         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
47887         Needed on BeOS.
47888
47889 2007-09-30  Bruno Haible  <bruno@clisp.org>
47890
47891         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
47892
47893 2007-09-29  Bruno Haible  <bruno@clisp.org>
47894
47895         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
47896
47897 2007-09-29  Bruno Haible  <bruno@clisp.org>
47898
47899         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
47900         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
47901         * build-aux/install-reloc: Compile also areadlink.c.
47902         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
47903
47904 2007-09-29  Bruno Haible  <bruno@clisp.org>
47905
47906         * gnulib-tool (func_emit_initmacro_done): Indentation.
47907
47908 2007-09-29  Bruno Haible  <bruno@clisp.org>
47909
47910         * README: Add CVS checkout update instructions.
47911         Info from Bob Proulx <bob@proulx.com>.
47912
47913 2007-09-28  Eric Blake  <ebb9@byu.net>
47914
47915         Provide move-if-change.
47916         * build-aux/move-if-change: New file, based on best practice
47917         rather than any canonical upstream location.
47918
47919 2007-09-28  Jim Meyering  <jim@meyering.net>
47920
47921         Fix canonicalize loop-detection corner case.
47922         Do not attempt to stat the symlink values stored via seen_triple.
47923         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
47924         on linux-2.6.18, (but not 2.6.22).
47925         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
47926         triple_compare.  The former compares dev,ino,filename, while the latter
47927         would actually stat dirname(filename) when dev and ino were equal.
47928         * lib/hash-triple.c: Install <string.h>.
47929         (STREQ): Define.
47930         (triple_compare_ino_str): New function.
47931         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
47932
47933 2007-09-28  Eric Blake  <ebb9@byu.net>
47934
47935         Enforce that AC_REPLACE_FUNCS files exist.
47936         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
47937         override check for typos.
47938
47939         Fix test-closein on Solaris 10.
47940         * tests/test-closein.c (main): Don't assume stdin can be inherited
47941         closed on all systems.
47942         * tests/test-closein.sh: Likewise.
47943         Reported by Piotr Tarnowski.
47944
47945 2007-09-28  Jim Meyering  <jim@meyering.net>
47946
47947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
47948
47949 2007-09-27  Jim Meyering  <jim@meyering.net>
47950
47951         canonicalize: Avoid a false-positive cycle failure.
47952         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
47953         Sort.  Remove cycle-check.
47954         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
47955         not cycle-check.h.
47956         (seen_triple): New function.
47957         (canonicalize_filename_mode): Use it instead of cycle-check.
47958         * tests/test-canonicalize.c: Add a test for this bug.
47959         * tests/test-canonicalize.sh: Set up and run the test.
47960
47961         New module, file-set, from coreutils.
47962         * modules/file-set: Define it.
47963         * lib/file-set.c, lib/file-set.h: Implement.
47964
47965         New module, hash-triple, from coreutils.
47966         * modules/hash-triple: Define it.
47967         * lib/hash-triple.c, lib/hash-triple.h: Implement.
47968
47969 2007-09-25  Eric Blake  <ebb9@byu.net>
47970
47971         Fix strerror on Interix.
47972         * lib/string_.h (strerror): Declare replacement.
47973         * doc/functions/strerror.texi (strerror): Document the Interix
47974         shortcoming.
47975         * modules/string (Makefile.am): Support new hooks.
47976         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47977         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47978         gl_FUNC_STRERROR_SEPARATE.
47979         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47980         * lib/strerror.c (rpl_strerror): Provide replacement.
47981         * modules/strerror (Depends-on): Add string.
47982         (configure.ac): Detect use of module.
47983         * tests/test-strerror.c: New file.
47984         * modules/strerror-tests: New test module.
47985         * modules/argp (Depends-on): Add strerror.
47986         * modules/error (Depends-on): Likewise.
47987         Reported by Martin Koeppe.
47988
47989 2007-09-24  Bruno Haible  <bruno@clisp.org>
47990
47991         * README: Update git instructions.
47992
47993 2007-09-24  Eric Blake  <ebb9@byu.net>
47994
47995         Revert fpending breakage from 2007-09-08.
47996         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47997         __fpending.c.
47998
47999 2007-09-24  Jim Meyering  <jim@meyering.net>
48000
48001         filenamecat.c: Add a test.
48002         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
48003         showing how the function works when DIR is the empty string.
48004
48005 2007-09-21  Simon Josefsson  <simon@josefsson.org>
48006
48007         * tests/test-canonicalize.sh: Turn on executable bit.
48008
48009 2007-09-19  Eric Blake  <ebb9@byu.net>
48010
48011         * README: Update CVS instructions.
48012
48013 2007-09-18  Bruno Haible  <bruno@clisp.org>
48014
48015         * modules/areadlink: New file.
48016         * lib/areadlink.h (areadlink): New declaration.
48017         * lib/areadlink.c: New file, based on lib/xreadlink.c.
48018
48019 2007-09-17  Jim Meyering  <jim@meyering.net>
48020
48021         * lib/savewd.c (ESTALE) [!defined]: Define.
48022         Reported to be required on Interix by Martin Koeppe.
48023
48024 2007-09-17  Bruno Haible  <bruno@clisp.org>
48025
48026         * gnulib-tool (func_version): Use $version.
48027
48028 2007-09-16  Bruno Haible  <bruno@clisp.org>
48029
48030         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
48031         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
48032         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
48033         Reported by Greg Schafer <gschafer@zip.com.au>.
48034
48035 2007-09-15  Bruno Haible  <bruno@clisp.org>
48036
48037         * gnulib-tool (sed): Try a little harder to make bash understand the
48038         alias.
48039         Reported by Bruce Korb <bruce.korb@gmail.com>.
48040
48041 2007-09-13  Eric Blake  <ebb9@byu.net>
48042
48043         * ChangeLog: Remove conflict markers.
48044
48045 2007-09-13  Simon Josefsson  <simon@josefsson.org>
48046
48047         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
48048         Reported by Bruno Haible <bruno@clisp.org>.
48049
48050 2007-09-12  Bruno Haible  <bruno@clisp.org>
48051
48052         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
48053         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
48054         is not defined.
48055
48056 2007-09-12  Eric Blake  <ebb9@byu.net>
48057
48058         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
48059         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
48060         Autoconf definition.
48061         * modules/euidaccess (Depends-on): Add extensions, for
48062         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
48063         * modules/fnmatch (Depends-on): Likewise.
48064         * modules/getaddrinfo (Depends-on): Likewise.
48065         * modules/getdelim (Depends-on): Likewise.
48066         * modules/getline (Depends-on): Likewise.
48067         * modules/getsubopt (Depends-on): Likewise.
48068         * modules/gettext (Depends-on): Likewise.
48069         * modules/group-member (Depends-on): Likewise.
48070         * modules/mbchar (Depends-on): Likewise.
48071         * modules/memmem (Depends-on): Likewise.
48072         * modules/mempcpy (Depends-on): Likewise.
48073         * modules/memrchr (Depends-on): Likewise.
48074         * modules/pagealign_alloc (Depends-on): Likewise.
48075         * modules/readutmp (Depends-on): Likewise.
48076         * modules/stpcpy (Depends-on): Likewise.
48077         * modules/stpncpy (Depends-on): Likewise.
48078         * modules/strchrnul (Depends-on): Likewise.
48079         * modules/strndup (Depends-on): Likewise.
48080         * modules/strsep (Depends-on): Likewise.
48081         * modules/strverscmp (Depends-on): Likewise.
48082         * modules/vasprintf (Depends-on): Likewise.
48083         * modules/wcwidth (Depends-on): Likewise.
48084         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
48085         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
48086         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
48087         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
48088         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48089         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48090         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
48091         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48092         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
48093         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
48094         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48095         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
48096         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
48097         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
48098         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
48099         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48100         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48101         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
48102         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48103         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
48104         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
48105         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
48106         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
48107         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
48108         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
48109         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48110         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
48111         so that lock.m4 can be used in gettext without extensions module.
48112
48113 2007-09-11  Bruno Haible  <bruno@clisp.org>
48114
48115         * m4/isc-posix.m4: Remove file.
48116         Suggested by Eric Blake.
48117
48118 2007-09-11  Eric Blake  <ebb9@byu.net>
48119
48120         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
48121
48122 2007-09-10  Bruno Haible  <bruno@clisp.org>
48123
48124         * posix-modules: Fix typo in error message.
48125         Reported by Matt <mkraai@beckman.com>.
48126
48127 2007-09-09  Bruno Haible  <bruno@clisp.org>
48128
48129         * doc/functions/getdelim.texi: Update list of platforms lacking the
48130         function.
48131         * doc/functions/getline.texi: Likewise.
48132
48133 2007-09-09  Jim Meyering  <jim@meyering.net>
48134
48135         * lib/hash.c (hash_initialize): Detect calloc failure.
48136         Reported by Bruno Haible.
48137
48138 2007-09-09  Bruno Haible  <bruno@clisp.org>
48139
48140         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
48141         malloc or realloc fails.
48142
48143 2007-09-09  Bruno Haible  <bruno@clisp.org>
48144
48145         * modules/getcwd (Depends-on): Add malloc-posix.
48146         * modules/glob (Depends-on): Likewise.
48147         * modules/putenv (Depends-on): Likewise.
48148         * modules/strdup (Depends-on): Likewise.
48149         * modules/getdelim (Depends-on): Add realloc-posix.
48150         * modules/read-file (Depends-on): Likewise.
48151
48152 2007-09-09  Bruno Haible  <bruno@clisp.org>
48153
48154         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
48155         (gl_FUNC_MALLOC_POSIX): Require it.
48156         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
48157         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
48158         * modules/realloc (Files): Add m4/malloc.m4.
48159         * modules/calloc (Files): Likewise.
48160
48161 2007-09-09  Bruno Haible  <bruno@clisp.org>
48162
48163         * modules/malloc-posix: New file.
48164         * modules/malloc (Depends-on): Add malloc-posix.
48165         * lib/malloc.c: Include errno.h.
48166         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
48167         and a POSIX-compatible malloc into a single function. Set ENOMEM
48168         when returning NULL.
48169         * m4/malloc.m4: New file.
48170         * doc/functions/malloc.texi: Mention the malloc-posix module.
48171         * lib/stdlib_.h (malloc): New declaration.
48172         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48173         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
48174         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
48175         and HAVE_MALLOC_POSIX.
48176
48177 2007-09-09  Bruno Haible  <bruno@clisp.org>
48178
48179         * modules/realloc-posix: New file.
48180         * modules/realloc (Depends-on): Add realloc-posix.
48181         * lib/realloc.c: Include errno.h.
48182         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
48183         and a POSIX-compatible realloc into a single function. Set ENOMEM
48184         when returning NULL.
48185         * m4/realloc.m4: New file.
48186         * doc/functions/realloc.texi: Mention the realloc-posix module.
48187         * lib/stdlib_.h (realloc): New declaration.
48188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48189         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
48190         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
48191         and HAVE_REALLOC_POSIX.
48192
48193 2007-09-09  Bruno Haible  <bruno@clisp.org>
48194
48195         * modules/calloc-posix: New file.
48196         * modules/calloc (Depends-on): Add calloc-posix.
48197         * lib/calloc.c: Include errno.h.
48198         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
48199         and a POSIX-compatible calloc into a single function. Set ENOMEM
48200         when returning NULL.
48201         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
48202         * doc/functions/calloc.texi: Mention the calloc-posix module.
48203         * lib/stdlib_.h (calloc): New declaration.
48204         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48205         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
48206         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
48207         and HAVE_CALLOC_POSIX.
48208
48209 2007-09-09  Bruno Haible  <bruno@clisp.org>
48210
48211         Allow for modules to show an arbitrary notice.
48212         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
48213         * gnulib-tool: New option --extract-notice.
48214         (func_usage): Document it.
48215         (sed_extract_prog): Update.
48216         (func_get_notice): New function.
48217         (func_modules_notice): New function.
48218         (func_import, func_create_testdir): Invoke it.
48219         Suggested by Jim Meyering.
48220
48221 2007-09-09  Bruno Haible  <bruno@clisp.org>
48222
48223         * gnulib-tool: New options --verbose, --quiet.
48224         (func_usage): Document them.
48225         (verbose): New variable.
48226         (func_execute_command): New function.
48227         (func_import): Don't show the module list and the file list if
48228         $verbose < 0.
48229         (func_create_testdir): Likewise. Use func_execute_command.
48230         (func_create_megatestdir): Use func_execute_command.
48231
48232 2007-09-08  Bruno Haible  <bruno@clisp.org>
48233
48234         * gnulib-tool (func_import): Prefer rsync over wget when available,
48235         for fetching the PO files.
48236
48237 2007-09-08  Bruno Haible  <bruno@clisp.org>
48238
48239         * posix-modules: New file. Portions copied from gnulib-tool.
48240         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
48241
48242 2007-09-08  Jim Meyering  <jim@meyering.net>
48243
48244         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
48245         * lib/fpending.h: Rename from __fpending.h.
48246         * lib/fpending.c: Rename from __fpending.c.
48247         Include "fpending.h", not "__fpending.h".
48248         * lib/__fpending.h, lib/__fpending.c: Remove files.
48249         * modules/fpending (Files): Reflect new file names.
48250         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
48251
48252 2007-09-08  Bruno Haible  <bruno@clisp.org>
48253
48254         * m4/inttypes-h.m4: Remove stub file.
48255
48256 2007-09-07  Simon Josefsson  <simon@josefsson.org>
48257
48258         * doc/headers/stdint.texi: Discuss #include_next issue.
48259
48260 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48261
48262         * build-aux/bootstrap: Remove obsolete comment about wget --help.
48263
48264 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48265
48266         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
48267         in variable name.
48268
48269 2007-09-03  Jim Meyering  <jim@meyering.net>
48270
48271         New module: git-version-gen.
48272         * modules/git-version-gen: New file.
48273
48274         Import changes from coreutils for bootstrap script.
48275
48276         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
48277
48278         bootstrap: uses rsync to download the .po files
48279         * build-aux/bootstrap (po_download_command_format): New global.
48280         (download_po_files): Use rsync.
48281         (update_po_files): Don't remove .po files after download,
48282         so future rsync runs can take advantage of the copies.
48283
48284         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
48285
48286         Solve the unnecessary-.po-file-regeneration problem once and for all.
48287         * build-aux/bootstrap (download_po_files): New function, renamed from
48288         get_translations.  Now, downloads, but doesn't update LINGUAS.
48289         (update_po_files): New function.
48290
48291         bootstrap: Ignore more.
48292         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
48293         uniwidth to e.g., lib/.gitignore.
48294         (slurp): Handle the sys_stat_.h -> sys mapping, too.
48295
48296         * build-aux/bootstrap: New setting: vc_ignore.
48297         (insert_sorted_if_absent): Create $file if absent.
48298         Adapt to new, possibly empty, list: $vc_ignore.
48299
48300         bootstrap: generate more ignorable names
48301         * build-aux/bootstrap (slurp): When generating ignorable names,
48302         also map .sin to .sed, .gperf to .c, and .y to .c.
48303
48304 2007-09-03  Jim Meyering  <jim@meyering.net>
48305
48306         * build-aux/git-version-gen: New file, from coreutils.  For details, see
48307         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
48308
48309 2007-09-02  Bruno Haible  <bruno@clisp.org>
48310
48311         Fix mis-recognition of 'mcs' on QNX 6.
48312         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
48313         output contains the string "Mono".
48314         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
48315         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
48316
48317 2007-09-01  Bruno Haible  <bruno@clisp.org>
48318
48319         Fix collision between uniwidth/* and linebreak modules.
48320         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
48321         u32_width): Remove declarations.
48322         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
48323         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
48324         streq3, streq2, streq1, streq0): Remove functions.
48325         (STREQ): Remove macro.
48326         (is_cjk_encoding): Remove function.
48327         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
48328         (uc_width, u8_width, u16_width, u32_width): Remove functions.
48329         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
48330         * NEWS: Document the change.
48331
48332 2007-09-01  Bruno Haible  <bruno@clisp.org>
48333
48334         * lib/streq.h: Add double-inclusion guard.
48335
48336 2007-09-01  Karl Berry  <karl@gnu.org>
48337
48338         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
48339
48340 2007-08-28  Jim Meyering  <jim@meyering.net>
48341
48342         Rename mreadlink_with_size to areadlink_with_size.
48343         * NEWS: Document the change.
48344         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
48345         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
48346         * lib/mreadlink.h: Rename this to...
48347         * lib/areadlink.h: ...this.
48348         * modules/mreadlink-with-size: Rename this to...
48349         * modules/areadlink-with-size: ...this.
48350         * lib/canonicalize.c: Reflect the renaming.
48351         * modules/canonicalize: Likewise.
48352
48353 2007-08-26  Bruno Haible  <bruno@clisp.org>
48354
48355         * gnulib-tool (func_import): When deciding which files to remove,
48356         consider also dangling symbolic links.
48357         Reported by Eric Blake.
48358
48359 2007-08-26  Bruno Haible  <bruno@clisp.org>
48360
48361         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
48362
48363 2007-08-23  Simon Josefsson  <simon@josefsson.org>
48364
48365         * lib/readline.c: Don't include getline.h, the prototype is now
48366         found in stdio.h.
48367
48368 2007-08-23  Jim Meyering  <jim@meyering.net>
48369
48370         Getdelim touchup.
48371         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
48372         around the funlockfile call, since funlockfile never sets errno.
48373         Don't set errno upon failed realloc.
48374
48375 2007-08-22  Eric Blake  <ebb9@byu.net>
48376
48377         Getline touchups.
48378         * lib/getdelim.c (getdelim): Revert regression that required *n to
48379         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
48380         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
48381         getdelim, rather than whether implementation is missing.
48382         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
48383         * lib/stdio_.h (getline): Also declare if replacement is
48384         required.
48385         * doc/functions/getdelim.texi: New file.
48386         * doc/functions/getline.texi: Likewise.
48387         * doc/gnulib.texi (Function Substitutes): Add new files.
48388         Reported by Bruno Haible.
48389
48390 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
48391
48392         * users.txt: Add Guile.
48393
48394 2007-08-22  Eric Blake  <ebb9@byu.net>
48395
48396         * tests/test-getdelim.c (main): Use remove, not unlink.
48397         * tests/test-getline.c (main): Likewise.
48398
48399         Move getline and getdelim into stdio.h, per POSIX 200x.
48400         * modules/getline (Files): Remove getline.h.
48401         (Depends-on): Add stdio.
48402         (configure.ac): Add module indicator.
48403         * modules/getdelim (Files): Remove getdelim.h.
48404         (Depends-on): Add stdio.
48405         (configure.ac): Add module indicator.
48406         * modules/stdio (Makefile.am): Work with new indicators.
48407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
48408         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
48409         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48410         * lib/getdelim.h: Delete.
48411         * lib/getline.h: Delete.
48412         * lib/stdio_.h (getdelim, getline): Declare.
48413         * modules/getdelim-tests: New module.
48414         * modules/getline-tests: Likewise.
48415         * tests/test-getdelim.c: New file.
48416         * tests/test-getline.c: Likewise.
48417         * NEWS: Document the change.
48418         * lib/getline.c: Update choice of header.
48419         * lib/csharpcomp.c: Likewise.
48420         * lib/getpass.c: Likewise.
48421         * lib/javacomp.c: Likewise.
48422         * lib/javaversion.c: Likewise.
48423         * lib/yesno.c: Likewise.
48424         * lib/getdelim.c: Likewise.
48425         (getdelim): Set errno on failure, and avoid memory leak.
48426
48427 2007-08-19  Bruno Haible  <bruno@clisp.org>
48428
48429         * modules/closein (Depends-on): Add freadahead.
48430         * lib/closein.c: Include freadahead.h.
48431         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
48432         is zero.
48433
48434 2007-08-19  Bruno Haible  <bruno@clisp.org>
48435
48436         * modules/freadahead-tests: New file.
48437         * tests/test-freadahead.sh: New file.
48438         * tests/test-freadahead.c: New file.
48439
48440         * modules/freadahead: New file.
48441         * lib/freadahead.h: New file.
48442         * lib/freadahead.c: New file.
48443         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
48444         fbufmode, fpurge, freadable, fwritable.
48445
48446 2007-08-19  Eric Blake  <ebb9@byu.net>
48447
48448         Test yesno in combination with closein.
48449         * lib/yesno.c (yesno): Document use of stdin.
48450         * modules/yesno-tests (Files): New module.
48451         * tests/test-yesno.c (main): New file.
48452         * tests/test-yesno.sh: Likewise.
48453
48454 2007-08-19  Bruno Haible  <bruno@clisp.org>
48455
48456         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
48457         * lib/fseeko.c (rpl_fseeko): Likewise.
48458         * lib/fseterr.c (fseterr): Likewise.
48459
48460 2007-08-19  Bruno Haible  <bruno@clisp.org>
48461
48462         * tests/test-lseek.c (main): Disable a test for BeOS.
48463         * doc/functions/lseek.texi: Document the BeOS bug.
48464
48465 2007-08-19  Bruno Haible  <bruno@clisp.org>
48466             Eric Blake  <ebb9@byu.net>
48467
48468         * lib/lseek.c: Include <sys/stat.h>.
48469         (rpl_lseek): Add workaround code also for Unix platforms.
48470         Needed for BeOS.
48471         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
48472         * doc/functions/lseek.texi: Document BeOS definiency.
48473
48474 2007-08-18  Bruno Haible  <bruno@clisp.org>
48475
48476         * modules/fstrcmp-tests: New file.
48477         * tests/test-fstrcmp.c: New file.
48478
48479 2007-08-18  Bruno Haible  <bruno@clisp.org>
48480
48481         * modules/fstrcmp: New file, from GNU gettext with modifications.
48482         * lib/fstrcmp.h: New file, from GNU gettext.
48483         * lib/fstrcmp.c: New file, from GNU gettext.
48484         * MODULES.html.sh (String handling): Add fstrcmp.
48485
48486 2007-08-18  Bruno Haible  <bruno@clisp.org>
48487
48488         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
48489         'bool'.
48490         (diag, compareseq): Remove const from the ctxt argument.
48491         (USE_HEURISTIC): Undefine at the end.
48492
48493 2007-08-18  Jim Meyering  <jim@meyering.net>
48494
48495         New file: lib/idcache.h
48496         * NEWS: Mention the addition.
48497         * modules/idcache (Files): Add lib/idcache.h
48498         * lib/idcache.c: Include "idcache.h".
48499         Don't include <sys/types.h>.
48500         Add a FIXME comment.
48501         Move file-scoped "static" declarations to the top.
48502         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
48503
48504 2007-08-17  Bruno Haible  <bruno@clisp.org>
48505         and Paul Eggert  <eggert@cs.ucla.edu>
48506
48507         * MODULES.html.sh: Add diffseq.
48508         * modules/diffseq: New file.
48509         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
48510         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
48511
48512 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48513
48514         Import changes from coreutils for bootstrap script.
48515
48516         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
48517
48518         * build-aux/bootstrap (slurp): Work even in environments where
48519         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
48520         current code does not slurp files whose names start with ".", and
48521         this looks like it might be a troublesome area.
48522
48523         2007-07-11  Jim Meyering  <jim@meyering.net>
48524
48525         If there's a GPL vN copyright comment, require that N == 3.
48526
48527         2007-07-08  Jim Meyering  <jim@meyering.net>
48528
48529         Run the coreutils-specific code only if tests/Makefile.am.in exists.
48530         * build-aux/bootstrap (mam_template): Move definition out of loop.
48531
48532         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
48533
48534         * build-aux/bootstrap (symlink_to_dir): Rename function from
48535         symlink_to_gnulib.  Add a directory parameter.  Update all
48536         callers.
48537         (cp_mark_as_generated): Also check for -- and link to -- files in
48538         gl/.
48539
48540         2007-07-08  Jim Meyering  <jim@meyering.net>
48541
48542         Adapt to deeper hierarchy in gnulib.
48543         * build-aux/bootstrap (symlink_to_dir): If the destination
48544         directory doesn't exist, create it. This is required at least for
48545         "lib/uniwidth/cjk.h".
48546
48547         2007-05-15  Jim Meyering  <jim@meyering.net>
48548
48549         * build-aux/bootstrap: Now that generated Makefile.am files
48550         are no longer under version control, they must be created at
48551         bootstrap time.
48552
48553 2007-08-14  Ben Pfaff  <blp@gnu.org>
48554
48555         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
48556
48557 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48558
48559         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
48560         given the changes below.
48561         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
48562         even on hosts that have padding bits beyond the supported 64.
48563
48564 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48565
48566         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
48567         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
48568         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
48569         depends on it.
48570         (xstrtol_error): Remove.
48571         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
48572         but with a different signature.
48573         (ATTRIBUTE_NORETURN, __attribute__): New macros.
48574         * lib/xstrtol-error.c: Include exitfail.h.
48575         (xstrtol_fatal): New function, with a different signature from the
48576         old xstrtol_error, so that the caller need not worry about passing
48577         in an exit status, or about storage management of the option argument.
48578         (xstrtol_error): Now a static function.  Redo signature to
48579         implement xstrtol_fatal.  Output the correct number of hyphens in
48580         front of the option so that the caller need not worry about
48581         storage management.
48582         (N_): New macro.
48583         (_): Remove; not used now.
48584         * modules/xstrtol: Depend on getopt.
48585         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
48586         of old STRTOL_FATAL_ERROR macro.
48587         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
48588         of test program.
48589         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
48590         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
48591
48592 2007-08-08  Eric Blake  <ebb9@byu.net>
48593
48594         * lib/xstrtol-error.c: Add missing include.
48595
48596         Move xstrtol messages into gnulib domain, when --pobase is used.
48597         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
48598         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
48599         * modules/xstrtol (Files): Distribute new file.
48600         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
48601         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
48602         * tests/test-xstrtol.c: ...into new file.
48603         * tests/test-xstrtoul.c: Also test xstrtoul.
48604         * tests/test-xstrtoimax.c: Also test xstrtoimax.
48605         * tests/test-xstrtoumax.c: Also test xstrtoumax.
48606         * tests/test-xstrtol.sh: Drive the tests.
48607         * tests/test-xstrtoimax.sh: Likewise.
48608         * tests/test-xstrtoumax.sh: Likewise.
48609         * modules/xstrtol-tests: New module.
48610         * modules/xstrtoimax-tests: Likewise.
48611         * modules/xstrtoumax-tests: Likewise.
48612
48613 2007-08-08  Jim Meyering  <jim@meyering.net>
48614
48615         New function: mfile_name_concat.
48616         * lib/filenamecat.c (mfile_name_concat): New function, just like
48617         file_name_concat, but return NULL upon failure rather than exiting
48618         with a diagnostic.
48619         * lib/filenamecat.h: Declare it.
48620
48621 2007-08-07  Bruno Haible  <bruno@clisp.org>
48622
48623         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
48624         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
48625         warning from gcc.
48626         Reported by Eric Blake.
48627
48628 2007-08-07  Simon Josefsson  <simon@josefsson.org>
48629
48630         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
48631         * modules/crypto/arcfour (License): Likewise.
48632         * modules/crypto/des-tests (License): Likewise.
48633         * modules/crypto/gc-arctwo-tests (License): Likewise.
48634         * modules/crypto/gc-des-tests (License): Likewise.
48635         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
48636         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
48637         * modules/crypto/gc-md2-tests (License): Likewise.
48638         * modules/crypto/gc-md4-tests (License): Likewise.
48639         * modules/crypto/gc-md5-tests (License): Likewise.
48640         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
48641         * modules/crypto/gc-rijndael-tests (License): Likewise.
48642         * modules/crypto/gc-sha1-tests (License): Likewise.
48643         * modules/crypto/gc-tests (License): Likewise.
48644         * modules/crypto/hmac-md5 (License): Likewise.
48645         * modules/crypto/hmac-sha1 (License): Likewise.
48646         * modules/crypto/md2-tests (License): Likewise.
48647         * modules/crypto/md4-tests (License): Likewise.
48648         * modules/crypto/md5 (License): Likewise.
48649         * modules/crypto/rijndael (License): Likewise.
48650         * modules/crypto/sha1 (License): Likewise.
48651         * modules/memxor (License): Likewise.
48652
48653 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
48654         and Bruno Haible  <bruno@clisp.org>
48655
48656         * NEWS: Describe interface changes to human, xstrtol.
48657         * lib/human.h: Include <xstrtol.h>.
48658         (human_options): Return enum strtol_error, not int.  Remove
48659         bool arg; take int * instead.
48660         * lib/human.c: Don't include "gettext.h".
48661         (_): Remove; no longer used.
48662         Don't include <xstrtol.h>, since human.h does it.
48663         (human_options): Adjust to abovementioned interface changes.
48664         Do not report error to stderr; that's now the caller's
48665         responsibility.
48666         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
48667         interface change.
48668         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
48669         Str, Argument_type_string.  All uses changed.  Put " argument"
48670         in diagnostics to make them clearer.  Change wording of suffix
48671         message for clarity.
48672         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
48673         Argument_type_string.
48674         (STRTOL_FATAL_WARN): Remove; no longer used.
48675         * modules/human (Depends-on): Remove gettext-h.
48676
48677 2007-08-06  Simon Josefsson  <simon@josefsson.org>
48678
48679         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
48680
48681 2007-07-31  Bruno Haible  <bruno@clisp.org>
48682
48683         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
48684         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
48685         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
48686
48687 2007-07-31  Bruno Haible  <bruno@clisp.org>
48688
48689         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
48690         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
48691
48692 2007-07-30  Bruno Haible  <bruno@clisp.org>
48693
48694         * modules/base64 (License): Use the synonymous term "LGPLv2+".
48695         * modules/c-ctype (License): Likewise.
48696         * modules/c-strcase (License): Likewise.
48697         * modules/check-version (License): Likewise.
48698         * modules/iconv (License): Likewise.
48699         * modules/iconv_open (License): Likewise.
48700         * modules/read-file (License): Likewise.
48701         * modules/striconv (License): Likewise.
48702         * modules/strverscmp (License): Likewise.
48703         * modules/vasprintf (License): Likewise.
48704         * modules/crypto/des (License): Likewise.
48705         * modules/crypto/gc (License): Likewise.
48706         * modules/crypto/gc-arcfour (License): Likewise.
48707         * modules/crypto/gc-arctwo (License): Likewise.
48708         * modules/crypto/gc-des (License): Likewise.
48709         * modules/crypto/gc-hmac-md5 (License): Likewise.
48710         * modules/crypto/gc-hmac-sha1 (License): Likewise.
48711         * modules/crypto/gc-md2 (License): Likewise.
48712         * modules/crypto/gc-md4 (License): Likewise.
48713         * modules/crypto/gc-md5 (License): Likewise.
48714         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
48715         * modules/crypto/gc-random (License): Likewise.
48716         * modules/crypto/gc-rijndael (License): Likewise.
48717         * modules/crypto/gc-sha1 (License): Likewise.
48718         * modules/crypto/md2 (License): Likewise.
48719         * modules/crypto/md4 (License): Likewise.
48720
48721 2007-07-30  Jim Meyering  <jim@meyering.net>
48722
48723         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
48724         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
48725         it has valid stat data.  This bug would cause du not to count the
48726         sizes of inaccessible directories.
48727         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
48728         in <http://bugzilla.redhat.com/250077>.
48729
48730 2007-07-25  Peter O'Gorman  <peter@pogma.com>
48731             Bruno Haible  <bruno@clisp.org>
48732
48733         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
48734         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
48735         #include_next, gives a diagnostic about it, but reports no error in
48736         the exit code.
48737         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48738
48739 2007-07-24  Ben Pfaff  <blp@gnu.org>
48740
48741         Improve name: "count-one-bits" is better than "popcount".
48742         * MODULES.html.sh: Update name.
48743         * lib/popcount.h: Renamed lib/count-one-bits.h.
48744         (popcount): Renamed count_one_bits.
48745         (popcountl): Renamed count_one_bits_l.
48746         (popcountll): Renamed count_one_bits_ll.
48747         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
48748         * modules/popcount: Renamed module/count-one-bits.
48749         * modules/popcount-tests: Renamed module/count-one-bits-tests.
48750         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
48751
48752 2007-07-23  Ben Pfaff  <blp@gnu.org>
48753
48754         * lib/popcount.h (popcount32): Reduce size of constants, to allow
48755         better code generation, and add U to large constants to avoid
48756         warnings, in non-GCC case.
48757         Suggested by Bruno Haible.
48758
48759 2007-07-23  Ben Pfaff  <blp@gnu.org>
48760
48761         * lib/popcount.h: Use verify_true instead of if...abort.
48762         * modules/popcount: Depend on verify module.
48763         Suggested by Jim Meyering.
48764
48765 2007-07-23  Bruno Haible  <bruno@clisp.org>
48766
48767         * gnulib-tool (func_import): Create a .cvsignore file also when the
48768         directory is not yet in CVS but the toplevel directory is. When
48769         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
48770         Reported by Karl Berry.
48771
48772 2007-07-22  Ben Pfaff  <blp@gnu.org>
48773
48774         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
48775         case.
48776         Suggested by Eric Blake.
48777
48778 2007-07-22  Ben Pfaff  <blp@gnu.org>
48779
48780         New module: popcount.
48781         * MODULES.html.sh: Add popcount.
48782         * modules/popcount: New file.
48783         * modules/popcount-tests: New file.
48784         * tests/test-popcount.c: New file.
48785         * lib/popcount.h: New file.
48786         * m4/popcount.m4: New file.
48787
48788 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48789
48790         * build-aux/announce-gen: Update to GPLv3.
48791
48792         * build-aux/config.guess: Update from config.
48793
48794 2007-07-21  Bruno Haible  <bruno@clisp.org>
48795
48796         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
48797         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
48798
48799 2007-07-20  Jim Meyering  <jim@meyering.net>
48800
48801         * check-module: Diagnose a self-dependency.
48802
48803 2007-07-19  Bruno Haible  <bruno@clisp.org>
48804
48805         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
48806         empty.
48807         Reported by Eric Blake.
48808
48809 2007-07-18  Bruno Haible  <bruno@clisp.org>
48810
48811         * gnulib-tool: New options --po-base, --po-domain.
48812         (func_usage): Document them.
48813         (pobase, po_domain): New variables.
48814         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
48815         DEFAULT_TEXT_DOMAIN.
48816         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
48817         (func_import): Consider pobase and po_domain. Create a po/ directory.
48818         (func_create_testdir): Set pobase and po_domain to empty.
48819         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
48820         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
48821
48822 2007-07-18  Bruno Haible  <bruno@clisp.org>
48823
48824         * gnulib-tool (func_get_automake_snippet): Synthesize also an
48825         EXTRA_DIST augmentation for files in build-aux/.
48826
48827 2007-07-16  Bruno Haible  <bruno@clisp.org>
48828
48829         * modules/lseek (License): Use the synonymous term "LGPLv2+".
48830         * modules/getdelim (License): Likewise.
48831
48832 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48833
48834         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
48835         * modules/d-type (License): Likewise.
48836         * modules/extensions (License): Likewise.
48837         * modules/fnmatch (License): Likewise.
48838         * modules/fseeko (License): Likewise.
48839         * modules/getaddrinfo (License): Likewise.
48840         * modules/getline (License): Likewise.
48841         * modules/getlogin_r (License): Likewise.
48842         * modules/getpass (License): Likewise.
48843         * modules/gettimeofday (License): Likewise.
48844         * modules/glob (License): Likewise.
48845         * modules/inet_ntop (License): Likewise.
48846         * modules/malloc (License): Likewise.
48847         * modules/malloca (License): Likewise.
48848         * modules/memmem (License): Likewise.
48849         * modules/mempcpy (License): Likewise.
48850         * modules/memset (License): Likewise.
48851         * modules/minmax (License): Likewise.
48852         * modules/mktime (License): Likewise.
48853         * modules/netinet_in (License): Likewise.
48854         * modules/pathmax (License): Likewise.
48855         * modules/poll (License): Likewise.
48856         * modules/regex (License): Likewise.
48857         * modules/snprintf (License): Likewise.
48858         * modules/stdbool (License): Likewise.
48859         * modules/stdint (License): Likewise.
48860         * modules/stdio (License): Likewise.
48861         * modules/strcase (License): Likewise.
48862         * modules/strcasestr (License): Likewise.
48863         * modules/strdup (License): Likewise.
48864         * modules/string (License): Likewise.
48865         * modules/strndup (License): Likewise.
48866         * modules/strnlen (License): Likewise.
48867         * modules/strpbrk (License): Likewise.
48868         * modules/strptime (License): Likewise.
48869         * modules/strsep (License): Likewise.
48870         * modules/sys_select (License): Likewise.
48871         * modules/sys_socket (License): Likewise.
48872         * modules/sys_stat (License): Likewise.
48873         * modules/sys_time (License): Likewise.
48874         * modules/time (License): Likewise.
48875         * modules/time_r (License): Likewise.
48876         * modules/timegm (License): Likewise.
48877         * modules/unistd (License): Likewise.
48878         * modules/vsnprintf (License): Likewise.
48879         * modules/wctype (License): Likewise.
48880
48881 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48882
48883         * modules/argz (License): LGPLv2+.
48884
48885 2007-07-15  Karl Berry  <karl@gnu.org>
48886
48887         * doc/gnulib.texi: revise node structure per new fdl.texi.
48888
48889 2007-07-14  Bruno Haible  <bruno@clisp.org>
48890
48891         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
48892         the output file.
48893         * lib/uniname/uninames.h: Regenerated.
48894
48895 2007-07-14  Karl Berry  <karl@gnu.org>
48896
48897         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
48898         omitting sectioning and index commands.
48899
48900 2007-07-13  Bruno Haible  <bruno@clisp.org>
48901
48902         New gnulib-tool option --more-symlinks.
48903         * gnulib-tool (func_usage): Document --more-symlinks.
48904         (do_copyrights): New variable.
48905         Recognize option --more-symlinks.
48906         (func_import): Don't add a copyright notice transform to
48907         sed_transform_lib_file if do_copyrights is empty.
48908
48909 2007-07-13  Bruno Haible  <bruno@clisp.org>
48910
48911         * lib/vasnprintf.c (decimal_point_char): Define also if
48912         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
48913         && !NEED_PRINTF_DIRECTIVE_A.
48914         Reported by Clemens Koller <clemens.koller@anagramm.de> via
48915         Gary V. Vaughan <gary@gnu.org>.
48916
48917 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
48918
48919         * lib/inttypes_.h: Undo previous change, since it was fixed
48920         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
48921
48922 2007-07-13  Bruno Haible  <bruno@clisp.org>
48923
48924         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
48925         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
48926
48927 2007-07-13  Jim Meyering  <jim@meyering.net>
48928
48929         df: Don't fail for Tru64's "file-on-file mount".
48930         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
48931         so we fall through and use statfs instead.  Details here:
48932         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
48933         Reported by Albert Chin.
48934
48935 2007-07-13  Bruno Haible  <bruno@clisp.org>
48936
48937         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
48938         * modules/configmake (License): Likewise.
48939         * modules/gettext (License): Likewise.
48940         * modules/gettext-h (License): Likewise.
48941         * modules/include_next (License): Likewise.
48942         * modules/link-warning (License): Likewise.
48943         * modules/localcharset (License): Likewise.
48944         * modules/localename (License): Likewise.
48945         * modules/lock (License): Likewise.
48946         * modules/relocatable-lib-lgpl (License): Likewise.
48947         * modules/size_max (License): Likewise.
48948         * modules/vasnprintf (License): Likewise.
48949         * modules/wchar (License): Likewise.
48950         * modules/xsize (License): Likewise.
48951
48952 2007-07-13  Bruno Haible  <bruno@clisp.org>
48953
48954         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
48955         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
48956
48957 2007-07-12  Bruno Haible  <bruno@clisp.org>
48958
48959         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
48960         in the modules files.
48961
48962 2007-07-11  Karl Berry  <karl@gnu.org>
48963
48964         * MODULES.html.sh (func_module): use
48965          sed -e '\|^'"${includefile}"'$|d'
48966          instead of /.../d, to avoid errors on $includefile's containing /.
48967
48968 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48969
48970         * gnulib-tool (func_import): Avoid duplication of --avoid
48971         statements
48972         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48973         names to `_' in variable names.
48974
48975 2007-07-10  Eric Blake  <ebb9@byu.net>
48976
48977         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48978         * NEWS: Document this change.
48979
48980 2007-07-08  Bruno Haible  <bruno@clisp.org>
48981
48982         Update to Unicode 5.0.
48983         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48984         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48985         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48986         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48987         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48988         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48989         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48990         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48991         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48992         U+10A3F, U+1D242..U+1D244.
48993         (nonspacing_table_ind): Update.
48994         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48995         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48996
48997 2007-07-08  Bruno Haible  <bruno@clisp.org>
48998
48999         Update to Unicode 5.0.
49000         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
49001         code transform. Extend the name index field of unicode_name_to_code and
49002         unicode_code_to_name from 16 to 24 bits.
49003         * lib/uniname/uniname.c (unicode_character_name,
49004         unicode_name_character): Add the range 0x12xxx to the code transform.
49005         * lib/uniname/uninames.h: Regenerated.
49006         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
49007
49008 2007-07-07  Bruno Haible  <bruno@clisp.org>
49009
49010         * modules/wcwidth-tests: New file.
49011         * tests/test-wcwidth.c: New file.
49012
49013         Work around MacOS X wcwidth() bug.
49014         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
49015         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
49016         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
49017         original wcwidth in non-UTF-8 locales.
49018         * modules/wcwidth (Depends-on): Add localcharset, streq,
49019         uniwidth/width.
49020         * doc/functions/wcwidth.texi: Update.
49021
49022 2007-07-07  Bruno Haible  <bruno@clisp.org>
49023
49024         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
49025         (wcwidth): New declaration.
49026         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
49027         macros.
49028         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
49029         here. Prepare for creating <wchar.h> unconditionally.
49030         * modules/wchar (Depends-on): Add link-warning.
49031         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
49032         REPLACE_WCWIDTH, and GL_LINK_WARNING.
49033         * lib/wcwidth.h: Remove file.
49034         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
49035         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
49036         * modules/wcwidth (Files): Remove lib/wcwidth.h.
49037         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
49038         (Include): Replace wcwidth.h with <wchar.h>.
49039         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
49040         * lib/mbchar.h: Don't include wcwidth.h.
49041         * lib/mbswidth.c: Likewise.
49042         * NEWS: Mention the change.
49043
49044 2007-07-07  Bruno Haible  <bruno@clisp.org>
49045
49046         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
49047         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
49048         definition with an external declaration.
49049         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
49050         defined as a function. Remove AC_C_INLINE requirement.
49051         * modules/wcwidth (Files): Add lib/wcwidth.c.
49052         (Makefile.am): Remove redundant statement.
49053
49054 2007-07-07  Bruno Haible  <bruno@clisp.org>
49055
49056         * MODULES.html.sh (Unicode string functions): Add the new modules.
49057
49058         * tests/uniwidth/test-u32-strwidth.c: New file.
49059         * modules/uniwidth/u32-strwidth-tests: New file.
49060
49061         * lib/uniwidth/u32-strwidth.c: New file.
49062         * modules/uniwidth/u32-strwidth: New file.
49063
49064         * tests/uniwidth/test-u16-strwidth.c: New file.
49065         * modules/uniwidth/u16-strwidth-tests: New file.
49066
49067         * lib/uniwidth/u16-strwidth.c: New file.
49068         * modules/uniwidth/u16-strwidth: New file.
49069
49070         * tests/uniwidth/test-u8-strwidth.c: New file.
49071         * modules/uniwidth/u8-strwidth-tests: New file.
49072
49073         * lib/uniwidth/u8-strwidth.c: New file.
49074         * modules/uniwidth/u8-strwidth: New file.
49075
49076         * tests/uniwidth/test-u32-width.c: New file.
49077         * modules/uniwidth/u32-width-tests: New file.
49078
49079         * lib/uniwidth/u32-width.c: New file.
49080         * modules/uniwidth/u32-width: New file.
49081
49082         * tests/uniwidth/test-u16-width.c: New file.
49083         * modules/uniwidth/u16-width-tests: New file.
49084
49085         * lib/uniwidth/u16-width.c: New file.
49086         * modules/uniwidth/u16-width: New file.
49087
49088         * tests/uniwidth/test-u8-width.c: New file.
49089         * modules/uniwidth/u8-width-tests: New file.
49090
49091         * lib/uniwidth/u8-width.c: New file.
49092         * modules/uniwidth/u8-width: New file.
49093
49094         * tests/uniwidth/test-uc_width.c: New file.
49095         * modules/uniwidth/width-tests: New file.
49096
49097         * lib/uniwidth/width.c: New file, from GNU libiconv.
49098         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
49099         * modules/uniwidth/width: New file.
49100
49101         * lib/uniwidth.h: New file, from GNU libiconv.
49102         * modules/uniwidth/base: New file.
49103
49104 2007-07-07  Bruno Haible  <bruno@clisp.org>
49105
49106         * lib/uniname.h: New file, from GNU gettext.
49107         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
49108         * lib/uniname/uninames.h: New file, from GNU gettext.
49109         * lib/uniname/uniname.c: New file, from GNU gettext.
49110         * tests/uniname/test-uninames.sh: New file.
49111         * tests/uniname/test-uninames.c: New file, from GNU gettext.
49112         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
49113         * modules/uniname/base: New file.
49114         * modules/uniname/uniname: New file.
49115         * modules/uniname/uniname-tests: New file.
49116         * MODULES.html.sh (Unicode string functions): Add the new modules.
49117
49118 2007-07-06  Bruno Haible  <bruno@clisp.org>
49119
49120         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
49121
49122 2007-07-06  Bruno Haible  <bruno@clisp.org>
49123
49124         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
49125         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
49126         includes <cygwin/sys_time.h> which includes <sys/select.h> which
49127         include <sys/time.h>.
49128         Reported by Eric Blake.
49129
49130 2007-07-06  Eric Blake  <ebb9@byu.net>
49131
49132         Fix testing canonicalize on cygwin.
49133         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49134         Revert patch from 2007-06-19.
49135         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
49136         canonicalize module is also in use.
49137         * tests/test-canonicalize.c: New file.
49138         * tests/test-canonicalize.sh: Likewise.
49139         * modules/canonicalize-tests: Likewise.
49140
49141 2007-07-06  Jim Meyering  <jim@meyering.net>
49142
49143         * lib/getugroups.c (getugroups): Detect getgrent failure.
49144         Adjust comment to reflect reality: this function may return -1.
49145
49146 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
49147
49148         * build-aux/bootstrap (TP_URL,get_translations): Update to use
49149         the new TP address.
49150         (usage): Fix typo
49151         (gnulib_mk): New variable.
49152
49153 2007-07-05  Jim Meyering  <jim@meyering.net>
49154
49155         Don't let endgrent clobber errno, no matter how improbable.
49156         * lib/getugroups.c (getugroups): Save and restore errno around
49157         endgrent call.
49158
49159         Close the group DB even when failing with 2^31 or more members.
49160         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
49161
49162 2007-07-04  Jim Meyering  <jim@meyering.net>
49163
49164         * lib/getugroups.h: New file.
49165         * lib/getugroups.c: Include "getugroups.h".
49166         Remove uses of "register" keyword.
49167         Move local variable, "cp", down into scope where used.
49168         Give "username" parameter the "const" attribute.
49169         * modules/getugroups (Files): Add lib/getugroups.h
49170
49171 2007-07-04  Karl Berry  <karl@gnu.org>
49172
49173         * MODULES.html.sh (func_all_modules): Complete rename of
49174         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
49175
49176 2007-07-02  Bruno Haible  <bruno@clisp.org>
49177
49178         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
49179         mode, when inttypes.h comes from gnulib.
49180         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49181
49182 2007-07-02  Simon Josefsson  <simon@josefsson.org>
49183
49184         * NEWS: Mention lgpl module name change.
49185
49186         * modules/lgpl-2.1: Renamed from lgpl.
49187
49188         * NEWS: Mention gpl module name change.
49189
49190         * modules/gpl-3.0: New file, based on gpl-2.0.
49191
49192         * modules/gpl-2.0: Renamed from gpl.
49193
49194         * modules/gpl: Fix filename, doc/gpl.texi is now found at
49195         doc/gpl-2.0.texi.
49196
49197 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49198
49199         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
49200         #define __STDC_LIMIT_MACROS temporarily while including
49201         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
49202         Problem reported by Joel E. Denny in
49203         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
49204
49205 2007-07-01  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/unistdio.h: New file.
49208         * lib/unistdio/u-asnprintf.h: New file.
49209         * lib/unistdio/u-asprintf.h: New file.
49210         * lib/unistdio/u-printf-args.c: New file.
49211         * lib/unistdio/u-printf-args.h: New file.
49212         * lib/unistdio/u-printf-parse.h: New file.
49213         * lib/unistdio/u-snprintf.h: New file.
49214         * lib/unistdio/u-sprintf.h: New file.
49215         * lib/unistdio/u-vasprintf.h: New file.
49216         * lib/unistdio/u-vsnprintf.h: New file.
49217         * lib/unistdio/u-vsprintf.h: New file.
49218         * lib/unistdio/ulc-asnprintf.c: New file.
49219         * lib/unistdio/ulc-asprintf.c: New file.
49220         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
49221         * lib/unistdio/ulc-printf-parse.c: New file.
49222         * lib/unistdio/ulc-snprintf.c: New file.
49223         * lib/unistdio/ulc-sprintf.c: New file.
49224         * lib/unistdio/ulc-vasnprintf.c: New file.
49225         * lib/unistdio/ulc-vasprintf.c: New file.
49226         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
49227         * lib/unistdio/ulc-vsnprintf.c: New file.
49228         * lib/unistdio/ulc-vsprintf.c: New file.
49229         * lib/unistdio/u8-asnprintf.c: New file.
49230         * lib/unistdio/u8-asprintf.c: New file.
49231         * lib/unistdio/u8-printf-parse.c: New file.
49232         * lib/unistdio/u8-snprintf.c: New file.
49233         * lib/unistdio/u8-sprintf.c: New file.
49234         * lib/unistdio/u8-vasnprintf.c: New file.
49235         * lib/unistdio/u8-vasprintf.c: New file.
49236         * lib/unistdio/u8-vsnprintf.c: New file.
49237         * lib/unistdio/u8-vsprintf.c: New file.
49238         * lib/unistdio/u8-u8-asnprintf.c: New file.
49239         * lib/unistdio/u8-u8-asprintf.c: New file.
49240         * lib/unistdio/u8-u8-snprintf.c: New file.
49241         * lib/unistdio/u8-u8-sprintf.c: New file.
49242         * lib/unistdio/u8-u8-vasnprintf.c: New file.
49243         * lib/unistdio/u8-u8-vasprintf.c: New file.
49244         * lib/unistdio/u8-u8-vsnprintf.c: New file.
49245         * lib/unistdio/u8-u8-vsprintf.c: New file.
49246         * lib/unistdio/u16-asnprintf.c: New file.
49247         * lib/unistdio/u16-asprintf.c: New file.
49248         * lib/unistdio/u16-printf-parse.c: New file.
49249         * lib/unistdio/u16-snprintf.c: New file.
49250         * lib/unistdio/u16-sprintf.c: New file.
49251         * lib/unistdio/u16-vasnprintf.c: New file.
49252         * lib/unistdio/u16-vasprintf.c: New file.
49253         * lib/unistdio/u16-vsnprintf.c: New file.
49254         * lib/unistdio/u16-vsprintf.c: New file.
49255         * lib/unistdio/u16-u16-asnprintf.c: New file.
49256         * lib/unistdio/u16-u16-asprintf.c: New file.
49257         * lib/unistdio/u16-u16-snprintf.c: New file.
49258         * lib/unistdio/u16-u16-sprintf.c: New file.
49259         * lib/unistdio/u16-u16-vasnprintf.c: New file.
49260         * lib/unistdio/u16-u16-vasprintf.c: New file.
49261         * lib/unistdio/u16-u16-vsnprintf.c: New file.
49262         * lib/unistdio/u16-u16-vsprintf.c: New file.
49263         * lib/unistdio/u32-asnprintf.c: New file.
49264         * lib/unistdio/u32-asprintf.c: New file.
49265         * lib/unistdio/u32-printf-parse.c: New file.
49266         * lib/unistdio/u32-snprintf.c: New file.
49267         * lib/unistdio/u32-sprintf.c: New file.
49268         * lib/unistdio/u32-vasnprintf.c: New file.
49269         * lib/unistdio/u32-vasprintf.c: New file.
49270         * lib/unistdio/u32-vsnprintf.c: New file.
49271         * lib/unistdio/u32-vsprintf.c: New file.
49272         * lib/unistdio/u32-u32-asnprintf.c: New file.
49273         * lib/unistdio/u32-u32-asprintf.c: New file.
49274         * lib/unistdio/u32-u32-snprintf.c: New file.
49275         * lib/unistdio/u32-u32-sprintf.c: New file.
49276         * lib/unistdio/u32-u32-vasnprintf.c: New file.
49277         * lib/unistdio/u32-u32-vasprintf.c: New file.
49278         * lib/unistdio/u32-u32-vsnprintf.c: New file.
49279         * lib/unistdio/u32-u32-vsprintf.c: New file.
49280         * tests/unistdio/test-ulc-asnprintf1.c: New file.
49281         * tests/unistdio/test-ulc-asnprintf1.h: New file.
49282         * tests/unistdio/test-ulc-printf1.h: New file.
49283         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
49284         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
49285         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
49286         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
49287         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
49288         * tests/unistdio/test-ulc-vasprintf1.c: New file.
49289         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
49290         * tests/unistdio/test-ulc-vsprintf1.c: New file.
49291         * tests/unistdio/test-u8-asnprintf1.c: New file.
49292         * tests/unistdio/test-u8-asnprintf1.h: New file.
49293         * tests/unistdio/test-u8-printf1.h: New file.
49294         * tests/unistdio/test-u8-vasnprintf1.c: New file.
49295         * tests/unistdio/test-u8-vasnprintf2.c: New file.
49296         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
49297         * tests/unistdio/test-u8-vasnprintf3.c: New file.
49298         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
49299         * tests/unistdio/test-u8-vasprintf1.c: New file.
49300         * tests/unistdio/test-u8-vsnprintf1.c: New file.
49301         * tests/unistdio/test-u8-vsprintf1.c: New file.
49302         * tests/unistdio/test-u16-asnprintf1.c: New file.
49303         * tests/unistdio/test-u16-asnprintf1.h: New file.
49304         * tests/unistdio/test-u16-printf1.h: New file.
49305         * tests/unistdio/test-u16-vasnprintf1.c: New file.
49306         * tests/unistdio/test-u16-vasnprintf2.c: New file.
49307         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
49308         * tests/unistdio/test-u16-vasnprintf3.c: New file.
49309         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
49310         * tests/unistdio/test-u16-vasprintf1.c: New file.
49311         * tests/unistdio/test-u16-vsnprintf1.c: New file.
49312         * tests/unistdio/test-u16-vsprintf1.c: New file.
49313         * tests/unistdio/test-u32-asnprintf1.c: New file.
49314         * tests/unistdio/test-u32-asnprintf1.h: New file.
49315         * tests/unistdio/test-u32-printf1.h: New file.
49316         * tests/unistdio/test-u32-vasnprintf1.c: New file.
49317         * tests/unistdio/test-u32-vasnprintf2.c: New file.
49318         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
49319         * tests/unistdio/test-u32-vasnprintf3.c: New file.
49320         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
49321         * tests/unistdio/test-u32-vasprintf1.c: New file.
49322         * tests/unistdio/test-u32-vsnprintf1.c: New file.
49323         * tests/unistdio/test-u32-vsprintf1.c: New file.
49324         * modules/unistdio/base: New file.
49325         * modules/unistdio/u-printf-args: New file.
49326         * modules/unistdio/ulc-asnprintf: New file.
49327         * modules/unistdio/ulc-asprintf: New file.
49328         * modules/unistdio/ulc-fprintf: New file.
49329         * modules/unistdio/ulc-printf-parse: New file.
49330         * modules/unistdio/ulc-snprintf: New file.
49331         * modules/unistdio/ulc-sprintf: New file.
49332         * modules/unistdio/ulc-vasnprintf: New file.
49333         * modules/unistdio/ulc-vasprintf: New file.
49334         * modules/unistdio/ulc-vfprintf: New file.
49335         * modules/unistdio/ulc-vsnprintf: New file.
49336         * modules/unistdio/ulc-vsprintf: New file.
49337         * modules/unistdio/u8-asnprintf: New file.
49338         * modules/unistdio/u8-asprintf: New file.
49339         * modules/unistdio/u8-printf-parse: New file.
49340         * modules/unistdio/u8-snprintf: New file.
49341         * modules/unistdio/u8-sprintf: New file.
49342         * modules/unistdio/u8-vasnprintf: New file.
49343         * modules/unistdio/u8-vasprintf: New file.
49344         * modules/unistdio/u8-vsnprintf: New file.
49345         * modules/unistdio/u8-vsprintf: New file.
49346         * modules/unistdio/u8-u8-asnprintf: New file.
49347         * modules/unistdio/u8-u8-asprintf: New file.
49348         * modules/unistdio/u8-u8-snprintf: New file.
49349         * modules/unistdio/u8-u8-sprintf: New file.
49350         * modules/unistdio/u8-u8-vasnprintf: New file.
49351         * modules/unistdio/u8-u8-vasprintf: New file.
49352         * modules/unistdio/u8-u8-vsnprintf: New file.
49353         * modules/unistdio/u8-u8-vsprintf: New file.
49354         * modules/unistdio/u16-asnprintf: New file.
49355         * modules/unistdio/u16-asprintf: New file.
49356         * modules/unistdio/u16-printf-parse: New file.
49357         * modules/unistdio/u16-snprintf: New file.
49358         * modules/unistdio/u16-sprintf: New file.
49359         * modules/unistdio/u16-vasnprintf: New file.
49360         * modules/unistdio/u16-vasprintf: New file.
49361         * modules/unistdio/u16-vsnprintf: New file.
49362         * modules/unistdio/u16-vsprintf: New file.
49363         * modules/unistdio/u16-u16-asnprintf: New file.
49364         * modules/unistdio/u16-u16-asprintf: New file.
49365         * modules/unistdio/u16-u16-snprintf: New file.
49366         * modules/unistdio/u16-u16-sprintf: New file.
49367         * modules/unistdio/u16-u16-vasnprintf: New file.
49368         * modules/unistdio/u16-u16-vasprintf: New file.
49369         * modules/unistdio/u16-u16-vsnprintf: New file.
49370         * modules/unistdio/u16-u16-vsprintf: New file.
49371         * modules/unistdio/u32-asnprintf: New file.
49372         * modules/unistdio/u32-asprintf: New file.
49373         * modules/unistdio/u32-printf-parse: New file.
49374         * modules/unistdio/u32-snprintf: New file.
49375         * modules/unistdio/u32-sprintf: New file.
49376         * modules/unistdio/u32-vasnprintf: New file.
49377         * modules/unistdio/u32-vasprintf: New file.
49378         * modules/unistdio/u32-vsnprintf: New file.
49379         * modules/unistdio/u32-vsprintf: New file.
49380         * modules/unistdio/u32-u32-asnprintf: New file.
49381         * modules/unistdio/u32-u32-asprintf: New file.
49382         * modules/unistdio/u32-u32-snprintf: New file.
49383         * modules/unistdio/u32-u32-sprintf: New file.
49384         * modules/unistdio/u32-u32-vasnprintf: New file.
49385         * modules/unistdio/u32-u32-vasprintf: New file.
49386         * modules/unistdio/u32-u32-vsnprintf: New file.
49387         * modules/unistdio/u32-u32-vsprintf: New file.
49388         * modules/unistdio/ulc-asnprintf-tests: New file.
49389         * modules/unistdio/ulc-vasnprintf-tests: New file.
49390         * modules/unistdio/ulc-vasprintf-tests: New file.
49391         * modules/unistdio/ulc-vsnprintf-tests: New file.
49392         * modules/unistdio/ulc-vsprintf-tests: New file.
49393         * modules/unistdio/u8-asnprintf-tests: New file.
49394         * modules/unistdio/u8-vasnprintf-tests: New file.
49395         * modules/unistdio/u8-vasprintf-tests: New file.
49396         * modules/unistdio/u8-vsnprintf-tests: New file.
49397         * modules/unistdio/u8-vsprintf-tests: New file.
49398         * modules/unistdio/u16-asnprintf-tests: New file.
49399         * modules/unistdio/u16-vasnprintf-tests: New file.
49400         * modules/unistdio/u16-vasprintf-tests: New file.
49401         * modules/unistdio/u16-vsnprintf-tests: New file.
49402         * modules/unistdio/u16-vsprintf-tests: New file.
49403         * modules/unistdio/u32-asnprintf-tests: New file.
49404         * modules/unistdio/u32-vasnprintf-tests: New file.
49405         * modules/unistdio/u32-vasprintf-tests: New file.
49406         * modules/unistdio/u32-vsnprintf-tests: New file.
49407         * modules/unistdio/u32-vsprintf-tests: New file.
49408         * MODULES.html.sh (Unicode string functions): Add the new modules.
49409
49410 2007-07-01  Bruno Haible  <bruno@clisp.org>
49411
49412         * lib/sprintf.c (sprintf): Limit the available length estimation,
49413         to avoid address wraparound.
49414         * lib/vsprintf.c (vsprintf): Likewise.
49415         * modules/sprintf-posix (Dependencies): Add stdint.
49416         * modules/vsprintf-posix (Dependencies): Likewise.
49417
49418 2007-07-01  Bruno Haible  <bruno@clisp.org>
49419
49420         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
49421         Windows PATH as well. Conservative double-quoting. Comments.
49422
49423 2007-07-01  Bruno Haible  <bruno@clisp.org>
49424             Eric Blake  <ebb9@byu.net>
49425             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49426
49427         * gnulib-tool (self_abspathname): Fix algorithm to cope with
49428         empty components in $PATH, denoting '.'.
49429
49430 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49431
49432         * gnulib-tool: Fix indentation.
49433         (func_create_megatestdir): Likewise.
49434         Report by Bruno Haible.
49435
49436 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49437
49438         Sync from Automake.
49439         * build-aux/gnupload: Fix shell portability issues with for loops.
49440         Report by Karl Berry.
49441
49442 2007-06-29  Simon Josefsson  <simon@josefsson.org>
49443
49444         * build-aux/maint.mk (POURL): Use translationproject.org.
49445
49446 2007-06-27  Simon Josefsson  <simon@josefsson.org>
49447             Bruno Haible  <bruno@clisp.org>
49448
49449         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
49450         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
49451         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
49452         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
49453         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
49454
49455 2007-06-27  Bruno Haible  <bruno@clisp.org>
49456
49457         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
49458         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
49459
49460 2007-06-26  Karl Berry  <karl@gnu.org>
49461
49462         * MODULES.html.sh: remove xreadlink-with-size.
49463
49464 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49465
49466         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
49467         method that I hope also handles the double-include problem noted
49468         by Bruno Haible in
49469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
49470
49471 2007-06-23  Bruno Haible  <bruno@clisp.org>
49472
49473         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49474         Don't let the 'mostlyclean' target fail if the last subdirectory could
49475         not be removed.
49476         Reported by Karl Berry.
49477
49478 2007-06-23  Bruno Haible  <bruno@clisp.org>
49479
49480         * gnulib-tool (echo): Add a speedier workaround for ksh.
49481         * tests/test-echo.sh: Likewise.
49482
49483 2007-06-23  Bruno Haible  <bruno@clisp.org>
49484
49485         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
49486         * tests/test-echo.sh: Likewise.
49487
49488 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49489
49490         * gnulib-tool (IFS): Initialize early, so we don't set it to
49491         empty later.
49492         (self_abspathname): Rewrite algorithm to set it, reindent.
49493         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
49494         (func_create_megatestdir): Merge some sed scripts.
49495
49496 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49497
49498         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
49499         exposed by Sun Studio 11 cc on Solaris 8.
49500
49501 2007-06-22  Bruno Haible  <bruno@clisp.org>
49502
49503         * gnulib-tool (echo): Ensure the echo primitive does not interpret
49504         backslashes.
49505         * tests/test-echo.sh: New file.
49506
49507 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49508
49509         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
49510         simplify `sed_replace_build_aux' scripts, they are portable but
49511         echoing them with `echo' is not.
49512         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
49513
49514 2007-06-21  Karl Berry  <karl@gnu.org>
49515
49516         * config/srclist.txt: guess we can't handle the licenses via
49517         srclist at the moment.
49518
49519 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49520
49521         * MODULES.html.sh: Add include_next.
49522         * modules/include_next: New file.
49523
49524 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49525
49526         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
49527         INCLUDE_NEXT.
49528         (gl_CHECK_NEXT_HEADERS): New macro.
49529         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
49530         the obsolescent gl_ABSOLUTE_HEADER.
49531         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
49532         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
49533         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
49534         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49535         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49536         * m4/math_h.m4 (gl_MATH_H): Likewise.
49537         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49538         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
49539         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49540         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49541         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
49542         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
49543         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
49544         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49545         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49546         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49547         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
49548         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
49549         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49550         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49551         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
49552         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
49553         * m4/inttypes.m4 (gl_INTTYPES_H): Define
49554         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
49555         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
49556         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
49557         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
49558         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
49559         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
49560         * lib/float_.h: Likewise.
49561         * lib/inttypes_.h: Likewise.
49562         * lib/math_.h: Likewise.
49563         * lib/search_.h: Likewise.
49564         * lib/signal_.h: Likewise.
49565         * lib/stdint_.h: Likewise.
49566         * lib/stdio_.h: Likewise.
49567         * lib/stdlib_.h: Likewise.
49568         * lib/string_.h: Likewise.
49569         * lib/sys_stat_.h: Likewise.
49570         * lib/sys_time_.h: Likewise.
49571         * lib/time_.h: Likewise.
49572         * lib/unistd_.h: Likewise.
49573         * lib/wchar_.h: Likewise.
49574         * lib/wctype_.h: Likewise.
49575         * lib/dirent_.h: Likewise.
49576         * lib/iconv_.h: Likewise.
49577         * lib/locale_.h: Likewise.
49578         * lib/netinet_in_.h: Likewise.
49579         * lib/sys_select_.h: Likewise.
49580         * lib/sys_socket_.h: Likewise.
49581         * lib/sysexits_.h: Likewise.
49582         * modules/fcntl (Depends-on): Depend on include_next, not
49583         absolute_header.
49584         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
49585         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
49586         * modules/fchdir: Likewise.
49587         * modules/float: Likewise.
49588         * modules/iconv_open: Likewise.
49589         * modules/inttypes: Likewise.
49590         * modules/locale: Likewise.
49591         * modules/math: Likewise.
49592         * modules/netinet_in: Likewise.
49593         * modules/search: Likewise.
49594         * modules/signal: Likewise.
49595         * modules/stdint: Likewise.
49596         * modules/stdio: Likewise.
49597         * modules/stdlib: Likewise.
49598         * modules/string: Likewise.
49599         * modules/sys_select: Likewise.
49600         * modules/sys_socket: Likewise.
49601         * modules/sys_stat: Likewise.
49602         * modules/sys_time: Likewise.
49603         * modules/sysexits: Likewise.
49604         * modules/time: Likewise.
49605         * modules/unistd: Likewise.
49606         * modules/wchar: Likewise.
49607         * modules/wctype: Likewise.
49608         * modules/sys_stat: Change maintainer to "all".
49609         * modules/unistd: Likewise.
49610
49611 2007-06-20  Karl Berry  <karl@gnu.org>
49612
49613         * config/srclist.txt: track www changes in license files.
49614
49615 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
49616
49617         * build-aux/bootstrap: Remove stray dot.
49618         Make sure build_aux settings are honored when linking
49619         gnulib_extra_files.
49620
49621 2007-06-19  Eric Blake  <ebb9@byu.net>
49622
49623         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49624         Allow compilation on cygwin.
49625
49626 2007-06-19  Jim Meyering  <jim@meyering.net>
49627
49628         xreadlink-with-size: Remove module.  No longer used.
49629         Ex-callers now use xreadlink or mreadlink-with-size.
49630         * modules/xreadlink-with-size: Remove module.
49631         * lib/xreadlink-with-size.c: Remove file.
49632         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
49633         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
49634         just before the function definition *is* accurate.
49635
49636         Eliminate one way canonicalize_filename_mode could exit.
49637         * lib/canonicalize.c (canonicalize_filename_mode):
49638         Use mreadlink_with_size, not xreadlink_with_size.
49639
49640 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
49641
49642         Detect porting problems to FreeBSD/arm, which has time_t wider than
49643         long int.  Original problem reported for GNU diff by Xin Li in
49644         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
49645         * modules/getdate (Depends-on): Add intprops, verify.
49646         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
49647         is an integer type no wider than long int.
49648
49649 2007-06-18  Jim Meyering  <jim@meyering.net>
49650
49651         New module: mreadlink-with-size.
49652         * MODULES.html.sh: Add mreadlink-with-size.
49653         * modules/mreadlink-with-size: New module
49654         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
49655         not xreadlink-with-size.
49656         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
49657
49658 2007-06-16  Bruno Haible  <bruno@clisp.org>
49659
49660         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
49661         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
49662         Reported by Gary V. Vaughan <gary@gnu.org>.
49663
49664 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
49665
49666         Revamp lchown so that it lives in unistd.h where it belongs.
49667         * lib/lchown.h: Remove.
49668         * lib/dirchownmod.c: Don't include lib/lchown.h.
49669         * lib/fchownat.c: Likewise.
49670         * lib/openat.c: Likewise.
49671         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
49672         does not follow symlinks.
49673         (EOPNOTSUPP): Define if not defined.
49674         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
49675         is defined to 0.
49676         (lchown): New decl.
49677         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
49678         Do not check for lchown decl.
49679         Set REPLACE_LCHOWN.
49680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
49681         REPLACE_LCHOWN.
49682         * modules/chown: Make it clear it follows symlinks.
49683         * modules/lchown: Make it clear it doesn't follow symlinks.
49684         (Files): Remove lib/lchown.h
49685         (Depends-on): Add unistd.
49686         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
49687         (Include): Include <unistd.h>, not "lchown.h".
49688         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
49689         REPLACE_LCHOWN.
49690
49691 2007-06-15  Jim Meyering  <jim@meyering.net>
49692
49693         Change license (GPL to LGPL) of fsusage and dependents.
49694         * modules/fsusage (License): Change to LGPL.
49695         * modules/full-read (License): Likewise.
49696         * modules/full-write (License): Likewise.
49697         * modules/safe-read (License): Likewise.
49698         * modules/safe-write (License): Likewise.
49699
49700 2007-06-14  Ben Pfaff  <blp@gnu.org>
49701
49702         Missing part of allocsa -> malloca transition.
49703         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
49704         gl_MALLOCA.
49705
49706 2007-06-12  Bruno Haible  <bruno@clisp.org>
49707
49708         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
49709         to ia64, x86_64, i386.
49710         Reported by Eric Blake.
49711
49712 2007-06-12  Bruno Haible  <bruno@clisp.org>
49713
49714         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
49715         cross-compiling to x86_64.
49716
49717 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
49718
49719         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
49720         glitch reported by Ralf Wildenhues in
49721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
49722
49723         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
49724         Vin Shelton.
49725
49726 2007-06-11  Bruno Haible  <bruno@clisp.org>
49727
49728         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
49729         replacement string.
49730         Reported by Eric Blake.
49731
49732 2007-06-10  Bruno Haible  <bruno@clisp.org>
49733
49734         Prepare vasnprintf code for use with Unicode strings.
49735         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
49736         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
49737         TYPE_U32_STRING.
49738         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
49739         a_u32_string variants.
49740         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49741         * lib/printf-args.c: Don't include config.h and the specification
49742         header if PRINTF_FETCHARGS is already defined.
49743         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49744         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
49745         TYPE_U16_STRING, TYPE_U32_STRING.
49746         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
49747         u16_directive, u16_directives, u32_directive, u32_directives): New
49748         types.
49749         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
49750         New declarations.
49751         * lib/printf-parse.c: Don't include config.h and the specification
49752         header if PRINTF_PARSE is already defined. Eliminate the set of
49753         parameters for WIDE_CHAR_VERSION; the user of this file must provide
49754         them now. Include c-ctype.h.
49755         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
49756         directive and CHAR_T_ONLY_ASCII.
49757         * lib/vasnprintf.c: Don't include config.h and the specification header
49758         if VASNPRINTF is already defined.
49759         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
49760         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
49761         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
49762         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
49763         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
49764         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
49765         code accordingly.
49766         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
49767         pad_ourselves also in this case, with the 'c' and 's' directives, and
49768         with a different notion of "width".
49769         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
49770
49771 2007-06-10  Bruno Haible  <bruno@clisp.org>
49772
49773         * modules/unistr/u32-mbsnlen: New file.
49774         * lib/unistr/u32-mbsnlen.c: New file.
49775
49776         * modules/unistr/u16-mbsnlen: New file.
49777         * lib/unistr/u16-mbsnlen.c: New file.
49778
49779         * modules/unistr/u8-mbsnlen: New file.
49780         * lib/unistr/u8-mbsnlen.c: New file.
49781
49782         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
49783         declarations.
49784
49785 2007-06-10  Bruno Haible  <bruno@clisp.org>
49786
49787         * lib/string_.h (mbsnlen): New declaration.
49788         * lib/mbsnlen.c: New file.
49789         * m4/mbsnlen.m4: New file.
49790         * modules/mbsnlen: New file.
49791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
49792         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
49793         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
49794
49795 2007-06-10  Bruno Haible  <bruno@clisp.org>
49796
49797         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
49798
49799 2007-06-10  Bruno Haible  <bruno@clisp.org>
49800
49801         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
49802         * lib/mbuiter.h: Likewise.
49803
49804 2007-06-10  Bruno Haible  <bruno@clisp.org>
49805
49806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
49807         declaration.
49808
49809 2007-06-10  Karl Berry  <karl@gnu.org>
49810
49811         * config/srclist.txt: remove gettext entries, Bruno prefers
49812         to update individually.
49813
49814 2007-06-10  Bruno Haible  <bruno@clisp.org>
49815
49816         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
49817         'maxlen'. Ensure only length + width bytes are allocated, not
49818         length + 1 + width.
49819
49820 2007-06-09  Bruno Haible  <bruno@clisp.org>
49821
49822         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
49823         (CHAR_T): Remove macro.
49824         (VASNPRINTF): Update.
49825
49826 2007-06-09  Bruno Haible  <bruno@clisp.org>
49827
49828         * MODULES.html.sh (Unicode string functions): Add the new modules.
49829
49830         * modules/uniconv/u32-conv-to-enc: New file.
49831         * lib/uniconv/u32-conv-to-enc.c: New file.
49832         * modules/uniconv/u32-conv-to-enc-tests: New file.
49833         * tests/uniconv/test-u32-conv-to-enc.c: New file.
49834
49835         * modules/uniconv/u16-conv-to-enc: New file.
49836         * lib/uniconv/u16-conv-to-enc.c: New file.
49837         * lib/uniconv/u-conv-to-enc.h: New file.
49838         * modules/uniconv/u16-conv-to-enc-tests: New file.
49839         * tests/uniconv/test-u16-conv-to-enc.c: New file.
49840
49841         * modules/uniconv/u8-conv-to-enc: New file.
49842         * lib/uniconv/u8-conv-to-enc.c: New file.
49843         * modules/uniconv/u8-conv-to-enc-tests: New file.
49844         * tests/uniconv/test-u8-conv-to-enc.c: New file.
49845
49846         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49847         u32_conv_to_encoding): New declarations.
49848
49849 2007-06-09  Bruno Haible  <bruno@clisp.org>
49850
49851         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
49852
49853 2007-06-09  Bruno Haible  <bruno@clisp.org>
49854
49855         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
49856         * modules/malloca: Renamed from modules/allocsa, updated.
49857         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
49858         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
49859         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
49860         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
49861         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
49862         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
49863         * modules/xmalloca: Renamed from modules/xallocsa, updated.
49864         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
49865         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
49866         * modules/c-strcasestr (Depends-on): Update.
49867         * lib/c-strcasestr.c: Update.
49868         * modules/c-strstr (Depends-on): Update.
49869         * lib/c-strstr.c: Update.
49870         * modules/canonicalize-lgpl (Depends-on): Update.
49871         * lib/canonicalize-lgpl.c: Update.
49872         * modules/clean-temp (Depends-on): Update.
49873         * lib/clean-temp.c: Update.
49874         * modules/csharpcomp (Depends-on): Update.
49875         * lib/csharpcomp.c: Update.
49876         * modules/csharpexec (Depends-on): Update.
49877         * lib/csharpexec.c: Update.
49878         * modules/javacomp (Depends-on): Update.
49879         * lib/javacomp.c: Update.
49880         * modules/javaexec (Depends-on): Update.
49881         * lib/javaexec.c: Update.
49882         * modules/mbscasestr (Depends-on): Update.
49883         * lib/mbscasestr.c: Update.
49884         * modules/mbsstr (Depends-on): Update.
49885         * lib/mbsstr.c: Update.
49886         * modules/setenv (Depends-on): Update.
49887         * lib/setenv.c: Update.
49888         * modules/strcasestr (Depends-on): Update.
49889         * lib/strcasestr.c: Update.
49890         * modules/striconveha (Depends-on): Update.
49891         * lib/striconveha.c: Update.
49892         * modules/relocatable-prog-wrapper (Files): Update.
49893         * lib/relocwrapper.c: Update.
49894         * build-aux/install-reloc: Update.
49895         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
49896
49897 2007-06-08  Bruno Haible  <bruno@clisp.org>
49898
49899         Port to uClibc.
49900         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
49901         * lib/fpurge.c (fpurge): Likewise.
49902         * lib/freading.c (freading): Likewise.
49903         * lib/fseeko.c (rpl_fseeko): Likewise.
49904         * lib/fseterr.c (fseterr): Likewise.
49905         * lib/fwriting.c (fwriting): Likewise.
49906         * tests/test-fflush.c (main): Avoid a failure on uClibc.
49907
49908 2007-06-08  Bruno Haible  <bruno@clisp.org>
49909
49910         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
49911         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
49912         * modules/gettext (Files): Add m4/intlmacosx.m4.
49913
49914 2007-06-07  Bruno Haible  <bruno@clisp.org>
49915
49916         * modules/localename-tests: New file.
49917         * tests/test-localename.c: New file.
49918
49919         New module 'localename'.
49920         * lib/localename.h: New file.
49921         * lib/localename.c: New file, from GNU gettext.
49922         * m4/localename.m4: New file.
49923         * modules/localename: New file.
49924
49925 2007-06-07  Bruno Haible  <bruno@clisp.org>
49926
49927         Work around the lack of <wchar.h> on some builds of uClibc.
49928         * doc/headers/wchar.texi: Update.
49929         * lib/wchar_.h: Include <wchar.h> only if it exists.
49930         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
49931         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
49932         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
49933         doesn't exist.
49934         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
49935         * modules/mbfile (Depends-on): Add wchar.
49936         * modules/mbiter (Depends-on): Likewise.
49937         * modules/mbuiter (Depends-on): Likewise.
49938         Reported by Simon Josefsson.
49939
49940 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
49941
49942         Work around problem reported by Steven M. Schweda in
49943         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
49944         Tru64 5.1B with the Compaq compiler environment installed declares
49945         an 'isblank' function but does not define it in the C library.
49946         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
49947         * lib/regex_internal.h (isblank): Likewise.
49948         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
49949         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49950
49951 2007-06-05  Bruno Haible  <bruno@clisp.org>
49952
49953         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
49954         ia64.
49955         * modules/printf-safe: New file.
49956         * modules/fprintf-posix (Depends-on): Add printf-safe.
49957         * modules/printf-posix (Depends-on): Likewise.
49958         * modules/snprintf-posix (Depends-on): Likewise.
49959         * modules/sprintf-posix (Depends-on): Likewise.
49960         * modules/vasnprintf-posix (Depends-on): Likewise.
49961         * modules/vasprintf-posix (Depends-on): Likewise.
49962         * modules/vfprintf-posix (Depends-on): Likewise.
49963         * modules/vprintf-posix (Depends-on): Likewise.
49964         * modules/vsnprintf-posix (Depends-on): Likewise.
49965         * modules/vsprintf-posix (Depends-on): Likewise.
49966         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
49967         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
49968         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
49969         "no" on i386, x86_64, ia64.
49970         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49971         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49972         on i386, x86_64, ia64.
49973         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49974         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49975         on i386, x86_64, ia64.
49976         * tests/test-vasnprintf-posix.c: Include float.h.
49977         (LDBL80_WORDS): New macro.
49978         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49979         on i386, x86_64, ia64.
49980         * tests/test-vasprintf-posix.c: Include float.h.
49981         (LDBL80_WORDS): New macro.
49982         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49983         on i386, x86_64, ia64.
49984         * tests/test-snprintf-posix.c: Include float.h.
49985         * tests/test-sprintf-posix.c: Likewise.
49986         * tests/test-vsnprintf-posix.c: Likewise.
49987         * tests/test-vsprintf-posix.c: Likewise.
49988
49989 2007-06-05  Bruno Haible  <bruno@clisp.org>
49990
49991         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49992         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49993         non-IEEE numbers on i386, x86_64, ia64.
49994         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49995         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49996         * tests/test-isnanl.h: Include float.h.
49997         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49998
49999 2007-06-05  Bruno Haible  <bruno@clisp.org>
50000
50001         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
50002         also the %a / %A. Handle the %a / %A code before this extra handling.
50003
50004 2007-06-05  Bruno Haible  <bruno@clisp.org>
50005
50006         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
50007         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
50008
50009 2007-06-05  Bruno Haible  <bruno@clisp.org>
50010
50011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
50012         typo in variable name.
50013
50014 2007-06-05  Eric Blake  <ebb9@byu.net>
50015
50016         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
50017         Reported by Simon Josefsson.
50018
50019 2007-06-04  Bruno Haible  <bruno@clisp.org>
50020
50021         Avoid test failures on some PowerPC platforms.
50022         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
50023         Define differently for PowerPC.
50024         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
50025         Reported by Gary V. Vaughan <gary@gnu.org>.
50026
50027 2007-06-02  Bruno Haible  <bruno@clisp.org>
50028
50029         Fix test-stdint failure on FreeBSD/ia64.
50030         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
50031         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
50032         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
50033         * doc/headers/stdint.texi: Update.
50034
50035 2007-06-01  Bruno Haible  <bruno@clisp.org>
50036
50037         * tests/test-binary-io.c (main): Pass a third argument to open().
50038         Reported by Gary V. Vaughan <gary@gnu.org>.
50039
50040 2007-06-01  Bruno Haible  <bruno@clisp.org>
50041
50042         * doc/functions/frexpl.texi: Update for mingw.
50043
50044 2007-06-01  Bruno Haible  <bruno@clisp.org>
50045
50046         * tests/test-lseek.c (main): Disable test of errno for invalid third
50047         argument.
50048         * doc/functions/lseek.texi: Update.
50049         Reported by Gary V. Vaughan <gary@gnu.org>.
50050
50051 2007-05-28  Bruno Haible  <bruno@clisp.org>
50052
50053         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
50054
50055 2007-05-31  Eric Blake  <ebb9@byu.net>
50056
50057         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
50058         cross compiling.
50059
50060 2007-05-30  Eric Blake  <ebb9@byu.net>
50061         and Bruno Haible  <bruno@clisp.org>
50062
50063         Work around mingw test failures exposed by m4-1.4.9b.
50064         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
50065         * tests/test-unistd.c: Disable uid_t and git_t tests for the
50066         moment.
50067
50068 2007-05-30  Bruno Haible  <bruno@clisp.org>
50069
50070         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
50071         assuming that they are closed. Needed on HP-UX 11.
50072
50073 2007-05-29  Bruno Haible  <bruno@clisp.org>
50074
50075         Fix a problem with #include_next.
50076         * lib/dirent_.h: Split the double-inclusion guard.
50077         * lib/fcntl_.h: Likewise.
50078         * lib/float_.h: Likewise.
50079         * lib/iconv_.h: Likewise.
50080         * lib/inttypes_.h: Likewise.
50081         * lib/locale_.h: Likewise.
50082         * lib/math_.h: Likewise.
50083         * lib/netinet_in_.h: Likewise.
50084         * lib/search_.h: Likewise.
50085         * lib/signal_.h: Likewise.
50086         * lib/stdint_.h: Likewise.
50087         * lib/stdio_.h: Likewise.
50088         * lib/stdlib_.h: Likewise.
50089         * lib/string_.h: Likewise.
50090         * lib/sys_select_.h: Likewise.
50091         * lib/sys_socket_.h: Likewise.
50092         * lib/sys_stat_.h: Likewise.
50093         * lib/sys_time_.h: Likewise.
50094         * lib/sysexits_.h: Likewise.
50095         * lib/time_.h: Likewise.
50096         * lib/unistd_.h: Likewise.
50097         * lib/wchar_.h: Likewise.
50098         * lib/wctype_.h: Likewise.
50099
50100 2007-05-29  Bruno Haible  <bruno@clisp.org>
50101
50102         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
50103         for the moment.
50104
50105 2007-05-29  Bruno Haible  <bruno@clisp.org>
50106
50107         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
50108         invocation.
50109         Reported by Eric Blake.
50110
50111 2007-05-29  Bruno Haible  <bruno@clisp.org>
50112
50113         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
50114         compiling case.
50115
50116 2007-05-29  Eric Blake  <ebb9@byu.net>
50117             Bruno Haible  <bruno@clisp.org>
50118
50119         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
50120         cross compiles.
50121
50122 2007-05-28  Eric Blake  <ebb9@byu.net>
50123
50124         * modules/closein-tests (test_closein_LDADD): Support test on
50125         cygwin with libtool.
50126
50127 2007-05-28  Bruno Haible  <bruno@clisp.org>
50128
50129         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
50130         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
50131         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
50132         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
50133         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
50134         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
50135         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
50136         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
50137         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
50138
50139 2007-05-28  Eric Blake  <ebb9@byu.net>
50140
50141         Unconditionally include <config.h> in unit tests.
50142         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
50143         * tests/test-allocsa.c, tests/test-arcfour.c,
50144         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
50145         tests/test-array_list.c, tests/test-array_oset.c,
50146         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
50147         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
50148         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
50149         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
50150         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
50151         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
50152         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
50153         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
50154         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
50155         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
50156         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
50157         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
50158         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
50159         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
50160         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
50161         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
50162         test-md5.c, test-memmem.c, test-printf-posix.c,
50163         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
50164         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
50165         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
50166         test-strcasestr.c, test-striconv.c, test-striconveh.c,
50167         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
50168         test-vasnprintf-posix2.c, test-vasnprintf.c,
50169         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
50170         test-vfprintf-posix.c, test-vprintf-posix.c,
50171         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
50172         test-xvasprintf.c: Likewise.
50173
50174 2007-05-28  Bruno Haible  <bruno@clisp.org>
50175
50176         * gnulib-tool (func_import): Remember the --with-tests command-line
50177         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
50178         Reported by Eric Blake.
50179
50180 2007-05-28  Bruno Haible  <bruno@clisp.org>
50181
50182         * modules/ftell-tests: New file.
50183         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
50184         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
50185
50186         * lib/ftell.c: New file.
50187         * modules/ftell: New file.
50188         * m4/ftell.m4: New file.
50189         * doc/functions/ftell.texi: Update.
50190         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
50191         REPLACE_FTELL.
50192         * lib/stdio_.h (rpl_ftell): New declaration.
50193         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
50194         REPLACE_FTELL.
50195
50196 2007-05-28  Eric Blake  <ebb9@byu.net>
50197
50198         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
50199
50200 2007-05-28  Bruno Haible  <bruno@clisp.org>
50201
50202         * modules/fseek-tests: New file.
50203         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
50204         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
50205
50206         * lib/fseek.c: New file.
50207         * modules/fseek: New file.
50208         * m4/fseek.m4: New file.
50209         * doc/functions/fseek.texi: Update.
50210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
50211         REPLACE_FSEEK.
50212         * lib/stdio_.h (rpl_fseek): New declaration.
50213         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
50214         REPLACE_FSEEK.
50215
50216 2007-05-28  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/stdio_.h (fflush): More comments.
50219
50220 2007-05-28  Bruno Haible  <bruno@clisp.org>
50221
50222         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
50223         runtime test.
50224
50225 2007-05-28  Eric Blake  <ebb9@byu.net>
50226
50227         Improve lseek module.
50228         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
50229         * lib/unistd_.h (lseek): Scale back link warning message.
50230         * tests/test-lseek.c: Beef up test.
50231         * tests/test-lseek.sh: Exercise more facets of lseek.
50232         Reported by Bruno Haible.
50233
50234 2007-05-28  Bruno Haible  <bruno@clisp.org>
50235
50236         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
50237         to define.
50238
50239 2007-05-27  Bruno Haible  <bruno@clisp.org>
50240
50241         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
50242
50243 2007-05-27  Bruno Haible  <bruno@clisp.org>
50244
50245         * modules/openmp: New file.
50246         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
50247         Noah Misch.
50248
50249 2007-05-26  Bruno Haible  <bruno@clisp.org>
50250
50251         * modules/chdir-long (Depends-on): Add fchdir.
50252         * modules/chdir-safer (Depends-on): Likewise.
50253         * modules/fts (Depends-on): Likewise.
50254         * modules/fts-lgpl (Depends-on): Likewise.
50255         * modules/openat (Depends-on): Likewise.
50256         * modules/savewd (Depends-on): Likewise.
50257
50258 2007-05-24  Eric Blake  <ebb9@byu.net>
50259
50260         Fix lseek on mingw.
50261         * modules/lseek: New module.
50262         * m4/lseek.m4: New file.
50263         * lib/lseek.c: New file.
50264         * modules/lseek-tests: New file.
50265         * tests/test-lseek.c: New file.
50266         * tests/test-lseek.sh: New file.
50267         * MODULES.html.sh: Document lseek module.
50268         * modules/fflush (Depends-on): Add lseek, fseeko.
50269         * modules/fseeko (Depends-on): Likewise.
50270         * modules/ftello (Depends-on): Likewise.
50271         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
50272         broken.
50273         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
50274         broken.
50275         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
50276         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
50277         * lib/ftello.c (rpl_ftello): Likewise.
50278         * tests/test-fseeko.c (main): Test this.
50279         * tests/test-fseeko.sh: Likewise.
50280         * tests/test-ftello.c (main): Likewise.
50281         * tests/test-ftello.sh: Likewise.
50282         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
50283         implies replacing fseek.
50284         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
50285         HAVE_FTELLO.
50286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
50287         * modules/unistd (Makefile.am): Likewise.
50288         * lib/unistd_.h (lseek): Declare a replacement.
50289         * doc/functions/lseek.texi (lseek): Document this fix.
50290         * doc/functions/fseek.texi (fseek): Likewise.
50291         * doc/functions/ftell.texi (ftell): Likewise.
50292
50293 2007-05-24  Bruno Haible  <bruno@clisp.org>
50294
50295         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
50296         in the printed representation of a NaN.
50297         * tests/test-vasprintf-posix.c (test_function): Likewise.
50298         * tests/test-snprintf-posix.h (test_function): Likewise.
50299         * tests/test-sprintf-posix.h (test_function): Likewise.
50300         Reported by Eric Blake.
50301
50302 2007-05-23  Eric Blake  <ebb9@byu.net>
50303
50304         Fix fseeko/ftello on cygwin 1.5.24.
50305         * doc/functions/fseeko.texi (fseeko): Document the fix.
50306         * doc/functions/ftello.texi (ftello): Document the fix.
50307         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
50308         * doc/functions/stdout.text (stdout): New file.
50309         * doc/functions/stderr.text (stderr): New file.
50310         * doc/gnulib.texi (Function Substitutes): Use new files.
50311         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
50312         prior to 1.7.0.
50313         * tests/test-ftello.c (main): Likewise for ftello.
50314         * tests/test-fseeko.sh: New file.
50315         * tests/test-ftello.sh: New file.
50316         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
50317         with seekable stdin.
50318         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
50319         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
50320         (gl_REPLACE_FSEEKO): New macro.
50321         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
50322         * modules/fseeko (Files): Distribute fseeko.c.
50323         * modules/ftello (Files): Distribute ftello.c.
50324         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
50325         mode.
50326         * lib/ftello.c (rpl_ftello): New file.
50327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
50328         fseeko, ftello.
50329         (gl_STDIN_LARGE_OFFSET): New macro.
50330         * modules/stdio (Makefile.am): Perform the replacement.
50331         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
50332
50333 2007-05-23  Bruno Haible  <bruno@clisp.org>
50334
50335         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
50336         GNULIB_POSIXCHECK is defined.
50337
50338 2007-05-21  Bruno Haible  <bruno@clisp.org>
50339
50340         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
50341         Check also the output for NaN arguments. When cross-compiling, guess
50342         no on IRIX.
50343         * lib/vasnprintf.c: Update comments.
50344         * tests/test-vasnprintf-posix.c (strisnan): New function.
50345         (test_function): Use it.
50346         * tests/test-vasprintf-posix.c (strisnan): New function.
50347         (test_function): Use it.
50348         * tests/test-snprintf-posix.h (strisnan): New function.
50349         (test_function): Use it.
50350         * tests/test-sprintf-posix.h (strisnan): New function.
50351         (test_function): Use it.
50352         Reported by Eric Blake.
50353
50354 2007-05-20  Bruno Haible  <bruno@clisp.org>
50355
50356         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
50357         numbers that fails on BeOS.
50358         * doc/functions/frexpl.texi: Update.
50359
50360 2007-05-20  Jim Meyering  <jim@meyering.net>
50361
50362         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
50363         forced upon us by glibc-2.6.
50364
50365 2007-05-20  Bruno Haible  <bruno@clisp.org>
50366
50367         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
50368         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
50369         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
50370         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
50371         NEED_PRINTF_INFINITE.
50372         (is_infinitel): New function.
50373         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
50374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
50375         gl_PREREQ_VASNPRINTF_INFINITE.
50376         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
50377         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50378         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
50379         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
50380         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
50381         gl_PREREQ_VASNPRINTF_INFINITE.
50382         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50383         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50384         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50385         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50386         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50387         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50388         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50389         * doc/functions/fprintf.texi: Update.
50390         * doc/functions/printf.texi: Update.
50391         * doc/functions/snprintf.texi: Update.
50392         * doc/functions/sprintf.texi: Update.
50393         * doc/functions/vfprintf.texi: Update.
50394         * doc/functions/vprintf.texi: Update.
50395         * doc/functions/vsnprintf.texi: Update.
50396         * doc/functions/vsprintf.texi: Update.
50397
50398 2007-05-20  Bruno Haible  <bruno@clisp.org>
50399
50400         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
50401         was not found in libc.
50402         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50403
50404 2007-05-20  Bruno Haible  <bruno@clisp.org>
50405
50406         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50407         printed as "-nan" instead of "nan".
50408         * tests/test-vasprintf-posix.c (test_function): Likewise.
50409         * tests/test-snprintf-posix.h (test_function): Likewise.
50410         * tests/test-sprintf-posix.h (test_function): Likewise.
50411         Needed for HP-UX 11.
50412
50413 2007-05-20  Jim Meyering  <jim@meyering.net>
50414
50415         Fix buggy test for the fchownat-deref bug.
50416         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
50417         symlink required for the run-test.  Without it, this test would
50418         always declare that fchownat doesn't work, and client code would
50419         unnecessarily use the replacement function with fixed libc.
50420         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
50421         Reported by Greg Schafer.
50422
50423 2007-05-19  Bruno Haible  <bruno@clisp.org>
50424
50425         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
50426         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
50427         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
50428         Needed for IRIX 6.5 and Solaris 2.5.1.
50429
50430 2007-05-19  Bruno Haible  <bruno@clisp.org>
50431
50432         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
50433         (test_function): Skip tests involving -0.0 on platforms where
50434         -0.0 = 0.0.
50435         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
50436         (test_function): Skip tests involving -0.0 on platforms where
50437         -0.0 = 0.0.
50438         * tests/test-snprintf-posix.h (have_minus_zero): New function.
50439         (test_function): Skip tests involving -0.0 on platforms where
50440         -0.0 = 0.0.
50441         * tests/test-sprintf-posix.h (have_minus_zero): New function.
50442         (test_function): Skip tests involving -0.0 on platforms where
50443         -0.0 = 0.0.
50444         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
50445         tests.
50446         * tests/test-printf-posix.h (test_function): Likewise.
50447         * tests/test-printf-posix.output: Remove all -0.0 related results.
50448         Needed for IRIX 6.5.
50449
50450 2007-05-19  Bruno Haible  <bruno@clisp.org>
50451
50452         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50453         printed as "nan0x7fffffff" instead of "nan".
50454         * tests/test-vasprintf-posix.c (test_function): Likewise.
50455         * tests/test-snprintf-posix.h (test_function): Likewise.
50456         * tests/test-sprintf-posix.h (test_function): Likewise.
50457         * tests/test-fprintf-posix.h (NaN): Remove macro.
50458         (test_function): Remove all NaN related tests.
50459         * tests/test-printf-posix.h (NaN): Remove macro.
50460         (test_function): Remove all NaN related tests.
50461         * tests/test-printf-posix.output: Remove all NaN related results.
50462         Needed for IRIX 6.5.
50463
50464 2007-05-19  Bruno Haible  <bruno@clisp.org>
50465
50466         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
50467         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
50468
50469 2007-05-19  Bruno Haible  <bruno@clisp.org>
50470
50471         * lib/float_.h: New file.
50472         * m4/float_h.m4: New file.
50473         * modules/float: New file.
50474         * modules/isnanl (Dependencies): Add float.
50475         * modules/isnanl-nolibm (Dependencies): Likewise.
50476         * modules/mathl (Dependencies): Likewise.
50477         * modules/printf-frexpl (Dependencies): Likewise.
50478         * modules/signbit (Dependencies): Likewise.
50479         * modules/vasnprintf (Dependencies): Likewise.
50480         * doc/headers/float.texi: Update.
50481
50482 2007-05-19  Jim Meyering  <jim@meyering.net>
50483
50484         * lib/utimens.c (gl_futimens): Rename from futimens,
50485         now that glibc-2.6 declares futimens.
50486         * lib/utimens.h: Likewise.
50487
50488 2007-05-19  Bruno Haible  <bruno@clisp.org>
50489
50490         Avoid test failures on mingw.
50491         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
50492         * tests/test-printf-posix.sh: Likewise.
50493         * tests/test-vfprintf-posix.sh: Likewise.
50494         * tests/test-vprintf-posix.sh: Likewise.
50495
50496 2007-05-19  Bruno Haible  <bruno@clisp.org>
50497
50498         Fix *printf result for NaN, Inf, -0.0 on mingw.
50499         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
50500         * lib/vasnprintf.c: Include math.h and isnan.h.
50501         (is_infinite_or_zero): New function.
50502         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
50503         values in the %f, %F, %e, %E, %g, %G directives.
50504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
50505         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50506         gl_PRINTF_INFINITE and test its result. Invoke
50507         gl_PREREQ_VASNPRINTF_INFINITE.
50508         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50509         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50510         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50511         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50512         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50513         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50514         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50515         * doc/functions/fprintf.texi: Update.
50516         * doc/functions/printf.texi: Update.
50517         * doc/functions/snprintf.texi: Update.
50518         * doc/functions/sprintf.texi: Update.
50519         * doc/functions/vfprintf.texi: Update.
50520         * doc/functions/vprintf.texi: Update.
50521         * doc/functions/vsnprintf.texi: Update.
50522         * doc/functions/vsprintf.texi: Update.
50523
50524 2007-05-19  Bruno Haible  <bruno@clisp.org>
50525
50526         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
50527         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
50528         Instead of multiplying with 10^k, set extra_zeroes to k.
50529         (scale10_round_long_double): Remove function.
50530
50531 2007-05-18  Bruno Haible  <bruno@clisp.org>
50532
50533         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
50534         introduced on 2007-05-06.
50535
50536 2007-05-18  Bruno Haible  <bruno@clisp.org>
50537
50538         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
50539         %g directives.
50540         * tests/test-vasprintf-posix.c (test_function): Likewise.
50541         * tests/test-snprintf-posix.h (test_function): Likewise.
50542         * tests/test-sprintf-posix.h (test_function): Likewise.
50543
50544 2007-05-18  Bruno Haible  <bruno@clisp.org>
50545
50546         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
50547         (strmatch): New function.
50548         (test_function): Test the %f directive on numbers of various exponents.
50549         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
50550         (strmatch): New function.
50551         (test_function): Test the %f directive on numbers of various exponents.
50552         * tests/test-snprintf-posix.h (strmatch): New function.
50553         (test_function): Test the %f directive on numbers of various exponents.
50554         * tests/test-sprintf-posix.h (strmatch): New function.
50555         (test_function): Test the %f directive on numbers of various exponents.
50556         * tests/test-snprintf-posix.c (SIZEOF): New macro.
50557         * tests/test-sprintf-posix.c (SIZEOF): New macro.
50558         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
50559         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
50560
50561 2007-05-18  Bruno Haible  <bruno@clisp.org>
50562
50563         Add support for 'long double' number output.
50564         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
50565         * lib/vasnprintf.c: Include math.h and float+.h.
50566         (mp_limb_t): New type.
50567         (GMP_LIMB_BITS): New macro.
50568         (mp_twolimb_t): New type.
50569         (GMP_TWOLIMB_BITS): New macro.
50570         (mpn_t): New type.
50571         (multiply, divide, convert_to_decimal, decode_long_double,
50572         scale10_round_long_double, scale10_round_decimal_long_double,
50573         floorlog10l): New functions.
50574         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
50575         for the %f, %F, %e, %E, %g, %G directives.
50576         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
50577         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50578         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
50579         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
50580         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50581         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50582         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50583         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50584         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50585         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50586         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50587         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
50588         * modules/snprintf-posix (Depends-on): Likewise.
50589         * modules/sprintf-posix (Depends-on): Likewise.
50590         * modules/vasnprintf-posix (Depends-on): Likewise.
50591         * modules/vasprintf-posix (Depends-on): Likewise.
50592         * modules/vfprintf-posix (Depends-on): Likewise.
50593         * modules/vsnprintf-posix (Depends-on): Likewise.
50594         * modules/vsprintf-posix (Depends-on): Likewise.
50595         * modules/vasnprintf (Files): Add lib/float+.h.
50596         * doc/functions/fprintf.texi: Update.
50597         * doc/functions/printf.texi: Update.
50598         * doc/functions/snprintf.texi: Update.
50599         * doc/functions/sprintf.texi: Update.
50600         * doc/functions/vfprintf.texi: Update.
50601         * doc/functions/vprintf.texi: Update.
50602         * doc/functions/vsnprintf.texi: Update.
50603         * doc/functions/vsprintf.texi: Update.
50604
50605 2007-05-18  Bruno Haible  <bruno@clisp.org>
50606
50607         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
50608
50609 2007-05-18  Bruno Haible  <bruno@clisp.org>
50610
50611         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
50612         for printing 64-bit integers. Needed for mingw.
50613
50614 2007-05-18  Bruno Haible  <bruno@clisp.org>
50615
50616         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50617         gl_FUNC_FREXPL_WORKS.
50618         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
50619
50620 2007-05-18  Bruno Haible  <bruno@clisp.org>
50621
50622         * modules/frexpl-nolibm-tests: New file.
50623
50624         * modules/frexpl-nolibm: New file.
50625         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
50626
50627 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50628
50629         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
50630         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50631         GCC 4.2, which otherwise issues a lot of warnings.
50632         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
50633         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
50634         Likewise.
50635         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
50636         * modules/iconv_open (iconv.h): Likewise.
50637         * modules/locale (locale.h): Likewise.
50638         * modules/netinet_in (netinet/in.h): Likewise.
50639         * modules/sys_select (sys_select.h): Likewise.
50640         * modules/sys_socket (sys/socket.h): Likewise.
50641         * modules/sys_stat (sys/stat.h): Likewise.
50642         * modules/sysexits (sysexits.h): Likewise.
50643         * modules/unistd (unistd.h): Likewise.
50644
50645 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50646
50647         * modules/closein-tests (Makefile.am): Distribute
50648         `test-closein.sh'.
50649
50650 2007-05-17  Bruno Haible  <bruno@clisp.org>
50651
50652         * tests/test-printf-posix.output: Renamed from
50653         tests/test-fprintf-posix.out.
50654         * modules/fprintf-posix-tests: Update.
50655         * modules/printf-posix-tests: Update.
50656         * modules/vfprintf-posix-tests: Update.
50657         * modules/vprintf-posix-tests: Update.
50658         * tests/test-fprintf-posix.sh: Update.
50659         * tests/test-printf-posix.sh: Update.
50660         * tests/test-vfprintf-posix.sh: Update.
50661         * tests/test-vprintf-posix.sh: Update.
50662         Reported by Ralf Wildenhues.
50663
50664 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50665
50666         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
50667         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50668         GCC 4.2, which otherwise issues a lot of warnings.
50669         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
50670         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
50671         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
50672         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
50673         it should no longer be needed.
50674         * lib/string_.h: Likewise.
50675         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
50676         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
50677         * modules/inttypes (inttypes.h): Likewise.
50678         * modules/math (math.h): Likewise.
50679         * modules/search (search.h): Likewise.
50680         * modules/signal (signal.h): Likewise.
50681         * modules/stdint (stdint.h): Likewise.
50682         * modules/stdio (stdio.h): Likewise.
50683         * modules/stdlib (stdlib.h): Likewise.
50684         * modules/string (string.h): Likewise.
50685         * modules/sys_time (sys/time.h): Likewise.
50686         * modules/time (time.h): Likewise.
50687         * modules/wchar (wchar.h): Likewise.
50688         * modules/wctype (wtype.h): Likewise.
50689
50690 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50691
50692         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
50693
50694 2007-05-13  Bruno Haible  <bruno@clisp.org>
50695
50696         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
50697         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50698         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
50699         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50700         (gl_PREREQ_STRTOK_R): Don't require it here.
50701
50702 2007-05-13  Bruno Haible  <bruno@clisp.org>
50703
50704         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
50705         when used in C++ mode.
50706
50707 2007-05-12  Bruno Haible  <bruno@clisp.org>
50708
50709         * lib/linebuffer.h: Tweak doc.
50710         * lib/linebuffer.c: Likewise.
50711
50712 2007-05-12  James Youngman  <jay@gnu.org>
50713
50714         * lib/linebuffer.c (readlinebuffer_delim): New function,
50715         like readlinebuffer, but use a caller-specified delimiter.
50716         (readlinebuffer): Just call readlinebuffer_delim with '\n'
50717         as the delimiter.
50718         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
50719
50720 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50721
50722         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
50723         * modules/openat (Files): Remove openat-die.c.
50724         (Depends-on): Add openat-die.
50725         * modules/openat-die: New module.
50726
50727 2007-05-06  Bruno Haible  <bruno@clisp.org>
50728
50729         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
50730         Update with info about Cygwin.
50731         * doc/functions/fprintf.texi: Update.
50732         * doc/functions/printf.texi: Update.
50733         * doc/functions/snprintf.texi: Update.
50734         * doc/functions/sprintf.texi: Update.
50735         * doc/functions/vfprintf.texi: Update.
50736         * doc/functions/vprintf.texi: Update.
50737         * doc/functions/vsnprintf.texi: Update.
50738         * doc/functions/vsprintf.texi: Update.
50739         Reported by Eric Blake.
50740
50741 2007-05-06  Bruno Haible  <bruno@clisp.org>
50742
50743         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
50744         padding ourselves for the floating-point directives.
50745         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
50746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
50747         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50748         gl_PRINTF_FLAG_ZERO and test its result. Invoke
50749         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
50750         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50751         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50757         * tests/test-snprintf-posix.h (test_function): Also check the width
50758         and some flags in the %f directive.
50759         * tests/test-sprintf-posix.h (test_function): Likewise.
50760         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50761         * tests/test-vasprintf-posix.c (test_function): Likewise.
50762         * doc/functions/fprintf.texi: Update.
50763         * doc/functions/printf.texi: Update.
50764         * doc/functions/snprintf.texi: Update.
50765         * doc/functions/sprintf.texi: Update.
50766         * doc/functions/vfprintf.texi: Update.
50767         * doc/functions/vprintf.texi: Update.
50768         * doc/functions/vsnprintf.texi: Update.
50769         * doc/functions/vsprintf.texi: Update.
50770
50771 2007-05-06  Bruno Haible  <bruno@clisp.org>
50772
50773         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
50774         pass the ' flag character to sprintf or snprintf.
50775         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
50776         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
50777         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50778         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
50779         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
50780         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50781         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50782         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50783         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50784         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50785         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50786         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50787         * tests/test-snprintf-posix.h (test_function): Also check the grouping
50788         flag.
50789         * tests/test-sprintf-posix.h (test_function): Likewise.
50790         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50791         * tests/test-vasprintf-posix.c (test_function): Likewise.
50792         * doc/functions/fprintf.texi: Update.
50793         * doc/functions/printf.texi: Update.
50794         * doc/functions/snprintf.texi: Update.
50795         * doc/functions/sprintf.texi: Update.
50796         * doc/functions/vfprintf.texi: Update.
50797         * doc/functions/vprintf.texi: Update.
50798         * doc/functions/vsnprintf.texi: Update.
50799         * doc/functions/vsprintf.texi: Update.
50800
50801 2007-05-01  Bruno Haible  <bruno@clisp.org>
50802
50803         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
50804
50805 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
50806
50807         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
50808         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
50809
50810 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50811
50812         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
50813         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
50814         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
50815
50816 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
50817
50818         * lib/argp-help.c (struct hol_entry): New member `ord'.
50819         (HOL_ENTRY_PTRCMP): Use ord for comparison
50820         (hol_sort): Initialize ord.
50821
50822 2007-05-01  Bruno Haible  <bruno@clisp.org>
50823
50824         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
50825         Reported by Eric Blake.
50826         * doc/gnulib.texi (Function Substitutes): Update.
50827
50828 2007-05-01  Bruno Haible  <bruno@clisp.org>
50829
50830         * doc/functions.texi: Remove file, now redundant through
50831         doc/functions/*.texi.
50832
50833 2007-05-01  Bruno Haible  <bruno@clisp.org>
50834
50835         * modules/argp (Depends-on): Add sleep.
50836
50837 2007-05-01  Bruno Haible  <bruno@clisp.org>
50838
50839         * modules/sleep-tests: New file.
50840         * tests/test-sleep.c: New file.
50841
50842         * modules/sleep: New file.
50843         * lib/sleep.c: New file.
50844         * m4/sleep.m4: New file.
50845         * lib/unistd_.h (sleep): New declaration.
50846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
50847         HAVE_SLEEP.
50848         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
50849         * doc/functions/sleep.texi: Document the sleep module.
50850
50851 2007-05-01  Bruno Haible  <bruno@clisp.org>
50852
50853         * lib/sigprocmask.h: Remove file.
50854         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
50855         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
50856         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
50857         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
50858         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50859         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
50860         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
50861         HAVE_SIGSET_T as a shell variable.
50862         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
50863         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
50864         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
50865         (Depends-on): Add signal. Remove verify.
50866         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
50867         (Include): Mention <signal.h> instead of sigprocmask.h.
50868         * NEWS: Mention the change.
50869         * lib/fatal-signal.c: Don't include sigprocmask.h.
50870
50871 2007-05-01  Bruno Haible  <bruno@clisp.org>
50872
50873         * modules/signal: New file.
50874         * lib/signal_.h: New file.
50875         * m4/signal_h.m4: New file.
50876
50877 2007-05-01  Bruno Haible  <bruno@clisp.org>
50878
50879         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
50880         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
50881         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
50882         HAVE_WCTYPE_CTMP_BUG into wctype.h.
50883
50884 2007-05-01  Bruno Haible  <bruno@clisp.org>
50885
50886         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
50887         configure time.
50888         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
50889         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
50890         * modules/sys_stat (Makefile.am): Substitute their values into
50891         sys/stat.h.
50892
50893 2007-05-01  Bruno Haible  <bruno@clisp.org>
50894
50895         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
50896         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
50897         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
50898
50899 2007-05-01  Bruno Haible  <bruno@clisp.org>
50900
50901         * doc/header/assert.texi: Undo last change: don't mention the gnulib
50902         'assert' module here.
50903
50904 2007-05-01  Bruno Haible  <bruno@clisp.org>
50905
50906         * doc/functions/*.texi: New files.
50907         * doc/functions/google-ranking.txt: New file.
50908         * doc/gnulib.texi (Function Substitutes): New chapter.
50909         (ctime, inet_ntoa): Remove sections.
50910         * doc/ctime.texi: Remove file.
50911         * doc/inet_ntoa.texi: Remove file.
50912         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
50913         dependencies.
50914         (%.info): New rule, specifying a --reference-limit.
50915
50916 2007-05-01  Bruno Haible  <bruno@clisp.org>
50917
50918         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
50919
50920 2007-05-01  Bruno Haible  <bruno@clisp.org>
50921
50922         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
50923         the portability of 'mkdir' to mingw systems.
50924
50925 2007-05-01  Bruno Haible  <bruno@clisp.org>
50926
50927         * doc/headers/google-ranking.txt: New file.
50928
50929 2007-04-30  Eric Blake  <ebb9@byu.net>
50930
50931         Prefer fseeko to fseek.
50932         * modules/getpass (Depends-on): Add fseeko.
50933         * lib/getpass.c (getpass): Use fseeko, not fseek.
50934
50935 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
50936
50937         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
50938         assumes the sorting is stable, while most qsort implementations
50939         are not.  Use argument addresses to ensure they never compare as
50940         equal.
50941
50942         * tests/test-argp-2.sh (usage-indent test): Fix output
50943         (func_compare): Restore diff options
50944         * tests/test-argp.c: Restore #include "progname.h"
50945
50946 2007-04-29  Bruno Haible  <bruno@clisp.org>
50947
50948         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
50949         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50950         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
50951         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50952         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
50953         (configure.ac): Define CHECK_SNPRINTF_POSIX.
50954         (TESTS, check_PROGRAMS): Add test-snprintf.
50955         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
50956         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
50957         (TESTS, check_PROGRAMS): Add test-vsnprintf.
50958         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
50959         assertions that fail on HP-UX, OSF/1, or IRIX.
50960         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
50961
50962 2007-04-29  Bruno Haible  <bruno@clisp.org>
50963
50964         * MODULES.html.sh (posix_functions): Remove 'contents'.
50965
50966 2007-04-29  Karl Berry  <karl@gnu.org>
50967
50968         * config/srclist.txt (gendocs_template_min): new entry.
50969
50970 2007-04-29  Bruno Haible  <bruno@clisp.org>
50971
50972         Work around fpurge bug on BSD systems.
50973         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50974         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50975         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50976         fpurge to rpl_fpurge if the system already has this function.
50977         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50978         the case where the system already has this function. Correct invariants
50979         on BSD systems.
50980         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50981         BSD systems.
50982
50983 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50984
50985         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50986         proposed by Sven Verdoolaege.
50987
50988         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50989         options.
50990         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50991         (usage and help tests): Update
50992
50993 2007-04-29  Bruno Haible  <bruno@clisp.org>
50994
50995         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50996         Print more information in case of failure. Disable a test on BeOS.
50997
50998 2007-04-29  Bruno Haible  <bruno@clisp.org>
50999
51000         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
51001         This helps debugging on systems on which no gdb is available.
51002
51003 2007-04-29  Bruno Haible  <bruno@clisp.org>
51004
51005         * lib/freading.h: Improve comments.
51006         * lib/fwriting.h: Likewise.
51007         * tests/test-freading.c (main): Don't check freading immediately after
51008         repositioning. Needed for glibc.
51009
51010 2007-04-29  Bruno Haible  <bruno@clisp.org>
51011
51012         * lib/freading.c (freading): Trivial simplification.
51013
51014 2007-04-28  Bruno Haible  <bruno@clisp.org>
51015
51016         * tests/test-fwriting.c (main): Also test the interaction between
51017         fflush and fwriting.
51018         * modules/fwriting-tests (Depends-on): Add fflush.
51019
51020         * tests/test-freading.c (main): Also test the interaction between
51021         fflush and freading.
51022         * modules/freading-tests (Depends-on): Add fflush.
51023
51024 2007-04-28  Bruno Haible  <bruno@clisp.org>
51025
51026         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
51027         fseeko and ftello.
51028         Suggested by Eric Blake.
51029
51030 2007-04-28  Jim Meyering  <jim@meyering.net>
51031
51032         Avoid false-negative in gl_STDINT_H's C99 conformance test.
51033         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
51034         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
51035
51036 2007-04-27  Eric Blake  <ebb9@byu.net>
51037
51038         * doc/headers/assert.texi (assert.h): Document assert module use.
51039
51040 2007-04-27  Bruno Haible  <bruno@clisp.org>
51041
51042         * doc/headers/*.texi: New files.
51043         * doc/gnulib.texi (Header File Substitutes): New chapter.
51044         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
51045         dependencies.
51046         (standards.info ,standards.html, standards.dvi): Update dependencies.
51047         (mostlyclean, clean): New targets.
51048
51049 2007-04-27  Bruno Haible  <bruno@clisp.org>
51050
51051         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
51052         * modules/sysexits (Files, Makefile.am): Update.
51053
51054         * lib/sys_socket_.h: Renamed from lib/socket_.h.
51055         * modules/sys_socket (Files, Makefile.am): Update.
51056
51057         * lib/sys_stat_.h: Renamed from lib/stat_.h.
51058         * modules/sys_stat (Files, Makefile.am): Update.
51059
51060 2007-04-27  Eric Blake  <ebb9@byu.net>
51061
51062         * lib/freading.h: Improve comments.
51063         * lib/fwriting.h: Likewise.
51064         * lib/fflush.c: Likewise.
51065
51066         Fix closein for mingw.
51067         * modules/closein-tests: Add tests for closein.
51068         * tests/test-closein.c: New file.
51069         * tests/test-closein.sh: Likewise.
51070         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
51071         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
51072
51073 2007-04-27  Bruno Haible  <bruno@clisp.org>
51074
51075         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
51076         version is < 6.
51077         * lib/math_.h [__DECC]: Likewise.
51078         * lib/stdio_.h [__DECC]: Likewise.
51079         * lib/stdlib_.h [__DECC]: Likewise.
51080         * lib/string_.h [__DECC]: Likewise.
51081         * lib/time_.h [__DECC]: Likewise.
51082         * lib/wchar_.h [__DECC]: Likewise.
51083         * lib/wctype_.h [__DECC]: Likewise.
51084
51085 2007-04-27  Bruno Haible  <bruno@clisp.org>
51086
51087         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
51088
51089 2007-04-27  Bruno Haible  <bruno@clisp.org>
51090
51091         * lib/fflush.c: Add comments.
51092         * modules/fpurge-tests (Depends-on): Add fflush.
51093         * modules/freadable-tests (Depends-on): Likewise.
51094         * modules/fwritable-tests (Depends-on): Likewise.
51095
51096 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
51097
51098         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
51099         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
51100         Report by Bruno Haible <bruno@clisp.org>.
51101
51102 2007-04-26  Eric Blake  <ebb9@byu.net>
51103
51104         Fix fflush on mingw.
51105         * modules/fflush (Depends-on): Add freading.
51106         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
51107         but unread data.
51108
51109 2007-04-26  Eric Blake  <ebb9@byu.net>
51110         and Bruno Haible  <bruno@clisp.org>
51111
51112         Implement freading and fwriting.
51113         * lib/freading.c: New file.
51114         * lib/freading.h: Likewise.
51115         * m4/freading.m4: Likewise.
51116         * modules/freading: Likewise.
51117         * modules/freading-tests: Likewise.
51118         * tests/test-freading.c: Likewise.
51119         * lib/fwriting.c: New file.
51120         * lib/fwriting.h: Likewise.
51121         * m4/fwriting.m4: Likewise.
51122         * modules/fwriting: Likewise.
51123         * modules/fwriting-tests: Likewise.
51124         * tests/test-fwriting.c: Likewise.
51125         * MODULES.html.sh (File stream based Input/Output): Mention them.
51126
51127 2007-04-26  Bruno Haible  <bruno@clisp.org>
51128
51129         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
51130         'long' when we assume it.
51131         Suggested by Eric Blake.
51132
51133 2007-04-26  Bruno Haible  <bruno@clisp.org>
51134
51135         Ensure fseeko, ftello are declared on glibc systems.
51136         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
51137         * modules/fseeko (configure.ac-early): Likewise.
51138         * modules/ftello (configure.ac-early): Likewise.
51139         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
51140         AC_FUNC_FSEEKO for this.
51141         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
51142         (gl_CHECK_FSEEKO): Remove macro.
51143
51144 2007-04-26  Bruno Haible  <bruno@clisp.org>
51145
51146         * tests/test-fflush.c (main): Also check the ftell result after
51147         fflush and fseek/fseeko.
51148         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
51149         file descriptor position cache in the stream.
51150         * lib/fseeko.c (rpl_fseeko): Likewise.
51151
51152 2007-04-26  Bruno Haible  <bruno@clisp.org>
51153
51154         * modules/fflush-tests (Depends-on): Add fseeko.
51155
51156 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
51157             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51158
51159         * lib/argz_.h: ensure error_t definition is obtained in same
51160         mechanism system argz.h would have.
51161         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
51162         argz facilities are known bad.  Err on the side of caution if
51163         cross-compiling.
51164
51165 2007-04-25  Eric Blake  <ebb9@byu.net>
51166
51167         * lib/fpurge.c (includes): Use stdlib.h for free.
51168         * tests/test-fflush.c (main): Also test fflush-fseeko.
51169
51170 2007-04-25  Bruno Haible  <bruno@clisp.org>
51171
51172         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
51173         * lib/fseeko.c: New file.
51174         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
51175         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
51176         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
51177         gl_FUNC_FSEEKO.
51178         (gl_FUNC_FSEEKO): Invoke it.
51179         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
51180         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
51181         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
51182
51183 2007-04-25  Bruno Haible  <bruno@clisp.org>
51184
51185         * modules/fflush (Depends-on): Add ftello.
51186
51187 2007-04-25  Bruno Haible  <bruno@clisp.org>
51188
51189         * modules/ftello-tests: New file.
51190         * tests/test-ftello.c: New file.
51191
51192         * modules/ftello: New file.
51193         * m4/ftello.m4: New file.
51194         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
51195         HAVE_FTELLO.
51196         * lib/stdio_.h (ftello): New declaration.
51197         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
51198         HAVE_FTELLO.
51199
51200 2007-04-25  Bruno Haible  <bruno@clisp.org>
51201
51202         * modules/fseeko-tests: New file.
51203         * tests/test-fseeko.c: New file.
51204
51205         * modules/fseeko: New file.
51206         * m4/fseeko.m4: New file.
51207         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
51208         HAVE_FSEEKO.
51209         * lib/stdio_.h (fseeko): New declaration.
51210         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
51211         HAVE_FSEEKO.
51212
51213 2007-04-25  Bruno Haible  <bruno@clisp.org>
51214
51215         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
51216
51217 2007-04-25  Bruno Haible  <bruno@clisp.org>
51218
51219         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
51220         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
51221         * tests/test-unistd.c: Likewise.
51222         * tests/test-fcntl.c: Likewise.
51223
51224 2007-04-23  Eric Blake  <ebb9@byu.net>
51225
51226         * lib/fflush.c: Fix missing include.
51227         Reported by Bruno Haible.
51228
51229 2007-04-23  Bruno Haible  <bruno@clisp.org>
51230
51231         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
51232         Reported by Eric Blake.
51233
51234 2007-04-23  Bruno Haible  <bruno@clisp.org>
51235
51236         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
51237
51238 2007-04-23  Bruno Haible  <bruno@clisp.org>
51239
51240         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
51241
51242 2007-04-23  Bruno Haible  <bruno@clisp.org>
51243
51244         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
51245         Needed on HP-UX 11.
51246
51247 2007-04-16  Eric Blake  <ebb9@byu.net>
51248
51249         Make fflush rely on fpurge.
51250         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
51251         open coding all variants.
51252         * modules/fflush (Depends-on): Add fpurge and unistd.
51253         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
51254         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
51255
51256         Fix --with-tests compilation on cygwin.
51257         * modules/argmatch-tests (Makefile.am): List gnulib library first
51258         in LDADD.
51259         * modules/argp-tests (Makefile.am): Likewise.
51260         * modules/array-list-tests (Makefile.am): Likewise.
51261         * modules/array-oset-tests (Makefile.am): Likewise.
51262         * modules/avltree-list-tests (Makefile.am): Likewise.
51263         * modules/avltree-oset-tests (Makefile.am): Likewise.
51264         * modules/avltreehash-list-tests (Makefile.am): Likewise.
51265         * modules/carray-list-tests (Makefile.am): Likewise.
51266         * modules/dirname-tests (Makefile.am): Likewise.
51267         * modules/frexp-tests (Makefile.am): Likewise.
51268         * modules/isnanl-tests (Makefile.am): Likewise.
51269         * modules/linked-list-tests (Makefile.am): Likewise.
51270         * modules/linkedhash-list-tests (Makefile.am): Likewise.
51271         * modules/lock-tests (Makefile.am): Likewise.
51272         * modules/rbtree-list-tests (Makefile.am): Likewise.
51273         * modules/rbtree-oset-tests (Makefile.am): Likewise.
51274         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
51275         * modules/tls-tests (Makefile.am): Likewise.
51276         * modules/tsearch-tests (Makefile.am): Likewise.
51277         * modules/xvasprintf-tests (Makefile.am): Likewise.
51278
51279         Fix fpurge for cygwin.
51280         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
51281         value.
51282         * modules/fpurge-tests (Depends-on): Clean up trash.
51283
51284 2007-04-16  Simon Josefsson  <simon@josefsson.org>
51285
51286         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
51287
51288         * m4/autobuild.m4: Re-indent.
51289
51290 2007-04-13  Bruno Haible  <bruno@clisp.org>
51291
51292         * modules/fpurge-tests: New file.
51293         * tests/test-fpurge.c: New file.
51294
51295         * modules/fpurge: New file.
51296         * lib/fpurge.h: New file.
51297         * lib/fpurge.c: New file.
51298         * m4/fpurge.m4: New file.
51299
51300 2007-04-13  Bruno Haible  <bruno@clisp.org>
51301
51302         * modules/fbufmode-tests: New file.
51303         * tests/test-fbufmode.c: New file.
51304
51305         * modules/fbufmode: New file.
51306         * lib/fbufmode.h: New file.
51307         * lib/fbufmode.c: New file.
51308         * m4/fbufmode.m4: New file.
51309
51310 2007-04-13  Bruno Haible  <bruno@clisp.org>
51311
51312         * modules/fwritable-tests: New file.
51313         * tests/test-fwritable.c: New file.
51314
51315         * modules/fwritable: New file.
51316         * lib/fwritable.h: New file.
51317         * lib/fwritable.c: New file.
51318         * m4/fwritable.m4: New file.
51319
51320 2007-04-13  Bruno Haible  <bruno@clisp.org>
51321
51322         * modules/freadable-tests: New file.
51323         * tests/test-freadable.c: New file.
51324
51325         * modules/freadable: New file.
51326         * lib/freadable.h: New file.
51327         * lib/freadable.c: New file.
51328         * m4/freadable.m4: New file.
51329
51330 2007-04-13  Bruno Haible  <bruno@clisp.org>
51331
51332         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
51333         MOSTLYCLEANFILES.
51334
51335 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51336
51337         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
51338         gzip bootstrap.conf to avoid dragging in i18n machinery.
51339         (gnulib_tool_option): Use it.
51340
51341 2007-04-13  Bruno Haible  <bruno@clisp.org>
51342
51343         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
51344         %F directives.
51345         * tests/test-vasprintf-posix.c (test_function): Likewise.
51346         * tests/test-snprintf-posix.h (test_function): Likewise.
51347         * tests/test-sprintf-posix.h (test_function): Likewise.
51348         * tests/test-fprintf-posix.h (test_function): Likewise.
51349         * tests/test-printf-posix.h (test_function): Likewise.
51350         * tests/test-fprintf-posix.out: Likewise.
51351
51352 2007-04-13  Bruno Haible  <bruno@clisp.org>
51353
51354         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
51355         * modules/tls-tests (configure.ac): Likewise.
51356         Reported by Arto C. Nirkko <anirkko@insel.ch>.
51357
51358 2007-04-13  Bruno Haible  <bruno@clisp.org>
51359
51360         * lib/tls.c (glthread_tls_get): Fix return type.
51361         Patch by Arto C. Nirkko <anirkko@insel.ch>.
51362
51363 2007-04-12  Eric Blake  <ebb9@byu.net>
51364
51365         * modules/gettime (Depends-on): Remove gettime.
51366         Reported by Dmitry V. Levin.
51367
51368 2007-04-12  Bruno Haible  <bruno@clisp.org>
51369
51370         * modules/fflush (Include): Mention <stdio.h>.
51371         * modules/strtoimax (Include): Mention <inttypes.h>.
51372         * modules/strtoumax (Include): Likewise.
51373
51374 2007-04-12  Eric Blake  <ebb9@byu.net>
51375
51376         * .cvsignore: New file.
51377         * .gitignore: Likewise.
51378
51379 2007-04-12  Bruno Haible  <bruno@clisp.org>
51380
51381         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
51382         not before, since $(LDADD) often contains libgnu.a.
51383         * modules/striconv-tests (test_striconv_LDADD): Likewise.
51384         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
51385         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
51386         Needed on Cygwin.
51387
51388 2007-04-12  Eric Blake  <ebb9@byu.net>
51389
51390         Work around glibc's failure to flush stdin on fclose.
51391         * lib/closein.c (close_stdin): Flush stdin before closing.
51392
51393         Work around glibc's failure to reset seekable stdin on exit.
51394         * modules/closein: New module.
51395         * lib/closein.c: New file.
51396         * lib/closein.h: Likewise.
51397         * m4/closein.m4: Likewise.
51398         * MODULES.html.sh (File stream based Input/Output): Document it.
51399
51400 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51401
51402         * gnulib-tool: Rename generated 'autobuild' script to
51403         'do-autobuild' in --create-megatestdir output.
51404
51405         * doc/gnulib.texi (Build robot for gnulib): Fix.
51406
51407 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51408
51409         * modules/sysexits (Depends-on): Add absolute-header.
51410
51411 2007-04-12  Eric Blake  <ebb9@byu.net>
51412
51413         No need to preserve errno on success.
51414         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
51415         Reported by Bruno Haible.
51416
51417 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51418
51419         * MODULES.html.sh (Support for maintaining and releasing
51420         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
51421
51422 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51423
51424         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
51425
51426 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51427
51428         * modules/autobuild: New module.
51429
51430         * m4/autobuild.m4: New file.
51431
51432 2007-04-11  Bruno Haible  <bruno@clisp.org>
51433
51434         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
51435         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
51436         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
51437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
51438         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51439         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51440         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51441         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51442         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51443         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51444         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
51445         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51446         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51447         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
51448         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51449         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51450         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
51451         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51452         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51453         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
51454         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51455         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51456         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
51457         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51458         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51459         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
51460         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51461         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51462         Reported by Eric Blake.
51463
51464 2007-04-11  Bruno Haible  <bruno@clisp.org>
51465
51466         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
51467
51468 2007-04-10  Bruno Haible  <bruno@clisp.org>
51469
51470         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
51471         for NaN and Infinity. Needed on FreeBSD 6.1.
51472         * tests/test-vasnprintf-posix.c (test_function): Undo last change
51473         regarding results for "%010a" of Infinity and NaN.
51474         * tests/test-vasprintf-posix.c (test_function): Likewise.
51475         * tests/test-snprintf-posix.h (test_function): Likewise.
51476         * tests/test-sprintf-posix.h (test_function): Likewise.
51477         * tests/test-fprintf-posix.h (test_function): Likewise.
51478         * tests/test-printf-posix.h (test_function): Likewise.
51479         * tests/test-fprintf-posix.out: Likewise.
51480
51481 2007-04-10  Bruno Haible  <bruno@clisp.org>
51482
51483         * modules/locale-tests: New file.
51484         * tests/test-locale.c: New file.
51485
51486         * modules/locale: New file.
51487         * lib/locale_.h: New file.
51488         * m4/locale_h.m4: New file.
51489
51490 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
51491             Bruno Haible  <bruno@clisp.org>
51492
51493         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
51494         be determined, test for availability of the copysignf, copysign,
51495         copysignl functions.
51496         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
51497         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
51498         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
51499
51500 2007-04-09  Eric Blake  <ebb9@byu.net>
51501
51502         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
51503         * modules/stdio (Makefile.am): Support fflush.
51504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51505         * modules/fflush: New file.
51506         * lib/fflush.c: Likewise.
51507         * m4/fflush.m4: Likewise.
51508         * modules/fflush-tests: New test.
51509         * tests/test-fflush.c: Likewise.
51510         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
51511
51512 2007-04-06  Bruno Haible  <bruno@clisp.org>
51513
51514         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
51515         (VASNPRINTF): Use signbit for faster determination whether to print a
51516         minus sign.
51517         * modules/vasnprintf (Files): Remove lib/float+.h.
51518         * modules/fprintf-posix (Depends-on): Add signbit.
51519         * modules/snprintf-posix (Depends-on): Likewise.
51520         * modules/sprintf-posix (Depends-on): Likewise.
51521         * modules/vasnprintf-posix (Depends-on): Likewise.
51522         * modules/vasprintf-posix (Depends-on): Likewise.
51523         * modules/vfprintf-posix (Depends-on): Likewise.
51524         * modules/vsnprintf-posix (Depends-on): Likewise.
51525         * modules/vsprintf-posix (Depends-on): Likewise.
51526
51527 2007-04-06  Bruno Haible  <bruno@clisp.org>
51528
51529         * tests/test-frexp.c (main): Test also the sign bit of zero results.
51530         * tests/test-frexpl.c (main): Likewise.
51531         * tests/test-ldexpl.c (main): Likewise.
51532         * modules/frexp-tests (Depends-on): Add signbit.
51533         * modules/frexpl-tests (Depdends-on): Likewise.
51534         * modules/ldexpl-tests (Depdends-on): Likewise.
51535
51536 2007-04-06  Bruno Haible  <bruno@clisp.org>
51537
51538         * modules/signbit-tests: New file.
51539         * tests/test-signbit.c: New file.
51540
51541         * modules/signbit: New file.
51542         * lib/signbitf.c: New file.
51543         * lib/signbitd.c: New file.
51544         * lib/signbitl.c: New file.
51545         * m4/signbit.m4: New file.
51546         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
51547         (signbit): New macro.
51548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
51549         REPLACE_SIGNBIT.
51550         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
51551         REPLACE_FREXPL into math.h.
51552
51553 2007-04-06  Bruno Haible  <bruno@clisp.org>
51554
51555         * modules/isnanf-nolibm-tests: New file.
51556         * tests/test-isnanf.c: New file.
51557
51558         * modules/isnanf-nolibm: New file.
51559         * lib/isnanf.h: New file.
51560         * lib/isnanf.c: New file.
51561         * lib/isnan.c: Consider the USE_FLOAT macro.
51562         * m4/isnanf.m4: New file.
51563
51564 2007-04-06  Bruno Haible  <bruno@clisp.org>
51565
51566         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
51567         (Link): New section.
51568
51569         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
51570
51571 2007-04-06  Bruno Haible  <bruno@clisp.org>
51572
51573         Assume the 'long double' type.
51574         * m4/longdouble.m4: Remove file.
51575         * config/srclist.txt: Don't mention longdouble.m4.
51576         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
51577         * lib/float+.h: Likewise.
51578         * lib/frexp.c: Likewise.
51579         * lib/printf-args.h: Likewise.
51580         * lib/printf-args.c: Likewise.
51581         * lib/printf-frexp.c: Likewise.
51582         * lib/printf-parse.c: Likewise.
51583         * lib/vasnprintf.c: Likewise.
51584         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
51585         * m4/intl.m4: Likewise.
51586         * m4/isnanl.m4: Likewise.
51587         * m4/printf.m4: Likewise.
51588         * m4/printf-frexpl.m4: Likewise.
51589         * m4/vasnprintf.m4: Likewise.
51590         * modules/allocsa (Files): Remove m4/longdouble.m4.
51591         * modules/gettext (Files): Likewise.
51592         * modules/relocatable-prog-wrapper (Files): Likewise.
51593         * modules/vasnprintf (Files): Likewise.
51594         * modules/isnanl (Files): Likewise.
51595         (Include): Simplify.
51596         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
51597         (Include): Simplify.
51598         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
51599         (Include): Simplify.
51600         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
51601         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51602         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
51603         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51604         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51605         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51606         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
51607         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51608         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51609         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51610         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
51611         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51612         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
51613         * tests/test-isnanl.c: Likewise.
51614         * tests/test-snprintf-posix.h: Likewise.
51615         * tests/test-sprintf-posix.h: Likewise.
51616         * tests/test-vasnprintf-posix.c: Likewise.
51617         * tests/test-vasnprintf-posix2.c: Likewise.
51618         * tests/test-vasprintf-posix.c: Likewise.
51619
51620 2007-04-06  Bruno Haible  <bruno@clisp.org>
51621
51622         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
51623         * lib/math_.h [__DECC]: Include the overridden include file through
51624         #include_next, outside the double-inclusion guard.
51625         * lib/stdio_.h [__DECC]: Likewise.
51626         * lib/stdlib_.h [__DECC]: Likewise.
51627         * lib/string_.h [__DECC]: Likewise.
51628         * lib/time_.h [__DECC]: Likewise.
51629         * lib/wchar_.h [__DECC]: Likewise.
51630         * lib/wctype_.h [__DECC]: Likewise.
51631         * lib/inttypes_.h [__DECC]: Likewise.
51632         Reported by Albert Chin <china@thewrittenword.com> in
51633         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
51634
51635 2007-04-04  Eric Blake  <ebb9@byu.net>
51636
51637         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
51638         1.5.x.
51639
51640 2007-04-04  Bruno Haible  <bruno@clisp.org>
51641
51642         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
51643         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
51644
51645 2007-04-04  Bruno Haible  <bruno@clisp.org>
51646
51647         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
51648         results for "%010a" of Infinity and NaN.
51649         * tests/test-vasprintf-posix.c (test_function): Likewise.
51650         * tests/test-snprintf-posix.h (test_function): Likewise.
51651         * tests/test-sprintf-posix.h (test_function): Likewise.
51652         * tests/test-fprintf-posix.h (test_function): Remove these tests.
51653         * tests/test-printf-posix.h (test_function): Likewise.
51654         * tests/test-fprintf-posix.out: Update.
51655         Needed for FreeBSD 6.1.
51656
51657 2007-04-04  Bruno Haible  <bruno@clisp.org>
51658
51659         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
51660         directly used by the gnulib modules nor by gnulib-tool.
51661
51662 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51663
51664         * DEPENDENCIES: Give overall description of version dependency
51665         desirability.  Use more-typical names for apps.
51666         Add shell, coreutils, diffutils, grep, tar, gzip.
51667
51668 2007-04-04  Simon Josefsson  <simon@josefsson.org>
51669
51670         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
51671
51672 2007-04-04  Karl Berry  <karl@gnu.org>
51673
51674         * MODULES.html.sh (func_module): missing '.
51675
51676 2007-04-03  Bruno Haible  <bruno@clisp.org>
51677
51678         * modules/argmatch-tests (Makefile.am): New variable
51679         test_argmatch_LDADD.
51680         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
51681         * modules/array-list-tests (Makefile.am): New variable
51682         test_array_list_LDADD.
51683         * modules/array-oset-tests (Makefile.am): New variable
51684         test_array_oset_LDADD.
51685         * modules/avltree-list-tests (Makefile.am): New variable
51686         test_avltree_list_LDADD.
51687         * modules/avltree-oset-tests (Makefile.am): New variable
51688         test_avltree_oset_LDADD.
51689         * modules/avltreehash-list-tests (Makefile.am): New variable
51690         test_avltreehash_list_LDADD.
51691         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
51692         test_canonicalize_lgpl_LDADD.
51693         * modules/carray-list-tests (Makefile.am): New variable
51694         test_carray_list_LDADD.
51695         * modules/dirname-tests (Makefile.am): New variable
51696         test_dirname_LDADD.
51697         * modules/linked-list-tests (Makefile.am): New variable
51698         test_linked_list_LDADD.
51699         * modules/linkedhash-list-tests (Makefile.am): New variable
51700         test_linkedhash_list_LDADD.
51701         * modules/rbtree-list-tests (Makefile.am): New variable
51702         test_rbtree_list_LDADD.
51703         * modules/rbtree-oset-tests (Makefile.am): New variable
51704         test_rbtree_oset_LDADD.
51705         * modules/rbtreehash-list-tests (Makefile.am): New variable
51706         test_rbtreehash_list_LDADD.
51707         * modules/xvasprintf-tests (Makefile.am): New variable
51708         test_xvasprintf_LDADD.
51709         Reported by Eric Blake.
51710
51711 2007-04-03  Eric Blake  <ebb9@byu.net>
51712
51713         * DEPENDENCIES: Weaken m4 requirements.
51714
51715 2007-04-03  Bruno Haible  <bruno@clisp.org>
51716
51717         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
51718         * modules/isnanl-tests (configure.ac): Likewise.
51719
51720 2007-04-03  Ben Pfaff  <blp@gnu.org>
51721
51722         * modules/iconv_open: Add $(srcdir)/ to source directory
51723         references in Makefile fragments that call gperf, to fix VPATH
51724         builds.
51725
51726 2007-04-03  Bruno Haible  <bruno@clisp.org>
51727
51728         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
51729         * lib/ldexpl.c: Undo last change.
51730
51731 2007-04-03  Bruno Haible  <bruno@clisp.org>
51732
51733         * modules/printf-frexpl (Depends-on): Undo last change.
51734         (Files): Add m4/ldexpl.m4.
51735
51736 2007-04-03  Bruno Haible  <bruno@clisp.org>
51737
51738         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
51739         * modules/isnanl (Link): New section.
51740
51741         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
51742         * modules/frexp (Link): New section.
51743
51744         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
51745         * modules/frexpl (Link): New section.
51746
51747         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
51748         * modules/ldexpl (Link): New section.
51749
51750 2007-04-03  Bruno Haible  <bruno@clisp.org>
51751
51752         * modules/TEMPLATE-EXTENDED: New file.
51753         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
51754
51755 2007-04-03  Bruno Haible  <bruno@clisp.org>
51756
51757         * DEPENDENCIES: New file.
51758         Suggested by Simon Josefsson.
51759
51760 2007-04-03  Bruno Haible  <bruno@clisp.org>
51761
51762         * doc/gnulib.texi: Escape @.
51763
51764 2007-04-03  James Youngman  <jay@gnu.org>
51765         and Paul Eggert  <eggert@cs.ucla.edu>
51766
51767         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
51768         birthtime on all systems that have birthtime, not just those which
51769         use st_birthtimensec rather than st_birthtim.  Putting zero in
51770         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
51771         that the birth time is not available for files on an NFS mount.
51772
51773 2007-04-03  Simon Josefsson  <simon@josefsson.org>
51774
51775         * modules/memxor: Move back from crypto/, suggested by Bruno.
51776         * modules/crypto/hmac-sha1: Fix memxor dependency.
51777
51778         * modules/crypto/gc: Moved from ../.
51779
51780 2007-04-02  Eric Blake  <ebb9@byu.net>
51781
51782         * lib/ldexpl.c (includes): Avoid libm.
51783
51784         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
51785
51786 2007-04-02  Bruno Haible  <bruno@clisp.org>
51787
51788         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
51789         on IRIX.
51790
51791 2007-04-02  Bruno Haible  <bruno@clisp.org>
51792
51793         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
51794         x86 or x86_64 platforms running MacOS X.
51795         Reported by Ryan Schmidt <@ryandesign.com>.
51796
51797 2007-04-02  Bruno Haible  <bruno@clisp.org>
51798
51799         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
51800         i386.
51801
51802 2007-04-01  Simon Josefsson  <simon@josefsson.org>
51803
51804         * modules/crypto/arcfour: Moved from ../.
51805         * modules/crypto/arcfour-tests: Moved from ../.
51806         * modules/crypto/arctwo: Moved from ../.
51807         * modules/crypto/arctwo-tests: Moved from ../.
51808         * modules/crypto/des: Moved from ../.
51809         * modules/crypto/des-tests: Moved from ../.
51810         * modules/crypto/gc-arcfour: Moved from ../.
51811         * modules/crypto/gc-arcfour-tests: Moved from ../.
51812         * modules/crypto/gc-arctwo: Moved from ../.
51813         * modules/crypto/gc-arctwo-tests: Moved from ../.
51814         * modules/crypto/gc-des: Moved from ../.
51815         * modules/crypto/gc-des-tests: Moved from ../.
51816         * modules/crypto/gc-hmac-md5: Moved from ../.
51817         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
51818         * modules/crypto/gc-hmac-sha1: Moved from ../.
51819         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
51820         * modules/crypto/gc-md2: Moved from ../.
51821         * modules/crypto/gc-md2-tests: Moved from ../.
51822         * modules/crypto/gc-md4: Moved from ../.
51823         * modules/crypto/gc-md4-tests: Moved from ../.
51824         * modules/crypto/gc-md5: Moved from ../.
51825         * modules/crypto/gc-md5-tests: Moved from ../.
51826         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
51827         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
51828         * modules/crypto/gc-random: Moved from ../.
51829         * modules/crypto/gc-rijndael: Moved from ../.
51830         * modules/crypto/gc-rijndael-tests: Moved from ../.
51831         * modules/crypto/gc-sha1: Moved from ../.
51832         * modules/crypto/gc-sha1-tests: Moved from ../.
51833         * modules/crypto/gc-tests: Moved from ../.
51834         * modules/crypto/hmac-md5: Moved from ../.
51835         * modules/crypto/hmac-md5-tests: Moved from ../.
51836         * modules/crypto/hmac-sha1: Moved from ../.
51837         * modules/crypto/hmac-sha1-tests: Moved from ../.
51838         * modules/crypto/md2: Moved from ../.
51839         * modules/crypto/md2-tests: Moved from ../.
51840         * modules/crypto/md4: Moved from ../.
51841         * modules/crypto/md4-tests: Moved from ../.
51842         * modules/crypto/md5: Moved from ../.
51843         * modules/crypto/md5-tests: Moved from ../.
51844         * modules/crypto/memxor: Moved from ../.
51845         * modules/crypto/rijndael: Moved from ../.
51846         * modules/crypto/rijndael-tests: Moved from ../.
51847         * modules/crypto/sha1: Moved from ../.
51848
51849 2007-03-30  James Youngman  <jay@gnu.org>
51850
51851         * tests/test-stat-time.c (prepare_test): use chmod() rather than
51852         rename() to change the ctime of a file (because ctime is unaffected
51853         by rename on jfs2 on AIX 5.1).
51854         (main): Start by doing cleanup, in case a previous run failed leaving
51855         test files behind.
51856
51857 2007-03-31  Bruno Haible  <bruno@clisp.org>
51858
51859         Support old proprietary implementations of iconv.
51860         * modules/iconv_open: New file.
51861         * lib/iconv_.h: New file.
51862         * m4/iconv_h.m4: New file.
51863         * lib/iconv_open.c: New file.
51864         * lib/iconv_open-aix.gperf: New file.
51865         * lib/iconv_open-hpux.gperf: New file.
51866         * lib/iconv_open-irix.gperf: New file.
51867         * lib/iconv_open-osf.gperf: New file.
51868         * m4/iconv_open.m4: New file.
51869         * modules/linebreak (Depends-on): Add iconv_open.
51870         * modules/striconv (Depends-on): Likewise.
51871         * modules/striconveh (Depends-on): Likewise.
51872         * modules/unicodeio (Depends-on): Likewise.
51873         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
51874         (iconv_t)(-1).
51875         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
51876         conversion if cd is (iconv_t)(-1).
51877         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
51878         is not possible.
51879
51880 2007-03-31  Bruno Haible  <bruno@clisp.org>
51881
51882         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51883         work on Solaris either. Protect also second use of "autodetect_jp".
51884
51885 2007-03-31  Bruno Haible  <bruno@clisp.org>
51886
51887         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
51888         the function is not present.
51889
51890 2007-03-31  Bruno Haible  <bruno@clisp.org>
51891
51892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
51893         the function is not present.
51894
51895 2007-03-31  Bruno Haible  <bruno@clisp.org>
51896
51897         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
51898         a bug in HP-UX iconv_open().
51899
51900 2007-03-31  Bruno Haible  <bruno@clisp.org>
51901
51902         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
51903         (Mathematics <math.h>): New section, add fpieee.
51904         (Input/output <stdio.h>): Add fseterr.
51905         (Mathematics <math.h>): New section, add printf-frexp.
51906         (Container data structures): Add sublist.
51907         (Core language properties): Add fpucw, inline.
51908         (Functions for greatest-width integer types <inttypes.h>): Add
51909         imaxabs, imaxdiv, inttypes.
51910         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
51911         isnanl-nolibm, ldexp.
51912         (Mathematics <math.h>): New section, add printf-frexpl.
51913         (Support for systems lacking POSIX:2001): Add fprintf-posix,
51914         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
51915         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
51916         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
51917         (Unicode string functions): Add unistr/u*-mbtoucr.
51918         (Java): Add javacomp-script, javaexec-script.
51919         (C#): Add csharpcomp-script, csharpexec-script.
51920         (Support for building libraries and executables): Add havelib,
51921         relocatable-*.
51922         (Support for maintaining and releasing projects): Renamed from
51923         'Support for maintaining and release projects'. Add announce-gen.
51924
51925 2007-03-31  Bruno Haible  <bruno@clisp.org>
51926
51927         * README: Talk primarily about git.
51928         (git and CVS): Renamed from CVS.
51929         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
51930         gnulib is available through git.
51931         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
51932
51933 2007-03-30  Bruno Haible  <bruno@clisp.org>
51934
51935         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
51936         * lib/poll_.h: Likewise.
51937         * lib/stat_.h: Likewise.
51938         * lib/sys_time_.h: Likewise.
51939         * lib/sysexit_.h: Likewise.
51940         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
51941         * lib/stdbool_.h: Likewise.
51942         * lib/byteswap_.h: Add double-inclusion guard.
51943
51944 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
51945
51946         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
51947
51948 2007-03-30  Karl Berry  <karl@gnu.org>
51949
51950         * config/srclist-update: double space after USA in the license
51951         substitution, since that's how it's usually (?) written.
51952
51953 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51954
51955         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
51956         reported by Bruno Haible.
51957
51958 2007-03-29  Bruno Haible  <bruno@clisp.org>
51959
51960         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
51961         a bug in AIX iconv().
51962
51963 2007-03-29  Bruno Haible  <bruno@clisp.org>
51964
51965         * modules/ldexpl-tests: New file.
51966         * tests/test-ldexpl.c: New file.
51967
51968 2007-03-29  Bruno Haible  <bruno@clisp.org>
51969
51970         * lib/ldexpl.c: Include fpucw.h.
51971         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51972         multiplication.
51973         * modules/ldexpl (Depends-on): Add fpucw.
51974
51975 2007-03-29  Bruno Haible  <bruno@clisp.org>
51976
51977         * modules/ldexpl: New file.
51978         * m4/ldexpl.m4: New file.
51979         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51980         set.
51981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51982         REPLACE_LDEXPL.
51983         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51984         REPLACE_LDEXPL.
51985         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51986         gl_FUNC_LDEXPL_WORKS.
51987         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51988         * modules/mathl (Files): Remove lib/ldexpl.c.
51989         (Depends-on): Add ldexpl.
51990
51991 2007-03-29  Bruno Haible  <bruno@clisp.org>
51992
51993         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51994
51995 2007-03-29  Bruno Haible  <bruno@clisp.org>
51996
51997         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51998         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51999         and possibly also HP-UX.
52000         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
52001         work on AIX, IRIX, HP-UX, OSF/1.
52002         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
52003         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
52004         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
52005         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
52006         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
52007         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
52008
52009 2007-03-29  Bruno Haible  <bruno@clisp.org>
52010
52011         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
52012
52013 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52014
52015         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
52016         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
52017
52018 2007-03-29  Eric Blake  <ebb9@byu.net>
52019
52020         * lib/acl-internal.h: Remove redundant include.
52021         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
52022         Cygwin when a file is locked.
52023
52024 2007-03-29  Bruno Haible  <bruno@clisp.org>
52025
52026         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
52027         file.
52028         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
52029
52030 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52031
52032         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
52033         try to remove a parent directory if the child couldn't be removed
52034         (except for the first rmdir, which could fail because the child
52035         doesn't exist).  Problem reported by Jeff Blaine in
52036         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
52037
52038 2007-03-28  Bruno Haible  <bruno@clisp.org>
52039
52040         * lib/striconveh.c (utf8conv_carefully): New function.
52041         (mem_cd_iconveh_internal): Invoke it.
52042
52043 2007-03-28  Bruno Haible  <bruno@clisp.org>
52044
52045         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
52046         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
52047         input.
52048         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
52049         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
52050         unistr/u8-uctomb.
52051
52052 2007-03-28  Bruno Haible  <bruno@clisp.org>
52053
52054         * modules/unistr/u8-mbtoucr: New file.
52055         * lib/unistr/u8-mbtoucr.c: New file.
52056         * modules/unistr/u16-mbtoucr: New file.
52057         * lib/unistr/u16-mbtoucr.c: New file.
52058         * modules/unistr/u16-mbtoucr: New file.
52059         * lib/unistr/u16-mbtoucr.c: New file.
52060         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
52061
52062 2007-03-27  Simon Josefsson  <simon@josefsson.org>
52063             Bruno Haible  <bruno@clisp.org>
52064
52065         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
52066         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
52067         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
52068
52069         * m4/stdio_h.m4: Add stubs for vasprintf too.
52070
52071         * modules/stdio: Support vasprintf in sed command.
52072
52073         * modules/vasprintf: Depend on stdio for prototypes.  Remove
52074         vasprintf.h.  Add stdio module indicator.
52075
52076         * lib/stdio_.h: Declare asprintf and vasprintf, based on
52077         vasprintf.h.
52078
52079         * lib/vasprintf.h: File removed.
52080
52081         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
52082         * lib/vasprintf.c: Ditto.
52083         * lib/xvasprintf.c: Ditto.
52084         * tests/test-vasprintf-posix.c: Ditto.
52085         * tests/test-vasprintf.c: Ditto.
52086
52087 2007-03-27  Bruno Haible  <bruno@clisp.org>
52088
52089         Make vasnprintf multithread-safe.
52090         * lib/vasnprintf.c (decimal_point_char): New function.
52091         (VASNPRINTF): Use it.
52092         Suggested by Simon Josefsson.
52093
52094 2007-03-27  Eric Blake  <ebb9@byu.net>
52095
52096         Support sub-second birthtime on cygwin.
52097         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
52098         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
52099         (get_stat_birthtime): Also work with st_birthtim.
52100
52101 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
52102
52103         * lib/stat-time.h (USE_BIRTHTIME): Remove.
52104         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
52105         (get_stat_birthtime_ns): Do not try to use "spare" fields.
52106         (get_stat_birthtime_ns): Simplify compile-time tests.
52107         (get_stat_birthtime): Change the API to look like
52108         get_stat_mtime etc., except return a negative tv_nsec on error.
52109         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
52110         Don't check for "spare" fields.
52111         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
52112         or for struct stat.st_birthtime, as these tests aren't used.
52113         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
52114
52115 2007-03-27  Bruno Haible  <bruno@clisp.org>
52116
52117         * lib/stat-time.h: Include <sys/stat.h>.
52118
52119 2007-03-27  James Youngman  <jay@gnu.org>
52120
52121         * lib/stat-time.h (get_stat_birthtime): New function for
52122           retrieving st_birthtime as provided by UFS2 (hence *BSD).
52123         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
52124           and its variants.
52125         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
52126         * modules/stat-time-test: New file.
52127         * tests/test-stat-time.c: New test, devised by Bruno Haible.
52128
52129 2007-03-26  Bruno Haible  <bruno@clisp.org>
52130
52131         Better support of signalling NaNs.
52132         * lib/atanl.c: Include isnanl.h.
52133         (atanl): Perform test for NaN at the beginning of the function and
52134         through a call to isnanl.
52135         * lib/cosl.c: Include isnanl.h.
52136         (cosl): Perform test for NaN at the beginning of the function and
52137         through a call to isnanl.
52138         * lib/ldexpl.c: Include isnanl.h.
52139         (ldexpl): Perform test for NaN through a call to isnanl.
52140         * lib/logl.c: Include isnanl.h.
52141         (logl): Perform test for NaN at the beginning of the function and
52142         through a call to isnanl.
52143         * lib/sinl.c: Include isnanl.h.
52144         (sinl): Perform test for NaN at the beginning of the function and
52145         through a call to isnanl.
52146         * lib/sqrtl.c: Include isnanl.h.
52147         (sqrtl): Perform test for NaN at the beginning of the function and
52148         through a call to isnanl.
52149         * lib/tanl.c: Include isnanl.h.
52150         (tanl): Perform test for NaN at the beginning of the function and
52151         through a call to isnanl.
52152         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
52153         * modules/mathl (Depends-on): Add isnanl.
52154
52155 2007-03-26  Eric Blake  <ebb9@byu.net>
52156
52157         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
52158         regression in logic sense of previous patch.
52159
52160 2007-03-26  Bruno Haible  <bruno@clisp.org>
52161
52162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
52163         unportable shell command "if ! ...".
52164         Reported by Ralf Wildenhues.
52165
52166 2007-03-25  Bruno Haible  <bruno@clisp.org>
52167
52168         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
52169         <sysexits.h> file, and only add EX_CONFIG.
52170         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
52171         absolute file name and whether it is sufficient. Substitute also
52172         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
52173         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
52174         ABSOLUTE_SYSEXITS_H into sysexits.h.
52175
52176 2007-03-25  Bruno Haible  <bruno@clisp.org>
52177
52178         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
52179         hints is NULL.
52180
52181 2007-03-25  Bruno Haible  <bruno@clisp.org>
52182
52183         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
52184         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
52185
52186 2007-03-25  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/vasnprintf.c: Include langinfo.h.
52189         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
52190         multithread-safe.
52191         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
52192         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
52193         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52194         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52195         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52196         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52197         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52198         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
52199         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52200         Reported by Simon Josefsson.
52201
52202 2007-03-25  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
52205         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
52206         * modules/vasnprintf (Depends-on): Add stdint.
52207
52208 2007-03-25  Bruno Haible  <bruno@clisp.org>
52209
52210         * modules/fpieee: New file.
52211         * m4/fpieee.m4: New file.
52212         * modules/isnan-nolibm (Depends-on): Add fpieee.
52213         * modules/isnanl-nolibm (Depends-on): Add fpieee.
52214         * modules/isnanl (Depends-on): Add fpieee.
52215
52216 2007-03-25  Bruno Haible  <bruno@clisp.org>
52217
52218         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
52219
52220 2007-03-25  Bruno Haible  <bruno@clisp.org>
52221
52222         Avoid test failures on IRIX 6.5.
52223         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
52224         (main): Use it.
52225         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
52226         macros.
52227         (main): Use them.
52228
52229 2007-03-25  Bruno Haible  <bruno@clisp.org>
52230
52231         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
52232         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
52233         exists but doesn't work.
52234         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
52235         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
52236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
52237         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
52238         math.h.
52239
52240 2007-03-25  Bruno Haible  <bruno@clisp.org>
52241
52242         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
52243         returns inf. Needed on IRIX 6.5.
52244
52245 2007-03-25  Bruno Haible  <bruno@clisp.org>
52246
52247         * tests/test-frexpl.c: Include isnanl-nolibm.h.
52248         (main): Use isnanl instead of x != x idiom.
52249         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
52250
52251         * tests/test-frexp.c: Include isnan.h.
52252         (main): Use isnan instead of x != x idiom.
52253         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
52254
52255 2007-03-25  Bruno Haible  <bruno@clisp.org>
52256
52257         * tests/test-frexp.c (NaN): New function/macro.
52258         (main): Use it instead of 0.0 / 0.0.
52259         * tests/test-isnan.c (NaN): New function/macro.
52260         (main): Use it instead of 0.0 / 0.0.
52261         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
52262         (test_function): Use it instead of 0.0 / 0.0.
52263         * tests/test-vasprintf-posix.c (NaN): New function/macro.
52264         (test_function): Use it instead of 0.0 / 0.0.
52265         * tests/test-snprintf-posix.h (NaN): New function/macro.
52266         (test_function): Use it instead of 0.0 / 0.0.
52267         * tests/test-sprintf-posix.h (NaN): New function/macro.
52268         (test_function): Use it instead of 0.0 / 0.0.
52269         * tests/test-fprintf-posix.h (NaN): New function/macro.
52270         (test_function): Use it instead of 0.0 / 0.0.
52271         * tests/test-printf-posix.h (NaN): New function/macro.
52272         (test_function): Use it instead of 0.0 / 0.0.
52273
52274         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
52275
52276 2007-03-25  Bruno Haible  <bruno@clisp.org>
52277
52278         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
52279
52280 2007-03-25  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/regexec.c (merge_state_with_log): Make static.
52283
52284 2007-03-25  Bruno Haible  <bruno@clisp.org>
52285
52286         * lib/trigl.c (kernel_rem_pio2): Make static.
52287
52288 2007-03-25  Bruno Haible  <bruno@clisp.org>
52289
52290         * lib/sincosl.c (sincosl_table): Make static.
52291
52292 2007-03-25  Bruno Haible  <bruno@clisp.org>
52293
52294         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
52295         if the compiler does not support C99.
52296
52297 2007-03-25  Bruno Haible  <bruno@clisp.org>
52298
52299         * modules/time (Makefile.am): Ensure all rule action lines start with a
52300         tab.
52301
52302 2007-03-24  Bruno Haible  <bruno@clisp.org>
52303
52304         * modules/tsearch-tests: New file.
52305         * tests/test-tsearch.sh: New file.
52306         * tests/test-tsearch.c: New file, mostly copied from glibc.
52307
52308         * modules/search-tests: New file.
52309         * tests/test-search.c: New file.
52310
52311         * modules/search: New file.
52312         * lib/search_.h: New file, incorporating lib/tsearch.h.
52313         * m4/search_h.m4: New file.
52314         * lib/tsearch.h: Remove file.
52315         * lib/tsearch.c: Include search.h instead of tsearch.h.
52316         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
52317         HAVE_TSEARCH.
52318         * modules/tsearch (Files): Remove lib/tsearch.h.
52319         (Depends-on): Add search.
52320         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
52321         (Include): Change tsearch.h into search.h.
52322
52323 2007-03-24  Bruno Haible  <bruno@clisp.org>
52324
52325         * modules/fpucw: New file.
52326         * lib/fpucw.h: New file.
52327         * lib/frexp.c: Include fpucw.h.
52328         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
52329         (FUNC): Use them.
52330         * lib/printf-frexp.c: Include fpucw.h.
52331         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
52332         (FUNC): Use them.
52333         * lib/vasnprintf.c: Include fpucw.h.
52334         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
52335         'long double' calculations.
52336         * tests/test-frexpl.c: Include fpucw.h.
52337         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
52338         * tests/test-printf-frexpl.c: Include fpucw.h.
52339         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
52340         * modules/frexpl (Depends-on): Add fpucw.
52341         * modules/printf-frexpl (Depends-on): Likewise.
52342         * modules/fprintf-posix (Depends-on): Likewise.
52343         * modules/snprintf-posix (Depends-on): Likewise.
52344         * modules/sprintf-posix (Depends-on): Likewise.
52345         * modules/vasnprintf-posix (Depends-on): Likewise.
52346         * modules/vasprintf-posix (Depends-on): Likewise.
52347         * modules/vfprintf-posix (Depends-on): Likewise.
52348         * modules/vsnprintf-posix (Depends-on): Likewise.
52349         * modules/vsprintf-posix (Depends-on): Likewise.
52350         * modules/frexpl-tests (Depends-on): Likewise.
52351         * modules/printf-frexpl-tests (Depends-on): Likewise.
52352
52353 2007-03-24  Bruno Haible  <bruno@clisp.org>
52354
52355         * lib/float+.h: New file.
52356         * lib/isnan.c: Include float+.h.
52357         (SIZE): New macro.
52358         (FUNC): Compare only SIZE bytes of the value.
52359         * lib/vasnprintf.c: Include float+.h.
52360         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
52361         SIZEOF_LDBL or SIZEOF_DBL bytes.
52362         * modules/isnan-nolibm (Files): Add lib/float+.h.
52363         * modules/isnanl-nolibm (Files): Add lib/float+.h.
52364         * modules/isnanl (Files): Add lib/float+.h.
52365         * modules/vasnprintf (Files): Add lib/float+.h.
52366
52367 2007-03-24  Bruno Haible  <bruno@clisp.org>
52368
52369         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
52370         include isnanl-nolibm.h.
52371
52372 2007-03-24  Bruno Haible  <bruno@clisp.org>
52373
52374         * tests/test-read-file.c (main): Don't produce spurious output for
52375         expected situations. Make the test fail if it encountered unexpected
52376         results.
52377
52378 2007-03-24  Bruno Haible  <bruno@clisp.org>
52379
52380         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
52381         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
52382
52383 2007-03-24  Bruno Haible  <bruno@clisp.org>
52384
52385         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
52386
52387 2007-03-24  Bruno Haible  <bruno@clisp.org>
52388
52389         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
52390         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
52391
52392         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
52393         * modules/utf8-ucs4: Turn into a symbolic link to module
52394         unistr/u8-mbtouc.
52395
52396         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
52397         utf8-ucs4-unsafe.
52398         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
52399         unistr/u8-mbtouc-unsafe.
52400
52401         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
52402         * modules/utf16-ucs4: Turn into a symbolic link to module
52403         unistr/u16-mbtouc.
52404
52405         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
52406         utf16-ucs4-unsafe.
52407         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
52408         unistr/u16-mbtouc-unsafe.
52409
52410         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
52411         * modules/ucs4-utf8: Turn into a symbolic link to module
52412         unistr/u8-ubtomb.
52413
52414         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
52415         * modules/ucs4-utf16: Turn into a symbolic link to module
52416         unistr/u16-ubtomb.
52417
52418 2007-03-24  Bruno Haible  <bruno@clisp.org>
52419
52420         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
52421         Enable the function only if HAVE_INLINE.
52422         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
52423         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52424         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
52425         Enable the function only if HAVE_INLINE.
52426         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
52427         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52428         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
52429         Enable the function only if HAVE_INLINE.
52430         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
52431         Enable the function only if HAVE_INLINE.
52432         * modules/utf8-ucs4: Update.
52433         * modules/utf8-ucs4-unsafe: Update.
52434         * modules/utf16-ucs4: Update.
52435         * modules/utf16-ucs4-unsafe: Update.
52436         * modules/ucs4-utf8: Update.
52437         * modules/ucs4-utf16: Update.
52438
52439 2007-03-24  Bruno Haible  <bruno@clisp.org>
52440
52441         * lib/utf8-ucs4.h: Remove file.
52442         * lib/utf8-ucs4-unsafe.h: Remove file.
52443         * lib/utf16-ucs4.h: Remove file.
52444         * lib/utf16-ucs4-unsafe.h: Remove file.
52445         * lib/ucs4-utf8.h: Remove file.
52446         * lib/ucs4-utf16.h: Remove file.
52447         * lib/unistr.h: Include their previous contents.
52448         * m4/utf-ucs4.m4: Remove file.
52449         * m4/ucs4-utf.m4: Remove file.
52450         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
52451         (Depends-on): Add unistr/base.
52452         (configure.ac): Remove gl_UTF_UCS4.
52453         (Makefile.am): Update.
52454         (Include): Change to unistr.h.
52455         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
52456         (Depends-on): Add unistr/base.
52457         (configure.ac): Remove gl_UTF_UCS4.
52458         (Makefile.am): Update.
52459         (Include): Change to unistr.h.
52460         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
52461         (Depends-on): Add unistr/base.
52462         (configure.ac): Remove gl_UTF_UCS4.
52463         (Makefile.am): Update.
52464         (Include): Change to unistr.h.
52465         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
52466         (Depends-on): Add unistr/base.
52467         (configure.ac): Remove gl_UTF_UCS4.
52468         (Makefile.am): Update.
52469         (Include): Change to unistr.h.
52470         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
52471         (Depends-on): Add unistr/base.
52472         (configure.ac): Remove gl_UCS4_UTF.
52473         (Makefile.am): Update.
52474         (Include): Change to unistr.h.
52475         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
52476         (Depends-on): Add unistr/base.
52477         (configure.ac): Remove gl_UCS4_UTF.
52478         (Makefile.am): Update.
52479         (Include): Change to unistr.h.
52480         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
52481         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
52482         utf8-ucs4-unsafe.h.
52483         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
52484         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
52485         utf16-ucs4-unsafe.h.
52486         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
52487         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
52488         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
52489         * lib/unistr/u8-strchr.c: Likewise.
52490         * lib/unistr/u8-strrchr.c: Likewise.
52491         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
52492         * lib/unistr/u16-strchr.c: Likewise.
52493         * lib/unistr/u16-strrchr.c: Likewise.
52494         * lib/striconveh.c: Update.
52495         * lib/linebreak.c: Update.
52496
52497 2007-03-24  Bruno Haible  <bruno@clisp.org>
52498
52499         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
52500         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
52501
52502 2007-03-22  Bruno Haible  <bruno@clisp.org>
52503
52504         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
52505
52506 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
52507
52508         * MODULES.html.sh (File system functions): New module write-any-file.
52509         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
52510         * m4/write-any-file.m4: New files.
52511
52512 2007-03-23  Eric Blake  <ebb9@byu.net>
52513
52514         * gnulib-tool: Rearrange space-tab sequences, since some editors
52515         like to eat them.
52516
52517 2007-03-23  Eric Blake  <ebb9@byu.net>
52518
52519         * lib/version-etc.c (version_etc_va): Update license wording to
52520         be more concise.  Recommended by Richard Stallman.
52521
52522 2007-03-22  Bruno Haible  <bruno@clisp.org>
52523
52524         * lib/poll.c (MSG_PEEK): New fallback definition.
52525
52526 2007-03-22  Bruno Haible  <bruno@clisp.org>
52527
52528         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
52529         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
52530         (main): Update.
52531         Fixes a compilation error on BeOS.
52532
52533 2007-03-22  Bruno Haible  <bruno@clisp.org>
52534
52535         * modules/frexpl-tests: New file.
52536         * tests/test-frexpl.c: New file.
52537
52538         * modules/frexpl: New file.
52539         * m4/frexpl.m4: New file.
52540         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
52541         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
52542         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
52543         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
52544         (Depends-on): Add frexpl. Remove isnanl-nolibm.
52545         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
52546
52547 2007-03-22  Bruno Haible  <bruno@clisp.org>
52548
52549         * lib/frexpl.c: Share code with lib/frexp.c.
52550         * modules/mathl (Files): Add lib/frexp.c.
52551         (Depends-on): Add isnanl-nolibm.
52552
52553 2007-03-22  Bruno Haible  <bruno@clisp.org>
52554
52555         * modules/printf-frexp (Files): Add m4/frexp.m4.
52556         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
52557         only if the found frexp function actually works.
52558
52559 2007-03-22  Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/frexp.c: Remove older implementation that uses divisions.
52562
52563 2007-03-21  Bruno Haible  <bruno@clisp.org>
52564
52565         * modules/frexp-tests: New file.
52566         * tests/test-frexp.c: New file.
52567
52568         * modules/frexp: New file.
52569         * lib/frexp.c: New file.
52570         * m4/frexp.m4: New file.
52571         * lib/math_.h (frexp): New declaration.
52572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
52573         REPLACE_FREXP.
52574         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
52575
52576 2007-03-21  Bruno Haible  <bruno@clisp.org>
52577
52578         * modules/isnanl-tests: New file.
52579         * tests/test-isnanl.c: New file.
52580
52581         * modules/isnanl: New file.
52582         * lib/isnanl.h: New file.
52583         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
52584         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
52585         gl_FUNC_ISNANL_WORKS.
52586         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
52587         New macros.
52588
52589 2007-03-21  Bruno Haible  <bruno@clisp.org>
52590
52591         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
52592         lib/isnanl.h.
52593         (Include): Update.
52594         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
52595         * lib/vasnprintf.c: Update.
52596         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
52597         tests/test-isnanl.h, remove tests/test-isnanl.c.
52598         (Makefile.am): Update.
52599         * tests/test-isnanl-nolibm.c: New file.
52600         * tests/test-isnanl.h: New file.
52601         * tests/test-isnanl.c: Remove file.
52602
52603 2007-03-21  Jim Meyering  <jim@meyering.net>
52604
52605         When trying to open ".", treat ESTALE like EACCES.
52606         * lib/savewd.c (savewd_save): Resort to forking not just upon
52607         failure with EACCES, but also when errno is ESTALE.
52608
52609 2007-03-20  Bruno Haible  <bruno@clisp.org>
52610
52611         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
52612         Needed on AIX 5.1. Reported by Matthew Woehlke.
52613
52614 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52615
52616         Suggestions by Bruno Haible:
52617         * lib/acl-internal.h: Include "gettext.h" rather than rolling
52618         our own.
52619         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
52620         * modules/acl (Depends-on): Add gettext.
52621
52622 2007-03-19  Bruno Haible  <bruno@clisp.org>
52623
52624         * modules/iconvme: Remove file.
52625         * lib/iconvme.h: Remove file.
52626         * lib/iconvme.c: Remove file.
52627         * m4/iconvme.m4: Remove file.
52628
52629 2007-03-19  Bruno Haible  <bruno@clisp.org>
52630
52631         * doc/relocatable-maint.texi: Break long shell script line.
52632         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52633
52634 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52635
52636         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
52637         handle file_has_acl.
52638         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
52639         * lib/acl.c: Move header inclusions and related macro defns into
52640         lib/acl-internal.h.
52641         (S_ISLNK): Remove defn, since that's now done for us.
52642         (file_has_acl): Move to lib/file-has-acl.c.
52643         Call acl_trivial if available.  This is the crucial part of the fix.
52644         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
52645         shared within the library.  Rewrite a bit, partly to make it compatible
52646         with the GNU coding style.
52647         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
52648         Remove unnecessary double-quotes.
52649         Don't test for acl_to_text; the build will catch that.
52650         Replace acl_entries if it doesn't exist and it is needed.
52651         Check for -lsec and acl_trivial (as used on Solaris 10).
52652         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
52653         lib/file-has-acl.c.
52654         (Depends-on): Add sys_stat, for S_ISLNK.
52655
52656 2007-03-19  Ben Pfaff  <blp@gnu.org>
52657
52658         * doc/gnulib.texi: Fix typos.
52659         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52660
52661 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52662
52663         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
52664         If size is zero here, buf must be zero.
52665
52666 2007-03-19  Simon Josefsson  <simon@josefsson.org>
52667
52668         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
52669         <bruno@clisp.org>.
52670
52671 2007-03-18  Bruno Haible  <bruno@clisp.org>
52672
52673         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
52674         Suggested by Eric Blake.
52675
52676 2007-03-18  Ben Pfaff  <blp@gnu.org>
52677
52678         * doc/relocatable.texi: Recommend using as prefix a directory
52679         that does not exist and will never be created.  Based on
52680         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
52681         and others.
52682
52683 2007-03-17  Bruno Haible  <bruno@clisp.org>
52684
52685         * lib/fchownat.c: Include lchown.h.
52686
52687 2007-03-17  Bruno Haible  <bruno@clisp.org>
52688
52689         Fix endless loop when the given allocated size was > INT_MAX.
52690         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
52691         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
52692         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
52693         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
52694         * lib/sprintf.c (sprintf): Likewise.
52695
52696 2007-03-17  Bruno Haible  <bruno@clisp.org>
52697
52698         * tests/test-argp-2.sh (func_compare): Output a context diff.
52699
52700 2007-03-17  Bruno Haible  <bruno@clisp.org>
52701
52702         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
52703         locale's decimal-point character.
52704
52705 2007-03-17  Bruno Haible  <bruno@clisp.org>
52706
52707         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
52708         before comparing it. Needed because on some platforms (e.g. x86) a
52709         'long double' occupies less bytes than sizeof (long double).
52710
52711 2007-03-17  Bruno Haible  <bruno@clisp.org>
52712
52713         * tests/test-crc.c (main): Make printf statements 64-bit clean.
52714         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
52715         * tests/test-getaddrinfo.c (simple): Likewise.
52716         * tests/test-read-file.c (main): Likewise.
52717
52718 2007-03-17  Bruno Haible  <bruno@clisp.org>
52719
52720         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
52721
52722 2007-03-17  Bruno Haible  <bruno@clisp.org>
52723
52724         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
52725         unused variable.
52726
52727 2007-03-17  Bruno Haible  <bruno@clisp.org>
52728
52729         * tests/test-c-strcasecmp.c: Include c-strcase.h.
52730         * tests/test-c-strncasecmp.c: Likewise.
52731
52732 2007-03-17  Bruno Haible  <bruno@clisp.org>
52733
52734         * modules/stdlib (Depends-on): Add unistd.
52735         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
52736         Needed for MacOS X 10.3.
52737
52738 2007-03-17  Bruno Haible  <bruno@clisp.org>
52739
52740         * lib/unistr/u-strdup.h: Include <stdlib.h>.
52741
52742 2007-03-17  Bruno Haible  <bruno@clisp.org>
52743
52744         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
52745
52746 2007-03-17  Bruno Haible  <bruno@clisp.org>
52747
52748         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
52749         to reflect files copied from gnulib (with or without modifications).
52750         Suggested by Jim Meyering.
52751
52752 2007-03-17  Eric Blake  <ebb9@byu.net>
52753
52754         * NEWS: Document stdlib change from 2007-02-18.
52755
52756 2007-03-17  Jim Meyering  <jim@meyering.net>
52757
52758         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
52759         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
52760         someone uses a name containing shell meta-characters.
52761         Reported by Alfred M. Szmidt.
52762
52763         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
52764
52765 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52766
52767         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
52768         and copy gettext configuration files only if configure.ac contains
52769         a use of AM_GNU_GETTEXT_VERSION.
52770
52771 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52772
52773         * build-aux/bootstrap (gnulib_name): New variable.
52774         (gnulib_tool_options): Use it.
52775
52776 2007-03-13  Simon Josefsson  <simon@josefsson.org>
52777
52778         * tests/test-des.c: Use new namespace.
52779
52780 2007-03-15  Bruno Haible  <bruno@clisp.org>
52781
52782         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
52783         Reported by James Youngman <jay@gnu.org>.
52784
52785 2007-03-15  Bruno Haible  <bruno@clisp.org>
52786
52787         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
52788         declared prototype. Needed with cc on OSF/1 5.1.
52789
52790 2007-03-15  Bruno Haible  <bruno@clisp.org>
52791
52792         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
52793         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
52794         (struct gl_list_implementation): Add dispose_fn argument to the
52795         'create_empty', 'create' methods.
52796         (struct gl_list_impl_base): Add field 'dispose_fn'.
52797         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
52798         argument.
52799         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
52800         dispose_fn argument.
52801         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
52802         dispose_fn on the dropped values.
52803         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
52804         dispose_fn argument.
52805         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
52806         dropped values.
52807         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
52808         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52809         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
52810         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52811         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
52812         argument.
52813         (gl_tree_list_free): Call dispose_fn on the dropped values.
52814         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
52815         the dropped values.
52816         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52817         Add dispose_fn argument.
52818         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
52819         Call dispose_fn on the dropped values.
52820         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
52821         Add dispose_fn argument.
52822         (gl_sublist_create): Initialize the 'dispose_fn' field.
52823         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
52824         * tests/test-array_list.c (main): Update.
52825         * tests/test-carray_list.c (main): Update.
52826         * tests/test-avltree_list.c (main): Update.
52827         * tests/test-rbtree_list.c (main): Update.
52828         * tests/test-avltreehash_list.c (main): Update.
52829         * tests/test-rbtreehash_list.c (main): Update.
52830         * tests/test-linked_list.c (main): Update.
52831         * tests/test-linkedhash_list.c (main): Update.
52832         * tests/test-array_oset.c (main): Update.
52833
52834 2007-03-15  Bruno Haible  <bruno@clisp.org>
52835
52836         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
52837         (gl_oset_create_empty): Add dispose_fn argument.
52838         (struct gl_oset_implementation): Add dispose_fn argument to
52839         'create_empty' method.
52840         (struct gl_oset_impl_base): Add dispose_fn field.
52841         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
52842         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
52843         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
52844         values.
52845         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
52846         (gl_tree_oset_free): Call dispose_fn on the dropped values.
52847         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52848         dropped value.
52849         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52850         dropped value.
52851         * tests/test-array_oset.c (main): Update.
52852         * tests/test-avltree_oset.c (main): Update.
52853         * tests/test-rbtree_oset.c (main): Update.
52854         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
52855
52856 2007-03-13  Bruno Haible  <bruno@clisp.org>
52857
52858         * tests/test-stdbool.c (i): Update after last patch.
52859
52860 2007-03-12  Bruno Haible  <bruno@clisp.org>
52861
52862         * lib/quotearg.c: Include <wctype.h> early, before the definition of
52863         the iswprint macro. Needed on Solaris 2.5.1.
52864
52865 2007-03-12  Bruno Haible  <bruno@clisp.org>
52866
52867         * tests/test-printf-frexp.c (main): Declare x as volatile.
52868
52869 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52870
52871         * doc/gnulib.texi (Build robot for gnulib): New section.
52872
52873 2007-03-12  Jim Meyering  <jim@meyering.net>
52874
52875         * build-aux/bootstrap: New file.
52876         * build-aux/bootstrap.conf: New file, from coreutils.
52877
52878 2007-03-11  Bruno Haible  <bruno@clisp.org>
52879
52880         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
52881
52882 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52883
52884         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
52885         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
52886         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
52887
52888 2007-03-11  Bruno Haible  <bruno@clisp.org>
52889
52890         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
52891         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
52892
52893 2007-03-11  Bruno Haible  <bruno@clisp.org>
52894
52895         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
52896         formula. Needed for SunPRO C 5.0.
52897
52898 2007-03-11  Bruno Haible  <bruno@clisp.org>
52899
52900         * modules/long-options (Depends-on): Add getopt.
52901
52902 2007-03-11  Bruno Haible  <bruno@clisp.org>
52903
52904         * modules/modechange (Depends-on): Add stdbool.
52905
52906 2007-03-11  Bruno Haible  <bruno@clisp.org>
52907
52908         * modules/i-ring (Depends-on): Add stdbool.
52909
52910 2007-03-11  Bruno Haible  <bruno@clisp.org>
52911
52912         * modules/gc-des (Depends-on): Add stdbool.
52913
52914 2007-03-11  Bruno Haible  <bruno@clisp.org>
52915
52916         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
52917
52918 2007-03-11  Bruno Haible  <bruno@clisp.org>
52919
52920         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
52921
52922 2007-03-11  Bruno Haible  <bruno@clisp.org>
52923
52924         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
52925
52926 2007-03-11  Bruno Haible  <bruno@clisp.org>
52927
52928         * lib/vasnprintf.c (sprintf): Undefine.
52929
52930 2007-03-11  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
52933         initializers in SunPRO C and Compaq C compilers.
52934
52935 2007-03-11  Bruno Haible  <bruno@clisp.org>
52936
52937         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
52938         decrementing code ANSI C compliant.
52939
52940 2007-03-11  Bruno Haible  <bruno@clisp.org>
52941
52942         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
52943         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
52944
52945 2007-03-11  Bruno Haible  <bruno@clisp.org>
52946
52947         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
52948         <stdbool.h> substitute doesn't pass.
52949
52950 2007-03-11  Bruno Haible  <bruno@clisp.org>
52951
52952         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
52953
52954 2007-03-11  Bruno Haible  <bruno@clisp.org>
52955
52956         * gnulib-tool (func_create_megatestdir): Create also an autobuild
52957         script, for submission to autobuild.josefsson.org.
52958
52959 2007-03-10  Bruno Haible  <bruno@clisp.org>
52960
52961         * modules/canonicalize-lgpl-tests: New file.
52962         * tests/test-canonicalize-lgpl.sh: New file.
52963         * tests/test-canonicalize-lgpl.c: New file.
52964
52965         * modules/c-strcase-tests: New file.
52966         * tests/test-c-strcase.sh: New file.
52967         * tests/test-c-strcasecmp.c: New file.
52968         * tests/test-c-strncasecmp.c: New file.
52969
52970         * modules/atexit-tests: New file.
52971         * tests/test-atexit.sh: New file.
52972         * tests/test-atexit.c: New file.
52973
52974 2007-03-10  Bruno Haible  <bruno@clisp.org>
52975
52976         * tests/test-binary-io.sh: Use temporary filenames that are not so
52977         likely to clash with those of other tests (in a parallel make).
52978         * tests/test-binary-io.c: Likewise.
52979
52980 2007-03-10  Bruno Haible  <bruno@clisp.org>
52981
52982         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52983         fallback; use #error instead.
52984         Suggested by Simon Josefsson.
52985
52986 2007-03-10  Bruno Haible  <bruno@clisp.org>
52987
52988         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52989         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52990         first and the last.
52991
52992 2007-03-10  Bruno Haible  <bruno@clisp.org>
52993
52994         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52995
52996 2007-03-10  Bruno Haible  <bruno@clisp.org>
52997
52998         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52999         "make distcheck".
53000         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
53001         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
53002         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
53003
53004 2007-03-10  Bruno Haible  <bruno@clisp.org>
53005
53006         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
53007         variable.
53008         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
53009         variable.
53010
53011 2007-03-09  Eric Blake  <ebb9@byu.net>
53012         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
53013
53014         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
53015         types are not being provided by gnulib.
53016         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
53017         types are supported.
53018
53019 2007-03-10  Bruno Haible  <bruno@clisp.org>
53020
53021         * lib/stdio_.h (__attribute__): New macro.
53022         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
53023         vsprintf): Specify __attribute__ __format__ for GCC.
53024         Suggested by Eric Blake.
53025
53026 2007-03-09  Bruno Haible  <bruno@clisp.org>
53027
53028         * modules/printf-posix-tests: New file.
53029         * tests/test-printf-posix.sh: New file.
53030         * tests/test-printf-posix.c: New file.
53031
53032         * modules/printf-posix: New file.
53033         * lib/printf.c: New file.
53034         * m4/printf-posix-rpl.m4: New file.
53035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
53036         REPLACE_PRINTF.
53037         * lib/stdio_.h (printf): New declaration.
53038         (format, __format__, ____printf____, ____scanf____, ____strftime____,
53039         ____strfmon____): New macros.
53040         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
53041         REPLACE_PRINTF.
53042
53043 2007-03-09  Bruno Haible  <bruno@clisp.org>
53044
53045         * tests/test-vasnprintf-posix2.sh: New file.
53046         * tests/test-vasnprintf-posix2.c: New file.
53047         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
53048         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
53049         (Makefile.am): Activate test-vasnprintf-posix2.sh.
53050
53051         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
53052         a locale dependent decimal point, rather than always '.'.
53053
53054 2007-03-09  Eric Blake  <ebb9@byu.net>
53055
53056         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
53057         spite of platforms like Tandem/NSK that define it to -1.
53058
53059 2007-03-08  Bruno Haible  <bruno@clisp.org>
53060
53061         * modules/vprintf-posix-tests: New file.
53062         * tests/test-vprintf-posix.sh: New file.
53063         * tests/test-vprintf-posix.c: New file.
53064         * tests/test-printf-posix.h: New file.
53065
53066         * modules/vprintf-posix: New file.
53067         * lib/vprintf.c: New file.
53068         * m4/vprintf-posix.m4: New file.
53069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
53070         REPLACE_VPRINTF.
53071         * lib/stdio_.h (vprintf): New declaration.
53072         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
53073         REPLACE_VPRINTF.
53074
53075 2007-03-08  Bruno Haible  <bruno@clisp.org>
53076
53077         * modules/fprintf-posix-tests: New file.
53078         * tests/test-fprintf-posix.sh: New file.
53079         * tests/test-fprintf-posix.c: New file.
53080
53081         * modules/fprintf-posix: New file.
53082         * lib/fprintf.c: New file.
53083         * m4/fprintf-posix.m4: New file.
53084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
53085         REPLACE_FPRINTF.
53086         * lib/stdio_.h (fprintf): New declaration.
53087         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
53088         REPLACE_FPRINTF.
53089
53090 2007-03-08  Bruno Haible  <bruno@clisp.org>
53091
53092         * modules/vfprintf-posix-tests: New file.
53093         * tests/test-vfprintf-posix.sh: New file.
53094         * tests/test-vfprintf-posix.c: New file.
53095         * tests/test-fprintf-posix.h: New file.
53096         * tests/test-fprintf-posix.out: New file.
53097
53098         * modules/vfprintf-posix: New file.
53099         * lib/vfprintf.c: New file.
53100         * m4/vfprintf-posix.m4: New file.
53101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
53102         REPLACE_VFPRINTF.
53103         * lib/stdio_.h (vfprintf): New declaration.
53104         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
53105         REPLACE_VFPRINTF.
53106
53107 2007-03-08  Bruno Haible  <bruno@clisp.org>
53108
53109         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
53110
53111 2007-03-08  Bruno Haible  <bruno@clisp.org>
53112
53113         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
53114         instead of 'expr' invocations.
53115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53118         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53119         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53120         Suggested by Paul Eggert.
53121
53122 2007-03-08  Bruno Haible  <bruno@clisp.org>
53123
53124         * modules/fseterr-tests: New file.
53125         * tests/test-fseterr.c: New file.
53126
53127         * modules/fseterr: New file.
53128         * lib/fseterr.h: New file.
53129         * lib/fseterr.c: New file.
53130
53131 2007-03-08  Bruno Haible  <bruno@clisp.org>
53132
53133         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
53134         * lib/getopt_.h: Likewise.
53135         * lib/mbswidth.h: Likewise.
53136         * lib/setenv.h: Likewise.
53137         * lib/vasnprintf.h: Likewise.
53138         * lib/vasprintf.h: Likewise.
53139         * lib/verror.h: Likewise.
53140         * lib/xsetenv.h: Likewise.
53141         * lib/xvasprintf.h: Likewise.
53142
53143 2007-03-08  Jim Meyering  <jim@meyering.net>
53144
53145         * users.txt: Add parted.
53146
53147         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
53148
53149 2007-03-07  Bruno Haible  <bruno@clisp.org>
53150
53151         * m4/printf.m4: Make the shell script snippets copy&pastable.
53152
53153 2007-03-02  Bruno Haible  <bruno@clisp.org>
53154
53155         * lib/netinet_in_.h: New file.
53156         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
53157         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
53158         * modules/netinet_in (Files): Add lib/netinet_in_.h.
53159         (Depends-on): Add absolute-header.
53160         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
53161         into netinet/in.h.
53162
53163 2007-03-03  Bruno Haible  <bruno@clisp.org>
53164
53165         * lib/sys_select_.h: New file.
53166         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
53167         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
53168         * modules/sys_select (Files): Add lib/sys_select_.h.
53169         (Depends-on): Add absolute-header.
53170         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
53171         into sys/select.h.
53172
53173 2007-03-02  Bruno Haible  <bruno@clisp.org>
53174
53175         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
53176         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
53177         values.
53178         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
53179         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
53180         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
53181         * modules/sys_socket (Depends-on): Add absolute-header.
53182         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
53183         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
53184         (Include): Remove requirement of inclusion of <sys/types.h>.
53185
53186 2007-03-02  Bruno Haible  <bruno@clisp.org>
53187
53188         * lib/byteswap_.h (bswap_32): Fix formula.
53189
53190 2007-03-06  Bruno Haible  <bruno@clisp.org>
53191
53192         * modules/sprintf-posix-tests: New file.
53193         * tests/test-sprintf-posix.c: New file.
53194
53195         * modules/sprintf-posix: New file.
53196         * lib/sprintf.c: New file.
53197         * m4/sprintf-posix.m4: New file.
53198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
53199         REPLACE_SPRINTF.
53200         * lib/stdio_.h (sprintf): New declaration.
53201         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
53202         REPLACE_SPRINTF.
53203
53204 2007-03-06  Bruno Haible  <bruno@clisp.org>
53205
53206         * modules/vsprintf-posix-tests: New file.
53207         * tests/test-vsprintf-posix.c: New file.
53208         * tests/test-sprintf-posix.h: New file.
53209
53210         * modules/vsprintf-posix: New file.
53211         * lib/vsprintf.c: New file.
53212         * m4/vsprintf-posix.m4: New file.
53213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
53214         REPLACE_VSPRINTF.
53215         * lib/stdio_.h (vsprintf): New declaration.
53216         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
53217         REPLACE_VSPRINTF.
53218
53219 2007-03-06  Bruno Haible  <bruno@clisp.org>
53220
53221         * modules/vsnprintf (Depend-on): Remove minmax.
53222
53223 2007-03-06  Bruno Haible  <bruno@clisp.org>
53224
53225         * modules/snprintf-posix-tests: New file.
53226         * tests/test-snprintf-posix.c: New file.
53227
53228         * modules/snprintf-posix: New file.
53229         * m4/snprintf-posix.m4: New file.
53230         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
53231         gl_FUNC_SNPRINTF.
53232         (gl_FUNC_SNPRINTF): Invoke it.
53233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
53234         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
53235         is set.
53236         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
53237
53238 2007-03-06  Bruno Haible  <bruno@clisp.org>
53239
53240         * modules/vsnprintf-posix-tests: New file.
53241         * tests/test-vsnprintf-posix.c: New file.
53242         * tests/test-snprintf-posix.h: New file.
53243
53244         * modules/vsnprintf-posix: New file.
53245         * m4/vsnprintf-posix.m4: New file.
53246         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
53247         gl_FUNC_VSNPRINTF.
53248         (gl_FUNC_VSNPRINTF): Invoke it.
53249         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
53250         * lib/stdio_.h (vsnprintf): Define as a replacement if
53251         REPLACE_VSNPRINTF is set.
53252         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
53253
53254 2007-03-06  Bruno Haible  <bruno@clisp.org>
53255
53256         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
53257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
53258
53259 2007-03-06  Bruno Haible  <bruno@clisp.org>
53260
53261         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
53262         (asinl): Declare also if HAVE_DECL_ASINL is set.
53263         (atanl): Declare also if HAVE_DECL_ATANL is set.
53264         (ceill): Declare also if HAVE_DECL_CEILL is set.
53265         (cosl): Declare also if HAVE_DECL_COSL is set.
53266         (expl): Declare also if HAVE_DECL_EXPL is set.
53267         (floorl): Declare also if HAVE_DECL_FLOORL is set.
53268         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
53269         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
53270         (logl): Declare also if HAVE_DECL_LOGL is set.
53271         (sinl): Declare also if HAVE_DECL_SINL is set.
53272         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
53273         (tanl): Declare also if HAVE_DECL_TANL is set.
53274         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
53275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
53276         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
53277         declaration of frexpl, ldexpl.
53278         * modules/printf-frexpl (Depends-on): Add math.
53279         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
53280
53281 2007-03-05  Bruno Haible  <bruno@clisp.org>
53282
53283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
53284         frexpl and ldexpl are declared.
53285         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
53286
53287 2007-03-05  Bruno Haible  <bruno@clisp.org>
53288
53289         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
53290         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
53291
53292 2007-03-05  Bruno Haible  <bruno@clisp.org>
53293
53294         * lib/stdio_.h: Include <stddef.h>.
53295
53296 2007-03-05  Bruno Haible  <bruno@clisp.org>
53297
53298         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
53299
53300 2007-03-05  Bruno Haible  <bruno@clisp.org>
53301
53302         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
53303         NetBSD 4, from Ralf Wildenhues.
53304
53305 2007-03-04  Bruno Haible  <bruno@clisp.org>
53306
53307         * lib/vasprintf.h: Update #if logic for the case when the functions
53308         exist but are overridden.
53309
53310 2007-03-04  Bruno Haible  <bruno@clisp.org>
53311
53312         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
53313         implementations: glibc-2.4 and MacOS X 10.3.
53314         * tests/test-vasnprintf-posix.c (test_function): Test also the case
53315         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
53316         * tests/test-vasprintf-posix.c (test_function): Likewise.
53317
53318 2007-03-04  Bruno Haible  <bruno@clisp.org>
53319
53320         * modules/vasprintf-posix-tests: New file.
53321         * tests/test-vasprintf-posix.c: New file.
53322
53323         * modules/vasprintf-posix: New file.
53324         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
53325         defined.
53326         * m4/vasprintf-posix.m4: New file.
53327         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
53328         gl_FUNC_VASPRINTF.
53329         (gl_FUNC_VASPRINTF): Invoke it.
53330         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
53331         here.
53332         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
53333
53334 2007-03-04  Bruno Haible  <bruno@clisp.org>
53335
53336         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
53337         REPLACE_GETTIMEOFDAY.
53338         * modules/sys_time (Makefile.am): Likewise.
53339         * m4/sys_time_h.m4: Likewise.
53340         * m4/gettimeofday.m4: Likewise.
53341
53342 2007-03-04  Bruno Haible  <bruno@clisp.org>
53343
53344         * modules/vasnprintf-posix-tests: New file.
53345         * tests/test-vasnprintf-posix.c: New file.
53346
53347         * modules/vasnprintf-posix: New file.
53348         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
53349         printf-frexpl.h.
53350         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
53351         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
53352         REPLACE_VASNPRINTF is defined.
53353         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
53354         gl_FUNC_VASNPRINTF.
53355         (gl_FUNC_VASNPRINTF): Invoke it.
53356         * m4/vasnprintf-posix.m4: New file.
53357         * m4/printf.m4: New file.
53358
53359 2007-03-04  Bruno Haible  <bruno@clisp.org>
53360
53361         Compile progreloc.c only if --enable-relocatable is specified.
53362         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
53363         if --enable-relocatable was specified.
53364         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
53365         lib_SOURCES.
53366
53367 2007-03-04  Jim Meyering  <jim@meyering.net>
53368
53369         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
53370         Use it consistently, rather than enumerating errno constants.
53371
53372 2007-03-04  Bruno Haible  <bruno@clisp.org>
53373
53374         * modules/xvasprintf-tests: New file.
53375         * tests/test-xvasprintf.c: New file.
53376
53377         * modules/vasprintf-tests: New file.
53378         * tests/test-vasprintf.c: New file.
53379
53380         * modules/vasnprintf-tests: New file.
53381         * tests/test-vasnprintf.c: New file.
53382
53383         * modules/vsnprintf-tests: New file.
53384         * tests/test-vsnprintf.c: New file.
53385
53386         * modules/snprintf-tests: New file.
53387         * tests/test-snprintf.c: New file.
53388
53389 2007-03-04  Bruno Haible  <bruno@clisp.org>
53390
53391         Compile relocatable.c only if --enable-relocatable is specified.
53392         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
53393         gl_RELOCATABLE_LIBRARY.
53394         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
53395         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
53396         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
53397         gl_RELOCATABLE_LIBRARY.
53398         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
53399         (Makefile.am): Remove lib_SOURCES.
53400         * modules/relocatable-lib-lgpl (configure.ac): Invoke
53401         gl_RELOCATABLE_LIBRARY.
53402         (Makefile.am): Remove lib_SOURCES.
53403         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
53404         always.
53405         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53406         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
53407
53408 2007-03-04  Bruno Haible  <bruno@clisp.org>
53409
53410         * modules/argmatch-tests: New file.
53411         * tests/test-argmatch.c: New file.
53412
53413         * tests/test-allocsa.c (main): Halve the number of loop runs.
53414
53415         * modules/alloca-opt-tests: New file.
53416         * tests/test-alloca-opt.c: New file.
53417
53418 2007-03-04  Jim Meyering  <jim@meyering.net>
53419
53420         Work around difference between Linux ACLs and Solaris 10 ZFS.
53421         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
53422         for EINVAL.
53423
53424 2007-03-03  Bruno Haible  <bruno@clisp.org>
53425
53426         * modules/relocatable-prog (Depends-on): Add back progreloc's
53427         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
53428
53429 2007-03-03  Bruno Haible  <bruno@clisp.org>
53430
53431         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
53432         * modules/relocatable-lib: New file.
53433
53434 2007-03-03  Bruno Haible  <bruno@clisp.org>
53435
53436         * modules/relocatable-prog: Renamed from modules/relocatable.
53437         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
53438
53439 2007-03-03  Bruno Haible  <bruno@clisp.org>
53440
53441         * modules/relocatable-script (Files): Add doc/relocatable.texi,
53442         m4/relocatable-lib.m4.
53443         (Depends-on): Remove 'relocatable'.
53444         (configure.ac): Add gl_RELOCATABLE_NOP.
53445
53446 2007-03-03  Bruno Haible  <bruno@clisp.org>
53447
53448         * modules/relocatable-prog-wrapper: New file.
53449         * modules/relocatable (Depends-on): Add it. Remove all other
53450         dependencies except progname.
53451         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
53452
53453         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
53454         (gl_FUNC_STRERROR): Nop.
53455         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
53456
53457         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
53458         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
53459
53460         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
53461         (gl_FUNC_READLINK): Update.
53462
53463         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
53464
53465 2007-03-03  Bruno Haible  <bruno@clisp.org>
53466
53467         * lib/xreadlink.c: Include <unistd.h> unconditionally.
53468         * modules/xreadlink (Depends-on): Add unistd.
53469         * modules/xreadlink-with-size (Depends-on): Likewise.
53470
53471 2007-03-03  Bruno Haible  <bruno@clisp.org>
53472
53473         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
53474         extracted from gt_FUNC_SETENV.
53475         (gt_FUNC_SETENV): Remove macro.
53476         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
53477         remove gt_FUNC_SETENV.
53478
53479 2007-03-03  Bruno Haible  <bruno@clisp.org>
53480
53481         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
53482         ENABLE_RELOCATABLE here.
53483         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
53484
53485 2007-03-03  Bruno Haible  <bruno@clisp.org>
53486
53487         * modules/rbtreehash-list-tests (Depends-on): Add progname.
53488         * tests/test-rbtreehash_list.c: Include progname.h.
53489         (main): Call set_program_name.
53490
53491         * modules/rbtree-oset-tests (Depends-on): Add progname.
53492         * tests/test-rbtree_oset.c: Include progname.h.
53493         (main): Call set_program_name.
53494
53495         * modules/rbtree-list-tests (Depends-on): Add progname.
53496         * tests/test-rbtree_list.c: Include progname.h.
53497         (main): Call set_program_name.
53498
53499         * modules/linked-list-tests (Depends-on): Add progname.
53500         * tests/test-linked_list.c: Include progname.h.
53501         (main): Call set_program_name.
53502
53503 2007-03-03  Bruno Haible  <bruno@clisp.org>
53504
53505         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
53506         All uses of __restrict changed to _Restrict_.
53507         * lib/glob_.h (__restrict): Remove macro.
53508
53509 2007-03-02  Bruno Haible  <bruno@clisp.org>
53510
53511         * modules/gettext (configure.ac): Require gettext infrastructure
53512         from version 0.16.1.
53513
53514 2007-03-02  Bruno Haible  <bruno@clisp.org>
53515
53516         * modules/linkedhash-list-tests (Depends-on): Add progname.
53517         * tests/test-linkedhash_list.c: Include progname.h.
53518         (main): Call set_program_name.
53519
53520         * modules/carray-list-tests (Depends-on): Add progname.
53521         * tests/test-carray_list.c: Include progname.h.
53522         (main): Call set_program_name.
53523
53524         * modules/avltreehash-list-tests (Depends-on): Add progname.
53525         * tests/test-avltreehash_list.c: Include progname.h.
53526         (main): Call set_program_name.
53527
53528         * modules/avltree-oset-tests (Depends-on): Add progname.
53529         * tests/test-avltree_oset.c: Include progname.h.
53530         (main): Call set_program_name.
53531
53532         * modules/avltree-list-tests (Depends-on): Add progname.
53533         * tests/test-avltree_list.c: Include progname.h.
53534         (main): Call set_program_name.
53535
53536         * modules/array-oset-tests (Depends-on): Add progname.
53537         * tests/test-array_oset.c: Include progname.h.
53538         (main): Call set_program_name.
53539
53540         * modules/array-list-tests (Depends-on): Add progname.
53541         * tests/test-array_list.c: Include progname.h.
53542         (main): Call set_program_name.
53543
53544         * modules/argp-tests (Depends-on): Add progname.
53545         * tests/test-argp.c: Include argp.h first. Include progname.h.
53546         (main): Call set_program_name.
53547
53548 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
53549
53550         * doc/gnulib-tool.texi (Initial import): Reword description of
53551         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
53552         limited effect even if defined after the first system include.
53553
53554 2007-03-01  Bruno Haible  <bruno@clisp.org>
53555
53556         * build-aux/config.libpath: Update to libtool-1.5.22.
53557         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53558
53559 2007-03-01  Bruno Haible  <bruno@clisp.org>
53560
53561         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
53562         foo_CFLAGS.
53563         Reported by Ralf Wildenhues.
53564
53565 2007-03-01  Bruno Haible  <bruno@clisp.org>
53566
53567         * build-aux/install-reloc: Remove object files left over by some
53568         compilers.
53569         Reported by Ralf Wildenhues.
53570
53571 2007-03-01  Bruno Haible  <bruno@clisp.org>
53572
53573         * build-aux/install-reloc: Break long lines.
53574
53575 2007-03-01  Bruno Haible  <bruno@clisp.org>
53576
53577         * doc/relocatable.texi: Document that it may not work on OpenBSD.
53578         Reported by Ralf Wildenhues.
53579
53580 2007-03-01  Bruno Haible  <bruno@clisp.org>
53581
53582         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
53583         include ordering constraints.
53584
53585 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53586
53587         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
53588         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
53589         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
53590         as another example.
53591         * lib/time_.h: Fix misspelling.
53592         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53593         Require gl_HEADER_TIME_H_DEFAULTS.
53594         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
53595         * m4/time_r.m4 (gl_TIME_R): Likewise.
53596         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
53597
53598 2007-03-01  Bruno Haible  <bruno@clisp.org>
53599
53600         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
53601         * m4/utimens.m4 (gl_UTIMENS): Likewise.
53602
53603 2007-03-01  Jim Meyering  <jim@meyering.net>
53604
53605         * modules/xreadlink (Maintainer): Add my name.
53606         * modules/xreadlink-with-size (Depends-on): Alphabetize.
53607
53608 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
53609             Bruno Haible  <bruno@clisp.org>
53610
53611         * build-aux/install-reloc: Compile also c-ctype.c.
53612         * build-aux/relocatable.sh.in: New file.
53613         * doc/relocatable.texi: New file.
53614         * doc/relocatable-maint.texi: New file.
53615         * doc/gnulib.texi: Include relocatable-maint.texi.
53616         * lib/progreloc.c: Include unistd.h unconditionally.
53617         * lib/relocwrapper.c: Include unistd.h unconditionally.
53618         Include c-ctype.h.
53619         (add_dotbin): Use c_tolower.
53620         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
53621         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
53622         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
53623         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
53624         to m4/relocatable-lib.m4.
53625         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
53626         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
53627         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
53628         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
53629         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
53630         * modules/relocatable: New file.
53631         * modules/relocatable-lib: New file.
53632         * modules/relocatable-script: New file.
53633
53634 2007-02-28  Bruno Haible  <bruno@clisp.org>
53635
53636         Import --enable-relocatable infrastructure.
53637         * build-aux/config.libpath: New file, from GNU gettext.
53638         * build-aux/install-reloc: New file, from GNU gettext.
53639         * build-aux/reloc-ldflags: New file, from GNU gettext.
53640         * lib/relocatable.h: New file, from GNU gettext.
53641         * lib/relocatable.c: New file, from GNU gettext.
53642         * lib/relocwrapper.c: New file, from GNU gettext.
53643         * m4/relocatable.m4: New file, from GNU gettext.
53644
53645 2007-02-28  Bruno Haible  <bruno@clisp.org>
53646
53647         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
53648
53649         * modules/xreadlink: New file, from GNU gettext with modifications.
53650         * lib/xreadlink.c: New file, from GNU gettext.
53651         * lib/xreadlink.h: Add comments.
53652         (xreadlink): New declaration.
53653
53654         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
53655         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
53656         lib/xreadlink-with-size.c.
53657         (configure.ac): Remove gl_XREADLINK invocation.
53658         (Makefile.am): Augment lib_SOURCES.
53659         * m4/xreadlink.m4: Remove file.
53660         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
53661         (xreadlink_with_size): Renamed from xreadink.
53662         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
53663         * modules/canonicalize (Depends-on): Replace xreadlink with
53664         xreadlink-with-size.
53665         * lib/canonicalize.c (canonicalize_filename_mode): Update.
53666
53667 2007-02-25  Jim Meyering  <jim@meyering.net>
53668
53669         * build-aux/announce-gen: When complaining about excess arguments,
53670         list them.
53671
53672 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53673
53674         * README: Document signed integer overflow situation more
53675         accurately.
53676
53677 2007-02-25  Bruno Haible  <bruno@clisp.org>
53678
53679         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
53680         'a' or 'A' conversion.
53681
53682 2007-02-25  Bruno Haible  <bruno@clisp.org>
53683
53684         * modules/filename: Renamed from modules/pathname.
53685         (Files): Replace lib/pathname.h with lib/filename.h. Replace
53686         lib/concatpath.c with lib/concat-filename.c.
53687         (Makefile.am): Update.
53688         (Include): Replace pathname.h with filename.h.
53689         * lib/filename.h: Renamed from lib/pathname.h.
53690         (concatenated_filename): Renamed from concatenated_pathname.
53691         * lib/concat-filename.c: Renamed from lib/concatpath.c.
53692         (concatenated_filename): Renamed from concatenated_pathname.
53693         * lib/findprog.c: Include filename.h instead of pathname.h.
53694         (find_in_path): Update.
53695         * lib/javacomp.c: Include filename.h instead of pathname.h.
53696         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53697         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53698         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53699         is_oldgcj_14_13_usable, is_javac_usable): Update.
53700         * lib/javaexec.c: Include filename.h instead of pathname.h.
53701         (execute_java_class): Update.
53702         * modules/findprog: Update.
53703         * modules/javacomp: Update.
53704         * modules/javaexec: Update.
53705         * MODULES.html.sh (File system functions): Add 'filename', remove
53706         'pathname'.
53707
53708 2007-02-25  Bruno Haible  <bruno@clisp.org>
53709
53710         * modules/printf-frexpl-tests: New file.
53711         * tests/test-printf-frexpl.c: New file.
53712
53713         * modules/printf-frexpl: New file.
53714         * lib/printf-frexpl.h: New file.
53715         * lib/printf-frexpl.c: New file.
53716         * m4/printf-frexpl.m4: New file.
53717
53718 2007-02-25  Bruno Haible  <bruno@clisp.org>
53719
53720         * modules/printf-frexp-tests: New file.
53721         * tests/test-printf-frexp.c: New file.
53722
53723         * modules/printf-frexp: New file.
53724         * lib/printf-frexp.h: New file.
53725         * lib/printf-frexp.c: New file.
53726         * m4/printf-frexp.m4: New file.
53727
53728 2007-02-25  Bruno Haible  <bruno@clisp.org>
53729
53730         Assume automake >= 1.10 for the tests.
53731         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
53732         * modules/arctwo-tests: Likewise.
53733         * modules/argp-tests: Likewise.
53734         * modules/avltree-list-tests: Likewise.
53735         * modules/avltree-oset-tests: Likewise.
53736         * modules/avltreehash-list-tests: Likewise.
53737         * modules/carray-list-tests: Likewise.
53738         * modules/crc-tests: Likewise.
53739         * modules/des-tests: Likewise.
53740         * modules/gc-arcfour-tests: Likewise.
53741         * modules/gc-arctwo-tests: Likewise.
53742         * modules/gc-des-tests: Likewise.
53743         * modules/gc-hmac-md5-tests: Likewise.
53744         * modules/gc-hmac-sha1-tests: Likewise.
53745         * modules/gc-md2-tests: Likewise.
53746         * modules/gc-md4-tests: Likewise.
53747         * modules/gc-md5-tests: Likewise.
53748         * modules/gc-pbkdf2-sha1-tests: Likewise.
53749         * modules/gc-rijndael-tests: Likewise.
53750         * modules/gc-sha1-tests: Likewise.
53751         * modules/gc-tests: Likewise.
53752         * modules/getaddrinfo-tests: Likewise.
53753         * modules/hmac-md5-tests: Likewise.
53754         * modules/hmac-sha1-tests: Likewise.
53755         * modules/linked-list-tests: Likewise.
53756         * modules/linkedhash-list-tests: Likewise.
53757         * modules/lock-tests: Likewise.
53758         * modules/md2-tests: Likewise.
53759         * modules/md4-tests: Likewise.
53760         * modules/md5-tests: Likewise.
53761         * modules/rbtree-list-tests: Likewise.
53762         * modules/rbtree-oset-tests: Likewise.
53763         * modules/rbtreehash-list-tests: Likewise.
53764         * modules/read-file-tests: Likewise.
53765         * modules/rijndael-tests: Likewise.
53766         * modules/stdint-tests: Likewise.
53767         * modules/tls-tests: Likewise.
53768
53769 2007-02-24  Bruno Haible  <bruno@clisp.org>
53770
53771         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
53772         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
53773         function; instead check whether isnan with a double argument links.
53774         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
53775         function; instead check whether isnan with a 'long double' argument
53776         links.
53777         Reported by Eric Blake <ebb9@byu.net>.
53778
53779 2007-02-24  Bruno Haible  <bruno@clisp.org>
53780
53781         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
53782         defined.
53783         * lib/isnanl.c: Remove all code. Just include isnan.c.
53784         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
53785
53786 2007-02-25  Jim Meyering  <jim@meyering.net>
53787
53788         Avoid conflicting types for 'unsetenv' on FreeBSD.
53789         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
53790         conflicting with FreeBSD's (5.0 and 6.1) function declaration
53791         in stdlib.h.
53792
53793 2007-02-24  Bruno Haible  <bruno@clisp.org>
53794
53795         * modules/isnanl-nolibm-tests: New file.
53796         * tests/test-isnanl.c: New file.
53797
53798         * modules/isnanl-nolibm: New file.
53799         * lib/isnanl.h: New file.
53800         * lib/isnanl.c: New file.
53801         * m4/isnanl.m4: New file.
53802
53803 2007-02-24  Bruno Haible  <bruno@clisp.org>
53804
53805         * modules/isnan-nolibm-tests: New file.
53806         * tests/test-isnan.c: New file.
53807
53808         * modules/isnan-nolibm: New file.
53809         * lib/isnan.h: New file.
53810         * lib/isnan.c: New file.
53811         * m4/isnan.m4: New file.
53812
53813 2007-02-24  Bruno Haible  <bruno@clisp.org>
53814
53815         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
53816         assume that an exponent fits in 20 bits.
53817
53818 2007-02-24  Jim Meyering  <jim@meyering.net>
53819
53820         * m4/regex.m4: Update the description of the configure-time option,
53821         --without-included-regex, to state accurately what the defaults are,
53822         and perhaps to give people an idea why using this option is risky.
53823
53824 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53825
53826         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
53827         loops on small arguments.  This attempts to avoid the problem
53828         Bruno Haible reported for AIX 4.3.2 in
53829         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
53830
53831 2007-02-23  Bruno Haible  <bruno@clisp.org>
53832
53833         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
53834         Needed for help2man.
53835
53836 2007-02-23  Karl Berry  <karl@gnu.org>
53837
53838         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
53839         exists, foo.h should be cvs-ignored, not committed.
53840
53841 2007-02-23  Eric Blake  <ebb9@byu.net>
53842
53843         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
53844         * lib/stat-time.h (includes): Likewise.
53845         * lib/utimecmp.c (includes): Likewise.
53846         * lib/utimens.h (includes): Likewise.
53847         * lib/getdate.y (includes): Also include "timespec.h" for use
53848         internal to the module.
53849         * modules/utimens (Depends-on): Revert yesterday's patch.
53850         * modules/nanosleep (Depends-on): Add missing dependency.
53851
53852 2007-02-22  Bruno Haible  <bruno@clisp.org>
53853
53854         * lib/glob.c: Don't include getlogin_r.h.
53855
53856 2007-02-22  Jim Meyering  <jim@meyering.net>
53857
53858         * modules/utimens (Depends-on): Add timespec, required for
53859         utimens.h's inclusion of timespec.h.
53860
53861 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53862
53863         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
53864         long unreadable paths in GNU/Linux.  Problem reported by Andreas
53865         Schwab in
53866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
53867         I'll try to think of a better way to fix the Solaris problem.
53868
53869         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
53870         like glibc; on Solaris 10, it fails with errno == EINVAL.
53871         POSIX says the behavior is unspecified if the first argument is NULL,
53872         so play it safe and never pass NULL to the system getcwd.
53873
53874 2007-02-21  Jim Meyering  <jim@meyering.net>
53875
53876         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
53877         of gettimeofday.  It would conflict with the one now always
53878         provided via sys_time_.h.  Reported by Matthew Woehlke, as
53879         an IRIX 6.5 build failure.
53880
53881 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53882
53883         Minor fixups to port to Solaris 10 with Sun C 5.8.
53884         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
53885         * modules/getcwd (Depends-on): Add dirfd.
53886         * lib/putenv.c (putenv): #undef it.
53887         (rpl_putenv): New decl.
53888         (malloc, free): Include <stdlib.h> rather than prototyping separately.
53889
53890 2007-02-20  Bruno Haible  <bruno@clisp.org>
53891
53892         * modules/stdio-tests: New file.
53893         * tests/test-stdio.c: New file.
53894
53895         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
53896         (Depends-on): Add stdio.
53897         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53898         (Include): Use <stdio.h> instead of vsnprintf.h.
53899         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53900         HAVE_DECL_VSNPRINTF.
53901         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
53902
53903         * modules/snprintf (Files): Remove lib/snprintf.h.
53904         (Depends-on): Add stdio.
53905         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53906         (Include): Use <stdio.h> instead of snprintf.h.
53907         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53908         HAVE_DECL_SNPRINTF.
53909         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
53910         * lib/getaddrinfo.c: Likewise.
53911
53912         * modules/stdio: New file.
53913         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
53914         * lib/snprintf.h: Remove file.
53915         * lib/vsnprintf.h: Remove file.
53916         * lib/.cppi-disable: Remove snprintf.h.
53917         * m4/stdio_h.m4: New file.
53918         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
53919
53920 2007-02-20  Jim Meyering  <jim@meyering.net>
53921
53922         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
53923         used by e.g., mingw.  From Bruno Haible.
53924
53925 2007-02-19  Bruno Haible  <bruno@clisp.org>
53926
53927         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
53928         warnings.
53929         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53930
53931 2007-02-19  Bruno Haible  <bruno@clisp.org>
53932
53933         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
53934         from mingw users.
53935
53936 2007-02-19  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
53939         warnings.
53940         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
53941
53942 2007-02-19  Jim Meyering  <jim@meyering.net>
53943
53944         Don't use FD after a successful "fdopendir (fd)".
53945         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
53946         Reset it by calling dirfd on the just-obtained DIR*.
53947
53948         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
53949         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
53950
53951 2007-02-18  Bruno Haible  <bruno@clisp.org>
53952
53953         * lib/readlink.c: Include <unistd.h>.
53954         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
53955         HAVE_READLINK.
53956         * modules/readlink (Depends-on): Add unistd.
53957         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53958         (Include): Add <unistd.h>.
53959
53960         * lib/getlogin_r.h: Remove file.
53961         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
53962         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
53963         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
53964         HAVE_DECL_GETLOGIN_R.
53965         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
53966         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53967         (Include): Use <unistd.h> instead of getlogin_r.h.
53968
53969         * lib/getcwd.h: Remove file.
53970         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53971         * lib/xgetcwd.c: Likewise.
53972         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53973         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53974         * modules/getcwd (Files): Remove lib/getcwd.h.
53975         (Depends-on): Add unistd.
53976         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53977         (Include): Use <unistd.h> instad of getcwd.h.
53978
53979         * lib/ftruncate.c: Include <unistd.h> first.
53980         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53981         Set HAVE_FTRUNCATE.
53982         * modules/ftruncate (Depends-on): Add unistd.
53983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53984
53985         * lib/fchdir.c: Include <unistd.h> first.
53986         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53988         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53989         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53990         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53991
53992         * lib/dup2.c: Include <unistd.h> first.
53993         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53994         HAVE_DUP2.
53995         * modules/dup2 (Depends-on): Add unistd.
53996         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53997
53998         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53999         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
54000         REPLACE_CHOWN. Don't define chown as a macro here.
54001         * modules/chown (Depends-on): Add unistd.
54002         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54003
54004         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
54005         Add definition for GL_LINK_WARNING.
54006         (chown, dup2): New declarations.
54007         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
54008         link warning.
54009         (ftruncate): New declaration.
54010         (getcwd): New declaration, taken from old getcwd.h.
54011         (getlogin_r): New declaration, taken from old getlogin_r.h.
54012         (readlink): New declaration.
54013         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
54014         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
54015         (gl_PREREQ_UNISTD): Remove macro.
54016         (gl_UNISTD_MODULE_INDICATOR): New macro.
54017         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
54018         many new variables. Don't set UNISTD_H.
54019         * modules/unistd (Description): Change.
54020         (Depends-on): Add link-warning.
54021         (configure.ac): Update.
54022         (Makefile.am): Create unistd.h always. Substitute many new variables
54023         into it.
54024
54025 2007-02-18  Bruno Haible  <bruno@clisp.org>
54026
54027         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
54028         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
54029         HAVE_GETSUBOPT.
54030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
54031         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
54032         * lib/getsubopt.h: Remove file.
54033         * modules/getsubopt (Files): Remove lib/getsubopt.h.
54034         (Depends-on): Add stdlib.
54035         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54036         (Includes): Use <stdlib.h> instead of getsubopt.h.
54037         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
54038         Set HAVE_GETSUBOPT.
54039         * lib/getsubopt.c: Don't include getsubopt.h.
54040
54041 2007-02-18  Bruno Haible  <bruno@clisp.org>
54042
54043         * modules/fchdir (Depends-on): Add dup2.
54044
54045 2007-02-18  Bruno Haible  <bruno@clisp.org>
54046
54047         * lib/stdlib_.h: Handle glibc's special invocation convention
54048         specially.
54049
54050 2007-02-18  Bruno Haible  <bruno@clisp.org>
54051
54052         * modules/stdlib-tests: New file.
54053         * tests/test-stdlib.c: New file.
54054
54055         * modules/mkstemp (Files): Remove lib/mkstemp.h.
54056         (Depends-on): Add stdlib.
54057         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54058         (Includes): Use <stdlib.h> instead of mkstemp.h.
54059         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54060         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
54061         * lib/mkstemp.c: Don't include mkstemp.h.
54062         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
54063         * lib/stdlib--.h: Don't include mkstemp.h.
54064
54065         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
54066         (Depends-on): Add stdlib.
54067         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54068         (Includes): Use <stdlib.h> instead of mkdtemp.h.
54069         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54070         HAVE_MKDTEMP.
54071         * lib/mkdtemp.c: Don't include mkdtemp.h.
54072         * lib/clean-temp.c: Don't include mkdtemp.h.
54073
54074         * modules/exit (Files): Remove lib/exit.h.
54075         (Depends-on): Add stdlib.
54076         (Makefile.am): Remove lib_SOURCES.
54077         (Include): Use <stdlib.h> instead of exit.h.
54078         * lib/argmatch.c: Don't include exit.h.
54079         * lib/execute.c: Likewise.
54080         * lib/pagealign_alloc.c: Likewise.
54081         * lib/pipe.c: Likewise.
54082         * lib/wait-process.c: Likewise.
54083         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
54084         * lib/exitfail.c: Likewise.
54085         * lib/savewd.c: Likewise.
54086         * lib/xsetenv.c: Likewise.
54087
54088         * modules/stdlib: New file.
54089         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
54090         and extra comments about mkstemp().
54091         * lib/exit.h: Remove file.
54092         * lib/mkdtemp.h: Remove file.
54093         * lib/mkstemp.h: Remove file.
54094         * m4/stdlib_h.m4: New file.
54095         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
54096
54097 2007-02-18  Bruno Haible  <bruno@clisp.org>
54098
54099         * modules/math-tests: New file.
54100         * tests/test-math.c: New file.
54101
54102         * modules/math: New file.
54103         * modules/mathl (Files): Remove lib/mathl.h.
54104         (Depends-on): Add math.
54105         (Makefile.am): Don't mention mathl.h.
54106         (Include): Use <math.h> instead of mathl.h.
54107         * lib/math_.h: New file.
54108         * lib/mathl.h: Remove file.
54109         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
54110         mathl.h.
54111         * lib/asinl.c: Likewise.
54112         * lib/atanl.c: Likewise.
54113         * lib/ceill.c: Likewise.
54114         * lib/cosl.c: Likewise.
54115         * lib/expl.c: Likewise.
54116         * lib/floorl.c: Likewise.
54117         * lib/frexpl.c: Likewise.
54118         * lib/ldexpl.c: Likewise.
54119         * lib/logl.c: Likewise.
54120         * lib/sincosl.c: Likewise.
54121         * lib/sinl.c: Likewise.
54122         * lib/sqrtl.c: Likewise.
54123         * lib/tanl.c: Likewise.
54124         * lib/trigl.c: Likewise.
54125         * m4/math_h.m4: New file.
54126         * MODULES.html.sh (Mathematics): Add math.
54127
54128 2007-02-17  Bruno Haible  <bruno@clisp.org>
54129
54130         * modules/wctype-tests: New file.
54131         * tests/test-wctype.c: New file.
54132
54133         * modules/wchar-tests: New file.
54134         * tests/test-wchar.c: New file.
54135
54136         * modules/unistd-tests: New file.
54137         * tests/test-unistd.c: New file.
54138
54139         * modules/time-tests: New file.
54140         * tests/test-time.c: New file.
54141
54142         * modules/sysexits-tests: New file.
54143         * tests/test-sysexits.c: New file.
54144
54145         * modules/sys_time-tests: New file.
54146         * tests/test-sys_time.c: New file.
54147
54148         * modules/sys_stat-tests: New file.
54149         * tests/test-sys_stat.c: New file.
54150
54151         * modules/sys_socket-tests: New file.
54152         * tests/test-sys_socket.c: New file.
54153
54154         * modules/sys_select-tests: New file.
54155         * tests/test-sys_select.c: New file.
54156
54157         * modules/string-tests: New file.
54158         * tests/test-string.c: New file.
54159
54160         * modules/stdbool-tests: New file.
54161         * tests/test-stdbool.c: New file.
54162
54163         * modules/netinet_in-tests: New file.
54164         * tests/test-netinet_in.c: New file.
54165
54166         * modules/inttypes-tests: New file.
54167         * tests/test-inttypes.c: New file.
54168
54169         * modules/fcntl-tests: New file.
54170         * tests/test-fcntl.c: New file.
54171
54172         * modules/byteswap-tests: New file.
54173         * tests/test-byteswap.c: New file.
54174
54175         * modules/arpa_inet-tests: New file.
54176         * tests/test-arpa_inet.c: New file.
54177
54178 2007-02-17  Bruno Haible  <bruno@clisp.org>
54179
54180         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
54181         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
54182         if the corresponding module is not enabled. Emit link warnings if
54183         the function is used nevertheless.
54184         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
54185         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
54186         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
54187         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
54188         * modules/inttypes (Depends-on): Add link-warning.
54189         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54190         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
54191         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
54192         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
54193         * modules/imaxdiv (configure.ac): Likewise.
54194         * modules/strtoimax (configure.ac): Likewise.
54195         * modules/strtoumax (configure.ac): Likewise.
54196
54197 2007-02-17  Bruno Haible  <bruno@clisp.org>
54198
54199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
54200         gl_STRING_MODULE_INDICATOR_DEFAULTS.
54201         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
54202         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
54203
54204 2007-02-17  Bruno Haible  <bruno@clisp.org>
54205
54206         * modules/link-warning: New file.
54207         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
54208         * lib/string_.h (GL_LINK_WARNING): Remove definition.
54209         * modules/string (Depends-on): Add link-warning.
54210         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54211         string.h.
54212         * MODULES.html.sh (Support for building libraries and executables): Add
54213         link-warning.
54214
54215 2007-02-17  Bruno Haible  <bruno@clisp.org>
54216
54217         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
54218         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
54219         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
54220         long lines.
54221
54222 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
54223             Bruno Haible  <bruno@clisp.org>
54224
54225         * modules/tmpfile: New file.
54226         * lib/tmpfile.c: New file.
54227         * m4/tmpfile.m4: New file.
54228         * MODULES.html.sh (func_all_modules): New section "Input/output".
54229
54230 2007-02-15  Bruno Haible  <bruno@clisp.org>
54231
54232         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
54233         (supports_delete_on_close): New function.
54234         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
54235
54236 2007-02-14  Bruno Haible  <bruno@clisp.org>
54237
54238         * modules/mbspcasecmp-tests: New file.
54239         * tests/test-mbspcasecmp.sh: New file.
54240         * tests/test-mbspcasecmp.c: New file.
54241
54242         New module mbspcasecmp.
54243         * modules/mbspcasecmp: New file.
54244         * lib/mbspcasecmp.c: New file.
54245         * lib/string_.h (strncasecmp): Change warning message.
54246         (mbspcasecmp): New declaration.
54247         * m4/mbspcasecmp.m4: New file.
54248         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54249         GNULIB_MBSPCASECMP.
54250         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
54251         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
54252
54253 2007-02-14  Bruno Haible  <bruno@clisp.org>
54254
54255         * modules/mbsncasecmp-tests: New file.
54256         * tests/test-mbsncasecmp.sh: New file.
54257         * tests/test-mbsncasecmp.c: New file.
54258
54259         New module mbsncasecmp.
54260         * modules/mbsncasecmp: New file.
54261         * lib/mbsncasecmp.c: New file.
54262         * lib/string_.h (mbsncasecmp): New declaration.
54263         * m4/mbsncasecmp.m4: New file.
54264         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54265         GNULIB_MBSNCASECMP.
54266         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
54267         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
54268
54269 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
54270
54271         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
54272         Verify that it doesn't overlap with our flags.
54273         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
54274         do not have the desired effect in multibyte locales; instead, use
54275         mbscasecmp.
54276         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
54277         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
54278         we don't require GNU fnmatch ourselves (if our users require it, they
54279         should do so explicitly).
54280
54281         Fix regex code so it doesn't rely on strcasecmp.
54282         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
54283         Otherwise, include gnulib's langinfo.h.
54284         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
54285         undesirable behavior in non-C locales.  Instead, rely on localecharset.
54286         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
54287         * modules/regex (FILES): Remove m4/codeset.m4.
54288         (Depends-on): Add localcharset.  Remove strcase.
54289
54290 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54291
54292         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
54293         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
54294
54295 2007-02-13  Bruno Haible  <bruno@clisp.org>
54296
54297         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
54298         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54299
54300 2007-02-12  Bruno Haible  <bruno@clisp.org>
54301
54302         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54303         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
54304         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
54305         time warning rather than a link error.
54306
54307 2007-02-12  Bruno Haible  <bruno@clisp.org>
54308
54309         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
54310         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54311         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54312
54313 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
54314
54315         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
54316         args, not 2.
54317
54318 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
54319
54320         New module 'time', so that apps can include <time.h> as per
54321         POSIX and GNU instead of separate include files like time_r.h
54322         and timegm.h.  This implementation tries out a simpler approach
54323         for replacing decls in standard include files (as compared to
54324         the string module), somewhat as an experiment.
54325
54326         * config/srclist.txt: Comment out mktime.c for now.
54327         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
54328         since it doesn't apply any more.  Use generic wording instead.
54329         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
54330         'time'.
54331         * lib/time_.h, m4/time_h.m4, modules/time: New files.
54332         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
54333         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
54334         Don't include <sys/types.h>; no longer needed since we assume C89.
54335         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
54336         * lib/strftime.c: Likewise.
54337         * lib/time_r.c: Likewise.
54338         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
54339         * lib/nanosleep.c: Include <time.h> first, to check interface.
54340         * lib/strptime.c: Likewise.
54341         * lib/time_r.c: Likewise.
54342         * lib/timegm.c: Likewise.
54343         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
54344         needed.
54345         * lib/timegm.c: Don't include timegm.h; no longer needed.
54346         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
54347         time.h now handles any problems in that area.
54348         (struct timespec, nanosleep): Remove; time.h now arranges for these.
54349         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
54350         that time.h defines struct timespec.
54351         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
54352         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
54353         handles that.
54354         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
54355         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
54356         needed.  Set REPLACE_LOCALTIME.
54357         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
54358         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
54359         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
54360         nanosleep; time_h.m4 now does that.  Don't require
54361         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
54362         module handles this now.
54363         * modules/getdate (Depends-on): Remove timespec.  Add time.
54364         * modules/nanosleep (Depends-on): Likewise.
54365         * modules/stat-time (Depends-on): Likewise.
54366         * modules/nanosleep (Include): Include time.h, not timespec.h.
54367         * modules/strptime (Files): Remove lib/strptime.h.
54368         (Depends-on): Add extensions, time.
54369         (Include): Include time.h, not strptime.h.
54370         * modules/time_r (Files): Remove lib/time_r.h.
54371         (Depends-on): Add time.
54372         (Include): Include time.h, not time_r.h.
54373         * modules/timegm: Likewise.
54374         * modules/timespec (Description): Now does timespec-related decls
54375         of our own, instead of struct timespec itself.
54376         (Depends-on): Add time; remove extensions.
54377         (Maintainer): Add self.
54378         * modules/utimecmp (Depends-on): Add time; remove timespec.
54379         * modules/utimens (Depends-on): Likewise.
54380         * modules/xnanosleep (Depends-on): Likewise.
54381
54382 2007-02-11  Bruno Haible  <bruno@clisp.org>
54383
54384         * lib/c-strstr.c: Include allocsa.h.
54385         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54386         * lib/c-strcasestr.c: Include allocsa.h.
54387         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54388         * lib/strcasestr.c: Include allocsa.h.
54389         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54390         * lib/mbsstr.c: Include allocsa.h.
54391         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54392         allocsa/freesa instead of malloc/free.
54393         * lib/mbscasestr.c: Include allocsa.h.
54394         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54395         allocsa/freesa instead of malloc/free.
54396         * modules/c-strstr (Depends-on): Add allocsa.
54397         * modules/c-strcasestr (Depends-on): Likewise.
54398         * modules/strcasestr (Depends-on): Likewise.
54399         * modules/mbsstr (Depends-on): Likewise.
54400         * modules/mbscasestr (Depends-on): Likewise.
54401
54402 2007-02-11  Bruno Haible  <bruno@clisp.org>
54403
54404         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
54405
54406         * modules/mbsspn-tests: New file.
54407         * tests/test-mbsspn.sh: New file.
54408         * tests/test-mbsspn.c: New file.
54409
54410 2007-02-11  Bruno Haible  <bruno@clisp.org>
54411
54412         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
54413
54414         * modules/mbspbrk-tests: New file.
54415         * tests/test-mbspbrk.sh: New file.
54416         * tests/test-mbspbrk.c: New file.
54417
54418 2007-02-11  Bruno Haible  <bruno@clisp.org>
54419
54420         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
54421         unneeded cast.
54422
54423         * modules/mbscspn-tests: New file.
54424         * tests/test-mbscspn.sh: New file.
54425         * tests/test-mbscspn.c: New file.
54426
54427 2007-02-11  Bruno Haible  <bruno@clisp.org>
54428
54429         * modules/mbscasecmp-tests: New file.
54430         * tests/test-mbscasecmp.sh: New file.
54431         * tests/test-mbscasecmp.c: New file.
54432
54433 2007-02-11  Bruno Haible  <bruno@clisp.org>
54434
54435         Ensure O(n) worst-case complexity of mbscasestr.
54436         * lib/mbscasestr.c: Include stdbool.h.
54437         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54438         functions.
54439         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
54440         the bookkeeping indicates that it's worth it.
54441         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
54442
54443         * modules/mbscasestr-tests: New file.
54444         * tests/test-mbscasestr1.c: New file.
54445         * tests/test-mbscasestr2.sh: New file.
54446         * tests/test-mbscasestr2.c: New file.
54447         * tests/test-mbscasestr3.sh: New file.
54448         * tests/test-mbscasestr3.c: New file.
54449         * tests/test-mbscasestr4.sh: New file.
54450         * tests/test-mbscasestr4.c: New file.
54451         * m4/locale-tr.m4: New file.
54452
54453 2007-02-11  Bruno Haible  <bruno@clisp.org>
54454
54455         Ensure O(n) worst-case complexity of mbsstr.
54456         * lib/mbsstr.c: Include stdbool.h.
54457         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54458         functions.
54459         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
54460         bookkeeping indicates that it's worth it.
54461         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
54462
54463         * modules/mbsstr-tests: New file.
54464         * tests/test-mbsstr1.c: New file.
54465         * tests/test-mbsstr2.sh: New file.
54466         * tests/test-mbsstr2.c: New file.
54467         * tests/test-mbsstr3.sh: New file.
54468         * tests/test-mbsstr3.c: New file.
54469         * m4/locale-fr.m4: New file.
54470
54471 2007-02-11  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/mbsrchr.c (mbsrchr): Fix bug.
54474
54475         * modules/mbsrchr-tests: New file.
54476         * tests/test-mbsrchr.sh: New file.
54477         * tests/test-mbsrchr.c: New file.
54478
54479 2007-02-11  Bruno Haible  <bruno@clisp.org>
54480
54481         * lib/mbschr.c (mbschr): Fix bug.
54482
54483         * modules/mbschr-tests: New file.
54484         * tests/test-mbschr.sh: New file.
54485         * tests/test-mbschr.c: New file.
54486         * m4/locale-zh.m4: New file.
54487
54488 2007-02-11  Bruno Haible  <bruno@clisp.org>
54489
54490         Support for copying multibyte string iterators.
54491         * lib/mbiter.h: Include <string.h>.
54492         (mbiter_multi_copy): New function.
54493         (mbi_copy): New macro.
54494         * lib/mbuiter.h: Include <string.h>.
54495         (mbuiter_multi_copy): New function.
54496         (mbui_copy): New macro.
54497
54498 2007-02-11  Bruno Haible  <bruno@clisp.org>
54499
54500         New module mbslen.
54501         * modules/mbslen: New file.
54502         * lib/mbslen.c: New file.
54503         * lib/string_.h (mbslen): New declaration.
54504         * m4/mbslen.m4: New file.
54505         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54506         GNULIB_MBSLEN.
54507         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
54508         * MODULES.html.sh (Internationalization functions): Add mbslen.
54509
54510 2007-02-11  Bruno Haible  <bruno@clisp.org>
54511
54512         Ensure O(n) worst-case complexity of strcasestr substitute.
54513         * lib/strcasestr.c: Include stdbool.h.
54514         (knuth_morris_pratt): New function.
54515         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54516         bookkeeping indicates that it's worth it.
54517         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
54518
54519         * modules/strcasestr-tests: New file.
54520         * tests/test-strcasestr.c: New file.
54521
54522 2007-02-11  Bruno Haible  <bruno@clisp.org>
54523
54524         Ensure O(n) worst-case complexity of c_strcasestr.
54525         * lib/c-strcasestr.c: Include stdbool.h, string.h.
54526         (knuth_morris_pratt): New function.
54527         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
54528         the bookkeeping indicates that it's worth it.
54529         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
54530
54531         * modules/c-strcasestr-tests: New file.
54532         * tests/test-c-strcasestr.c: New file.
54533
54534 2007-02-11  Bruno Haible  <bruno@clisp.org>
54535
54536         Ensure O(n) worst-case complexity of c_strstr.
54537         * lib/c-strstr.c: Include stdbool.h, string.h.
54538         (knuth_morris_pratt): New function.
54539         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54540         bookkeeping indicates that it's worth it.
54541         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
54542
54543         * lib/c-strstr.c: Complete rewrite for maintainability.
54544
54545         * modules/c-strstr-tests: New file.
54546         * tests/test-c-strstr.c: New file.
54547
54548 2007-02-11  Bruno Haible  <bruno@clisp.org>
54549
54550         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
54551         5.2.1 and earlier, whereby \055 was treated just like the range
54552         delimiter '-'.
54553         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54554
54555 2007-02-08  Bruno Haible  <bruno@clisp.org>
54556
54557         * modules/regex (Depends-on): Add stdbool.
54558         Reported by Dalibor Topic <robilad@kaffe.org>.
54559
54560 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54561
54562         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
54563         Prefer returning from main to exiting from it.
54564         Remove unnecessary parens after sizeof.
54565
54566 2007-02-05  Bruno Haible  <bruno@clisp.org>
54567
54568         New module mbssep.
54569         * modules/mbssep: New file.
54570         * lib/mbssep.c: New file.
54571         * lib/string_.h (strsep): Add a conditional link warning.
54572         (mbssep): New declaration.
54573         * m4/mbssep.m4: New file.
54574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54575         GNULIB_MBSSEP.
54576         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
54577         * MODULES.html.sh (Internationalization functions): Add mbssep.
54578
54579 2007-02-05  Bruno Haible  <bruno@clisp.org>
54580
54581         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
54582         Optimize search in case of 1 delimiter.
54583
54584 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54585
54586         * lib/acl.h: Include sys/types.h before sys/acl.h.
54587
54588 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54589
54590         Merge upstream fix for glibc bugzilla #3957:
54591
54592         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
54593
54594         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
54595         bit for RE_HAT_LISTS_NOT_NEWLINE.
54596         (build_charclass_op): Remove bogus comment.
54597
54598 2007-02-05  Simon Josefsson  <simon@josefsson.org>
54599
54600         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
54601
54602 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54603
54604         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
54605         * lib/memmem.c [!defined _LIBC]: Include config.h.
54606
54607 2007-02-04  Bruno Haible  <bruno@clisp.org>
54608
54609         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
54610         warning message.
54611
54612 2007-02-04  Bruno Haible  <bruno@clisp.org>
54613
54614         New module mbstok_r.
54615         * modules/mbstok_r: New file.
54616         * lib/mbstok_r.c: New file.
54617         * lib/string_.h (strtok_r): Change argument names to match the
54618         comments. Add a conditional link warning.
54619         (mbstok_r): New declaration.
54620         * m4/mbstok_r.m4: New file.
54621         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54622         GNULIB_MBSTOK_R.
54623         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
54624         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
54625
54626 2007-02-04  Bruno Haible  <bruno@clisp.org>
54627
54628         New module mbsspn.
54629         * modules/mbsspn: New file.
54630         * lib/mbsspn.c: New file.
54631         * lib/string_.h (strspn): Add a conditional link warning.
54632         (mbsspn): New declaration.
54633         * m4/mbsspn.m4: New file.
54634         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54635         GNULIB_MBSSPN.
54636         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
54637         * MODULES.html.sh (Internationalization functions): Add mbsspn.
54638
54639 2007-02-04  Bruno Haible  <bruno@clisp.org>
54640
54641         New module mbspbrk.
54642         * modules/mbspbrk: New file.
54643         * lib/mbspbrk.c: New file.
54644         * lib/string_.h (strpbrk): Add a conditional link warning.
54645         (mbspbrk): New declaration.
54646         * m4/mbspbrk.m4: New file.
54647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54648         GNULIB_MBSPBRK.
54649         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
54650         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
54651
54652 2007-02-04  Bruno Haible  <bruno@clisp.org>
54653
54654         New module mbscspn.
54655         * modules/mbscspn: New file.
54656         * lib/mbscspn.c: New file.
54657         * lib/string_.h (strcspn): Add a conditional link warning.
54658         (mbscspn): New declaration.
54659         * m4/mbscspn.m4: New file.
54660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54661         GNULIB_MBSCSPN.
54662         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
54663         * MODULES.html.sh (Internationalization functions): Add mbscspn.
54664
54665 2007-02-04  Bruno Haible  <bruno@clisp.org>
54666
54667         New module mbscasestr, reduced goal of strcasestr.
54668         * modules/mbscasestr: New file.
54669         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
54670         (mbscasestr): Renamed from strcasestr.
54671         * lib/strcasestr.c: Don't include mbuiter.h.
54672         (strcasestr): Remove support for multibyte locales.
54673         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
54674         Change the conditional link warning.
54675         (mbscasestr): New declaration.
54676         * m4/mbscasestr.m4: New file.
54677         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
54678         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
54679         REPLACE_STRCASESTR.
54680         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
54681         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54682         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54683         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
54684         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
54685         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54686         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
54687         (Depends-on): Remove mbuiter.
54688         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
54689
54690 2007-02-04  Bruno Haible  <bruno@clisp.org>
54691
54692         Simplify handling of strncasecmp.
54693         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
54694         the conditional link warning.
54695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54696         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
54697         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
54698         * modules/strcase (configure.ac): Don't invoke
54699         gl_STRING_MODULE_INDICATOR.
54700         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
54701
54702 2007-02-04  Bruno Haible  <bruno@clisp.org>
54703
54704         New module mbscasecmp, reduced goal of strcasecmp.
54705         * modules/mbscasecmp: New file.
54706         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
54707         (mbscasecmp): Renamed from strcasecmp.
54708         * lib/strcasecmp.c: Don't include mbuiter.h.
54709         (strcasecmp): Remove support for multibyte locales.
54710         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
54711         Change the conditional link warning.
54712         (mbscasecmp): New declaration.
54713         * m4/mbscasecmp.m4: New file.
54714         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
54715         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
54716         REPLACE_STRCASECMP.
54717         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
54718         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54719         GNULIB_MBSCASECMP.
54720         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
54721         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
54722         * modules/strcase (Files): Remove m4/mbrtowc.m4.
54723         (Depends-on): Remove mbuiter.
54724         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
54725
54726 2007-02-04  Bruno Haible  <bruno@clisp.org>
54727
54728         New module mbsstr. Remove module strstr.
54729         * modules/mbsstr: New file.
54730         * modules/strstr: Remove file.
54731         * lib/mbsstr.c: Renamed from lib/strstr.c.
54732         (mbsstr): Renamed from strstr.
54733         * lib/string_.h (strstr): Remove declaration. Change the conditional
54734         link warning.
54735         (mbsstr): New declaration.
54736         * m4/mbsstr.m4: New file.
54737         * m4/strstr.m4: Remove file.
54738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
54739         REPLACE_STRSTR.
54740         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
54741         Don't initialize GNULIB_STRSTR.
54742         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
54743         substitute GNULIB_STRSTR and REPLACE_STRSTR.
54744         * MODULES.html.sh (Internationalization functions): Add mbsstr.
54745         (Support for systems lacking ANSI C 89): Remove strstr.
54746
54747 2007-02-04  Bruno Haible  <bruno@clisp.org>
54748
54749         New module mbsrchr.
54750         * modules/mbsrchr: New file.
54751         * lib/mbsrchr.c: New file.
54752         * lib/string_.h (strrchr): Add a conditional link warning.
54753         (mbsrchr): New declaration.
54754         * m4/mbsrchr.m4: New file.
54755         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54756         GNULIB_MBSRCHR.
54757         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
54758         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
54759
54760 2007-02-04  Bruno Haible  <bruno@clisp.org>
54761
54762         New module mbschr.
54763         * modules/mbschr: New file.
54764         * lib/mbschr.c: New file.
54765         * lib/string_.h (strchr): Add a conditional link warning.
54766         (mbschr): New declaration.
54767         * m4/mbschr.m4: New file.
54768         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54769         GNULIB_MBSCHR.
54770         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
54771         * MODULES.html.sh (Internationalization functions): Add mbschr.
54772
54773 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54774
54775         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
54776
54777         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
54778
54779 2007-02-04  Bruno Haible  <bruno@clisp.org>
54780
54781         New module description section 'configure.ac-early'.
54782         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
54783         (func_get_autoconf_early_snippet): New function.
54784         (func_import, func_create_testdir): Use it. Remove special cases for
54785         modules 'extensions' and 'lock'.
54786         * modules/extensions (configure.ac-early): Require
54787         gl_USE_SYSTEM_EXTENSIONS.
54788         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
54789
54790 2007-02-04  Bruno Haible  <bruno@clisp.org>
54791
54792         Make use of gcj-4.3's -fsource and -ftarget option.
54793         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
54794         and if so try the options -fsource and -ftarget.
54795         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
54796         source_version, ftarget_option, target_version arguments.
54797         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
54798         (is_envjavac_oldgcj_14_14_usable): Renamed from
54799         is_envjavac_gcj_14_14_usable.
54800         (is_envjavac_oldgcj_14_13_usable): Renamed from
54801         is_envjavac_gcj_14_13_usable.
54802         (is_gcj_present): Update.
54803         (is_gcj_43, is_gcj43_usable): New functions.
54804         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
54805         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
54806         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
54807         try the options -fsource and -ftarget.
54808
54809 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54810
54811         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
54812         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
54813         larger value.
54814
54815 2007-02-03  Jim Meyering  <jim@meyering.net>
54816
54817         Give tools a better chance to allocate space for very large buffers.
54818         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
54819
54820         Make pwd and readlink work also when run with an unreadable parent dir
54821         on systems with openat support.
54822         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
54823         provided getcwd function, even when we have openat support.
54824         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
54825
54826 2007-02-02  Bruno Haible  <bruno@clisp.org>
54827
54828         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54829         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
54830         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
54831         portability problems if one of these functions is only used on specific
54832         platforms.
54833         Reported by Paul Eggert.
54834
54835 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
54836
54837         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
54838         is causing more trouble than it's curing.
54839         * lib/regex_internal.h (__mempcpy): Remove.
54840         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
54841         (and make the code a tad smaller to boot).
54842         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
54843
54844 2007-02-02  Jim Meyering  <jim@meyering.net>
54845
54846         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
54847         section, not in the Makefile.am: one.
54848
54849 2007-02-02  Eric Blake  <ebb9@byu.net>
54850
54851         * lib/strchrnul.c: Always include config.h first.
54852
54853         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
54854         gnulib strstr is not necessary here.
54855
54856 2007-02-02  Simon Josefsson  <simon@josefsson.org>
54857
54858         * m4/socklen.m4: Fix typo.
54859
54860 2007-02-02  Eric Blake  <ebb9@byu.net>
54861
54862         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
54863         * modules/netinet_in (Makefile.am): Likewise.
54864
54865 2007-02-01  Bruno Haible  <bruno@clisp.org>
54866
54867         * lib/string_.h (GL_LINK_WARNING): New macro.
54868         (strcasecmp, strstr, strcasestr): If provided by the system,
54869         conditionally define as a macro that leads to a warning instead of to
54870         an error.
54871         (strncasecmp): Conditionally define as a macro that leads to a warning.
54872
54873 2007-02-01  Karl Berry  <karl@gnu.org>
54874
54875         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
54876
54877 2007-02-01  Bruno Haible  <bruno@clisp.org>
54878
54879         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
54880         renamings.
54881
54882 2007-02-01  Eric Blake  <ebb9@byu.net>
54883
54884         * modules/regex (Depends-on): Revert dependence on mempcpy.
54885         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
54886         module's definition of mempcpy.
54887         Reported by Paul Eggert.
54888
54889 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54890
54891         * lib/string_.h: If the gnulib module XYZ is not present, undefine
54892         the symbol XYZ before redefining it.  This fixes a problem with
54893         programs that don't use XYZ, when compiled on systems that define
54894         XYZ to something else.
54895
54896 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
54897
54898         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
54899         occurs when "mkdir -m foo" creates a setgid directory that is (1)
54900         writeable to group or other and (2) is intended to have a special
54901         mode bit that is set or cleared.  In such a case, the directory
54902         should be neither group- nor other-writeable until the special
54903         mode bits are right.
54904
54905 2007-01-31  Eric Blake  <ebb9@byu.net>
54906
54907         * modules/mountlist (Depends-on): Add strstr.
54908
54909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
54910         bug.
54911         * modules/string (Makefile.am): Remove redundant replacement.
54912         * modules/regex (Depends-on): Add mempcpy.
54913
54914 2007-01-31  Bruno Haible  <bruno@clisp.org>
54915
54916         New module description field 'Link'.
54917         * gnulib-tool (func_usage): Document --extract-link-directive.
54918         (sed_extract_prog): Recognize 'Link' directive.
54919         (func_get_link_directive): New function.
54920         (func_import): Show summary of link directives.
54921         Handle --extract-link-directive option.
54922         * modules/acl (Link): New section.
54923         * modules/clock-time (Link): New section.
54924         * modules/euidaccess (Link): New section.
54925         * modules/gettext (Link): New section.
54926         * modules/iconv (Link): New section.
54927         * modules/lock (Link): New section.
54928         * modules/nanosleep (Link): New section.
54929         * modules/readline (Link): New section.
54930
54931 2007-01-27  Bruno Haible  <bruno@clisp.org>
54932
54933         Enforce the use of gnulib modules for unportable <string.h> functions.
54934         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
54935         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
54936         (gl_HEADER_STRING_H_BODY): Require it.
54937         * lib/string_.h: If the gnulib module XYZ is not present, redefine
54938         the symbol XYZ to one that gives a link error.
54939         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
54940         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
54941         * modules/mempcpy (configure.ac): Likewise.
54942         * modules/memrchr (configure.ac): Likewise.
54943         * modules/stpcpy (configure.ac): Likewise.
54944         * modules/stpncpy (configure.ac): Likewise.
54945         * modules/strcase (configure.ac): Likewise.
54946         * modules/strcasestr (configure.ac): Likewise.
54947         * modules/strchrnul (configure.ac): Likewise.
54948         * modules/strdup (configure.ac): Likewise.
54949         * modules/strndup (configure.ac): Likewise.
54950         * modules/strnlen (configure.ac): Likewise.
54951         * modules/strpbrk (configure.ac): Likewise.
54952         * modules/strsep (configure.ac): Likewise.
54953         * modules/strstr (configure.ac): Likewise.
54954         * modules/strtok_r (configure.ac): Likewise.
54955
54956 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
54957
54958         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
54959
54960 2007-01-30  Jim Meyering  <jim@meyering.net>
54961
54962         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
54963
54964 2007-01-29  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
54967         * lib/execute.c: Likewise.
54968         * lib/pipe.c: Likewise.
54969         * lib/printf-args.h: Likewise.
54970         * lib/printf-args.c: Likewise.
54971         * lib/printf-parse.c: Likewise.
54972         * lib/vasnprintf.c: Likewise.
54973
54974 2007-01-29  Eric Blake  <ebb9@byu.net>
54975
54976         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54977         declaration.
54978
54979 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54980
54981         * lib/strptime.h (strptime): Use 'restrict' for args where
54982         POSIX requires this.
54983         * lib/strptime.c (strptime): Likewise.
54984         Change license notice from LGPL to GPL, since gnulib-tool will
54985         change this as needed.
54986         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54987         defined.
54988         Include "strptime.h" first, to check interface.
54989         Do not #undef _LIBC and _NL_CURRENT.
54990         Do not include <stdlib.h>; no longer needed.
54991         Include "time_r.h" and declare ptime_locale_status
54992         only if _LIBC is not defined.
54993         (__P): Remove unused macro.
54994         (match_string): Bring back glibc version, but use it only if _LIBC
54995         is defined.
54996         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54997         Remove unnecessary assertion and abort() call.
54998         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54999         * m4/strptime.m4: Fix serial number comment.
55000         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
55001         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
55002         (Depends-on): Add time_r.
55003
55004 2007-01-29  Bruno Haible  <bruno@clisp.org>
55005
55006         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55007         strptime.
55008         * modules/strptime (Depends-on): Add stdbool.
55009         * lib/strptime.h: Include <time.h> always. Add comments.
55010
55011 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55012
55013         * modules/strptime: New file.
55014         * lib/strptime.h: New file.
55015         * lib/strptime.c: New file.
55016         * m4/strptime.m4: New file.
55017
55018 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
55019
55020         * MODULES.html.sh: New module mpsort.
55021         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
55022
55023         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
55024         a circularity problem with HP-UX ia64 reported by Bob Proulx in
55025         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
55026         All uses changed.
55027         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
55028         All uses changed.
55029         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
55030         to _Restrict_.
55031         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
55032         the parameter matches the prototype.
55033
55034 2007-01-28  Jim Meyering  <jim@meyering.net>
55035
55036         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
55037         sys/time.h here, reverting that part of the previous patch:
55038         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
55039
55040 2007-01-28  Bruno Haible  <bruno@clisp.org>
55041
55042         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
55043         value of $(SYS_TIME_H).
55044         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
55045         remove it conditionally, too. [added by Jim Meyering]
55046         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
55047         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55048         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
55049         GETTIMEOFDAY_REPLACEMENT to 1.
55050
55051 2007-01-28  Bruno Haible  <bruno@clisp.org>
55052
55053         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
55054         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
55055         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
55056         Set UNISTD_H instead of UNISTD_H2.
55057         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
55058
55059 2007-01-28  Bruno Haible  <bruno@clisp.org>
55060
55061         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
55062         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
55063
55064 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55065
55066         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
55067         (func_create_testdir): Ensure C locale for `grep' and `tr'
55068         character ranges.
55069         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
55070         ACLOCAL_AMFLAGS parsing state machine.
55071
55072 2007-01-27  Bruno Haible  <bruno@clisp.org>
55073
55074         * modules/unistr/base: Update.
55075
55076 2007-01-27  Bruno Haible  <bruno@clisp.org>
55077
55078         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
55079         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
55080         * modules/unistr/u32-mbtouc-unsafe: Renamed from
55081         modules/unistr/u32-mbtouc.
55082         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
55083         * lib/unistr.h: Update.
55084         * lib/linebreak.c: Update.
55085         * modules/unistr/u32-mbtouc: Renamed from
55086         modules/unistr/u32-mbtouc-safe.
55087         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
55088         * lib/unistr.h: Update.
55089         * lib/unistr/u32-to-u8.c: Update.
55090         * lib/unistr/u32-to-u16.c: Update.
55091
55092 2007-01-27  Bruno Haible  <bruno@clisp.org>
55093
55094         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
55095         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
55096         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
55097         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
55098         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
55099         * modules/unistr/u16-mbtouc-unsafe: Renamed from
55100         modules/unistr/u16-mbtouc.
55101         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
55102         * lib/unistr.h: Update.
55103         * lib/linebreak.c: Update.
55104         * modules/linebreak: Update.
55105         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
55106         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
55107         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
55108         * modules/unistr/u16-mbtouc: Renamed from
55109         modules/unistr/u16-mbtouc-safe.
55110         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
55111         * lib/unistr.h: Update.
55112         * lib/unistr/u16-to-u8.c: Update.
55113         * modules/unistr/u16-to-u8: Update.
55114         * lib/unistr/u16-to-u32.c: Update.
55115         * modules/unistr/u16-to-u32: Update.
55116
55117 2007-01-27  Bruno Haible  <bruno@clisp.org>
55118
55119         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
55120         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
55121         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
55122         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
55123         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
55124         * modules/unistr/u8-mbtouc-unsafe: Renamed from
55125         modules/unistr/u8-mbtouc.
55126         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
55127         * lib/unistr.h: Update.
55128         * lib/striconveh.c: Update.
55129         * modules/striconveh: Update.
55130         * lib/linebreak.c: Update.
55131         * modules/linebreak: Update.
55132         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
55133         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
55134         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
55135         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
55136         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
55137         * lib/unistr.h: Update.
55138         * lib/striconveh.c: Update.
55139         * modules/striconveh: Update.
55140         * lib/unistr/u8-to-u16.c: Update.
55141         * modules/unistr/u8-to-u16: Update.
55142         * lib/unistr/u8-to-u32.c: Update.
55143         * modules/unistr/u8-to-u32: Update.
55144
55145 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55146
55147         Sync from Libtool.
55148         * lib/argz.c: Do not include strings.h nor memory.h, include
55149         string.h unconditionally.  Patch by Simon Josefsson.
55150
55151 2007-01-27  Bruno Haible  <bruno@clisp.org>
55152
55153         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
55154         from gl_HEADER_STRING_H_BODY.
55155         (gl_HEADER_STRING_H_BODY): Require it.
55156         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
55157         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
55158         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
55159         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
55160         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55161         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
55162         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55163         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
55164         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
55165         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55166         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
55167         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
55168         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
55169         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55170         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55171
55172 2007-01-27  Bruno Haible  <bruno@clisp.org>
55173
55174         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
55175         check_PROGRAMS into noinst_PROGRAMS.
55176         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
55177         check_PROGRAMS in this case.
55178         (func_import): Set for_test to false.
55179         (func_create_testdir): Set for_test to true.
55180
55181 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55182             Bruno Haible  <bruno@clisp.org>
55183
55184         * modules/strcasestr (Files): Remove lib/strcasestr.h.
55185         (Depends-on): Add string.
55186         (Includes): Use <string.h> instead of strcasestr.h.
55187         * modules/string (Makefile.am): Also substitute the value of
55188         REPLACE_STRCASESTR.
55189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
55190         assume strcasestr is declared in <string.h> not <strings.h>. Also
55191         set REPLACE_STRCASESTR.
55192         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
55193         REPLACE_STRCASESTR.
55194         * lib/strcasestr.h: Remove file.
55195         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
55196         * lib/string_.h (strcasestr): New declaration.
55197
55198 2007-01-27  Bruno Haible  <bruno@clisp.org>
55199
55200         * lib/string_.h: Use 'extern'.
55201
55202 2007-01-27  Jim Meyering  <jim@meyering.net>
55203
55204         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
55205         of set-but-not-used local, "q".
55206
55207         * lib/mempcpy.c: Include <config.h> before <string.h>.
55208         This fixes a compilation error on HP-UX, due to the system's
55209         "restrict"-using mempcpy prototype.
55210
55211 2007-01-26  Bruno Haible  <bruno@clisp.org>
55212
55213         Small optimization.
55214         * lib/javacomp.c: Include c-strstr.h.
55215          (is_envjavac_gcj): Use c_strstr instead of strstr.
55216         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
55217
55218 2007-01-26  Bruno Haible  <bruno@clisp.org>
55219
55220         * MODULES.html.sh (Unicode string functions): Add the new modules.
55221
55222         * modules/uniconv/u32-strconv-to-locale: New file.
55223         * lib/uniconv/u32-strconv-to-locale.c: New file.
55224
55225         * modules/uniconv/u16-strconv-to-locale: New file.
55226         * lib/uniconv/u16-strconv-to-locale.c: New file.
55227
55228         * modules/uniconv/u8-strconv-to-locale: New file.
55229         * lib/uniconv/u8-strconv-to-locale.c: New file.
55230
55231         * modules/uniconv/u32-strconv-from-locale: New file.
55232         * lib/uniconv/u32-strconv-from-locale.c: New file.
55233
55234         * modules/uniconv/u16-strconv-from-locale: New file.
55235         * lib/uniconv/u16-strconv-from-locale.c: New file.
55236
55237         * modules/uniconv/u8-strconv-from-locale: New file.
55238         * lib/uniconv/u8-strconv-from-locale.c: New file.
55239
55240         * modules/uniconv/u32-strconv-to-enc: New file.
55241         * lib/uniconv/u32-strconv-to-enc.c: New file.
55242         * modules/uniconv/u32-strconv-to-enc-tests: New file.
55243         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
55244
55245         * modules/uniconv/u16-strconv-to-enc: New file.
55246         * lib/uniconv/u16-strconv-to-enc.c: New file.
55247         * lib/uniconv/u-strconv-to-enc.h: New file.
55248         * modules/uniconv/u16-strconv-to-enc-tests: New file.
55249         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
55250
55251         * modules/uniconv/u8-strconv-to-enc: New file.
55252         * lib/uniconv/u8-strconv-to-enc.c: New file.
55253         * modules/uniconv/u8-strconv-to-enc-tests: New file.
55254         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
55255
55256         * modules/uniconv/u32-strconv-from-enc: New file.
55257         * lib/uniconv/u32-strconv-from-enc.c: New file.
55258         * modules/uniconv/u32-strconv-from-enc-tests: New file.
55259         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
55260
55261         * modules/uniconv/u16-strconv-from-enc: New file.
55262         * lib/uniconv/u16-strconv-from-enc.c: New file.
55263         * modules/uniconv/u16-strconv-from-enc-tests: New file.
55264         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
55265
55266         * modules/uniconv/u8-strconv-from-enc: New file.
55267         * lib/uniconv/u8-strconv-from-enc.c: New file.
55268         * lib/uniconv/u-strconv-from-enc.h: New file.
55269         * modules/uniconv/u8-strconv-from-enc-tests: New file.
55270         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
55271
55272         * modules/uniconv/u32-conv-from-enc: New file.
55273         * lib/uniconv/u32-conv-from-enc.c: New file.
55274         * modules/uniconv/u32-conv-from-enc-tests: New file.
55275         * tests/uniconv/test-u32-conv-from-enc.c: New file.
55276
55277         * modules/uniconv/u16-conv-from-enc: New file.
55278         * lib/uniconv/u16-conv-from-enc.c: New file.
55279         * lib/uniconv/u-conv-from-enc.h: New file.
55280         * modules/uniconv/u16-conv-from-enc-tests: New file.
55281         * tests/uniconv/test-u16-conv-from-enc.c: New file.
55282
55283         * modules/uniconv/u8-conv-from-enc: New file.
55284         * lib/uniconv/u8-conv-from-enc.c: New file.
55285         * modules/uniconv/u8-conv-from-enc-tests: New file.
55286         * tests/uniconv/test-u8-conv-from-enc.c: New file.
55287
55288         * modules/uniconv/base: New file.
55289         * lib/uniconv.h: New file.
55290
55291 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
55292
55293         * doc/gnulib-tool.texi (Initial import): Update to match current
55294         behavior with strdup module.
55295         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
55296         * lib/memmem.h: Remove; all uses removed.  This is now done
55297         by <string.h>.
55298         * lib/mempcpy.h: Likewise.
55299         * lib/memrchr.h: Likewise.
55300         * lib/stpcpy.h: Likewise.
55301         * lib/stpncpy.h: Likewise.
55302         * lib/strcase.h: Likewise.
55303         * lib/strchrnul.h: Likewise.
55304         * lib/strdup.h: Likewise.
55305         * lib/strndup.h: Likewise.
55306         * lib/strnlen.h: Likewise.
55307         * lib/strpbrk.h: Likewise.
55308         * lib/strsep.h: Likewise.
55309         * lib/strstr.h: Likewise.
55310         * lib/strtok_r.h: Likewise.
55311         * lib/string_.h: New file.
55312         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
55313         Rely on <string.h> instead.
55314         * lib/canon-host.c: Likewise.
55315         * lib/chdir-long.c: Likewise.
55316         * lib/concatpath.c: Likewise.
55317         * lib/exclude.c: Likewise.
55318         * lib/fchdir.c: Likewise.
55319         * lib/getaddrinfo.c: Likewise.
55320         * lib/getcwd.c: Likewise.
55321         * lib/getsubopt.c: Likewise.
55322         * lib/glob.c: Likewise.
55323         * lib/hard-locale.c: Likewise.
55324         * lib/iconvme.c: Likewise.
55325         * lib/javacomp.c: Likewise.
55326         * lib/mempcpy.c: Likewise.
55327         * lib/memrchr.c: Likewise.
55328         * lib/regex_internal.h: Likewise.
55329         * lib/stpncpy.c: Likewise.
55330         * lib/strcasecmp.c: Likewise.
55331         * lib/strchrnul.c: Likewise.
55332         * lib/strdup.c: Likewise.
55333         * lib/striconv.c: Likewise.
55334         * lib/striconveh.c: Likewise.
55335         * lib/striconveha.c: Likewise.
55336         * lib/strncasecmp.c: Likewise.
55337         * lib/strndup.c: Likewise.
55338         * lib/strnlen.c: Likewise.
55339         * lib/strsep.c: Likewise.
55340         * lib/strstr.c: Likewise.
55341         * lib/strtok_r.c: Likewise.
55342         * lib/userspec.c: Likewise.
55343         * lib/w32spawn.h: Likewise.
55344         * lib/xstrndup.c: Likewise.
55345         * lib/mountlist.c (strstr): Remove decl.
55346         * m4/string_h.m4: New file.
55347         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
55348         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
55349         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
55350         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
55351         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
55352         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
55353         Set REPLACE_STRCASECMP if necessary.
55354         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
55355         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
55356         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
55357         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
55358         HAVE_DECL_STRDUP if necessary.
55359         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
55360         since gl_FUNC_STRNDUP does that now.
55361         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
55362         Check for decl here...
55363         (gl_PREREQ_STRNLEN): ... not here.
55364         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
55365         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
55366         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
55367         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
55368         necessary.
55369         * modules/string: New file.
55370         * modules/memmem (Files): Remove special-purpose include file.
55371         (Depends-on): Add string.
55372         (Include): Include <string.h>, not the removed file.
55373         * modules/mempcpy: Likewise.
55374         * modules/memrchr: Likewise.
55375         * modules/stpcpy: Likewise.
55376         * modules/stpncpy: Likewise.
55377         * modules/strcase: Likewise.
55378         * modules/strchrnul: Likewise.
55379         * modules/strdup: Likewise.
55380         * modules/strndup: Likewise.
55381         * modules/strnlen: Likewise.
55382         * modules/strpbrk: Likewise.
55383         * modules/strsep: Likewise.
55384         * modules/strstr: Likewise.
55385         * modules/strtok_r: Likewise.
55386         * tests/test-dirname.c: Don't include "strdup.h", since
55387         <string.h> now suffices.
55388         * tests/test-memmem.c: Don't include "memmem.h", since
55389         <string.h> now suffices.
55390
55391 2007-01-25  Bruno Haible  <bruno@clisp.org>
55392
55393         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
55394         *resultp is 0.
55395
55396         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
55397         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
55398         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
55399         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
55400
55401         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
55402         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
55403         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
55404         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
55405         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
55406         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
55407
55408 2007-01-24  Bruno Haible  <bruno@clisp.org>
55409
55410         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
55411         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
55412         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
55413         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
55414         gl_FUNC_FTS_CORE.
55415         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
55416         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
55417         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55418         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
55419         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
55420         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
55421         gl_FUNC_FCHOWNAT.
55422         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
55423         gl_FUNC_STRFTIME.
55424         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
55425         Reported by Ralf Wildenhues.
55426
55427 2007-01-24  Bruno Haible  <bruno@clisp.org>
55428
55429         Drop AC_REQUIRE calls that are redundant with the module dependencies.
55430         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
55431         gl_GETADDRINFO.
55432         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
55433         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
55434         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
55435
55436 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
55437
55438         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
55439         Don't use 'exit'; just return from 'main'.
55440         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
55441
55442         * lib/fnmatch_.h: Readjust white space and comments to match
55443         glibc, to avoid spurious diffs.
55444
55445 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55446
55447         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
55448         2004-12-01 change by Jakub Jelinek, since this code won't compile
55449         if !LIBC.  Problem reported by Bob Proulx.
55450
55451 2007-01-23  Bruno Haible  <bruno@clisp.org>
55452
55453         * lib/striconveh.c: Include c-strcaseeq.h.
55454         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
55455         * modules/striconveh (Depends-on): Add c-strcaseeq.
55456
55457 2007-01-23  Bruno Haible  <bruno@clisp.org>
55458
55459         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
55460
55461         * modules/c-strcaseeq: New file.
55462         * lib/c-strcaseeq.h: New file.
55463
55464         * modules/streq: New file.
55465         * lib/streq.h: New file.
55466
55467 2007-01-23  Bruno Haible  <bruno@clisp.org>
55468
55469         * modules/striconveha-tests: New file.
55470         * tests/test-striconveha.c: New file.
55471
55472         * lib/striconveha.h: Include <stdbool.h>.
55473         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
55474         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
55475         (mem_iconveha_notranslit): Renamed from mem_iconveha.
55476         (mem_iconveha): New function.
55477         (str_iconveha_notranslit): Renamed from str_iconveha.
55478         (str_iconveha): New function.
55479         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
55480         c-strcase.
55481
55482 2007-01-23  Bruno Haible  <bruno@clisp.org>
55483
55484         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
55485         encodings without forgiving before trying any encoding with handler.
55486         (str_iconveha): Try all encodings without forgiving before trying any
55487         encoding with handler.
55488
55489 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55490
55491         Import the following changes from libc.
55492
55493         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55494
55495         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
55496
55497         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55498
55499         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
55500         normal_bracket label.
55501
55502         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
55503
55504         [BZ #361]
55505         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
55506         to normal_bracket after fetching the next character.
55507
55508 2007-01-22  Bruno Haible  <bruno@clisp.org>
55509
55510         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
55511         argument.
55512         * lib/striconveh.c (iconv_carefully_1): New function.
55513         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
55514         argument.
55515         (str_cd_iconveh): Update.
55516         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
55517         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
55518         * tests/test-striconveh.c (MAGIC): New macro.
55519         (new_offsets): New function.
55520         (main): Test call with and without offsets.
55521
55522 2007-01-22  Bruno Haible  <bruno@clisp.org>
55523
55524         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
55525         * modules/sys_select (Makefile.am): Likewise.
55526         * modules/sys_socket (Makefile.am): Likewise.
55527         * modules/sys_time (Makefile.am): Likewise.
55528
55529 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55530
55531         * modules/gettimeofday (License): Change from GPL to LGPL, since
55532         gettimeofday is a library function.
55533
55534 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55535
55536         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
55537
55538 2007-01-21  Bruno Haible  <bruno@clisp.org>
55539
55540         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
55541
55542 2007-01-21  Bruno Haible  <bruno@clisp.org>
55543
55544         * modules/striconveha: New file.
55545         * lib/striconveha.h: New file.
55546         * lib/striconveha.c: New file.
55547         * MODULES.html.sh (Internationalization functions): Add striconveha.
55548         * lib/striconv.c (str_iconv): Optimize the case of an empty input
55549         string.
55550         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
55551
55552 2007-01-21  Bruno Haible  <bruno@clisp.org>
55553
55554         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
55555         * lib/striconveh.c (str_iconveh): Likewise.
55556
55557 2007-01-21  Bruno Haible  <bruno@clisp.org>
55558
55559         * lib/striconveh.h (mem_iconveh): New declaration.
55560         * lib/striconveh.c (mem_iconveh): New function.
55561         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
55562
55563 2007-01-21  Bruno Haible  <bruno@clisp.org>
55564
55565         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
55566
55567         * lib/striconveh.h (mem_cd_iconveh): Change specification.
55568         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
55569         original result buffer.
55570         (str_cd_iconveh): Update.
55571         * tests/test-striconveh.c (main): Update.
55572
55573         * lib/striconv.h (mem_cd_iconv): Change specification.
55574         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
55575         result buffer.
55576         (str_cd_iconv): Update.
55577         * tests/test-striconv.c (main): Update.
55578
55579 2007-01-21  Bruno Haible  <bruno@clisp.org>
55580
55581         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
55582
55583 2007-01-20  Jim Meyering  <jim@meyering.net>
55584
55585         * lib/userspec.c (parse_with_separator): If a user or group string
55586         starts with "+", skip the corresponding name-to-ID look-up, since
55587         such a look-up must fail: user and group names may not include "+".
55588
55589 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55590
55591         * lib/poll.c: Include sys/time.h and time.h unconditionally,
55592         since we now assume the sys_time module.
55593         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
55594         check for sys/time.h; no longer needed.
55595         * modules/poll (Depends-on): Depend on sys_time.
55596
55597 2007-01-18  Bruno Haible  <bruno@clisp.org>
55598
55599         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
55600         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55601
55602         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
55603         gettimeofday.
55604
55605         * tests/test-gettimeofday.c: Include <time.h>.
55606         (dummy): Remove variable.
55607
55608         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
55609         gl_HEADER_SYS_TIME_H.
55610         (gl_HEADER_SYS_TIME_H): New macro.
55611
55612         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
55613         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55614         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
55615         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
55616         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55617         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
55618         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
55619         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55620         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
55621         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
55622         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55623
55624         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
55625         last change; it caused a compilation error when cross-compiling to
55626         Cygwin.
55627
55628 2007-01-18  Jim Meyering  <jim@meyering.net>
55629
55630         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
55631         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
55632         than the race-prone "test -d sys || mkdir sys".
55633         (configure.ac): Use AC_PROG_MKDIR_P.
55634         * modules/sys_select: Likewise.
55635         * modules/sys_socket: Likewise.
55636         * modules/sys_time: Likewise.
55637
55638 2007-01-18  Eric Blake  <ebb9@byu.net>
55639
55640         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
55641         replace gettimeofday.
55642         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
55643         name, to avoid infinite recursion.
55644
55645 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
55646
55647         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
55648         module sys_time.
55649         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
55650         assume timespec.h defines struct timeval.
55651         * lib/settime.c: Likewise.
55652         * lib/utimens.c: Likewise.
55653         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
55654         since we now assume the gettimeofday module.
55655         * lib/tempname.c (__gen_tempname): Likewise.
55656         * lib/gettimeofday.h: Remove.
55657         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
55658         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
55659         Include <time.h>, for 'time()'.
55660         (localtime_buffer_addr): Also use this workaround if
55661         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
55662         to simplify the uses.  All uses changed.
55663         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
55664         that #undef is inside {}, and 'const' follows type name consistently.
55665         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
55666         (gettimeofday): Do not use the maximum possible value for
55667         tv->tv_usec, since that might break usages other than ls.c.
55668         Instead, we'll leave ls.c alone.  This undoes today's patch
55669         by Bruno.  Add a compile-time warning for 1s-clock resolution;
55670         we've never observed the problem but might as well keep the
55671         canary.
55672         * lib/nanosleep.c: Include timespec.h first, for interface check.
55673         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
55674         now assume the sys_time module.
55675         * lib/tempname.c: Likewise.
55676         * lib/timespec.h: Likewise.
55677         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
55678         needed.
55679         * lib/strftime.c: Likewise.
55680         * lib/timespec.h: Likewise.
55681         * lib/posixtm.c: Include posixtm.h first, for interface check.
55682         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
55683         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
55684         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
55685         * lib/sys_time_.h: New file.
55686         * lib/timespec.h (struct timespec): Use long int, not long.
55687         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55688         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
55689         Remove obsolescent call to AC_HEADER_TIME.
55690         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
55691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55692         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55693         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
55694         Likewise.
55695         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
55696         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
55697         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
55698         into the sys_time module.  Check for gettimeofday just once.
55699         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
55700         for gettimeofday signature to just check the signature.  Merely
55701         compile it, since linking doesn't test signature.  Improve test for
55702         whether gettimeofday.o is actually needed.
55703         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
55704         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
55705         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
55706         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55707         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
55708         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
55709         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
55710         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
55711         than worrying about sys/time.h.
55712         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55713         Don't bother worrying about TIME_WITH_SYS_TIME.
55714         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
55715         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
55716         * m4/sys_time_h.m4: New file.
55717         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
55718         Don't include sys/time.h.  Return from main rather than exiting.
55719         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
55720         all uses changed.
55721         * modules/gethrxtime (Depends-on): Add sys_time.
55722         * modules/gettime (Depends-on): Likewise.
55723         * modules/gettimeofday (Depends-on): Likewise.
55724         * modules/nanosleep (Depends-on): Likewise.
55725         * modules/settime (Depends-on): Likewise.
55726         * modules/tempname (Depends-on): Likewise.
55727         * modules/utimens (Depends-on): Likewise.
55728         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
55729         (Include): Change back to <sys/time.h>.
55730         (Maintainer): Add self.
55731         * modules/sys_time: New file.
55732         * modules/tempname (Depends-on): Add gettimeofday.
55733         * tests/test-gettimeofday.c: Include <sys/time.h>
55734         rather than gettimeofday.h.
55735
55736 2007-01-17  Bruno Haible  <bruno@clisp.org>
55737
55738         * gnulib-tool (func_get_license): Revert last patch. Instead, let
55739         the license default to GPL.
55740         (func_create_testdir): Don't complain if a module is LGPL and its
55741         tests module depends on GPLed modules.
55742
55743 2007-01-17  Bruno Haible  <bruno@clisp.org>
55744
55745         * lib/gettimeofday.c (gettimeofday): Add code for the case
55746         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
55747         maximum possible value for tv->tv_usec, rather than the minimum one.
55748
55749 2005-10-08  Martin Lambers  <marlam@marlam.de>
55750 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55751 2007-01-16  Bruno Haible  <bruno@clisp.org>
55752
55753         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
55754         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
55755         gl_FUNC_GETTIMEOFDAY.
55756         (Include): Add gettimeofday.h.
55757         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
55758         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
55759         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
55760         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
55761         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
55762         * lib/gettimeofday.h: New file.
55763         * lib/gettimeofday.c: Include <sys/timeb.h>.
55764         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
55765         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55766         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
55767         fall back on time().
55768
55769         * tests/test-gettimeofday.c: New file.
55770         * modules/gettimeofday-tests: New file.
55771
55772 2007-01-16  Eric Blake  <ebb9@byu.net>
55773
55774         * modules/fnmatch (Depends-on): Depend on wchar.
55775         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
55776         * m4/fnmatch.m4: Likewise.
55777         * modules/mbchar (Makefile.am): Assume <wchar.h>.
55778         * m4/mbchar.m4: Likewise.
55779         * modules/mbswidth (Depends-on): Depend on wchar.
55780         * lib/mbswidth.c: Assume <wchar.h>.
55781         * m4/mbswidth.m4: Likewise.
55782         * modules/quotearg (Depends-on): Depend on wchar.
55783         * lib/quotearg.c: Assume <wchar.h>.
55784         * m4/quotearg.m4: Likewise.
55785         * modules/regex (Depends-on): Depend on wchar.
55786         * lib/regex_internal.h: Assume <wchar.h>.
55787         * m4/regex.m4: Likewise.
55788         * modules/stdint (Depends-on): Depend on wchar.
55789         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
55790         * m4/stdint.m4: Likewise.
55791         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
55792         * modules/strftime (Depends-on): Depend on wchar.
55793         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
55794         * modules/strtol (Depends-on): Depend on wchar.
55795         * lib/strtol.c: Assume <wchar.h>.
55796         * modules/wcwidth (Depends-on): Depend on wchar.
55797         * lib/wcwidth.h: Assume <wchar.h>.
55798         * m4/wcwidth.m4: Likewise.
55799
55800 2007-01-16  Bruno Haible  <bruno@clisp.org>
55801
55802         * modules/csharpexec-script: New, created from...
55803         * modules/csharpexec: ... this.
55804
55805 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55806
55807         * modules/javaexec-script: New, created from...
55808         * modules/javaexec: ... this.
55809
55810 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55811
55812         * modules/poll (Dependencies): Add sys_select.
55813
55814 2007-01-15  Jim Meyering  <jim@meyering.net>
55815
55816         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
55817         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
55818         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
55819         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
55820
55821 2007-01-15  Bruno Haible  <bruno@clisp.org>
55822
55823         * modules/striconveh: New file.
55824         * lib/striconveh.h: New file.
55825         * lib/striconveh.c: New file.
55826         * MODULES.html.sh (Internationalization functions): Add striconveh.
55827
55828         * modules/striconveh-tests: New file.
55829         * tests/test-striconveh.c: New file.
55830
55831 2007-01-15  Bruno Haible  <bruno@clisp.org>
55832
55833         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
55834         not from GNU libiconv or GNU libc.
55835
55836 2007-01-15  Bruno Haible  <bruno@clisp.org>
55837
55838         * doc/gnulib-intro.texi (Copyright): Explain the different license
55839         terms for module descriptions, autoconf macros, tests, documentation.
55840
55841 2007-01-14  Bruno Haible  <bruno@clisp.org>
55842
55843         * modules/striconv-tests: New file.
55844         * tests/test-striconv.c: New file.
55845
55846 2007-01-14  Bruno Haible  <bruno@clisp.org>
55847
55848         * modules/iconv-tests: New file.
55849         * tests/test-iconv.c: New file.
55850
55851 2007-01-14  Bruno Haible  <bruno@clisp.org>
55852
55853         * gnulib-tool (func_get_license): For test modules, use the license of
55854         the main module.
55855
55856 2007-01-14  Bruno Haible  <bruno@clisp.org>
55857
55858         * modules/iconv (Include): Clarify that <iconv.h> can only be included
55859         if iconv is found to exist.
55860
55861 2007-01-14  Bruno Haible  <bruno@clisp.org>
55862
55863         * modules/c-ctype-tests: New file.
55864         * tests/test-c-ctype.c: New file.
55865
55866 2007-01-14  Bruno Haible  <bruno@clisp.org>
55867
55868         * modules/binary-io-tests: New file.
55869         * tests/test-binary-io.sh: New file.
55870         * tests/test-binary-io.c: New file.
55871
55872 2007-01-14  Bruno Haible  <bruno@clisp.org>
55873
55874         * modules/array-oset-tests: New file.
55875         * tests/test-array_oset.c: New file.
55876
55877 2007-01-14  Bruno Haible  <bruno@clisp.org>
55878
55879         * modules/array-list-tests: New file.
55880         * tests/test-array_list.c: New file.
55881
55882 2007-01-14  Bruno Haible  <bruno@clisp.org>
55883
55884         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
55885         and make.
55886         Reported by Simon Josefsson in
55887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
55888
55889 2007-01-14  Bruno Haible  <bruno@clisp.org>
55890
55891         * modules/allocsa-tests: New file.
55892         * tests/test-allocsa.c: New file.
55893
55894 2007-01-14  Bruno Haible  <bruno@clisp.org>
55895
55896         * modules/fchdir (Depends-on): Add absolute-header.
55897         * modules/unistd (Depends-on): Likewise.
55898
55899 2006-12-30  Bruno Haible  <bruno@clisp.org>
55900
55901         * modules/fchdir: New file.
55902         * modules/unistd (Files): Add lib/unistd_.h.
55903         (Makefile.am): Generate unistd.h from unistd_.h.
55904         * lib/fchdir.c: New file.
55905         * lib/dirent_.h: New file.
55906         * lib/unistd_.h: New file.
55907         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
55908         * m4/fchdir.m4: New file.
55909         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
55910         (gl_HEADER_UNISTD): Invoke it.
55911         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
55912         function.
55913         * lib/backupfile.c (opendir, closedir): Undefine.
55914         * lib/chown.c (open, close): Undefine.
55915         * lib/clean-temp.c (open, close): Undefine.
55916         * lib/copy-file.c (open, close): Undefine.
55917         * lib/execute.c (open, close): Undefine.
55918         * lib/fsusage.c (open, close): Undefine.
55919         * lib/gc-gnulib.c (open, close): Undefine.
55920         * lib/getcwd.c (opendir, closedir): Undefine.
55921         * lib/glob.c (opendir, closedir): Undefine.
55922         * lib/javacomp.c (open, close): Undefine.
55923         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
55924         * lib/openat-proc.c (open, close): Undefine.
55925         * lib/pagealign_alloc.c (open, close): Undefine.
55926         * lib/pipe.c (open, close): Undefine.
55927         * lib/progreloc.c (open, close): Undefine.
55928         * lib/savedir.c (opendir, closedir): Undefine.
55929         * lib/utime.c (open, close): Undefine.
55930         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
55931
55932 2007-01-10  Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
55935
55936 2007-01-12  Eric Blake  <ebb9@byu.net>
55937
55938         Provide a robust <wchar.h>.  Further simplifications are now
55939         possible in other modules, but not included here.
55940         * modules/wchar: New module.
55941         * m4/wchar.m4: New file.
55942         * lib/wchar_.h: Likewise.
55943         * modules/mbchar (Depends-on): Depend on wchar, as the first use
55944         of the new module.
55945         * MODULES.html.sh (Extended multibyte and wide character utilities):
55946         New section.
55947
55948 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
55949
55950         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
55951         to a reasonable default for memory allocation.
55952         (xreadlink): Don't allocate a huge buffer, to work around a buggy
55953         file system that reports garbage st_size values for symlinks.
55954         Problem reported by Liyang Hu.
55955
55956 2007-01-11  Simon Josefsson  <simon@josefsson.org>
55957
55958         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
55959         Emacs .#* auto-save files).
55960
55961 2007-01-11  Bruno Haible  <bruno@clisp.org>
55962
55963         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
55964         directory.
55965
55966 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
55967
55968         Use @...@ consistently in lib/wctype_.h.
55969         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
55970         on it being set to 1 or 0.
55971         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55972         go back to AC_SUBSTing it.
55973         * modules/wctype (Makefile.am): Undo previous change.
55974
55975 2007-01-10  Eric Blake  <ebb9@byu.net>
55976
55977         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55978         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55979         * modules/wctype (Makefile.am): Likewise.
55980         Reported by Chris McGuire.
55981
55982 2007-01-10  Jim Meyering  <jim@meyering.net>
55983
55984         fts.c: a small readability/maintainability improvement
55985         * lib/fts.c (fts_read): Make this code slightly more readable and
55986         maintainable by hoisting the "sp->fts_cur = p" assignments to
55987         immediately follow the statements that set P.  Derived from
55988         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55989
55990 2007-01-10  Eric Blake  <ebb9@byu.net>
55991
55992         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55993         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55994         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55995         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55996         Reported by Chris McGuire.
55997
55998 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55999
56000         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
56001         in sed script.
56002
56003 2007-01-09  Bruno Haible  <bruno@clisp.org>
56004
56005         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
56006         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
56007         variables.
56008         (func_module): Use them.
56009
56010 2007-01-09  Bruno Haible  <bruno@clisp.org>
56011
56012         * modules/unistr/base: New file.
56013         * lib/unistr.h: New file.
56014
56015         * modules/unistr/u8-to-u16: New file.
56016         * lib/unistr/u8-to-u16.c: New file.
56017
56018         * modules/unistr/u8-to-u32: New file.
56019         * lib/unistr/u8-to-u32.c: New file.
56020
56021         * modules/unistr/u16-to-u8: New file.
56022         * lib/unistr/u16-to-u8.c: New file.
56023
56024         * modules/unistr/u16-to-u32: New file.
56025         * lib/unistr/u16-to-u32.c: New file.
56026
56027         * modules/unistr/u32-to-u8: New file.
56028         * lib/unistr/u32-to-u8.c: New file.
56029
56030         * modules/unistr/u32-to-u16: New file.
56031         * lib/unistr/u32-to-u16.c: New file.
56032
56033         * modules/unistr/u8-check: New file.
56034         * modules/unistr/u16-check: New file.
56035         * modules/unistr/u32-check: New file.
56036         * lib/unistr/u8-check.c: New file.
56037         * lib/unistr/u16-check.c: New file.
56038         * lib/unistr/u32-check.c: New file.
56039
56040         * modules/unistr/u8-chr: New file.
56041         * modules/unistr/u16-chr: New file.
56042         * modules/unistr/u32-chr: New file.
56043         * lib/unistr/u8-chr.c: New file.
56044         * lib/unistr/u16-chr.c: New file.
56045         * lib/unistr/u32-chr.c: New file.
56046
56047         * modules/unistr/u8-cmp: New file.
56048         * modules/unistr/u16-cmp: New file.
56049         * modules/unistr/u32-cmp: New file.
56050         * lib/unistr/u8-cmp.c: New file.
56051         * lib/unistr/u16-cmp.c: New file.
56052         * lib/unistr/u32-cmp.c: New file.
56053
56054         * modules/unistr/u8-cpy: New file.
56055         * modules/unistr/u16-cpy: New file.
56056         * modules/unistr/u32-cpy: New file.
56057         * lib/unistr/u8-cpy.c: New file.
56058         * lib/unistr/u16-cpy.c: New file.
56059         * lib/unistr/u32-cpy.c: New file.
56060         * lib/unistr/u-cpy.h: New file.
56061
56062         * modules/unistr/u8-cpy-alloc: New file.
56063         * modules/unistr/u16-cpy-alloc: New file.
56064         * modules/unistr/u32-cpy-alloc: New file.
56065         * lib/unistr/u8-cpy-alloc.c: New file.
56066         * lib/unistr/u16-cpy-alloc.c: New file.
56067         * lib/unistr/u32-cpy-alloc.c: New file.
56068         * lib/unistr/u-cpy-alloc.h: New file.
56069
56070         * modules/unistr/u8-endswith: New file.
56071         * modules/unistr/u16-endswith: New file.
56072         * modules/unistr/u32-endswith: New file.
56073         * lib/unistr/u8-endswith.c: New file.
56074         * lib/unistr/u16-endswith.c: New file.
56075         * lib/unistr/u32-endswith.c: New file.
56076         * lib/unistr/u-endswith.h: New file.
56077
56078         * modules/unistr/u8-mblen: New file.
56079         * modules/unistr/u16-mblen: New file.
56080         * modules/unistr/u32-mblen: New file.
56081         * lib/unistr/u8-mblen.c: New file.
56082         * lib/unistr/u16-mblen.c: New file.
56083         * lib/unistr/u32-mblen.c: New file.
56084
56085         * modules/unistr/u8-mbtouc: New file.
56086         * modules/unistr/u16-mbtouc: New file.
56087         * modules/unistr/u32-mbtouc: New file.
56088         * lib/unistr/u8-mbtouc.c: New file.
56089         * lib/unistr/u16-mbtouc.c: New file.
56090         * lib/unistr/u32-mbtouc.c: New file.
56091
56092         * modules/unistr/u8-mbtouc-safe: New file.
56093         * modules/unistr/u16-mbtouc-safe: New file.
56094         * modules/unistr/u32-mbtouc-safe: New file.
56095         * lib/unistr/u8-mbtouc-safe.c: New file.
56096         * lib/unistr/u16-mbtouc-safe.c: New file.
56097         * lib/unistr/u32-mbtouc-safe.c: New file.
56098
56099         * modules/unistr/u8-move: New file.
56100         * modules/unistr/u16-move: New file.
56101         * modules/unistr/u32-move: New file.
56102         * lib/unistr/u8-move.c: New file.
56103         * lib/unistr/u16-move.c: New file.
56104         * lib/unistr/u32-move.c: New file.
56105         * lib/unistr/u-move.h: New file.
56106
56107         * modules/unistr/u8-next: New file.
56108         * modules/unistr/u16-next: New file.
56109         * modules/unistr/u32-next: New file.
56110         * lib/unistr/u8-next.c: New file.
56111         * lib/unistr/u16-next.c: New file.
56112         * lib/unistr/u32-next.c: New file.
56113
56114         * modules/unistr/u8-prev: New file.
56115         * modules/unistr/u16-prev: New file.
56116         * modules/unistr/u32-prev: New file.
56117         * lib/unistr/u8-prev.c: New file.
56118         * lib/unistr/u16-prev.c: New file.
56119         * lib/unistr/u32-prev.c: New file.
56120
56121         * modules/unistr/u8-set: New file.
56122         * modules/unistr/u16-set: New file.
56123         * modules/unistr/u32-set: New file.
56124         * lib/unistr/u8-set.c: New file.
56125         * lib/unistr/u16-set.c: New file.
56126         * lib/unistr/u32-set.c: New file.
56127         * lib/unistr/u-set.h: New file.
56128
56129         * modules/unistr/u8-startswith: New file.
56130         * modules/unistr/u16-startswith: New file.
56131         * modules/unistr/u32-startswith: New file.
56132         * lib/unistr/u8-startswith.c: New file.
56133         * lib/unistr/u16-startswith.c: New file.
56134         * lib/unistr/u32-startswith.c: New file.
56135         * lib/unistr/u-startswith.h: New file.
56136
56137         * modules/unistr/u8-stpcpy: New file.
56138         * modules/unistr/u16-stpcpy: New file.
56139         * modules/unistr/u32-stpcpy: New file.
56140         * lib/unistr/u8-stpcpy.c: New file.
56141         * lib/unistr/u16-stpcpy.c: New file.
56142         * lib/unistr/u32-stpcpy.c: New file.
56143         * lib/unistr/u-stpcpy.h: New file.
56144
56145         * modules/unistr/u8-stpncpy: New file.
56146         * modules/unistr/u16-stpncpy: New file.
56147         * modules/unistr/u32-stpncpy: New file.
56148         * lib/unistr/u8-stpncpy.c: New file.
56149         * lib/unistr/u16-stpncpy.c: New file.
56150         * lib/unistr/u32-stpncpy.c: New file.
56151         * lib/unistr/u-stpncpy.h: New file.
56152
56153         * modules/unistr/u8-strcat: New file.
56154         * modules/unistr/u16-strcat: New file.
56155         * modules/unistr/u32-strcat: New file.
56156         * lib/unistr/u8-strcat.c: New file.
56157         * lib/unistr/u16-strcat.c: New file.
56158         * lib/unistr/u32-strcat.c: New file.
56159         * lib/unistr/u-strcat.h: New file.
56160
56161         * modules/unistr/u8-strchr: New file.
56162         * modules/unistr/u16-strchr: New file.
56163         * modules/unistr/u32-strchr: New file.
56164         * lib/unistr/u8-strchr.c: New file.
56165         * lib/unistr/u16-strchr.c: New file.
56166         * lib/unistr/u32-strchr.c: New file.
56167
56168         * modules/unistr/u8-strcmp: New file.
56169         * modules/unistr/u16-strcmp: New file.
56170         * modules/unistr/u32-strcmp: New file.
56171         * lib/unistr/u8-strcmp.c: New file.
56172         * lib/unistr/u16-strcmp.c: New file.
56173         * lib/unistr/u32-strcmp.c: New file.
56174
56175         * modules/unistr/u8-strcpy: New file.
56176         * modules/unistr/u16-strcpy: New file.
56177         * modules/unistr/u32-strcpy: New file.
56178         * lib/unistr/u8-strcpy.c: New file.
56179         * lib/unistr/u16-strcpy.c: New file.
56180         * lib/unistr/u32-strcpy.c: New file.
56181         * lib/unistr/u-strcpy.h: New file.
56182
56183         * modules/unistr/u8-strcspn: New file.
56184         * modules/unistr/u16-strcspn: New file.
56185         * modules/unistr/u32-strcspn: New file.
56186         * lib/unistr/u8-strcspn.c: New file.
56187         * lib/unistr/u16-strcspn.c: New file.
56188         * lib/unistr/u32-strcspn.c: New file.
56189         * lib/unistr/u-strcspn.h: New file.
56190
56191         * modules/unistr/u8-strdup: New file.
56192         * modules/unistr/u16-strdup: New file.
56193         * modules/unistr/u32-strdup: New file.
56194         * lib/unistr/u8-strdup.c: New file.
56195         * lib/unistr/u16-strdup.c: New file.
56196         * lib/unistr/u32-strdup.c: New file.
56197         * lib/unistr/u-strdup.h: New file.
56198
56199         * modules/unistr/u8-strlen: New file.
56200         * modules/unistr/u16-strlen: New file.
56201         * modules/unistr/u32-strlen: New file.
56202         * lib/unistr/u8-strlen.c: New file.
56203         * lib/unistr/u16-strlen.c: New file.
56204         * lib/unistr/u32-strlen.c: New file.
56205         * lib/unistr/u-strlen.h: New file.
56206
56207         * modules/unistr/u8-strmblen: New file.
56208         * modules/unistr/u16-strmblen: New file.
56209         * modules/unistr/u32-strmblen: New file.
56210         * lib/unistr/u8-strmblen.c: New file.
56211         * lib/unistr/u16-strmblen.c: New file.
56212         * lib/unistr/u32-strmblen.c: New file.
56213
56214         * modules/unistr/u8-strmbtouc: New file.
56215         * modules/unistr/u16-strmbtouc: New file.
56216         * modules/unistr/u32-strmbtouc: New file.
56217         * lib/unistr/u8-strmbtouc.c: New file.
56218         * lib/unistr/u16-strmbtouc.c: New file.
56219         * lib/unistr/u32-strmbtouc.c: New file.
56220
56221         * modules/unistr/u8-strncat: New file.
56222         * modules/unistr/u16-strncat: New file.
56223         * modules/unistr/u32-strncat: New file.
56224         * lib/unistr/u8-strncat.c: New file.
56225         * lib/unistr/u16-strncat.c: New file.
56226         * lib/unistr/u32-strncat.c: New file.
56227         * lib/unistr/u-strncat.h: New file.
56228
56229         * modules/unistr/u8-strncmp: New file.
56230         * modules/unistr/u16-strncmp: New file.
56231         * modules/unistr/u32-strncmp: New file.
56232         * lib/unistr/u8-strncmp.c: New file.
56233         * lib/unistr/u16-strncmp.c: New file.
56234         * lib/unistr/u32-strncmp.c: New file.
56235
56236         * modules/unistr/u8-strncpy: New file.
56237         * modules/unistr/u16-strncpy: New file.
56238         * modules/unistr/u32-strncpy: New file.
56239         * lib/unistr/u8-strncpy.c: New file.
56240         * lib/unistr/u16-strncpy.c: New file.
56241         * lib/unistr/u32-strncpy.c: New file.
56242         * lib/unistr/u-strncpy.h: New file.
56243
56244         * modules/unistr/u8-strnlen: New file.
56245         * modules/unistr/u16-strnlen: New file.
56246         * modules/unistr/u32-strnlen: New file.
56247         * lib/unistr/u8-strnlen.c: New file.
56248         * lib/unistr/u16-strnlen.c: New file.
56249         * lib/unistr/u32-strnlen.c: New file.
56250         * lib/unistr/u-strnlen.h: New file.
56251
56252         * modules/unistr/u8-strpbrk: New file.
56253         * modules/unistr/u16-strpbrk: New file.
56254         * modules/unistr/u32-strpbrk: New file.
56255         * lib/unistr/u8-strpbrk.c: New file.
56256         * lib/unistr/u16-strpbrk.c: New file.
56257         * lib/unistr/u32-strpbrk.c: New file.
56258         * lib/unistr/u-strpbrk.h: New file.
56259
56260         * modules/unistr/u8-strrchr: New file.
56261         * modules/unistr/u16-strrchr: New file.
56262         * modules/unistr/u32-strrchr: New file.
56263         * lib/unistr/u8-strrchr.c: New file.
56264         * lib/unistr/u16-strrchr.c: New file.
56265         * lib/unistr/u32-strrchr.c: New file.
56266
56267         * modules/unistr/u8-strspn: New file.
56268         * modules/unistr/u16-strspn: New file.
56269         * modules/unistr/u32-strspn: New file.
56270         * lib/unistr/u8-strspn.c: New file.
56271         * lib/unistr/u16-strspn.c: New file.
56272         * lib/unistr/u32-strspn.c: New file.
56273         * lib/unistr/u-strspn.h: New file.
56274
56275         * modules/unistr/u8-strstr: New file.
56276         * modules/unistr/u16-strstr: New file.
56277         * modules/unistr/u32-strstr: New file.
56278         * lib/unistr/u8-strstr.c: New file.
56279         * lib/unistr/u16-strstr.c: New file.
56280         * lib/unistr/u32-strstr.c: New file.
56281         * lib/unistr/u-strstr.h: New file.
56282
56283         * modules/unistr/u8-strtok: New file.
56284         * modules/unistr/u16-strtok: New file.
56285         * modules/unistr/u32-strtok: New file.
56286         * lib/unistr/u8-strtok.c: New file.
56287         * lib/unistr/u16-strtok.c: New file.
56288         * lib/unistr/u32-strtok.c: New file.
56289         * lib/unistr/u-strtok.h: New file.
56290
56291         * modules/unistr/u8-uctomb: New file.
56292         * modules/unistr/u16-uctomb: New file.
56293         * modules/unistr/u32-uctomb: New file.
56294         * lib/unistr/u8-uctomb.c: New file.
56295         * lib/unistr/u16-uctomb.c: New file.
56296         * lib/unistr/u32-uctomb.c: New file.
56297
56298         * MODULES.html.sh (Unicode string functions): Add the new modules.
56299
56300 2007-01-08  Bruno Haible  <bruno@clisp.org>
56301
56302         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
56303         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
56304         subdirectories.
56305
56306 2007-01-08  Karl Berry  <karl@gnu.org>
56307
56308         * doc/error.texi: mention that main() fns must set program_name
56309         when progname is used.
56310
56311 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
56312
56313         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
56314         WCTYPE_H is empty, for the benefit of builds from non-distclean
56315         directories.  Problem reported by Eric Blake in
56316         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
56317
56318 2007-01-08  Bruno Haible  <bruno@clisp.org>
56319
56320         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
56321         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
56322         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
56323         PROVIDE_CANONICALIZE_FILENAME_MODE.
56324         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
56325
56326 2007-01-08  Bruno Haible  <bruno@clisp.org>
56327
56328         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
56329         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
56330         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
56331         * lib/fts.c: Likewise.
56332         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
56333
56334 2006-12-25  Bruno Haible  <bruno@clisp.org>
56335
56336         * modules/utf8-ucs4-safe: New file.
56337         * lib/utf8-ucs4-safe.h: New file.
56338         * lib/unistr/utf8-ucs4-safe.c: New file.
56339
56340         * modules/utf16-ucs4-safe: New file.
56341         * lib/utf16-ucs4-safe.h: New file.
56342         * lib/unistr/utf16-ucs4-safe.c: New file.
56343
56344         * MODULES.html.sh (Unicode string functions): Add the new modules.
56345
56346 2007-01-08  Bruno Haible  <bruno@clisp.org>
56347
56348         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
56349         (Depends-on): Add unitypes.
56350         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
56351         (u8_mbtouc_aux): Move out to separate file.
56352         (u8_mbtouc): Use ucs4_t, uint8_t types.
56353         * lib/unistr/utf8-ucs4.c: New file.
56354
56355         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
56356         (Depends-on): Add unitypes.
56357         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
56358         (u16_mbtouc_aux): Move out to separate file.
56359         (u16_mbtouc): Use ucs4_t, uint16_t types.
56360         * lib/unistr/utf16-ucs4.c: New file.
56361
56362         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
56363         (Depends-on): Add unitypes.
56364         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
56365         (u8_uctomb_aux): Move out to separate file.
56366         (u8_uctomb): Use ucs4_t, uint8_t types.
56367         * lib/unistr/ucs4-utf8.c: New file.
56368
56369         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
56370         (Depends-on): Add unitypes.
56371         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
56372         (u16_uctomb_aux): Move out to separate file.
56373         (u16_uctomb): Use ucs4_t, uint16_t types.
56374         * lib/unistr/ucs4-utf16.c: New file.
56375
56376 2006-12-25  Bruno Haible  <bruno@clisp.org>
56377
56378         * modules/unitypes: New file.
56379         * lib/unitypes.h: New file.
56380         * MODULES.html.sh (func_all_modules): New section "Unicode string
56381         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
56382         this section. Add unitypes.
56383
56384 2007-01-08  Bruno Haible  <bruno@clisp.org>
56385
56386         Avoid variable names that conflict with those from libtool.
56387         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
56388         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
56389         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
56390         library_names_spec to acl_library_names_spec, hardcode_* to
56391         acl_hardcode_*.
56392         Reported by Ralf Wildenhues.
56393
56394 2007-01-08  Bruno Haible  <bruno@clisp.org>
56395
56396         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
56397         definition.
56398         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
56399         definition.
56400         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
56401         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
56402         definition.
56403         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
56404         definition.
56405         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
56406         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
56407         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
56408         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
56409         definition.
56410         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
56411         definition.
56412         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
56413         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
56414         GC_USE_<algorithm>.
56415         * lib/gc-libgcrypt.c: Likewise.
56416         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
56417         * modules/gc-arctwo (configure.ac): Likewise.
56418         * modules/gc-des (configure.ac): Likewise.
56419         * modules/gc-hmac-md5 (configure.ac): Likewise.
56420         * modules/gc-hmac-sha1 (configure.ac): Likewise.
56421         * modules/gc-md2 (configure.ac): Likewise.
56422         * modules/gc-md4 (configure.ac): Likewise.
56423         * modules/gc-md5 (configure.ac): Likewise.
56424         * modules/gc-random (configure.ac): Likewise.
56425         * modules/gc-rijndael (configure.ac): Likewise.
56426         * modules/gc-sha1 (configure.ac): Likewise.
56427
56428 2007-01-08  Bruno Haible  <bruno@clisp.org>
56429
56430         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
56431         macro definition.
56432         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
56433         definition.
56434         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
56435         definition.
56436         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
56437         * modules/fcntl-safer (configure.ac): Likewise.
56438         * modules/fopen-safer (configure.ac): Likewise.
56439         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
56440         GNULIB_FWRITEERROR macro definition.
56441
56442 2007-01-08  Bruno Haible  <bruno@clisp.org>
56443
56444         * m4/gnulib-common.m4: New file.
56445         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
56446         (func_get_filelist): Add m4/gnulib-common.m4.
56447
56448 2007-01-08  Bruno Haible  <bruno@clisp.org>
56449
56450         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
56451         command.
56452
56453 2007-01-08  Jim Meyering  <jim@meyering.net>
56454
56455         Use a more robust test for a "can't happen" condition.
56456         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
56457         narrowed the st_size value.  Presuming the "can't happen" condition
56458         is true, that narrowing could conceivably convert an invalid st_size
56459         value into a valid one.  Instead, use a change based on Matthew
56460         Woehlke's original patch.
56461
56462         Slight readability improvement: use an assert-like macro
56463         in place of literal "abort ()" uses.
56464         * lib/fts.c (fts_assert): Define.
56465         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
56466         Use this macro instead of a bare 'abort'.
56467
56468 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
56469
56470         Don't worry about using IRIX 5.3's wctype.h broken definitions;
56471         simply work around them.
56472         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
56473         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
56474         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
56475         declaring.
56476         Don't bother to define as macros, since the standard doesn't require it.
56477         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
56478         longer worry about IRIX 5.3.
56479         (HAVE_WCTYPE_CTMP_BUG): Remove.
56480
56481 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
56484         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
56485         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
56486         Problems reported by Georg Schwarz for IRIX 5.3.
56487
56488         * gnulib-tool (autoconf_minversion): Take the maximum version number
56489         found, not the minimum.  Problem reported by James Youngman.
56490
56491 2007-01-03  Karl Berry  <karl@gnu.org>
56492
56493         * doc/error.texi: new file, explaining interaction with progname.
56494         * doc/gnulib.texi: include it.  Update copyright.
56495
56496 2007-01-03  Simon Josefsson  <simon@josefsson.org>
56497
56498         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
56499         AC_CANONICAL_HOST, to improve autobuild outputs.
56500
56501 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
56502             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56503
56504         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
56505         sockets, server sockets, and other file descriptors.  Count errors
56506         to compute the return value.  Reorder the code a bit to be easier
56507         to follow.  Don't set event bits that were not requested (except
56508         POLLERR and POLLHUP).
56509
56510 2007-01-01  Bruno Haible  <bruno@clisp.org>
56511
56512         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
56513
56514 2007-01-03  Jim Meyering  <jim@meyering.net>
56515
56516         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
56517
56518 2007-01-02  Bruno Haible  <bruno@clisp.org>
56519
56520         * modules/settime (Include): Require timespec.h.
56521         * modules/nanosleep (Include): Likewise.
56522
56523 2007-01-01  Bruno Haible  <bruno@clisp.org>
56524
56525         * gnulib-tool (func_emit_copyright_notice): Bump year.
56526         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
56527
56528 2007-01-01  Bruno Haible  <bruno@clisp.org>
56529
56530         Improve support for OpenBSD.
56531         * build-aux/config.rpath (libname_spec): Export.
56532         (library_names_spec): New variable. Export.
56533         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
56534         library_names_spec from the config.rpath output. Locate shared library
56535         through the name pattern in library_names_spec.
56536
56537 2007-01-01  Eric Blake  <ebb9@byu.net>
56538
56539         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
56540
56541 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
56542
56543         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
56544         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
56545         assume the C locale, and avoid an "eval" that could cause trouble.
56546         Problem with SORT reported by Bob Proulx.
56547
56548         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
56549         Define.  Trivial patch from Henning Nielsen Lund, originally
56550         sent to bug-grep@gnu.org today.
56551
56552 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56553
56554         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
56555         struct stat.  Problem reported by Henning Nielsen Lund.
56556         * lib/acl.c: Include acl.h first, to check interface.  Don't
56557         bother to include sys/types.h and sys/stat.h again.
56558
56559 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         Import the following change from libc; problem reported by
56562         Sven Verdoolaege.
56563
56564         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
56565
56566         [BZ #1373]
56567         * lib/argp.h: Remove __NTH for __argp_usage inline function.
56568
56569 2006-12-28  Jim Meyering  <jim@meyering.net>
56570
56571         * build-aux/announce-gen: Do not assume that the package
56572         builds any of tar.gz, tar.bz2, and .xdelta files.
56573         Suggestion from Simon Josefsson.
56574
56575 2006-12-28  Simon Josefsson  <simon@josefsson.org>
56576
56577         * modules/announce-gen: New file.
56578
56579 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
56580
56581         * lib/mbchar.h: Just include <wctype.h>; the wctype module
56582         handles its gotchas now.
56583         * lib/mbswidth.c: Likewise.
56584         * lib/wcwidth.h: Likewise.
56585         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
56586         and iswcntrl; the wctype module does this stuff now.
56587         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56589         * modules/mbchar (Depends-on): Add wctype.
56590         * modules/mbswidth (Depends-on): Likewise.
56591         * modules/wcwidth (Depends-on): Likewise.
56592
56593 2006-12-27  Eric Blake  <ebb9@byu.net>
56594
56595         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
56596         module uses more than what <wctype.h> is required to provide.
56597
56598 2006-12-26  Eric Blake  <ebb9@byu.net>
56599
56600         * gnulib-tool (sed_extract_prog): Avoid space-tab.
56601
56602 2006-12-26  Eric Blake  <ebb9@byu.net>
56603
56604         * modules/absolute-header: New module.
56605         * modules/fcntl (Depends-on): Depend on it.
56606         * modules/inttypes (Depends-on): Likewise.
56607         * modules/stdint (Depends-on): Likewise.
56608         * modules/sys_stat (Depends-on): Likewise.
56609         * modules/wctype (Depends-on): Likewise.
56610         * MODULES.html.sh (Support for building libraries and
56611         executables): Document it.
56612
56613 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56614
56615         * gnulib-tool (SED): Remove, undoing previous change.
56616         The problem was that it broke coreutils on Solaris, because
56617         "sed --posix" leaked into a makefile.
56618         (sed): New alias, if 'alias' and GNU sed.
56619
56620 2006-12-24  Jim Meyering  <jim@meyering.net>
56621
56622         Work around an fchownat bug in glibc-2.4:
56623         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
56624         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
56625         in spite of the -P option.
56626         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
56627         New macros.
56628         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
56629         * modules/openat (Files): Add lib/fchownat.c.
56630         * lib/openat.c (fchownat): Don't define here.  Move to...
56631         * lib/fchownat.c: ...this new file.
56632
56633 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56634
56635         Fix bug reported by Bruno Haible in
56636         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
56637         where quotearg.c didn't compile on Mac OS X 10.2 because it
56638         lacks <wchar.h> and wint_t.
56639         * lib/wctype_.h (__wctype_wint_t): New type.
56640         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
56641         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
56642         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
56643         Arg is now of type __wctype_wint_t, not wint_t.
56644         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
56645         substitute HAVE_WINT_T.
56646         * modules/wctype (Files): Add m4/wint_t.m4.
56647         (wctype.h): Substitute HAVE_WINT_T.
56648
56649 2006-12-23  Bruno Haible  <bruno@clisp.org>
56650
56651         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
56652
56653 2006-12-23  Bruno Haible  <bruno@clisp.org>
56654
56655         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
56656         S_ISLNK.
56657         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
56658         mingw.
56659
56660 2006-12-22  Bruno Haible  <bruno@clisp.org>
56661
56662         * lib/copy-file.c: Include acl.h.
56663         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
56664         Close the file descriptors only after being done with copy_acl.
56665         * modules/copy-file (Depends-on): Add acl.
56666
56667 2006-12-22  Bruno Haible  <bruno@clisp.org>
56668
56669         * gnulib-tool (SED): New variable.
56670         Use $SED instead of sed everywhere.
56671
56672 2006-12-22  Bruno Haible  <bruno@clisp.org>
56673
56674         * modules/no-c++: New file.
56675         * m4/no-c++.m4: New file.
56676         * MODULES.html.sh (Support for building libraries and executables):
56677         Add no-c++.
56678
56679 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56680
56681         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56682         Include <limits.h>, and use its INT_MAX to rewrite the
56683         j loop so that it does not overflow 'int'.  Problem reported by
56684         Ralf Wildenhues in
56685         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
56686         Play it safe by shifting left by 1 rather than multiplying by 2,
56687         as GCC is less likely to optimize this away when the value
56688         is signed (when it assumes overflow leads to undefined behavior).
56689         Also, don't assume time_t uses two's complement.
56690
56691 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56692
56693         * MODULES.html.sh: New module wctype.
56694         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
56695         * lib/fnmatch.c: Don't bother to include <wchar.h> before
56696         <wctype.h>, since the new wctype module should fix this.
56697         * lib/quotearg.c: Include <wctype.h> unconditionally, since
56698         the wctype module should arrange for it.
56699         * lib/regex_internal.h: Likewise.
56700         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
56701         since the wctype module should handle this now.
56702         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
56703         * modules/fnmatch (Depends-on): Add wctype.
56704         * modules/quotearg (Depends-on): Likewise.
56705         * modules/regex (Depends-on): Likewise.
56706
56707 2006-12-19  Bruno Haible  <bruno@clisp.org>
56708
56709         * lib/strdup.h [C++]: Wrap definitions in extern "C".
56710         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
56711
56712 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56713
56714         * modules/savewd (Depends-on): Fix dependency on fcntl.
56715
56716 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56717
56718         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
56719         conforms to C99, rather than relying on the user's environment
56720         setting of STDINT_H.
56721
56722 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56723         and Eric Blake  <ebb9@byu.net>
56724
56725         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
56726         This is more consistent with the other defines here.
56727         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
56728         Port to z/OS.  Problem reported by Paul Gilmartin.
56729         Change local vars to use gl_ prefix rather than ac_.
56730         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
56731         with other defines.
56732         * modules/double-slash-root: New module.
56733         * modules/dirname (Files): Remove m4/double-slash-root.m4.
56734         (Depends-on): Add double-slash-root.
56735         * MODULES.html.sh (File system functions): Mention new module.
56736
56737 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
56738
56739         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
56740         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
56741         This is for the benefit of gzip, which doesn't do i18n.
56742
56743 2006-12-12  Jim Meyering  <jim@meyering.net>
56744
56745         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
56746         Reported by Andreas Schwab <schwab@suse.de>.
56747
56748 2006-12-12  Bruno Haible  <bruno@clisp.org>
56749
56750         Merge these changes.
56751         2006-09-05  Bruno Haible  <bruno@clisp.org>
56752         * lib/iconvme.c (iconv_string): No need to save and restore errno when
56753         iconv_alloc succeeded.
56754         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
56755         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
56756         test for " && dest " at the end - dest is always != NULL there. Call
56757         iconv with 4xNULL arguments initially, to reset the state. Call iconv
56758         with 2xNULL arguments, also to flush the state storage. Handle the
56759         IRIX iconv behaviour. Realloc the final result, to throw away unused
56760         memory.
56761
56762 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
56763
56764         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
56765         and fchmodat unconditionally, since glibc 2.4 has them.
56766         Problem reported by Arkadiusz Miskiewicz.
56767
56768 2006-12-10  Bruno Haible  <bruno@clisp.org>
56769
56770         * gnulib-tool (func_import): Show the include files only for those
56771         modules that are copied and specified.
56772         Reported by Karl Berry.
56773
56774 2006-12-08  Jim Meyering  <jim@meyering.net>
56775
56776         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
56777         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
56778
56779         * build-aux/announce-gen: Add two new options, both optional:
56780         --bootstrap-tools=TOOL_LIST
56781               a comma-separated list of tools, e.g.,
56782               autoconf,automake,bison,gnulib
56783         --gnulib-snapshot-date=DATE
56784               if gnulib is in the bootstrap tool list,
56785               then report this as the snapshot date.
56786               If not specified, use the current date/time.
56787               If you specify a date here, be sure it's UTC.
56788
56789 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56790
56791         * tests/test-argp-2.sh: Fix test to match actual output.
56792         (func_compare): Fix sed script to be portable.
56793
56794 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
56795
56796         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
56797         workaround for this case.  It is not autoconfigured now; offhand
56798         it's hard to see how to autoconfigure it.
56799
56800 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56801
56802         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
56803         a directory that is about to be chowned.  Such a directory's
56804         initial file permissions should permit the owner only and this
56805         should not be changed until after the chown, since the group and
56806         other bits would be incorrect if they granted permission before
56807         the chown.
56808
56809         Fix porting problem for iswctype reported by Georg Schwarz in:
56810         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
56811         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
56812         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
56813         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
56814         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56815
56816 2006-12-03  Jim Meyering  <jim@meyering.net>
56817
56818         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
56819         p->fts_statp may not yet be defined.
56820         (fts_read): Instead, set it in the caller, once p->fts_statp is
56821         sure to be defined, and corresponds to a top-level directory.
56822         This bug made du -x fail.  Here's the coreutils test case:
56823         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
56824         Reported by Mike Frysinger.
56825
56826 2006-12-01  Jim Meyering  <jim@meyering.net>
56827
56828         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
56829         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
56830         Reported by Simon Josefsson.
56831
56832 2006-11-30  Jim Meyering  <jim@meyering.net>
56833
56834         * m4/warning.m4: Use the all-permissive copyright notice
56835         recommended by RMS (rather than LGPL).
56836         * m4/vararrays.m4: Likewise.
56837         * m4/flexmember.m4: Likewise.
56838
56839 2006-11-29  Bruno Haible  <bruno@clisp.org>
56840
56841         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56842         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
56843         using +=.
56844         Reported by Simon Josefsson <simon@josefsson.org>.
56845
56846 2006-11-28  James Youngman <jay@gnu.org>
56847
56848         * README: Advise users that they might find the bug-gnulib@gnu.org
56849         and autotools-announce@gnu.org mailing lists useful.
56850
56851 2006-11-28  Bruno Haible  <bruno@clisp.org>
56852
56853         * m4/ptrdiff_max.m4: Remove file.
56854
56855 2006-11-21  Bruno Haible  <bruno@clisp.org>
56856
56857         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
56858         _AC_COMPUTE_INT.
56859         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56860         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
56861         _AC_COMPUTE_INT.
56862         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56863         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
56864         _AC_COMPUTE_INT.
56865         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56866
56867 2006-11-28  Jim Meyering  <jim@meyering.net>
56868
56869         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
56870         warning from "gcc -Wshadow" about shadowing the builtin.
56871
56872 2006-11-27  Bruno Haible  <bruno@clisp.org>
56873
56874         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
56875         _AC_COMPUTE_INT.
56876         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56877
56878 2006-11-27  Bruno Haible  <bruno@clisp.org>
56879             Paul Eggert  <eggert@cs.ucla.edu>
56880
56881         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
56882
56883 2006-11-26  Bruno Haible  <bruno@clisp.org>
56884
56885         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56886         noinst_LTLIBRARIES.
56887
56888 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56889             Bruno Haible  <bruno@clisp.org>
56890
56891         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
56892         if compiling with "gcc -ansi".
56893
56894 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56895
56896         Fix some incompatibilities with gcc -ansi -pedantic.
56897         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
56898         if compiling pedantically with GCC, unless it's C99 or later.
56899         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
56900         it mishandles gcc -ansi -pedantic as well.
56901         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
56902         if gcc -pedantic.
56903         * lib/regexec.c (check_node_accept_bytes): Don't use auto
56904         initializers for struct if -pedantic, unless it's C99 or later.
56905
56906 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
56907
56908         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
56909         Don't close an fd more than once. Identical atimes indicate
56910         success, not failure.
56911
56912 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
56913
56914         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
56915
56916 2006-11-23  Jim Meyering  <jim@meyering.net>
56917
56918         * build-aux/announce-gen: New file.  From coreutils.
56919
56920 2006-11-22  Jim Meyering  <jim@meyering.net>
56921
56922         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
56923         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
56924         (fts_read): Use a temporary to narrow the overused st_size member
56925         before using it in a switch statement.  Reported by Matthew Woehlke.
56926
56927         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
56928         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
56929
56930 2006-11-20  Bruno Haible  <bruno@clisp.org>
56931
56932         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
56933         changequote instead of pairs of brackets.
56934         Reported by Andreas Schwab <schwab@suse.de>.
56935
56936 2006-11-21  Jim Meyering  <jim@meyering.net>
56937
56938         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
56939         so as to remain compatible with older compilers.
56940         Patch from Michael Deutschmann.
56941
56942 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56943
56944         * MODULES.html.sh (File system functions): Add openat.
56945
56946         * lib/openat.h (rpl_fstatat): New macro, if
56947         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
56948         (fstatat): Define to rpl_fstatat under the same conditions,
56949         unless COMPILING_FSTATAT.
56950         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
56951         seems to have the bug.
56952         * lib/fstatat.c: New file.
56953         * modules/openat (Files): Add it.
56954
56955 2006-11-20  Bruno Haible  <bruno@clisp.org>
56956
56957         * Makefile: New file.
56958
56959 2006-11-20  Jim Meyering  <jim@meyering.net>
56960
56961         The beginnings of syntax-related checks for gnulib.
56962         * lib/Makefile: New file.
56963         * lib/t-idcache: New script.  Ensure that the two halves of
56964         idcache.c stay in sync.
56965
56966         * lib/idcache.c: Adjust comments in user- and group- portions to
56967         be more accurate, and to be consistent with one another.
56968
56969 2006-11-20  Jim Meyering  <jim@meyering.net>
56970
56971         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56972         continue using the flexible array member (thus, this module performs
56973         half as many malloc calls), with the addition that...
56974         (getgroup, getuser): Consistently record a non-match via an empty
56975         "name" string, and map an empty string match to a NULL return value.
56976         * modules/idcache (Depends-on): Re-add flexmember.
56977
56978         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56979         (getuidbyname, getgroup, getgidbyname): Likewise.
56980
56981         Use cleaner syntax: NULL rather than 0.
56982         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56983
56984 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56985
56986         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56987         It mishandled the case where the group was missing.
56988         Problem reported by Greg Schafer.
56989         * modules/idcache: Likewise.
56990
56991 2006-11-18  Jim Meyering  <jim@meyering.net>
56992
56993         * check-module (%exempt_header): Add exception for some
56994         conditionally-included headers.
56995
56996         * modules/i-ring (Depends-on): Add verify.
56997         (License): Change to LGPL.
56998
56999 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57000
57001         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
57002         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
57003         and inttostr.h.  Use snprintf rather than uinttostr, so that
57004         LGPLed code doesn't depend on GPLed.
57005
57006 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57007
57008         * modules/inline (License): Change from GPL to LGPL.
57009
57010 2006-11-17  Jim Meyering  <jim@meyering.net>
57011
57012         * modules/d-type (License): Switch to LGPL.
57013
57014 2006-11-15  Bruno Haible  <bruno@clisp.org>
57015
57016         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
57017
57018 2006-11-15  Eric Blake  <ebb9@byu.net>
57019
57020         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
57021         the module dependency.
57022
57023 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57024             Bruno Haible  <bruno@clisp.org>
57025
57026         * gnulib-tool (func_create_testdir): Add license consistency check.
57027
57028 2006-11-15  Eric Blake  <ebb9@byu.net>
57029
57030         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
57031         random "(cached)" in configure output.
57032
57033 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57034
57035         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
57036         test for conforming inttypes.h is both announced and cached.
57037
57038         * MODULES.html.sh (seen_modules, seen_files): New variables.
57039         (func_module): Rewrite to use a few less gnulib-tool and sed
57040         invocations.  Avoid a couple of quadratic algorithms for ...
57041         (missed_modules, missed_files): ... these, with ...
57042         (func_append, func_tmpdir): ... these new functions, from
57043         gnulib-tool.  Analogously, install traps for cleanup.
57044
57045         * tests/test-gc.c (main): Remove unused variables.
57046         * tests/test-read-file.c: Include stdlib.h, for 'free'.
57047
57048 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
57049
57050         * modules/inttostr (License): Change to LGPL.
57051
57052 2006-11-14  Eric Blake  <ebb9@byu.net>
57053
57054         * modules/tempname (License): Change to LGPL.
57055
57056 2006-11-14  Eric Blake  <ebb9@byu.net>
57057
57058         * doc/functions.texi (Function Portability): *printf functions on
57059         Cygwin now understand all POSIX size specifiers.
57060
57061 2006-11-14  Bruno Haible  <bruno@clisp.org>
57062
57063         * modules/c-ctype (License): Change to LGPL.
57064
57065 2006-11-12  Bruno Haible  <bruno@clisp.org>
57066
57067         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57068         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
57069         for GNOME libraries, for which the include files are installed in
57070         subdirectories of $prefix/include.
57071
57072 2006-11-12  Bruno Haible  <bruno@clisp.org>
57073
57074         * m4/lib-link.m4: Require at least autoconf-2.54.
57075         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
57076         name to underscores for the --with option.
57077
57078 2006-11-13  Bruno Haible  <bruno@clisp.org>
57079
57080         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
57081         the tests directory.
57082         Reported by Ralf Wildenhues.
57083
57084 2006-11-13  Bruno Haible  <bruno@clisp.org>
57085
57086         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
57087         (func_emit_initmacro_end): Undo the override here.
57088         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
57089         Works around the famous automake error in coreutils.
57090
57091 2006-11-13  Eric Blake  <ebb9@byu.net>
57092
57093         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
57094         element, not its node.
57095
57096 2006-11-12  Bruno Haible  <bruno@clisp.org>
57097
57098         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
57099         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
57100
57101 2006-11-12  Bruno Haible  <bruno@clisp.org>
57102
57103         * gnulib-tool: New option --local-symlink.
57104         (func_usage): Document it.
57105         (lsymbolic): New variable.
57106         (func_import, func_create_testdir): If --symlink was not specified,
57107         test whether --local-symlink was specified and the file comes from
57108         the local_gnulib_dir.
57109
57110 2006-11-12  Bruno Haible  <bruno@clisp.org>
57111
57112         * gnulib-tool (func_ln): New function.
57113         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
57114
57115 2006-11-12  Bruno Haible  <bruno@clisp.org>
57116
57117         Finish support for source files in subdirectories.
57118         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
57119         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
57120         AUTOMAKE_OPTIONS.
57121         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
57122
57123 2006-11-12  Bruno Haible  <bruno@clisp.org>
57124
57125         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57126         EXTRA_lib_SOURCES augmentation.
57127         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
57128
57129 2006-11-12  Jim Meyering  <jim@meyering.net>
57130
57131         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
57132         file descriptors.  This also averts a failure on systems with
57133         native openat support when a traversed directory lacks "x" access.
57134         * lib/fts_.h: Include "i-ring.h"
57135         (struct FTS) [fts_fd_ring]: New member.
57136         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
57137         (FCHDIR): Add parentheses.
57138         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
57139         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
57140         When descending, rather than simply closing the previous
57141         fts_cwd_fd value, push that file descriptor onto the ring.
57142         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
57143         (fts_open): Initialize the new fd_ring member.
57144         (fts_close): Clear the ring.
57145         (fts_safe_changedir): When possible, use our new fd_ring to skip
57146         the diropen and fstat and dev/ino comparison that would normally
57147         accompany a virtual `chdir ("..")'.
57148
57149         * modules/fts (Depends-on): Add i-ring.
57150         * modules/i-ring: New module.
57151         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
57152         * m4/i-ring.m4: New file.
57153
57154 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57155
57156         * gnulib-tool (func_create_testdir): Fix replacement of
57157         `build-aux' in configure.ac.  Run autotools in gltests
57158         subdirectory.
57159         (func_create_testdir, func_create_megatestdir, test): There is
57160         no need for '--force' in most autotool invocations in a new
57161         tree.  Actually fail the whole test if any of the tools, or the
57162         configure or make stages fail.
57163
57164         Sync from Automake.
57165         * build-aux/gnupload: Revert last change.  Add pointer to upload
57166         instructions of the GNU Maintenance Instructions.
57167         Suggestion by Karl Berry.
57168
57169 2006-11-10  Jim Meyering  <jim@meyering.net>
57170
57171         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
57172
57173 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57174
57175         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
57176         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
57177         (bind_textdomain_codeset) [! ENABLE_NLS]:
57178         Evaluate all the arguments.  That way, callers get compatible behavior
57179         if the arguments have side effects.  Also, it avoids some GCC
57180         diagnostics in some cases; Joel E. Denny reported problems when Bison
57181         was configured with --enable-gcc-warnigs.
57182
57183 2006-11-10  Jim Meyering  <jim@meyering.net>
57184
57185         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
57186         relevant options in CFLAGS (like -O, -fno-inline) are taken into
57187         account.
57188
57189 2006-11-10  Jim Meyering  <jim@meyering.net>
57190
57191         * modules/inline: New file/module.
57192         * modules/xalloc (Files): Remove m4/inline.m4.
57193         (Depends-on): Add inline, instead.
57194         * modules/oset: Likewise.
57195         * modules/list: Likewise.
57196
57197 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57198
57199         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
57200         Problem reported by Matthew Woehlke.
57201
57202 2006-11-09  Bruno Haible  <bruno@clisp.org>
57203
57204         * lib/tempname.c (gen_tempname): Remove variant that invokes
57205         __gen_tempname.
57206         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
57207         __gen_tempname.
57208
57209 2006-11-08  Bruno Haible  <bruno@clisp.org>
57210
57211         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
57212         to 'yes' instead of 'cross-compiling'.
57213
57214 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
57215
57216         * lib/quotearg.h (quotearg_free): New decl.
57217         * lib/quotearg.c (quotearg_free): New function.
57218         (slot0, nslots, slotvec0, slotvec):
57219         Now file-scope so that quotearg_free can get at them.
57220
57221 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57222
57223         Sync from Automake.
57224         * build-aux/gnupload: Add missing 'gnu' to example URL.
57225         Report by Karl Berry.
57226
57227 2006-11-08  Bruno Haible  <bruno@clisp.org>
57228
57229         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
57230         Suggested by Paul Eggert.
57231
57232 2006-11-08  Jim Meyering  <jim@meyering.net>
57233
57234         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
57235         It's already included if !_LIBC.
57236         (fts_safe_changedir): Add a comment.
57237
57238 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57239
57240         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
57241         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
57242         Matthew Woehlke.
57243
57244         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
57245         definitions up, to avoid colliding with change below.
57246         (static_inline) [HAVE_INLINE]: New macro.
57247         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
57248         Provide extern decls when !HAVE_INLINE.  Do not define unless
57249         static_inline is defined, either by us or by xmalloc.c.  Use
57250         static_inline rather than static inline.
57251         (XCALLOC): Optimize sizeof(T) = 1 case.
57252         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
57253
57254 2006-11-07  Bruno Haible  <bruno@clisp.org>
57255
57256         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
57257         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
57258         AC_C_INLINE.
57259         * modules/xalloc (Files): Add m4/inline.m4.
57260
57261 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57262
57263         * README: Fix typo.
57264         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
57265         (Miscellanous Notes): ...from this.
57266
57267 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
57270         Mention that offsetof should be used instead of sizeof.
57271         From Bruno Haible.
57272
57273 2006-11-07  Bruno Haible  <bruno@clisp.org>
57274
57275         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
57276
57277 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
57278
57279         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
57280         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
57281         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
57282         (gl_tree_add_before, gl_tree_add_after):
57283         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
57284         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
57285         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
57286         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
57287         (gl_linked_add_after, gl_linked_add_at): Likewise.
57288         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
57289         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
57290         (gl_tree_add_before, gl_tree_add_after): Likewise.
57291         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
57292         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
57293         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
57294
57295 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57296
57297         * lib/gl_oset.h: Use C comment style, not C++ comment style.
57298
57299 2006-11-06  Bruno Haible  <bruno@clisp.org>
57300
57301         * m4/inline.m4: New file.
57302         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
57303         * modules/list (Files): Add m4/inline.m4.
57304         * modules/oset (Files): Likewise.
57305
57306 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
57307
57308         * lib/idcache.c: Include <stddef.h>, for offsetof.
57309         (struct userid.name): Change from char * to a flexible array member.
57310         All uses changed.
57311         * modules/idcache (Depends-on): Add flexmember.
57312
57313         * MODULES.html.sh (Core language properties): New module flexmember.
57314         * modules/flexmember, m4/flexmember.m4: New files.
57315
57316         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
57317         inline functions that are identical with the old xnmalloc_inline,
57318         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
57319         that we can avoid some unnecessary integer multiplications and
57320         divisions in the common case where the element size is known at
57321         compile time.
57322         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
57323         needed.
57324         (xnboundedmalloc): Remove.
57325         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
57326         arguments, for consistency with rest of this header.
57327         (xcharalloc): Rewrite using XNMALLOC.
57328         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
57329         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
57330         versions have been moved to lib/xalloc.h and renamed to be the
57331         non-*_inline versions.
57332         (xmalloc, xrealloc): Implement without reference to the xnmalloc
57333         and xnrealloc functions, since those functions are now inline and
57334         now call us.
57335         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
57336         renaming described above.
57337         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
57338         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
57339         captures the dependency in AC_C_INLINE.
57340
57341         New module canonicalize-lgpl, proposed by Charles Wilson in
57342         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
57343         with a few small changes afterwards.
57344         * MODULES.html.sh (File system functions): New module
57345         canonicalize-lgpl.
57346         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
57347         and canonicalize_file_name.
57348         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
57349         * modules/canonicalize-lgpl: New files.
57350
57351 2006-11-05  Bruno Haible  <bruno@clisp.org>
57352
57353         * gnulib-tool (func_import, func_create_testdir): Create directories
57354         also for files in subdirectories of lib/.
57355
57356 2006-11-05  Bruno Haible  <bruno@clisp.org>
57357
57358         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
57359         ANSI C compliant.
57360
57361 2006-11-03  Bruno Haible  <bruno@clisp.org>
57362
57363         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
57364         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
57365         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
57366         (xnboundedmalloc): New inline function.
57367         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
57368         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
57369         xmalloc.
57370         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
57371         xmalloc.
57372         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
57373         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
57374         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
57375         xmalloc.
57376         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57377         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
57378         xmalloc.
57379         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
57380         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57381         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
57382         xmalloc.
57383         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57384         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
57385         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57386         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
57387         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
57388         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
57389         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
57390
57391 2006-11-03  Bruno Haible  <bruno@clisp.org>
57392
57393         * lib/c-ctype.h [C++]: Define functions without name mangling.
57394         * lib/fwriteerror.h [C++]: Likewise.
57395         * lib/gcd.h [C++]: Likewise.
57396         * lib/linebreak.h [C++]: Likewise.
57397
57398 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57399
57400         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
57401         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
57402         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
57403         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57404         Check for functions and headers just once.
57405         Check for declaration of canonicalize_file_name.
57406         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
57407
57408 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57409
57410         * gnulib-tool (func_import): Fix typo in actioncmd.
57411
57412 2006-11-02  Bruno Haible  <bruno@clisp.org>
57413
57414         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
57415         newline sequence in the Makefile.am snippet as a space, like "make"
57416         does.
57417         Reported by Roger Persson <perrog@gmail.com>.
57418
57419 2006-11-01  Bruno Haible  <bruno@clisp.org>
57420
57421         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
57422         already declared in <string.h>.
57423         * lib/strcase.h (strncasecmp): Don't declare it if yes.
57424
57425 2006-11-01  Bruno Haible  <bruno@clisp.org>
57426
57427         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
57428         * lib/strcase.h: Include <string.h>.
57429         (strcasecmp): Define to rpl_strcasecmp here.
57430
57431 2006-11-01  Bruno Haible  <bruno@clisp.org>
57432
57433         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
57434
57435 2006-11-01  Eric Blake  <ebb9@byu.net>
57436
57437         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
57438
57439         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
57440
57441 2006-10-29  Bruno Haible  <bruno@clisp.org>
57442
57443         Make it compile in C++ mode.
57444         * lib/full-write.c (full_rw): Add a cast.
57445
57446 2006-11-01  Bruno Haible  <bruno@clisp.org>
57447
57448         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
57449         be POSIX compliant.
57450         Reported by Roger Persson <perrog@gmail.com>.
57451
57452 2006-11-01  Eric Blake  <ebb9@byu.net>
57453
57454         * lib/getopt_.h: Fix comments.
57455
57456 2006-10-31  Eric Blake  <ebb9@byu.net>
57457
57458         * modules/tmpdir (Depends-on): Add sys_stat.
57459         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
57460         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
57461         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
57462         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
57463         tempname.
57464
57465 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
57466
57467         Avoid some C++ diagnostics reported by Bruno Haible.
57468         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
57469         xmalloc.
57470         (quotearg_alloc): Use xcharalloc rather than xmalloc.
57471         (struct slotvec): Move to top level.
57472         (quotearg_n_options): Rewrite to avoid xmalloc.
57473         * lib/xalloc.h (xcharalloc): New function.
57474         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
57475         [defined __cplusplus]: Add function template that provides result
57476         type propagation.  This part of the change is from Bruno Haible.
57477
57478 2006-10-29  Bruno Haible  <bruno@clisp.org>
57479
57480         Make it compile in C++ mode.
57481         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
57482         * lib/strnlen1.c (strnlen1): Cast memchr result.
57483         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
57484         * lib/clean-temp.c (string_equals, string_hash): Add casts.
57485         (create_temp_dir): Rename local variable 'template'.
57486         (compile_csharp_using_sscli): Add cast.
57487         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
57488         * lib/findprog.c (find_in_path): Likewise.
57489         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
57490         * lib/wait-process.c (register_slave_subprocess): Likewise.
57491
57492 2006-10-22  Bruno Haible  <bruno@clisp.org>
57493
57494         * modules/tsearch: New file.
57495         * lib/tsearch.h: New file.
57496         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
57497         * m4/tsearch.m4: New file.
57498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
57499
57500 2006-10-29  Eric Blake  <ebb9@byu.net>
57501
57502         * lib/arcfour.c: Assume config.h.
57503         * lib/arctwo.c: Likewise.
57504         * lib/base64.c: Likewise.
57505         * lib/check-version.c: Likewise.
57506         * lib/crc.c: Likewise.
57507         * lib/des.c: Likewise.
57508         * lib/gc-gnulib.c: Likewise.
57509         * lib/gc-libgcrypt.c: Likewise.
57510         * lib/gc-pbkdf2-sha1.c: Likewise.
57511         * lib/getaddrinfo.c: Likewise.
57512         * lib/getdelim.c: Likewise.
57513         * lib/getline.c: Likewise.
57514         * lib/hmac-md5.c: Likewise.
57515         * lib/hmac-sha1.c: Likewise.
57516         * lib/iconvme.c: Likewise.
57517         * lib/md2.c: Likewise.
57518         * lib/md4.c: Likewise.
57519         * lib/memxor.c: Likewise.
57520         * lib/read-file.c: Likewise.
57521         * lib/readline.c: Likewise.
57522         * lib/rijndael-alg-fst.c: Likewise.
57523         * lib/rijndael-api-fst.c: Likewise.
57524         * lib/xgetdomainname.c: Likewise.
57525
57526 2006-10-28  Eric Blake  <ebb9@byu.net>
57527
57528         * lib/xstrndup.c: Assume config.h.
57529
57530 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57531
57532         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
57533         stat-macros.h is now for our own macros, whereas stat_h is for
57534         macros in the <sys/stat.h> name space.
57535         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
57536         (STAT_MACROS_H): Remove.
57537         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
57538         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
57539         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
57540         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
57541         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
57542         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
57543         Move these macros to ...
57544         * lib/stat_.h: here.  Don't include stat-macros.h.
57545         * lib/canonicalize.c: Don't include stat-macros.h.
57546         * lib/chown.c: Likewise.
57547         * lib/euidaccess.c: Likewise.
57548         * lib/file-type.c: Likewise.
57549         * lib/filemode.c: Likewise.
57550         * lib/glob.c: Likewise.
57551         * lib/isapipe.c: Likewise.
57552         * lib/lchown.c: Likewise.
57553         * lib/lstat.c: Likewise.
57554         * lib/mkdir-p.c: Likewise.
57555         * lib/rmdir.c: Likewise.
57556         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
57557         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
57558         unless mkdir isn't declared, to speed up 'configure'.
57559         Always create sys/stat.h, since it's unlikely any real sys/stat.h
57560         would define all the S_* symbols.
57561         * modules/canonicalize (Depends-on):
57562         Depend on sys_stat, not stat-macros.
57563         * modules/chown: Likewise.
57564         * modules/euidaccess: Likewise.
57565         * modules/filemode: Likewise.
57566         * modules/file-type: Likewise.
57567         * modules/glob: Likewise.
57568         * modules/isapipe: Likewise.
57569         * modules/lchown: Likewise.
57570         * modules/lstat: Likewise.
57571         * modules/mkancesdirs: Likewise.
57572         * modules/rmdir: Likewise.
57573         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
57574         * modules/modechange: Likewise.
57575         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
57576         (configure.ac): Remove gl_STAT_MACROS.
57577         * modules/sys_stat (Depends-on): Remove stat-macros.
57578
57579 2006-10-27  Bruno Haible  <bruno@clisp.org>
57580
57581         * m4/signed.m4: Remove file.
57582         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
57583         invocation.
57584         * modules/vasnprintf (Files): Remove m4/signed.m4.
57585
57586 2006-10-27  Bruno Haible  <bruno@clisp.org>
57587
57588         Update to GNU gettext 0.16.
57589         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
57590         m4/inttypes-h.m4, m4/signed.m4.
57591         * m4/gettext.m4: Update to GNU gettext 0.16.
57592         * m4/intl.m4: New file, from GNU gettext.
57593         * m4/intldir.m4: New file, from GNU gettext.
57594         * config/srclist.txt: Update
57595
57596 2006-10-27  Eric Blake  <ebb9@byu.net>
57597
57598         * MODULES.html.sh: Document tempname.
57599         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
57600         dependencies.
57601         (Files): Move lib/tempname.c...
57602         * modules/tempname: ...to this new module.
57603         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
57604         (gl_PREREQ_TEMPNAME): Move...
57605         * m4/tempname.m4: ...to this new file.
57606         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
57607         * modules/sys_stat (Depends-on): Add stat-macros.
57608         * lib/stat_.h (includes): Pick up stat macros.
57609         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
57610         if stat macros are broken.
57611         * lib/tempname.c (includes): No need to include "stat-macros.h".
57612         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
57613         (direxists, __path_search) [!_LIBC]: Don't compile these in
57614         gnulib; the tmpdir module covers that.
57615         * lib/tempname.h: New file.
57616
57617 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57618
57619         * COPYING: Explain how gnulib-tool converts licence headers.
57620         Almost all wording by Eric Blake.
57621
57622 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
57623
57624         * lib/mbchar.h (is_basic_table): Make read-only.
57625         * lib/mbchar.c (is_basic_table): Likewise.
57626         Reported by John Darrington.
57627
57628 2006-10-25  Bruno Haible  <bruno@clisp.org>
57629
57630         * lib/progname.h (set_program_name): Undefine before defining.
57631
57632 2006-10-25  Bruno Haible  <bruno@clisp.org>
57633
57634         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
57635         false for non-gcc C++ compilers.
57636         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57637
57638 2006-10-24  Bruno Haible  <bruno@clisp.org>
57639
57640         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
57641         iconv implementations like Irix iconv.
57642
57643 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57644
57645         * modules/vararrays: New file.
57646         * m4/vararrays.m4: New file, taken from diffutils.
57647         * MODULES.html.sh: New module vararrays.
57648
57649 2006-10-24  Karl Berry  <karl@gnu.org>
57650
57651         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
57652         Don't call GNU Unix.
57653
57654 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57655
57656         * users.txt: Add Libtool.
57657
57658         Sync from Libtool:
57659
57660         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57661
57662         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
57663         to gnulib's policy of including config.h unconditionally.
57664
57665 2006-10-24  Bruno Haible  <bruno@clisp.org>
57666
57667         * modules/wcwidth (Files): Add m4/wint_t.m4.
57668         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
57669         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
57670
57671 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57672
57673         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
57674         to pacify GCC with some -W flags enabled.  Problem reported by
57675         Bruno Haible.
57676
57677 2006-10-24  Jim Meyering  <jim@meyering.net>
57678
57679         * MODULES.html.sh: Remove uinttostr.  It's not a module.
57680         Reported by Karl Berry.
57681
57682 2006-10-23  Bruno Haible  <bruno@clisp.org>
57683
57684         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
57685
57686 2006-10-24  Bruno Haible  <bruno@clisp.org>
57687
57688         * lib/gl_list.h: Use C comment style, not C++ comment style.
57689
57690 2006-10-23  Eric Blake  <ebb9@byu.net>
57691
57692         * lib/getaddrinfo.c (includes): Add missing include.
57693
57694 2006-10-23  Bruno Haible  <bruno@clisp.org>
57695             Paul Eggert  <eggert@cs.ucla.edu>
57696
57697         Ability to rename obstack_free.
57698         * lib/obstack.h (__obstack_free): New macro. Declare instead of
57699         obstack_free.
57700         (obstack_free): Invoke the __obstack_free macro.
57701         * lib/obstack.c (obstack_free): Use __obstack_free macro.
57702
57703 2006-10-23  Bruno Haible  <bruno@clisp.org>
57704             Paul Eggert  <eggert@cs.ucla.edu>
57705
57706         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
57707         __argc, __argv from the declaration. (They are defined as macros on
57708         mingw.)
57709
57710 2006-10-22  Bruno Haible  <bruno@clisp.org>
57711
57712         * doc/gnulib-intro.texi: New file.
57713         * doc/gnulib.texi: Include it.
57714
57715 2006-10-21  Bruno Haible  <bruno@clisp.org>
57716
57717         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
57718         "Introduction", "Miscellanous Notes", "Particular Modules".
57719
57720 2006-10-21  Bruno Haible  <bruno@clisp.org>
57721
57722         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57723         Change mostlyclean-local rule to avoid sh syntax error from bash
57724         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
57725
57726 2006-10-23  Jim Meyering  <jim@meyering.net>
57727
57728         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
57729         in place of snprintf.
57730
57731         * modules/inttostr (Files): Add lib/uinttostr.c.
57732         * lib/uinttostr.c (inttostr): New file/function.
57733         * lib/inttostr.h (uinttostr): Declare.
57734         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
57735         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57736         Add uinttostr.
57737         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
57738
57739 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57740
57741         * lib/canonicalize.c (ELOOP): Define if not already defined.
57742         Problem reported by Bruno Haible in
57743         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
57744
57745 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57746
57747         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
57748         Problem reported by Perry Smith and Ville Laurikari.
57749
57750         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
57751         uses.
57752
57753 2006-10-19  Bruno Haible  <bruno@clisp.org>
57754
57755         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
57756         for mingw.
57757
57758 2006-10-19  Bruno Haible  <bruno@clisp.org>
57759
57760         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
57761         Needed for mingw.
57762
57763 2006-10-19  Bruno Haible  <bruno@clisp.org>
57764
57765         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
57766
57767 2006-10-19  Bruno Haible  <bruno@clisp.org>
57768
57769         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
57770         it.
57771
57772 2006-10-19  Bruno Haible  <bruno@clisp.org>
57773
57774         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
57775         invocation.
57776
57777 2006-10-19  Bruno Haible  <bruno@clisp.org>
57778
57779         * gnulib-tool (func_create_testdir): Don't include ftruncate and
57780         mountlist by default.
57781
57782 2006-10-16  Bruno Haible  <bruno@clisp.org>
57783
57784         * lib/c-strstr.c: Include c-strstr.h.
57785
57786 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57787
57788         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
57789         in a slash.
57790
57791 2006-10-18  Bruno Haible  <bruno@clisp.org>
57792
57793         * lib/lock.h [C++]: Wrap definitions in extern "C".
57794
57795 2006-10-18  Bruno Haible  <bruno@clisp.org>
57796
57797         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
57798         gl_LIBOBJS list.
57799
57800 2006-10-18  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
57803
57804 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
57805
57806         * lib/xstrtol.h: Include gettext.h.
57807         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
57808         Problem reported by Eric Blake.
57809         * modules/xstrtol (Depends-on): Add gettext-h.
57810
57811 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
57812
57813         * lib/strftime.c (advance): New macro.
57814         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
57815         incomplete type, so you can't add 0 to it.  Problem and patch
57816         reported by Eelco Dolstra for dietlibc.
57817
57818 2006-10-18  Jim Meyering  <jim@meyering.net>
57819
57820         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
57821         type for a local, and rename it: s/up/user_proc/.
57822
57823 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57824
57825         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
57826         READ_UTMP_USER_PROCESS.
57827         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
57828
57829 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57830
57831         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
57832         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
57833
57834 2006-10-17  Eric Blake  <ebb9@byu.net>
57835
57836         * lib/sigprocmask.c (sigprocmask): Fix typo.
57837
57838         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
57839
57840         * modules/clean-temp (Makefile.am): Don't add to make output...
57841         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
57842         config.h.
57843
57844 2006-10-17  Bruno Haible  <bruno@clisp.org>
57845
57846         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
57847         differently if DEFAULT_TEXT_DOMAIN is set.
57848
57849 2006-10-16  Bruno Haible  <bruno@clisp.org>
57850
57851         * lib/clean-temp.c: Include fwriteerror.h.
57852
57853 2006-10-16  Bruno Haible  <bruno@clisp.org>
57854
57855         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
57856
57857 2006-10-16  Bruno Haible  <bruno@clisp.org>
57858
57859         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
57860         * lib/sigprocmask.h: Include <sys/types.h>.
57861         (sigset_t): Use the system's definition if present.
57862
57863 2006-10-17  Eric Blake  <ebb9@byu.net>
57864
57865         * lib/xvasprintf.c (includes): Assume config.h.
57866         * lib/xasprintf.c (includes): Likewise.
57867
57868 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57869
57870         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
57871         at least as wide as intmax_t.
57872
57873 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
57874
57875         (Imported from Automake.)
57876         * build-aux/gnupload: Update to version 1.1 of directive file.
57877
57878 2006-10-16  Eric Blake  <ebb9@byu.net>
57879
57880         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
57881         match Automake 1.10a.
57882
57883 2006-10-14  Bruno Haible  <bruno@clisp.org>
57884
57885         * modules/sigprocmask: New file.
57886         * lib/sigprocmask.h: New file.
57887         * lib/sigprocmask.c: New file.
57888         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
57889         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
57890         request sigprocmask.o.
57891         (gl_PREREQ_SIGPROCMASK): New macro.
57892         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
57893         (Depends-on): Add sigprocmask.
57894         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
57895         gt_SIGNALBLOCKING. Test for 'raise' only once.
57896         * lib/fatal-signal.c: Include sigprocmask.h.
57897         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
57898         unblock_fatal_signals): Define always.
57899         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57900         sigprocmask.
57901
57902 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57903
57904         Sync from Automake.
57905         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
57906         which incorrectly sets the mode of an existing destination
57907         directory.  In some cases the unpatched install-sh could do the
57908         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
57909         system.  We hope this is rare in practice, but it's clearly worth
57910         fixing.  Problem reported by Alex Unleashed in
57911         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
57912         Also, don't bother to check for -m bugs unless we're using -m;
57913         suggested by Stepan Kasal.
57914
57915 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57916
57917         Sync from Automake.
57918         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
57919         `-c' flag, so they appear at the same position as in %FASTDEP%
57920         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
57921         which ignores unknown options only after the first non-option.
57922         Bug report against M4 by Nelson H. F. Beebe.
57923
57924 2006-10-13  Jim Meyering  <jim@meyering.net>
57925
57926         Fix a bug in yesterday's change.
57927         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
57928         p->fts_statp->st_dev would be used uninitialized.
57929         Ensures that we always call fts_stat on the very first entry.
57930         Miklos Szeredi reported that find -xdev stopped working.
57931
57932 2006-10-12  Bruno Haible  <bruno@clisp.org>
57933
57934         * gnulib-tool (func_get_automake_snippet): Append an automatically
57935         computed EXTRA_DIST augmentation.
57936         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
57937         * modules/alloca-opt (Makefile.am): Likewise.
57938         * modules/allocsa (Makefile.am): Likewise.
57939         * modules/arcfour (Makefile.am): Likewise.
57940         * modules/arctwo (Makefile.am): Likewise.
57941         * modules/argmatch (Makefile.am): Likewise.
57942         * modules/argz (Makefile.am): Likewise.
57943         * modules/atexit (Makefile.am): Likewise.
57944         * modules/backupfile (Makefile.am): Likewise.
57945         * modules/byteswap (Makefile.am): Likewise.
57946         * modules/c-strtod (Makefile.am): Likewise.
57947         * modules/c-strtold (Makefile.am): Likewise.
57948         * modules/calloc (Makefile.am): Likewise.
57949         * modules/canon-host (Makefile.am): Likewise.
57950         * modules/canonicalize (Makefile.am): Likewise.
57951         * modules/chdir-long (Makefile.am): Likewise.
57952         * modules/chdir-safer (Makefile.am): Likewise.
57953         * modules/check-version (Makefile.am): Likewise.
57954         * modules/chown (Makefile.am): Likewise.
57955         * modules/cloexec (Makefile.am): Likewise.
57956         * modules/close-stream (Makefile.am): Likewise.
57957         * modules/closeout (Makefile.am): Likewise.
57958         * modules/crc (Makefile.am): Likewise.
57959         * modules/csharpexec (Makefile.am): Likewise.
57960         * modules/cycle-check (Makefile.am): Likewise.
57961         * modules/des (Makefile.am): Likewise.
57962         * modules/dev-ino (Makefile.am): Likewise.
57963         * modules/dirfd (Makefile.am): Likewise.
57964         * modules/dirname (Makefile.am): Likewise.
57965         * modules/dup2 (Makefile.am): Likewise.
57966         * modules/eealloc (Makefile.am): Likewise.
57967         * modules/error (Makefile.am): Likewise.
57968         * modules/euidaccess (Makefile.am): Likewise.
57969         * modules/exclude (Makefile.am): Likewise.
57970         * modules/exitfail (Makefile.am): Likewise.
57971         * modules/fcntl-safer (Makefile.am): Likewise.
57972         * modules/fcntl (Makefile.am): Likewise.
57973         * modules/file-type (Makefile.am): Likewise.
57974         * modules/fileblocks (Makefile.am): Likewise.
57975         * modules/filemode (Makefile.am): Likewise.
57976         * modules/filenamecat (Makefile.am): Likewise.
57977         * modules/fnmatch (Makefile.am): Likewise.
57978         * modules/fopen-safer (Makefile.am): Likewise.
57979         * modules/fpending (Makefile.am): Likewise.
57980         * modules/fprintftime (Makefile.am): Likewise.
57981         * modules/free (Makefile.am): Likewise.
57982         * modules/fsusage (Makefile.am): Likewise.
57983         * modules/ftruncate (Makefile.am): Likewise.
57984         * modules/fts (Makefile.am): Likewise.
57985         * modules/gc-arcfour (Makefile.am): Likewise.
57986         * modules/gc-des (Makefile.am): Likewise.
57987         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57988         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57989         * modules/gc-md4 (Makefile.am): Likewise.
57990         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57991         * modules/gc-sha1 (Makefile.am): Likewise.
57992         * modules/gc (Makefile.am): Likewise.
57993         * modules/getaddrinfo (Makefile.am): Likewise.
57994         * modules/getcwd (Makefile.am): Likewise.
57995         * modules/getdelim (Makefile.am): Likewise.
57996         * modules/getdomainname (Makefile.am): Likewise.
57997         * modules/getgroups (Makefile.am): Likewise.
57998         * modules/gethostname (Makefile.am): Likewise.
57999         * modules/gethrxtime (Makefile.am): Likewise.
58000         * modules/getline (Makefile.am): Likewise.
58001         * modules/getloadavg (Makefile.am): Likewise.
58002         * modules/getlogin_r (Makefile.am): Likewise.
58003         * modules/getndelim2 (Makefile.am): Likewise.
58004         * modules/getopt (Makefile.am): Likewise.
58005         * modules/getpagesize (Makefile.am): Likewise.
58006         * modules/getpass-gnu (Makefile.am): Likewise.
58007         * modules/getpass (Makefile.am): Likewise.
58008         * modules/getsubopt (Makefile.am): Likewise.
58009         * modules/gettime (Makefile.am): Likewise.
58010         * modules/gettimeofday (Makefile.am): Likewise.
58011         * modules/getugroups (Makefile.am): Likewise.
58012         * modules/getusershell (Makefile.am): Likewise.
58013         * modules/glob (Makefile.am): Likewise.
58014         * modules/group-member (Makefile.am): Likewise.
58015         * modules/hard-locale (Makefile.am): Likewise.
58016         * modules/hash (Makefile.am): Likewise.
58017         * modules/hmac-md5 (Makefile.am): Likewise.
58018         * modules/hmac-sha1 (Makefile.am): Likewise.
58019         * modules/human (Makefile.am): Likewise.
58020         * modules/idcache (Makefile.am): Likewise.
58021         * modules/imaxabs (Makefile.am): Likewise.
58022         * modules/imaxdiv (Makefile.am): Likewise.
58023         * modules/inet_ntop (Makefile.am): Likewise.
58024         * modules/inet_pton (Makefile.am): Likewise.
58025         * modules/intprops (Makefile.am): Likewise.
58026         * modules/inttostr (Makefile.am): Likewise.
58027         * modules/inttypes (Makefile.am): Likewise.
58028         * modules/isapipe (Makefile.am): Likewise.
58029         * modules/javaversion (Makefile.am): Likewise.
58030         * modules/lchmod (Makefile.am): Likewise.
58031         * modules/lchown (Makefile.am): Likewise.
58032         * modules/localcharset (Makefile.am): Likewise.
58033         * modules/long-options (Makefile.am): Likewise.
58034         * modules/lstat (Makefile.am): Likewise.
58035         * modules/malloc (Makefile.am): Likewise.
58036         * modules/mathl (Makefile.am): Likewise.
58037         * modules/mbchar (Makefile.am): Likewise.
58038         * modules/md2 (Makefile.am): Likewise.
58039         * modules/md4 (Makefile.am): Likewise.
58040         * modules/md5 (Makefile.am): Likewise.
58041         * modules/memcasecmp (Makefile.am): Likewise.
58042         * modules/memchr (Makefile.am): Likewise.
58043         * modules/memcmp (Makefile.am): Likewise.
58044         * modules/memcoll (Makefile.am): Likewise.
58045         * modules/memcpy (Makefile.am): Likewise.
58046         * modules/memmem (Makefile.am): Likewise.
58047         * modules/memmove (Makefile.am): Likewise.
58048         * modules/mempcpy (Makefile.am): Likewise.
58049         * modules/memrchr (Makefile.am): Likewise.
58050         * modules/memset (Makefile.am): Likewise.
58051         * modules/memxor (Makefile.am): Likewise.
58052         * modules/mkancesdirs (Makefile.am): Likewise.
58053         * modules/mkdir-p (Makefile.am): Likewise.
58054         * modules/mkdir (Makefile.am): Likewise.
58055         * modules/mkdtemp (Makefile.am): Likewise.
58056         * modules/mkstemp (Makefile.am): Likewise.
58057         * modules/mktime (Makefile.am): Likewise.
58058         * modules/modechange (Makefile.am): Likewise.
58059         * modules/mountlist (Makefile.am): Likewise.
58060         * modules/nanosleep (Makefile.am): Likewise.
58061         * modules/obstack (Makefile.am): Likewise.
58062         * modules/openat (Makefile.am): Likewise.
58063         * modules/pagealign_alloc (Makefile.am): Likewise.
58064         * modules/pathmax (Makefile.am): Likewise.
58065         * modules/physmem (Makefile.am): Likewise.
58066         * modules/poll (Makefile.am): Likewise.
58067         * modules/posixtm (Makefile.am): Likewise.
58068         * modules/posixver (Makefile.am): Likewise.
58069         * modules/putenv (Makefile.am): Likewise.
58070         * modules/quote (Makefile.am): Likewise.
58071         * modules/quotearg (Makefile.am): Likewise.
58072         * modules/raise (Makefile.am): Likewise.
58073         * modules/read-file (Makefile.am): Likewise.
58074         * modules/readline (Makefile.am): Likewise.
58075         * modules/readlink (Makefile.am): Likewise.
58076         * modules/readtokens (Makefile.am): Likewise.
58077         * modules/readutmp (Makefile.am): Likewise.
58078         * modules/realloc (Makefile.am): Likewise.
58079         * modules/regex (Makefile.am): Likewise.
58080         * modules/rename-dest-slash (Makefile.am): Likewise.
58081         * modules/rename (Makefile.am): Likewise.
58082         * modules/rijndael (Makefile.am): Likewise.
58083         * modules/rmdir (Makefile.am): Likewise.
58084         * modules/rpmatch (Makefile.am): Likewise.
58085         * modules/safe-read (Makefile.am): Likewise.
58086         * modules/safe-write (Makefile.am): Likewise.
58087         * modules/same-inode (Makefile.am): Likewise.
58088         * modules/same (Makefile.am): Likewise.
58089         * modules/save-cwd (Makefile.am): Likewise.
58090         * modules/savedir (Makefile.am): Likewise.
58091         * modules/setenv (Makefile.am): Likewise.
58092         * modules/settime (Makefile.am): Likewise.
58093         * modules/sha1 (Makefile.am): Likewise.
58094         * modules/sig2str (Makefile.am): Likewise.
58095         * modules/snprintf (Makefile.am): Likewise.
58096         * modules/stat-macros (Makefile.am): Likewise.
58097         * modules/stat-time (Makefile.am): Likewise.
58098         * modules/stdbool (Makefile.am): Likewise.
58099         * modules/stdint (Makefile.am): Likewise.
58100         * modules/stdlib-safer (Makefile.am): Likewise.
58101         * modules/stpcpy (Makefile.am): Likewise.
58102         * modules/stpncpy (Makefile.am): Likewise.
58103         * modules/strcase (Makefile.am): Likewise.
58104         * modules/strcasestr (Makefile.am): Likewise.
58105         * modules/strchrnul (Makefile.am): Likewise.
58106         * modules/strcspn (Makefile.am): Likewise.
58107         * modules/strdup (Makefile.am): Likewise.
58108         * modules/strerror (Makefile.am): Likewise.
58109         * modules/strftime (Makefile.am): Likewise.
58110         * modules/strndup (Makefile.am): Likewise.
58111         * modules/strnlen (Makefile.am): Likewise.
58112         * modules/strpbrk (Makefile.am): Likewise.
58113         * modules/strsep (Makefile.am): Likewise.
58114         * modules/strstr (Makefile.am): Likewise.
58115         * modules/strtod (Makefile.am): Likewise.
58116         * modules/strtoimax (Makefile.am): Likewise.
58117         * modules/strtok_r (Makefile.am): Likewise.
58118         * modules/strtol (Makefile.am): Likewise.
58119         * modules/strtoll (Makefile.am): Likewise.
58120         * modules/strtoul (Makefile.am): Likewise.
58121         * modules/strtoull (Makefile.am): Likewise.
58122         * modules/strtoumax (Makefile.am): Likewise.
58123         * modules/strverscmp (Makefile.am): Likewise.
58124         * modules/sys_socket (Makefile.am): Likewise.
58125         * modules/sys_stat (Makefile.am): Likewise.
58126         * modules/sysexits (Makefile.am): Likewise.
58127         * modules/time_r (Makefile.am): Likewise.
58128         * modules/timegm (Makefile.am): Likewise.
58129         * modules/timespec (Makefile.am): Likewise.
58130         * modules/tmpfile-safer (Makefile.am): Likewise.
58131         * modules/trim (Makefile.am): Likewise.
58132         * modules/unistd-safer (Makefile.am): Likewise.
58133         * modules/unlinkdir (Makefile.am): Likewise.
58134         * modules/unlocked-io (Makefile.am): Likewise.
58135         * modules/userspec (Makefile.am): Likewise.
58136         * modules/utime (Makefile.am): Likewise.
58137         * modules/utimecmp (Makefile.am): Likewise.
58138         * modules/utimens (Makefile.am): Likewise.
58139         * modules/vasnprintf (Makefile.am): Likewise.
58140         * modules/vasprintf (Makefile.am): Likewise.
58141         * modules/vsnprintf (Makefile.am): Likewise.
58142         * modules/xalloc (Makefile.am): Likewise.
58143         * modules/xgetcwd (Makefile.am): Likewise.
58144         * modules/xnanosleep (Makefile.am): Likewise.
58145         * modules/xreadlink (Makefile.am): Likewise.
58146         * modules/xstrtod (Makefile.am): Likewise.
58147         * modules/xstrtol (Makefile.am): Likewise.
58148         * modules/xstrtold (Makefile.am): Likewise.
58149         * modules/yesno (Makefile.am): Likewise.
58150         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
58151
58152 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         * modules/error (Makefile.am): Distribute files through
58155         EXTRA_DIST, not lib_SOURCES.
58156
58157 2006-10-12  Eric Blake  <ebb9@byu.net>
58158
58159         * modules/error (Makefile.am): Distribute files in /lib.
58160         * modules/obstack (Makefile.am): Likewise.
58161
58162 2006-10-12  Bruno Haible  <bruno@clisp.org>
58163
58164         * modules/acl (Makefile.am): Distribute all files in lib/ through
58165         EXTRA_DIST.
58166         * modules/arcfour (Makefile.am): Likewise.
58167         * modules/arctwo (Makefile.am): Likewise.
58168         * modules/argmatch (Makefile.am): Likewise.
58169         * modules/argz (Makefile.am): Likewise.
58170         * modules/atexit (Makefile.am): Likewise.
58171         * modules/backupfile (Makefile.am): Likewise.
58172         * modules/c-strtod (Makefile.am): Likewise.
58173         * modules/c-strtold (Makefile.am): Likewise.
58174         * modules/calloc (Makefile.am): Likewise.
58175         * modules/canon-host (Makefile.am): Likewise.
58176         * modules/canonicalize (Makefile.am): Likewise.
58177         * modules/chdir-long (Makefile.am): Likewise.
58178         * modules/chdir-safer (Makefile.am): Likewise.
58179         * modules/check-version (Makefile.am): Likewise.
58180         * modules/chown (Makefile.am): Likewise.
58181         * modules/cloexec (Makefile.am): Likewise.
58182         * modules/close-stream (Makefile.am): Likewise.
58183         * modules/closeout (Makefile.am): Likewise.
58184         * modules/crc (Makefile.am): Likewise.
58185         * modules/cycle-check (Makefile.am): Likewise.
58186         * modules/des (Makefile.am): Likewise.
58187         * modules/dirfd (Makefile.am): Likewise.
58188         * modules/dirname (Makefile.am): Likewise.
58189         * modules/dup2 (Makefile.am): Likewise.
58190         * modules/euidaccess (Makefile.am): Likewise.
58191         * modules/exclude (Makefile.am): Likewise.
58192         * modules/exitfail (Makefile.am): Likewise.
58193         * modules/fcntl-safer (Makefile.am): Likewise.
58194         * modules/file-type (Makefile.am): Likewise.
58195         * modules/fileblocks (Makefile.am): Likewise.
58196         * modules/filemode (Makefile.am): Likewise.
58197         * modules/filenamecat (Makefile.am): Likewise.
58198         * modules/fnmatch (Makefile.am): Likewise.
58199         * modules/fopen-safer (Makefile.am): Likewise.
58200         * modules/fpending (Makefile.am): Likewise.
58201         * modules/fprintftime (Makefile.am): Likewise.
58202         * modules/free (Makefile.am): Likewise.
58203         * modules/fsusage (Makefile.am): Likewise.
58204         * modules/ftruncate (Makefile.am): Likewise.
58205         * modules/fts (Makefile.am): Likewise.
58206         * modules/gc (Makefile.am): Likewise.
58207         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
58208         * modules/getaddrinfo (Makefile.am): Likewise.
58209         * modules/getcwd (Makefile.am): Likewise.
58210         * modules/getdelim (Makefile.am): Likewise.
58211         * modules/getdomainname (Makefile.am): Likewise.
58212         * modules/getgroups (Makefile.am): Likewise.
58213         * modules/gethostname (Makefile.am): Likewise.
58214         * modules/gethrxtime (Makefile.am): Likewise.
58215         * modules/getline (Makefile.am): Likewise.
58216         * modules/getloadavg (Makefile.am): Likewise.
58217         * modules/getlogin_r (Makefile.am): Likewise.
58218         * modules/getopt (Makefile.am): Likewise.
58219         * modules/getpass (Makefile.am): Likewise.
58220         * modules/getpass-gnu (Makefile.am): Likewise.
58221         * modules/getsubopt (Makefile.am): Likewise.
58222         * modules/gettime (Makefile.am): Likewise.
58223         * modules/gettimeofday (Makefile.am): Likewise.
58224         * modules/getugroups (Makefile.am): Likewise.
58225         * modules/getusershell (Makefile.am): Likewise.
58226         * modules/glob (Makefile.am): Likewise.
58227         * modules/group-member (Makefile.am): Likewise.
58228         * modules/hard-locale (Makefile.am): Likewise.
58229         * modules/hash (Makefile.am): Likewise.
58230         * modules/hmac-md5 (Makefile.am): Likewise.
58231         * modules/hmac-sha1 (Makefile.am): Likewise.
58232         * modules/human (Makefile.am): Likewise.
58233         * modules/idcache (Makefile.am): Likewise.
58234         * modules/imaxabs (Makefile.am): Likewise.
58235         * modules/imaxdiv (Makefile.am): Likewise.
58236         * modules/inet_ntop (Makefile.am): Likewise.
58237         * modules/inet_pton (Makefile.am): Likewise.
58238         * modules/inttostr (Makefile.am): Likewise.
58239         * modules/isapipe (Makefile.am): Likewise.
58240         * modules/lchown (Makefile.am): Likewise.
58241         * modules/long-options (Makefile.am): Likewise.
58242         * modules/lstat (Makefile.am): Likewise.
58243         * modules/malloc (Makefile.am): Likewise.
58244         * modules/mathl (Makefile.am): Likewise.
58245         * modules/mbchar (Makefile.am): Likewise.
58246         * modules/md2 (Makefile.am): Likewise.
58247         * modules/md4 (Makefile.am): Likewise.
58248         * modules/md5 (Makefile.am): Likewise.
58249         * modules/memcasecmp (Makefile.am): Likewise.
58250         * modules/memchr (Makefile.am): Likewise.
58251         * modules/memcmp (Makefile.am): Likewise.
58252         * modules/memcoll (Makefile.am): Likewise.
58253         * modules/memcpy (Makefile.am): Likewise.
58254         * modules/memmem (Makefile.am): Likewise.
58255         * modules/memmove (Makefile.am): Likewise.
58256         * modules/mempcpy (Makefile.am): Likewise.
58257         * modules/memrchr (Makefile.am): Likewise.
58258         * modules/memset (Makefile.am): Likewise.
58259         * modules/memxor (Makefile.am): Likewise.
58260         * modules/mkancesdirs (Makefile.am): Likewise.
58261         * modules/mkdir (Makefile.am): Likewise.
58262         * modules/mkdir-p (Makefile.am): Likewise.
58263         * modules/mkdtemp (Makefile.am): Likewise.
58264         * modules/mkstemp (Makefile.am): Likewise.
58265         * modules/mktime (Makefile.am): Likewise.
58266         * modules/modechange (Makefile.am): Likewise.
58267         * modules/mountlist (Makefile.am): Likewise.
58268         * modules/nanosleep (Makefile.am): Likewise.
58269         * modules/openat (Makefile.am): Likewise.
58270         * modules/pagealign_alloc (Makefile.am): Likewise.
58271         * modules/physmem (Makefile.am): Likewise.
58272         * modules/poll (Makefile.am): Likewise.
58273         * modules/posixtm (Makefile.am): Likewise.
58274         * modules/posixver (Makefile.am): Likewise.
58275         * modules/putenv (Makefile.am): Likewise.
58276         * modules/quote (Makefile.am): Likewise.
58277         * modules/quotearg (Makefile.am): Likewise.
58278         * modules/raise (Makefile.am): Likewise.
58279         * modules/read-file (Makefile.am): Likewise.
58280         * modules/readline (Makefile.am): Likewise.
58281         * modules/readlink (Makefile.am): Likewise.
58282         * modules/readtokens (Makefile.am): Likewise.
58283         * modules/readutmp (Makefile.am): Likewise.
58284         * modules/realloc (Makefile.am): Likewise.
58285         * modules/regex (Makefile.am): Likewise.
58286         * modules/rename (Makefile.am): Likewise.
58287         * modules/rename-dest-slash (Makefile.am): Likewise.
58288         * modules/rijndael (Makefile.am): Likewise.
58289         * modules/rmdir (Makefile.am): Likewise.
58290         * modules/rpmatch (Makefile.am): Likewise.
58291         * modules/safe-read (Makefile.am): Likewise.
58292         * modules/safe-write (Makefile.am): Likewise.
58293         * modules/same (Makefile.am): Likewise.
58294         * modules/save-cwd (Makefile.am): Likewise.
58295         * modules/savedir (Makefile.am): Likewise.
58296         * modules/setenv (Makefile.am): Likewise.
58297         * modules/settime (Makefile.am): Likewise.
58298         * modules/sha1 (Makefile.am): Likewise.
58299         * modules/sig2str (Makefile.am): Likewise.
58300         * modules/snprintf (Makefile.am): Likewise.
58301         * modules/stdlib-safer (Makefile.am): Likewise.
58302         * modules/stpcpy (Makefile.am): Likewise.
58303         * modules/stpncpy (Makefile.am): Likewise.
58304         * modules/strcase (Makefile.am): Likewise.
58305         * modules/strcasestr (Makefile.am): Likewise.
58306         * modules/strchrnul (Makefile.am): Likewise.
58307         * modules/strcspn (Makefile.am): Likewise.
58308         * modules/strdup (Makefile.am): Likewise.
58309         * modules/strerror (Makefile.am): Likewise.
58310         * modules/strftime (Makefile.am): Likewise.
58311         * modules/strndup (Makefile.am): Likewise.
58312         * modules/strnlen (Makefile.am): Likewise.
58313         * modules/strpbrk (Makefile.am): Likewise.
58314         * modules/strsep (Makefile.am): Likewise.
58315         * modules/strstr (Makefile.am): Likewise.
58316         * modules/strtod (Makefile.am): Likewise.
58317         * modules/strtoimax (Makefile.am): Likewise.
58318         * modules/strtok_r (Makefile.am): Likewise.
58319         * modules/strtol (Makefile.am): Likewise.
58320         * modules/strtoll (Makefile.am): Likewise.
58321         * modules/strtoul (Makefile.am): Likewise.
58322         * modules/strtoull (Makefile.am): Likewise.
58323         * modules/strtoumax (Makefile.am): Likewise.
58324         * modules/strverscmp (Makefile.am): Likewise.
58325         * modules/time_r (Makefile.am): Likewise.
58326         * modules/timegm (Makefile.am): Likewise.
58327         * modules/tmpfile-safer (Makefile.am): Likewise.
58328         * modules/unistd-safer (Makefile.am): Likewise.
58329         * modules/unlinkdir (Makefile.am): Likewise.
58330         * modules/userspec (Makefile.am): Likewise.
58331         * modules/utime (Makefile.am): Likewise.
58332         * modules/utimecmp (Makefile.am): Likewise.
58333         * modules/utimens (Makefile.am): Likewise.
58334         * modules/vasnprintf (Makefile.am): Likewise.
58335         * modules/vasprintf (Makefile.am): Likewise.
58336         * modules/vsnprintf (Makefile.am): Likewise.
58337         * modules/xalloc (Makefile.am): Likewise.
58338         * modules/xgetcwd (Makefile.am): Likewise.
58339         * modules/xnanosleep (Makefile.am): Likewise.
58340         * modules/xreadlink (Makefile.am): Likewise.
58341         * modules/xstrtod (Makefile.am): Likewise.
58342         * modules/xstrtol (Makefile.am): Likewise.
58343         * modules/xstrtold (Makefile.am): Likewise.
58344         * modules/yesno (Makefile.am): Likewise.
58345
58346 2006-10-12  Jim Meyering  <jim@meyering.net>
58347
58348         * m4/getloadavg.m4: Revert the change below.
58349
58350         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
58351         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
58352         fail with a symlink, which is what coreutils' ./bootstrap now
58353         creates by default.
58354
58355 2006-10-12  Bruno Haible  <bruno@clisp.org>
58356
58357         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
58358         mingw.
58359         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
58360         MSVC and mingw explicitly.
58361
58362 2006-10-11  Simon Josefsson  <jas@extundo.com>
58363             Bruno Haible  <bruno@clisp.org>
58364
58365         Add support for multiple gnulib-tool invocations in the scope of a
58366         single configure.ac file.
58367         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
58368         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
58369         with the same contents as the _LIBADD variable.
58370         (func_emit_initmacro_start, func_emit_initmacro_end,
58371         func_emit_initmacro_done): New functions.
58372         (func_import, func_create_testdir): Invoke them. Allow the identifiers
58373         gl_LIBOBJS and gl_LTLIBOBJS.
58374
58375 2006-10-11  Bruno Haible  <bruno@clisp.org>
58376
58377         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
58378         (func_create_testdir): Don't create po/Makefile.am, don't invoke
58379         autoreconf. Instead, invoke autopoint explicitly but move back the
58380         *.m4 files from gnulib.
58381
58382 2006-10-11  Bruno Haible  <bruno@clisp.org>
58383
58384         * gnulib-tool (func_usage): Make module names after --create-testdir
58385         optional.
58386         (func_create_testdir): If no module was specified, use nearly all
58387         modules.
58388
58389 2006-10-12  Jim Meyering  <jim@meyering.net>
58390
58391         Big performance improvement for fts-based tools that use FTS_NOSTAT.
58392         Avoid spurious inode-mismatch problems on non-POSIX file systems.
58393         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
58394         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
58395         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
58396         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
58397         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
58398         (fts_set_stat_required): New function.
58399         (fts_open): Defer the calls to fts_stat, if possible or requested.
58400         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
58401         into fts_stat itself.
58402         (fts_read): Perform any required (deferred) fts_stat call.
58403         (fts_build): Likewise, for the directory we're about to open and read.
58404         In the readdir loop, carefully decide whether each entry will require
58405         an eventual call to fts_stat, using dirent.d_type info if available.
58406         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
58407         a command line argument into this function.  Update all callers.
58408         Map a return value of FTS_DOT to FTS_D for a command line argument.
58409         * modules/fts (Depends-on): Add d-type.  Alphabetize.
58410         Thanks to Miklos Szeredi for his tenacity and for the initial
58411         bug report about "find" failing on a FUSE-based file system.
58412
58413         * lib/fts.c (fts_open): Use consistent indentation.
58414
58415 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58416
58417         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
58418         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
58419         reported by Jim Meyering.  All uses of cache variables renamed
58420         to match Autoconf's.
58421         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
58422         the other one.
58423
58424         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
58425         Fix misspelling in diagnostic.
58426
58427 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58428
58429         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
58430         defined.  Problem reported by Matthew Woehlke.
58431
58432         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
58433         Add support for Tandem NonStop R series.
58434         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
58435         Use new macro.
58436
58437         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
58438         (has_trailing_slash): Omit size arg; all callers changed.
58439         Omit 'inline', since it doesn't help performance and we'd
58440         need to configure it.
58441         Don't count //, ///, etc. as having a trailing slash.
58442         As a side effect, this removes a C99ism reported by Matthew Woehlke.
58443         (rpl_rename_dest_slash): On failure, use rename's errno rather
58444         than (in some cases) an incorrect or junk errno.
58445         Simplify code by removing need to compute length; this does
58446         cause it to make two passes instead of one over the file name,
58447         but it's worth it.
58448
58449         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
58450         change, since Autoconf's version may no longer be appropriate now
58451         that we are using CVS Autoconf's version.  Add support for Tandem.
58452
58453 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58454             Bruno Haible  <bruno@clisp.org>
58455
58456         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
58457         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
58458         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
58459         gl_AC_TYPE_LONG_LONG.
58460
58461         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
58462         instead of HAVE_LONG_LONG.
58463         * lib/printf-args.c (printf_fetchargs): Likewise.
58464         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
58465         * lib/vasnprintf.c (VASNPRINTF): Likewise.
58466         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
58467         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
58468         gl_AC_TYPE_LONG_LONG.
58469
58470 2006-10-11  Bruno Haible  <bruno@clisp.org>
58471
58472         * m4/longlong.m4: Add comments.
58473         * m4/ulonglong.m4: Likewise.
58474
58475 2006-10-10  Bruno Haible  <bruno@clisp.org>
58476
58477         Make it possible to #define stpcpy, strdup to aliases.
58478         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
58479         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
58480
58481 2006-10-10  Bruno Haible  <bruno@clisp.org>
58482
58483         Make it possible to #define gcd to an alias.
58484         * lib/gcd.c: Include config.h.
58485
58486 2006-10-10  Bruno Haible  <bruno@clisp.org>
58487
58488         Make it possible to #define c_isascii to an alias.
58489         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
58490         defined. Undefine the macros before defining them, to avoid gcc
58491         warnings.
58492         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
58493         define NO_C_CTYPE_MACROS early.
58494
58495 2006-10-10  Bruno Haible  <bruno@clisp.org>
58496
58497         Make it possible to #define set_program_name to an alias.
58498         * lib/progname.c: Don't undefine set_program_name; instead, undefine
58499         ENABLE_RELOCATABLE early.
58500
58501 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58502
58503         Port to Tandem NSK OSS, which has 64-bit signed int but at most
58504         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
58505         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
58506         More generally, don't assume that 64-bit signed int is available
58507         if unsigned int is, and vice versa.
58508         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
58509         unsigned symbols, not on their signed counterparts.
58510         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
58511         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
58512         (UINT64_C, UINTMAX_C):
58513         Likewise.
58514         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
58515         unsigned counterparts.
58516         (Have_long_long, Unsigned): New macros.
58517         (Int): Renamed from INT.
58518         (strtoimax): Use the new macros.
58519         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
58520         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
58521         * modules/inttypes (inttypes.h): Substitute
58522         HAVE_UNSIGNED_LONG_LONG_INT.
58523         * modules/stdint (stdint.h): Likewise.
58524         (Files): Add m4/ulonglong.m4.
58525
58526 2006-10-10  Bruno Haible  <bruno@clisp.org>
58527
58528         Fix a gcc -Wshadow warning.
58529         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
58530         to 'bucket'.
58531         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58532         gl_linked_indexof_from_to): Likewise.
58533         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
58534         Likewise.
58535         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
58536         Likewise.
58537         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
58538         Reported by Eric Blake.
58539
58540 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
58541
58542         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
58543         for NetBSD.  Problem reported by Bruno Haible.
58544
58545 2006-10-09  Jim Meyering  <jim@meyering.net>
58546
58547         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
58548         Patch from Bruno Haible.
58549
58550 2006-10-09  Jim Meyering  <jim@meyering.net>
58551
58552         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
58553         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
58554         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
58555
58556 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58557
58558         Don't include <config.h> twice; this doesn't work in some cases,
58559         e.g., when config.h has "#define intmax_t long long int" and
58560         we include <config.h>, <inttypes.h>, <config.h> in that order.
58561         Problem reported by Matthew Woehlke in:
58562         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
58563         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
58564         * lib/fts-cycle.c: Don't include config.h.
58565         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
58566         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
58567         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
58568         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
58569         inttypes.h.
58570         * lib/xstrtoumax.c: Likewise.
58571         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
58572         __strtol and the like, so that this module is more like its siblings.
58573         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
58574         Remove; no longer needed now that we assume gnulib inttypes.h.
58575
58576 2006-10-08  Bruno Haible  <bruno@clisp.org>
58577
58578         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
58579         option.
58580
58581 2006-10-07  Jim Meyering  <jim@meyering.net>
58582
58583         * modules/inttypes (inttypes.h): Revert what seems to have been
58584         an inadvertent part of today's change: use "|", not "/" in the
58585         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
58586
58587 2006-10-07  Bruno Haible  <bruno@clisp.org>
58588
58589         * modules/sublist: New file.
58590
58591 2006-10-07  Bruno Haible  <bruno@clisp.org>
58592
58593         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
58594         * modules/argz (argz.h): Likewise.
58595         * modules/arpa_inet (arpa/inet.h): Likewise.
58596         * modules/byteswap (byteswap.h): Likewise.
58597         * modules/configmake (configmake.h): Likewise.
58598         * modules/fcntl (fcntl.h): Likewise.
58599         * modules/fnmatch (fnmatch.h): Likewise.
58600         * modules/getopt (getopt.h): Likewise.
58601         * modules/glob (glob.h): Likewise.
58602         * modules/inttypes (inttypes.h): Likewise.
58603         * modules/netinet_in (netinet/in.h): Likewise.
58604         * modules/poll (poll.h): Likewise.
58605         * modules/stdbool (stdbool.h): Likewise.
58606         * modules/stdint (stdint.h): Likewise.
58607         * modules/sys_select (sys/select.h): Likewise.
58608         * modules/sys_socket (sys/socket.h): Likewise.
58609         * modules/sys_stat (sys/stat.h): Likewise.
58610         * modules/sysexits (sysexits.h): Likewise.
58611         * modules/unistd (unistd.h): Likewise.
58612         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58613         Add a "DO NOT EDIT" comment to the generated file.
58614         (func_import): Likewise for gnulib-comp.m4.
58615
58616 2006-10-07  Bruno Haible  <bruno@clisp.org>
58617
58618         * lib/gl_sublist.h: New file.
58619         * lib/gl_sublist.c: New file.
58620
58621 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58622
58623         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
58624         name (relative to the original working directory) and the file
58625         name component (relative to the temporary working directory).  All
58626         callers changed.
58627         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
58628         * lib/mkdir-p.c (make_dir_parents): Likewise.
58629         * lib/mkdir-p.h (make_dir_parents): Likewise.
58630
58631 2006-10-06  Eric Blake  <ebb9@byu.net>
58632
58633         Define several macros for use by the clean-temp module.
58634         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
58635         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
58636         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
58637
58638         * lib/clean-temp.h (close_stream_temp): New declaration.
58639         * lib/clean-temp.c (includes): Pull in headers according to what
58640         other modules are in use.
58641         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
58642
58643 2006-10-06  Bruno Haible  <bruno@clisp.org>
58644
58645         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
58646         instead of fopen, fwriteerror.
58647
58648 2006-10-06  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
58651         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
58652         int.
58653         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
58654         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
58655         Return an error indicator.
58656         Suggested by Eric Blake.
58657
58658 2006-10-06  Bruno Haible  <bruno@clisp.org>
58659
58660         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
58661         Reported by Eric Blake.
58662
58663 2006-10-06  Bruno Haible  <bruno@clisp.org>
58664
58665         * modules/closeout (Description): Mention stderr too.
58666
58667 2006-10-06  Bruno Haible  <bruno@clisp.org>
58668         and Paul Eggert  <eggert@cs.ucla.edu>
58669
58670         * lib/closeout.c (close_stdout): Also close stderr.
58671         * lib/closeout.h: Update comment.
58672
58673 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58674
58675         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
58676         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
58677         * lib/dirchownmod.c: Include lchown.h.
58678         * lib/lchown.c: Don't include files that lchown.h now includes.
58679         Don't declare chown, since lchown.h now does that.
58680         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
58681         (lchown): Define to rpl_chown if lchown is declared but
58682         does not exist.  Declare using a prototype if lchown is not
58683         declared.  Add a copyright notice.
58684         * lib/mkstemp.h: Include <unistd.h>.
58685         * lib/openat.c: Include lchown.h.
58686
58687         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
58688         we now test for that separately.
58689         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
58690         rather than O_NOFOLLOW, when testing whether it's possible to
58691         avoid a race condition reliably.
58692         * lib/savewd.c (savewd_chdir): Likewise.
58693
58694         Remove macros that are no longer needed now that stdint.h is
58695         reliable.
58696         * lib/fsusage.c (UINTMAX_MAX): Remove.
58697         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
58698         * lib/utimecmp.c (SIZE_MAX): Remove.
58699
58700         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
58701
58702         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
58703         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
58704         O_NOATIME works.
58705
58706 2006-10-05  Bruno Haible  <bruno@clisp.org>
58707
58708         * lib/gl_list.h (gl_sortedlist_search_from_to,
58709         gl_sortedlist_indexof_from_to): New declarations.
58710         (gl_list_implementation): New fields sortedlist_search_from_to,
58711         sortedlist_indexof_from_to.
58712         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
58713         inline functions.
58714         * lib/gl_list.c (gl_sortedlist_search_from_to,
58715         gl_sortedlist_indexof_from_to): New functions.
58716         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
58717         function.
58718         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
58719         (gl_array_sortedlist_search_from_to): New function.
58720         (gl_array_list_implementation): Update.
58721         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
58722         function.
58723         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
58724         (gl_carray_sortedlist_search_from_to): New function.
58725         (gl_carray_list_implementation): Update.
58726         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
58727         gl_linked_sortedlist_indexof_from_to): New functions.
58728         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58729         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58730         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
58731         gl_tree_sortedlist_indexof_from_to): New functions.
58732         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58733         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58734         Update.
58735         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58736         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
58737         Update.
58738
58739 2006-10-05  Bruno Haible  <bruno@clisp.org>
58740
58741         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
58742         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
58743         (struct gl_list_implementation): Add fields search_from_to,
58744         indexof_from_to. Remove fields search, indexof.
58745         (gl_list_search): Use the search_from_to method.
58746         (gl_list_search_from, gl_list_search_from_to): New functions.
58747         (gl_list_indexof): Use the indexof_from_to method.
58748         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58749         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
58750         (gl_list_search_from, gl_list_search_from_to): New functions.
58751         (gl_list_indexof): Use the indexof_from_to method.
58752         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58753         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
58754         gl_array_indexof. Add start_index, end_index arguments.
58755         (gl_array_search_from_to): Renamed from gl_array_search. Add
58756         start_index, end_index arguments.
58757         (gl_array_remove, gl_array_list_implementation): Update.
58758         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
58759         gl_carray_indexof. Add start_index, end_index arguments.
58760         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
58761         start_index, end_index arguments.
58762         (gl_carray_remove, gl_carray_list_implementation): Update.
58763         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
58764         gl_linked_search. Add start_index, end_index arguments.
58765         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
58766         start_index, end_index arguments.
58767         (gl_linked_remove): Update.
58768         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58769         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58770         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
58771         field to 'size_t'.
58772         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
58773         gl_tree_search. Add start_index, end_index arguments.
58774         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58775         start_index, end_index arguments.
58776         (gl_tree_remove): Update.
58777         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58778         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58779         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
58780         function.
58781         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
58782         gl_tree_search. Add start_index, end_index arguments.
58783         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58784         start_index, end_index arguments.
58785         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58786         Update.
58787         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58788
58789 2006-10-05  Bruno Haible  <bruno@clisp.org>
58790
58791         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
58792
58793         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
58794         fwriteerror_temp): New declarations.
58795         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
58796         (descriptors): New variable.
58797         (cleanup): First, close the descriptors.
58798         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
58799         fclose_temp, fwriteerror_temp): New functions.
58800
58801 2006-10-04  Jim Meyering  <jim@meyering.net>
58802
58803         * lib/fts.c (fts_open): Tiny comment change.
58804
58805 2006-10-04  Bruno Haible  <bruno@clisp.org>
58806
58807         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
58808         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
58809         gl_LOCK_BODY.
58810         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
58811         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
58812         gl_LOCK_EARLY_BODY.
58813         (gl_LOCK): Require gl_LOCK_BODY.
58814
58815 2006-10-04  Bruno Haible  <bruno@clisp.org>
58816
58817         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
58818         (gl_oset_search_atleast): New declaration.
58819         (struct gl_oset_implementation): Add field 'search_atleast'.
58820         (gl_oset_search_atleast): New inline function.
58821         * lib/gl_oset.c (gl_oset_search_atleast): New function.
58822         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
58823         (gl_array_oset_implementation): Update.
58824         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
58825         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
58826         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
58827
58828 2006-10-04  Bruno Haible  <bruno@clisp.org>
58829
58830         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
58831
58832 2006-10-03  Bruno Haible  <bruno@clisp.org>
58833
58834         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
58835         from gl_avltreehash_list_implementation.
58836
58837 2006-10-03  Bruno Haible  <bruno@clisp.org>
58838
58839         * lib/gl_oset.c (gl_oset_add): Fix return type.
58840
58841 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
58842
58843         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
58844
58845 2006-10-02  Eric Blake  <ebb9@byu.net>
58846
58847         * modules/strnlen (Depends-on): Add extensions.
58848
58849 2006-10-02  Eric Blake  <ebb9@byu.net>
58850
58851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
58852         definition in 2.60+.
58853
58854 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
58855
58856         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
58857         checks.
58858
58859 2006-10-02  Bruno Haible  <bruno@clisp.org>
58860
58861         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
58862         to the AUTOMAKE_OPTIONS.
58863         Reported by Jim Meyering.
58864
58865 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
58866
58867         Work around bug in Solaris 10 /proc file system:
58868         /proc/self/fd/NNN/.. isn't the parent directory of
58869         the directory whose file descriptor is NNN.  This needs to
58870         be worked around at run time, not compile time, since a
58871         program might be built on Solaris 8, where things work, and
58872         run on Solaris 10.
58873         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
58874         to use the following interface instead:
58875         (OPENAT_BUFFER_SIZE): New macro.
58876         (openat_proc_name): New function.
58877         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
58878         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
58879         Likewise.
58880         * lib/openat-proc.c: New file.
58881         * modules/openat (Files): Add lib/openat-proc.c.
58882         (Depends-on): Add same-inode, stdbool.
58883         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
58884
58885 2006-09-29  Bruno Haible  <bruno@clisp.org>
58886
58887         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
58888         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
58889         argument. Set stdout_closed before testing for ferror, not after.
58890         (fwriteerror, fwriteerror_no_ebadf): New functions.
58891
58892 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58893
58894         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
58895
58896 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
58897
58898         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
58899         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
58900
58901 2006-09-28  Jim Meyering  <jim@meyering.net>
58902
58903         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
58904         Include <unistd.h>.
58905
58906 2006-09-28  Bruno Haible  <bruno@clisp.org>
58907
58908         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
58909         * modules/linkedhash-list (Depends-on): Likewise.
58910         * modules/rbtreehash-list (Depends-on): Likewise.
58911
58912 2006-09-28  Bruno Haible  <bruno@clisp.org>
58913
58914         * lib/strndup.h: Simplify the redefinition of strndup.
58915         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
58916         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
58917
58918 2006-09-28  Bruno Haible  <bruno@clisp.org>
58919
58920         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
58921         * lib/gl_linkedhash_list.c: Likewise.
58922         * lib/gl_rbtreehash_list.c: Likewise.
58923
58924 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
58925
58926         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
58927         getaddrinfo.
58928
58929         * lib/__fpending.h: Don't include <stdio_ext.h> unless
58930         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
58931         it causes <stdio_ext.h> to cause a compile-time error.
58932         Problem reported by Nelson H. F. Beebe.
58933         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
58934         of HAVE_DECL___PENDING.
58935
58936         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
58937         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
58938         declaration.
58939
58940 2006-09-27  Jim Meyering  <jim@meyering.net>
58941
58942         This file could end up with a definition for a function
58943         named __strndup, rather than rpl_strndup on a system with
58944         incomplete weak_alias support.
58945         * lib/strndup.c (strndup): Rename from __strndup.
58946         Remove #defines that used to map __strndup to strndup.
58947         Don't use K&R prototypes.
58948         Remove LIBC-related code, since this file is not sync'd with glibc.
58949         * lib/strndup.h: Revamp, accordingly.
58950         * m4/strndup.m4: Modernize.
58951
58952 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
58953
58954         * modules/savewd (Depends-on): Add 'raise'.
58955         * lib/savewd.c: Include <signal.h>, for 'raise'.
58956
58957 2006-09-26  Jim Meyering  <jim@meyering.net>
58958
58959         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
58960         when we detect Darwin 8.7.0's acl_get_file bug.
58961         Rearrange to perform the new (below) run-test while $LIBS
58962         contains any acl-related library.  Set USE_ACL at the end.
58963         (gl_ACL_GET_FILE): New function.
58964
58965 2006-09-26  Eric Blake  <ebb9@byu.net>
58966
58967         * lib/verror.c: Include <config.h> unconditionally.
58968
58969 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
58970
58971         * modules/clock-time (Maintainer): Add self.
58972         * modules/getlogin_r (Depends-on): Add extensions.
58973
58974 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58975
58976         * modules/clock-time: New module.
58977         * modules/nanosleep (Depends-on): Add clock-time.
58978         * modules/gethrxtime (Depends-on): Likewise.
58979         * modules/gettime (Depends-on): Likewise.
58980         * modules/settime (Depends-on): Likewise.
58981
58982         * modules/fts-lgpl: Depend on openat.
58983         * modules/mkancesdirs: Depend on savewd.
58984         * modules/mkdir-p: Likewise.
58985
58986 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58987
58988         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58989
58990         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58991         `gl_have_arbitrary_file_name_length_limit' to
58992         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58993         actually works between configure runs.
58994
58995 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58996             Bruno Haible  <bruno@clisp.org>
58997
58998         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58999
59000 2006-09-25  Jim Meyering  <jim@meyering.net>
59001
59002         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
59003         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
59004
59005 2006-09-25  Eric Blake  <ebb9@byu.net>
59006
59007         * gnulib-tool (func_import, func_create_testdir): Fix typos in
59008         exec's in 2006-09-18 patch when shuffling fds.
59009
59010 2006-09-25  Bruno Haible  <bruno@clisp.org>
59011
59012         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
59013         Reported by Jim Meyering.
59014
59015 2006-09-24  Jim Meyering  <jim@meyering.net>
59016
59017         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
59018         compare a pointer against a literal "0".  That caused failures with
59019         at least HP-UX's hpcc.
59020
59021 2006-09-22  Simon Josefsson  <jas@extundo.com>
59022
59023         * modules/gc-sha1:
59024         * modules/gc-md4:
59025         * modules/gc-hmac-sha1:
59026         * modules/gc-hmac-md5:
59027         * modules/gc-des:
59028         * modules/gc-arcfour: Distribute more files.
59029
59030 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59031
59032         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
59033         (gl_linked_iterator_from_to): Initialize struct completely.
59034         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
59035         (gl_tree_iterator_from_to): Likewise
59036         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
59037         * lib/gl_array_list.c [lint] (gl_array_iterator)
59038         (gl_array_iterator_from_to): Likewise.
59039         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
59040         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
59041         (gl_carray_iterator_from_to): Likewise.
59042
59043         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
59044         * lib/md4.c (md4_process_block): Remove unused variable.
59045         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
59046         parentheses for clarity.
59047
59048 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59049
59050         * modules/bison-i18n (Depends-on): Add gettext.
59051
59052 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59053
59054         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
59055         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
59056         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
59057         also add missing comma that caused broken test.
59058         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
59059         stdlib.h, for `abort'.
59060         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
59061         variables.
59062         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
59063         include unistd.h if present, for `rmdir'.
59064         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
59065         variables.
59066         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
59067         in the process include standard headers for prototypes.
59068         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
59069         gets declared on GNU/Linux.
59070         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
59071         unistd.h, for `rmdir'.
59072         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
59073
59074         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
59075         always true.
59076         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
59077
59078         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
59079
59080 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59081
59082         * gnulib-tool (func_version): Create output all at once.  This
59083         may help avoid triggering unnecessary SIGPIPEs, and at any
59084         rate it doesn't hurt.
59085
59086 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59087             Bruno Haible  <bruno@clisp.org>
59088
59089         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
59090         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59091         * m4/signed.m4 (bh_C_SIGNED): Likewise.
59092
59093         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
59094         (gl_FUNC_VASPRINTF): Invoke it.
59095
59096 2006-09-22  Bruno Haible  <bruno@clisp.org>
59097
59098         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
59099         getloadavg.c as first argument.
59100
59101 2006-09-22  Bruno Haible  <bruno@clisp.org>
59102
59103         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
59104         at the beginning of the gl_INIT macro.
59105         * modules/getloadavg (configure.ac): Pass $gl_source_base to
59106         gl_GETLOADAVG.
59107
59108 2006-09-22  Bruno Haible  <bruno@clisp.org>
59109
59110         * gnulib-tool (func_create_megatestdir): Don't include the config-h
59111         module.
59112         Suggested by Ralf Wildenhues.
59113
59114 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
59115
59116         Import this patch from libc:
59117
59118         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
59119
59120         * lib/regex_internal.c (re_string_reconstruct): Handle
59121         offset < pstr->valid_raw_len && pstr->offsets_needed case.
59122         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
59123         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
59124         re_string_context_at.
59125
59126         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
59127         now requires it.
59128         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
59129         gl_REGEX now does it for us.
59130         (gl_REGEX): Add test taken from
59131         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
59132
59133         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
59134         Check that large offsets work.  Modernize Autoconf usages.
59135         Prefer "yes" to mean a good thing rather than a bad.
59136         Don't put "#define mkstemp" in config.h, as this might interfere
59137         with standard system headers that "#define mkstemp mkstemp64".
59138
59139         * modules/mkstemp (Depends-on): Add extensions, so that
59140         mkstemp is visible on some platforms.
59141         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
59142         (Include): Change to "mkstemp.h" from <stdlib.h>.
59143         (Files): Add mkstemp.h.
59144
59145         * lib/mkstemp.h: New file, since some standard headers
59146         #define mkstemp.
59147         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
59148         Include "mkstemp.h".
59149         Make the _LIBC code resemble glibc original more,
59150         e.g., use K&R style.
59151         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
59152         (mkstemp): Remove, since mkstemp.h does this for us.
59153         * lib/stdlib--.h: Include mkstemp.h.
59154
59155         Import this patch from libc:
59156
59157         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59158
59159         * lib/tempname.c (__gen_tempname): Change attempts_min
59160         into a macro.  Use preprocessor to decide how to initialize
59161         attempts [Coverity CID 67].
59162
59163 2006-09-20  Bruno Haible  <bruno@clisp.org>
59164
59165         * lib/mkdtemp.c: Import from libc.
59166         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59167                 * sysdeps/posix/tempname.c (__gen_tempname): Change
59168                 attempts_min into a macro.  Use preprocessor to decide how to
59169                 initialize attempts [Coverity CID 67].
59170         2001-11-27  Paul Eggert  <eggert@twinsun.com>
59171                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
59172                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
59173
59174 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59175
59176         * gnulib-tool (func_exit): New function, to allow to pass the
59177         exit status portably through the trap.  Use everywhere.
59178         (--help, --version): Signal a write error.
59179         (trap): catch SIGPIPE, for write errors.
59180         Exit at the end of the trap, with the correct exit status.
59181
59182 2006-09-19  Karl Berry  <karl@gnu.org>
59183
59184         * doc/gnulib.texi: note about the license texinfo files.
59185
59186 2006-09-19  Eric Blake  <ebb9@byu.net>
59187
59188         * gnulib-tool: Avoid space-tab.
59189
59190 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59191
59192         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
59193         that prevented coreutils 6.1 from building.  Problem reported
59194         by Petter Reinholdtsen.
59195
59196 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59197
59198         * gnulib-tool (avoidlist): Fix typo that broke options like
59199         --avoid=lock that are used by coreutils bootstrap.
59200
59201 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
59202
59203         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
59204         more systematically.
59205
59206 2006-09-18  Jim Meyering  <jim@meyering.net>
59207
59208         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
59209
59210 2006-09-18  Bruno Haible  <bruno@clisp.org>
59211
59212         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
59213
59214 2006-09-18  Bruno Haible  <bruno@clisp.org>
59215
59216         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
59217         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
59218         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
59219         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
59220         * m4/gettext.m4: Require autoconf >= 2.52.
59221         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
59222         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
59223         of gl_cv_header_inttypes_h.
59224
59225 2006-09-18  Bruno Haible  <bruno@clisp.org>
59226
59227         * lib/javaversion.c: Include configmake.h.
59228
59229 2006-09-18  Bruno Haible  <bruno@clisp.org>
59230
59231         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
59232         avoid that the while loops be executed in a subshell.
59233
59234 2006-09-18  Bruno Haible  <bruno@clisp.org>
59235
59236         * MODULES.html.sh (func_module): Break long lines.
59237         Suggested by Bruce Korb <bkorb@gnu.org>.
59238
59239 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59240
59241         Speed up by a factor of 1.12.
59242         * gnulib-tool (nl): New variable.
59243         (func_import): Rewrite include directive extraction to only read each
59244         directive once.
59245
59246 2006-09-17  Bruno Haible  <bruno@clisp.org>
59247
59248         * modules/javaversion (Makefile.am): Remove DEFS setting.
59249         (Depends-on): Add configmake, for PKGDATADIR definition.
59250
59251 2006-09-17  Bruno Haible  <bruno@clisp.org>
59252
59253         * gnulib-tool (func_create_testdir): Rewrite all files at once.
59254
59255 2006-09-17  Bruno Haible  <bruno@clisp.org>
59256
59257         * gnulib-tool (func_append): New function, stolen from libtool.m4.
59258         (func_modules_transitive_closure, func_modules_add_dummy,
59259         func_modules_to_filelist, func_import, func_create_testdir,
59260         func_create_megatestdir, ...): Use it wherever possible.
59261         Suggested by Ralf Wildenhues.
59262
59263 2006-09-16  Karl Berry  <karl@gnu.org>
59264
59265         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
59266         to avoid sectioning errors.
59267         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
59268         [ifinfo]: blank line after @center-ed titles.
59269         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
59270         Spell FSF address consistently with others.
59271         (These changes approved by rms.)
59272
59273 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59274
59275         Speed up by a factor of 1.61.
59276         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
59277         already checked module names again.
59278
59279 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59280
59281         Speed up by a factor of 1.13.
59282         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
59283         for new_files, and the input to func_add_or_update.
59284
59285 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59286
59287         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
59288         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
59289
59290 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59291
59292         * modules/mkancesdirs (Depends-on): Add fcntl.
59293         * modules/savewd: New file.
59294         * MODULES.html.sh (File system functions): Add savewd.
59295
59296         * modules/configmake (Makefile.am): Add support for the
59297         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
59298
59299 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59300
59301         * m4/savewd.m4: New file.
59302
59303 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59304
59305         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
59306         (dirchownmod): New arg FD.  All callers changed.
59307         Use FD rather than opening the directory ourself, as opening is
59308         now the caller's responsibility.
59309         * lib/dirchownmod.h: Likewise.
59310         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
59311         hosts that require <sys/types.h> before <sys/stat.h>.  Include
59312         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
59313         (test_dir): Remove.
59314         (mkancesdirs): Return length of prefix of FILE that has already
59315         been made, or -2 if there is a child doing the work.  Redo
59316         algorithm so that it is O(N) rather than O(N**2).  Optimize away
59317         ".", and treat ".." specially since it might stray back into
59318         already-created areas.  Use a subprocess if necessary.  New arg
59319         WD; all users changed.  MAKE_DIR function should now return 1
59320         if it creates a directory that is not readable.  Return -2 if
59321         a child process is spun off.
59322         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
59323         Adjust signature to match code.
59324         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
59325         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
59326         all users changed.
59327         * lib/savewd.c, lib/savewd.h: New files.
59328
59329 2006-09-15  Jim Meyering  <jim@meyering.net>
59330
59331         * modules/rename-dest-slash: New module.
59332         * MODULES.html.sh (posix_compat): Add it here.
59333
59334         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
59335
59336 2006-09-15  Jim Meyering  <jim@meyering.net>
59337
59338         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
59339         file.
59340
59341         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
59342
59343 2006-09-15  Jim Meyering  <jim@meyering.net>
59344
59345         * lib/rename-dest-slash.c (has_trailing_slash): Use
59346         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
59347         (rpl_rename_dest_slash): Perform the cheaper trailing slash
59348         test before testing whether SRC is a directory.
59349         Suggestions from Bruno Haible.
59350
59351         Avoid a warning about an unused variable.
59352         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
59353         into the #ifdef block where it's used.
59354
59355         * lib/rename-dest-slash.c: New file.
59356
59357 2006-09-14  Bruno Haible  <bruno@clisp.org>
59358
59359         * lib/allocsa.c: Include <config.h> unconditionally.
59360         * lib/asnprintf.c: Likewise.
59361         * lib/asprintf.c: Likewise.
59362         * lib/c-strcasecmp.c: Likewise.
59363         * lib/c-strcasestr.c: Likewise.
59364         * lib/c-strncasecmp.c: Likewise.
59365         * lib/c-strstr.c: Likewise.
59366         * lib/classpath.c: Likewise.
59367         * lib/clean-temp.c: Likewise.
59368         * lib/concatpath.c: Likewise.
59369         * lib/copy-file.c: Likewise.
59370         * lib/csharpcomp.c: Likewise.
59371         * lib/csharpexec.c: Likewise.
59372         * lib/execute.c: Likewise.
59373         * lib/fatal-signal.c: Likewise.
59374         * lib/findprog.c: Likewise.
59375         * lib/fwriteerror.c: Likewise.
59376         * lib/gl_array_list.c: Likewise.
59377         * lib/gl_array_oset.c: Likewise.
59378         * lib/gl_avltree_list.c: Likewise.
59379         * lib/gl_avltree_oset.c: Likewise.
59380         * lib/gl_avltreehash_list.c: Likewise.
59381         * lib/gl_carray_list.c: Likewise.
59382         * lib/gl_linked_list.c: Likewise.
59383         * lib/gl_linkedhash_list.c: Likewise.
59384         * lib/gl_list.c: Likewise.
59385         * lib/gl_oset.c: Likewise.
59386         * lib/gl_rbtree_list.c: Likewise.
59387         * lib/gl_rbtree_oset.c: Likewise.
59388         * lib/gl_rbtreehash_list.c: Likewise.
59389         * lib/imaxabs.c: Likewise.
59390         * lib/imaxdiv.c: Likewise.
59391         * lib/javacomp.c: Likewise.
59392         * lib/javaexec.c: Likewise.
59393         * lib/javaversion.c: Likewise.
59394         * lib/linebreak.c: Likewise.
59395         * lib/localcharset.c: Likewise.
59396         * lib/lock.c: Likewise.
59397         * lib/mbchar.c: Likewise.
59398         * lib/mbswidth.c: Likewise.
59399         * lib/mkdtemp.c: Likewise.
59400         * lib/pipe.c: Likewise.
59401         * lib/printf-args.c: Likewise.
59402         * lib/printf-parse.c: Likewise.
59403         * lib/progname.c: Likewise.
59404         * lib/progreloc.c: Likewise.
59405         * lib/readlink.c: Likewise.
59406         * lib/sh-quote.c: Likewise.
59407         * lib/stpcpy.c: Likewise.
59408         * lib/stpncpy.c: Likewise.
59409         * lib/strcasecmp.c: Likewise.
59410         * lib/strcasestr.c: Likewise.
59411         * lib/strcspn.c: Likewise.
59412         * lib/striconv.c: Likewise.
59413         * lib/strncasecmp.c: Likewise.
59414         * lib/strnlen1.c: Likewise.
59415         * lib/strstr.c: Likewise.
59416         * lib/strtok_r.c: Likewise.
59417         * lib/tls.c: Likewise.
59418         * lib/tmpdir.c: Likewise.
59419         * lib/unicodeio.c: Likewise.
59420         * lib/unsetenv.c: Likewise.
59421         * lib/vasnprintf.c: Likewise.
59422         * lib/vasprintf.c: Likewise.
59423         * lib/wait-process.c: Likewise.
59424         * lib/xallocsa.c: Likewise.
59425         * lib/xsetenv.c: Likewise.
59426         * lib/xstriconv.c: Likewise.
59427
59428 2006-09-13  Simon Josefsson  <jas@extundo.com>
59429
59430         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
59431         that internally, suggested by Ralf Wildenhues
59432         <Ralf.Wildenhues@gmx.de>.
59433
59434 2006-09-13  Simon Josefsson  <jas@extundo.com>
59435
59436         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
59437         @LIBOBJS@.
59438         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59439
59440 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59441
59442         * lib/_fpending.c: Include <config.h> unconditionally, since we no
59443         longer worry about uses that don't define HAVE_CONFIG_H.
59444         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
59445         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
59446         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
59447         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
59448         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
59449         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
59450         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
59451         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
59452         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
59453         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
59454         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
59455         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
59456         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
59457         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
59458         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
59459         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
59460         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
59461         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
59462         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
59463         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
59464         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
59465         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
59466         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
59467         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
59468         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
59469         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
59470         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
59471         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
59472         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
59473         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
59474         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
59475         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
59476         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
59477         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
59478         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
59479         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
59480         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
59481         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
59482         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
59483         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
59484         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
59485         Likewise.
59486
59487 2006-09-13  Eric Blake  <ebb9@byu.net>
59488
59489         * lib/getopt.c: Fix typo in last commit.
59490
59491 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59492
59493         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
59494         dgettext.
59495
59496 2006-09-12  Jim Meyering  <jim@meyering.net>
59497
59498         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
59499         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
59500         Reported by Nelson H. F. Beebe.
59501
59502 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59503
59504         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
59505         program_invocation_name and program_invocation_short_name are
59506         initialized.
59507         * lib/argp-namefrob.h: Move declarations of program_invocation_name
59508         and program_invocation_short_name to argp.h, so they are visible
59509         to user programs.
59510         * lib/argp.h: Likewise
59511
59512 2006-09-10  Bruno Haible  <bruno@clisp.org>
59513
59514         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59515         m4/inttypes_h.m4, m4/uintmax_t.m4.
59516
59517 2006-09-10  Bruno Haible  <bruno@clisp.org>
59518
59519         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
59520         gl_AC_TYPE_UINTMAX_T.
59521
59522 2006-09-10  Bruno Haible  <bruno@clisp.org>
59523
59524         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
59525
59526 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59527
59528         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
59529         convention.  Text proposed by Bruno Haible.
59530         (struct argp_option): Document the use of N_() wrappers.
59531
59532         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
59533         '\v', and translate the two parts separately, instead of feeding
59534         the whole string to gettext.  This allows to exclude
59535         '\v' from the strings visible to the translator by writing doc
59536         strings as N_("..") "\v" N_("..").
59537
59538 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
59539
59540         * config/srclist.txt: Undo latest change; the bug was fixed.
59541
59542 2006-09-09  Bruno Haible  <bruno@clisp.org>
59543
59544         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
59545         assignments if building a library without libtool.
59546         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
59547         in func_emit_lib_Makefile_am.
59548         (func_import): When building a static library libfoo.a, arrange to
59549         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
59550         (func_create_testdir): Likewise.
59551         * modules/gc (configure.ac, Makefile.am): If building statically,
59552         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
59553         * modules/iconvme (configure.ac, Makefile.am): Likewise.
59554         * modules/striconv (configure.ac, Makefile.am): Likewise.
59555         Based on a suggestion by Ralf Wildenhues.
59556
59557 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59558
59559         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59560         Check for unistd.h too, since Autoconf doesn't assume POSIX.
59561         Also:
59562
59563         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59564         Add year_2050_test to catch glibc bug 2821
59565         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59566
59567         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59568         Prefer #ifdef to #if.
59569
59570         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
59571         Return from 'main' instead of calling 'exit'.
59572
59573 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59574
59575         * lib/mktime.c (guess_time_tm): Fix bug where mktime
59576         returned the maximum time_t value rather than (time_t) -1.
59577         Problem originally reported by William Bardwell
59578         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59579
59580         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59581         Moved to here ...
59582         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59583         ... from here.
59584
59585 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59586
59587         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
59588         2821 is fixed.
59589
59590 2006-09-08  Jim Meyering  <jim@meyering.net>
59591
59592         Don't make generated files read-only.  That would bother too many
59593         people.  However, do retain the ability to work when targets are
59594         read-only: remove the destination and temporary files before writing
59595         them (when generated via sed or echo), or by using the -f option for
59596         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
59597         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59598         * modules/byteswap, modules/configmake, modules/fcntl:
59599         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59600         * modules/localcharset, modules/netinet_in, modules/poll:
59601         * modules/stdbool, modules/stdint, modules/sys_select:
59602         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59603
59604 2006-09-08  Jim Meyering  <jim@meyering.net>
59605
59606         Avoid new build failure on FreeBSD 6.0.
59607         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
59608         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
59609         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
59610
59611 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59612
59613         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
59614
59615 2006-09-07  Jim Meyering  <jim@meyering.net>
59616
59617         Fix global typo in last change: use chmod u-w, not chmod u-x.
59618         Spotted by Paul Eggert and Bruce Korb.
59619         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59620         * modules/byteswap, modules/configmake, modules/fcntl:
59621         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59622         * modules/localcharset, modules/netinet_in, modules/poll:
59623         * modules/stdbool, modules/stdint, modules/sys_select:
59624         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59625
59626 2006-09-06  Jim Meyering  <jim@meyering.net>
59627
59628         Make generated files be read-only.
59629         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
59630         Ensure that each generated file is now read-only.
59631         * modules/argz: Likewise.
59632         * modules/arpa_inet: Likewise.
59633         * modules/byteswap: Likewise.
59634         * modules/configmake: Likewise.
59635         * modules/fcntl: Likewise.
59636         * modules/fnmatch: Likewise.
59637         * modules/getopt: Likewise.
59638         * modules/glob: Likewise.
59639         * modules/inttypes: Likewise.
59640         * modules/netinet_in: Likewise.
59641         * modules/poll: Likewise.
59642         * modules/stdbool: Likewise.
59643         * modules/stdint: Likewise.
59644         * modules/sys_select: Likewise.
59645         * modules/sys_socket: Likewise.
59646         * modules/sys_stat: Likewise.
59647         * modules/sysexits: Likewise.
59648         * modules/localcharset: Same as above, but continue using temporary
59649         file named "t-$@" (why different?) rather than the "$@-t" used
59650         everywhere else.
59651
59652         * modules/sysexits (Makefile.am): Replace literal occurrences
59653         of "sysexit.h" more readable, and more consistent, "$@".
59654
59655 2006-09-06  Bruno Haible  <bruno@clisp.org>
59656
59657         * modules/striconv: New file.
59658         * modules/xstriconv: New file.
59659         * MODULES.html.sh (Internationalization functions): Add striconv,
59660         xstriconv.
59661
59662 2006-09-06  Bruno Haible  <bruno@clisp.org>
59663
59664         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
59665         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
59666         not using libtool correctly.
59667
59668 2006-09-06  Bruno Haible  <bruno@clisp.org>
59669
59670         * lib/striconv.h: New file.
59671         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
59672         iconvstring.c.
59673         * lib/xstriconv.h: New file.
59674         * lib/xstriconv.c: New file.
59675
59676 2006-09-06  Bruno Haible  <bruno@clisp.org>
59677
59678         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59679         lib_..._LDFLAGS.
59680
59681 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59682
59683         * lib/argz_.h: Sync from Libtool.
59684
59685         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
59686                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59687
59688         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
59689
59690 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59691
59692         * modules/trim: New file.
59693
59694 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59695
59696         * lib/trim.h: New file.
59697         * lib/trim.c: New file.
59698
59699 2006-09-05  Bruno Haible  <bruno@clisp.org>
59700
59701         * MODULES.html.sh (String handling): Add trim.
59702
59703 2006-09-04  Karl Berry  <karl@gnu.org>
59704
59705         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
59706         until next release.
59707
59708 2006-09-03  Bruno Haible  <bruno@clisp.org>
59709
59710         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
59711         correctly.
59712
59713 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59714
59715         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
59716         not gl_GETLOADAVG.  Omit unneeded semicolons.
59717         Problems reported by Ralf Wildenhues in
59718         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59719         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
59720         at the end, which is the usual gnulib style.
59721
59722         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
59723         of doing all the work ourselves.
59724         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
59725         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
59726
59727 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59728
59729         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
59730         Problem reported by Ralf Wildenhues in
59731         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59732
59733         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
59734         HAVE_STRUCT_STATFS_F_FSTYPENAME.
59735
59736 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59737
59738         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
59739         yesterday's patch by changing test -n to test -z.
59740
59741 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59742
59743         * modules/getloadavg (Files): Add m4/getloadavg.m4.
59744         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
59745         the former is now obsolescent.
59746
59747         * modules/chdir-long (Depends-on): Add fcntl.
59748
59749 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59750
59751         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
59752         obsolescent, and programs should use gnulib instead.
59753         * m4/getloadavg.m4: New file, with contents taken from Autoconf
59754         but with prefixes changed.
59755
59756 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59757
59758         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
59759         or stdbool.h, because they might not exist while configuring.
59760
59761         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
59762         Don't include unistd.h or limits.h; not needed, since chdir-long.h
59763         does that for us.
59764         (O_DIRECTORY): Remove.
59765
59766 2006-08-31  Eric Blake  <ebb9@byu.net>
59767
59768         * gnulib-tool: Don't let emacs change spaces to TAB.
59769
59770 2006-08-31  Bruno Haible  <bruno@clisp.org>
59771
59772         * gnulib-tool: When calling func_import more than once, do it in a
59773         subshell.
59774         Reported by Eric Blake <ebb9@byu.net>.
59775
59776 2006-08-31  Bruno Haible  <bruno@clisp.org>
59777
59778         * gnulib-tool (nl): Remove variable.
59779         (sed_transform_lib_file): Use more robust test for config-h module.
59780         (func_import): Fix typo in 2006-08-25 patch.
59781
59782 2006-08-31  Bruno Haible  <bruno@clisp.org>
59783
59784         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
59785         specified, augment Makefile.am variables instead of assigning them.
59786
59787 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59788
59789         Work around a bug in both the Linux and SunOS 64-bit kernels:
59790         nanosleep mishandles sleeps for longer than 2**31 seconds.
59791         Problem reported by Frank v Waveren in
59792         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
59794         Check for nanosleep bug.
59795         (LIB_NANOSLEEP): Append clock_gettime library if needed.
59796
59797 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59798
59799         Work around a bug in both the Linux and SunOS 64-bit kernels:
59800         nanosleep mishandles sleeps for longer than 2**31 seconds.
59801         Problem reported by Frank v Waveren in
59802         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59803         * lib/nanosleep.c (BILLION): New constant.
59804         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
59805         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
59806         implementation.
59807
59808 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59809
59810         * modules/nanosleep (Depends-on): Add gettime.
59811
59812 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59813         and Simon Josefsson  <jas@extundo.com>
59814         and Oskar Liljeblad  <oskar@osk.mine.nu>
59815
59816         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
59817         * gnulib-tool (func_import): New license type 'unmodifiable license
59818         text'.
59819         * modules/fdl: Use it.  Longer description.
59820         * module/gpl, module/lgpl: New files.
59821
59822 2006-08-30  Jim Meyering  <jim@meyering.net>
59823
59824         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
59825         shadowing the parameter.
59826
59827 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59828
59829         Sync from Libtool:
59830
59831         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59832
59833         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
59834         sharing with gnulib.  Report by Eric Blake.
59835
59836 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59837
59838         * modules/isapipe: New file.
59839         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
59840
59841 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59842
59843         * modules/configmake (Makefile.am): Add a comment, and omit
59844         the CONFIGMAKE_ prefix from generated macro names.  Suggested
59845         by Bruno Haible.
59846
59847 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59848
59849         * m4/isapipe.m4: New file.
59850
59851 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59852
59853         * lib/isapipe.c, lib/isapipe.h: New files.
59854
59855 2006-08-29  Jim Meyering  <jim@meyering.net>
59856
59857         * modules/configmake (Makefile.am): Make configmake.h depend on
59858         Makefile.  Otherwise, a stale configmake.h could hang around.
59859
59860 2006-08-29  Eric Blake  <ebb9@byu.net>
59861
59862         * lib/error.c (error_at_line, print_errno_message): Match libc, after
59863         resolution of upstream bug 3044.
59864
59865 2006-08-29  Bruno Haible  <bruno@clisp.org>
59866
59867         * modules/localcharset (Depends-on): Add configmake.
59868         (Makefile.am): Remove setting of LIBDIR through DEFS.
59869
59870 2006-08-29  Bruno Haible  <bruno@clisp.org>
59871
59872         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
59873         defined.
59874
59875 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59876
59877         * modules/fcntl: New file.
59878         * modules/chdir-safer (Depends-on): Add fcntl.
59879         * modules/fts: Likewise.
59880         * modules/mkdir-p: Likewise.
59881
59882         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
59883         This undoes the most recent change, since we're now addressing the
59884         problem in a different way.
59885
59886         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
59887         into output, since the output might be called Makefile.am even
59888         if $makefile_name is something different.
59889         (func_import): Use $makefile_am rather than
59890         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
59891         empty.
59892
59893         * modules/inttypes (Files): Add m4/inttypes-h.m4.
59894
59895 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59896
59897         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
59898         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
59899         recent change to stdint.m4, since we're now addressing the problem in a
59900         different way.
59901
59902 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59903
59904         * m4/fcntl_h.m4: New file.
59905
59906 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59907
59908         * lib/fcntl_.h: New file.
59909         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
59910         the fcntl module.
59911         * lib/dirchownmod.c: Likewise.
59912         * lib/fts.c: Likewise.
59913
59914         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
59915         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
59916         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
59917         just before including <inttypes.h>, to avoid circular inclusion.
59918
59919 2006-08-28  Jim Meyering  <jim@meyering.net>
59920
59921         * doc/visibility.texi: Actually read and correct the grammar of the
59922         sentence affected by yesterday's change.
59923
59924 2006-08-28  Eric Blake  <ebb9@byu.net>
59925
59926         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
59927         needs wrapper.
59928
59929 2006-08-28  Eric Blake  <ebb9@byu.net>
59930
59931         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
59932
59933 2006-08-28  Eric Blake  <ebb9@byu.net>
59934
59935         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
59936
59937 2006-08-28  Bruno Haible  <bruno@clisp.org>
59938
59939         * modules/c-strstr: New file, from GNU gettext.
59940         * MODULES.html.sh (String handling): Add c-strstr.
59941
59942 2006-08-28  Bruno Haible  <bruno@clisp.org>
59943
59944         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
59945         macros.
59946         Reported by Eric Blake.
59947
59948 2006-08-28  Bruno Haible  <bruno@clisp.org>
59949
59950         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
59951         (VASNPRINTF): Return a string of length > INT_MAX without failing.
59952         * lib/vasprintf.c: Include errno.h, limits.h.
59953         (EOVERFLOW): New fallback definition.
59954         (vasprintf): Test here whether the string length is > INT_MAX.
59955         * lib/vsnprintf.c: Include errno.h, limits.h.
59956         (EOVERFLOW): New fallback definition.
59957         (vsnprintf): Fix bug when generated string was too long for the buffer.
59958         Test here whether the string length is > INT_MAX.
59959
59960 2006-08-28  Bruno Haible  <bruno@clisp.org>
59961
59962         * lib/inttypes_.h (SCNX*): Remove definitions.
59963         Reported by Eric Blake.
59964
59965 2006-08-28  Bruno Haible  <bruno@clisp.org>
59966
59967         * lib/c-strstr.h: New file, from GNU gettext.
59968         * lib/c-strstr.c: New file, from GNU gettext.
59969
59970 2006-08-28  Bruno Haible  <bruno@clisp.org>
59971
59972         * gnulib-tool: Reorder some statements.
59973
59974 2006-08-28  Bruno Haible  <bruno@clisp.org>
59975
59976         * gnulib-tool: New option --makefile-name.
59977         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59978         $makefile_name.
59979         (func_import): Write $makefile_name to the cache file, and read it from
59980         there unless explicitly specified. Use $makefile_name as file name
59981         instead of Makefile.am. Adjust the recommendations accordingly.
59982
59983 2006-08-28  Bruno Haible  <bruno@clisp.org>
59984
59985         * gnulib-tool (func_verify_module): Check against misapplying patch.
59986
59987 2006-08-28  Bruno Haible  <bruno@clisp.org>
59988
59989         * gnulib-tool (func_relativize, func_relconcat): New functions.
59990         Give an error if --local-dir is given with --update.
59991         Remove trailing slashes from $local_gnulib_dir.
59992         (func_import): Store the relativized $local_gnulib_dir in
59993         gnulib-cache.m4, and read it from there if not specified explicitly.
59994
59995 2006-08-28  Bruno Haible  <bruno@clisp.org>
59996
59997         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59998         is the current directory. Respect also $local_gnulib_dir.
59999
60000 2006-08-28  Bruno Haible  <bruno@clisp.org>
60001             Simon Josefsson  <jas@extundo.com>
60002
60003         BeOS portability.
60004         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
60005
60006 2006-08-27  Jim Meyering  <jim@meyering.net>
60007
60008         * doc/visibility.texi: Remove duplicate word: "pointer".
60009
60010 2006-08-26  Bruno Haible  <bruno@clisp.org>
60011
60012         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
60013         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
60014         (Makefile.am): Create inttypes.h from inttypes_.h.
60015         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
60016
60017         * modules/imaxabs: New file.
60018
60019         * modules/imaxdiv: New file.
60020
60021 2006-08-26  Bruno Haible  <bruno@clisp.org>
60022
60023         * m4/inttypes.m4: New file.
60024         * m4/_inttypes_h.m4: Remove file.
60025         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
60026         PRI_MACROS_BROKEN.
60027         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
60028
60029         * m4/imaxabs.m4: New file.
60030
60031         * m4/imaxdiv.m4: New file.
60032
60033 2006-08-26  Bruno Haible  <bruno@clisp.org>
60034
60035         * lib/inttypes_.h: New file.
60036         * lib/inttypes.h: Remove file.
60037         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
60038
60039         * lib/imaxabs.c: New file.
60040
60041         * lib/imaxdiv.c: New file.
60042
60043 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60044
60045         New config-h module, so that "make" output needn't be cluttered
60046         by -DHAVE_CONFIG_H.
60047         * MODULES.html.sh (Support for building libraries and executables):
60048         Add config-h.
60049         * modules/config-h: New file.
60050         * gnulib-tool (nl, sed_transform_lib_file): New vars.
60051         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
60052         the config-h module is used.
60053
60054         New configmake module, so that "make" output needn't be cluttered
60055         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
60056         * MODULES.html.sh (Support for building libraries and executables):
60057         Add configmake.
60058         * modules/configmake: New file.
60059
60060 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60061
60062         * m4/config-h.m4: New file.
60063
60064 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60065
60066         * config/srclist.txt: Add elisp-comp.
60067
60068 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60069
60070         * MODULES.html.sh (Support for building libraries and executables):
60071         Add elisp-comp.
60072         * build-aux/elisp-comp: New file.
60073         * modules/elisp-comp: New file.
60074
60075 2006-08-24  Bruno Haible  <bruno@clisp.org>
60076
60077         * gnulib-tool (func_create_testdir): Use non-default values of
60078         sourcebase and m4base.
60079
60080 2006-08-24  Bruno Haible  <bruno@clisp.org>
60081
60082         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
60083         HTML structure.
60084
60085 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60086
60087         * modules/openat (Depends-on): Add lchown.
60088
60089 2006-08-23  Bruno Haible  <bruno@clisp.org>
60090
60091         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
60092         of gl_LOCK_EARLY instead of gl_LOCK.
60093
60094 2006-08-23  Bruno Haible  <bruno@clisp.org>
60095
60096         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
60097         on OSF/1 to no.
60098         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
60099
60100 2006-08-23  Bruno Haible  <bruno@clisp.org>
60101
60102         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
60103         as unusable.
60104
60105         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
60106         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
60107         (gl_LOCK): New macro.
60108
60109 2006-08-22  Simon Josefsson  <jas@extundo.com>
60110
60111         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
60112         to md5 module.
60113
60114 2006-08-22  Simon Josefsson  <jas@extundo.com>
60115
60116         * MODULES.html.sh: Add "Support for maintaining and release
60117         projects".
60118
60119         * build-aux/gnupload: New file, from coreutils.
60120
60121 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60122
60123         Avoid the need for AC_LIBSOURCES in m4 macros.
60124         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
60125         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
60126         * modules/check-version (EXTRA_DIST): Add check-version.h.
60127         * modules/crc (EXTRA_DIST): Add crc.h.
60128         * modules/des (EXTRA_DIST): Add des.h.
60129         * modules/gc (EXTRA_DIST): Add gc.h.
60130         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
60131         * modules/getline (EXTRA_DIST): Add getline.h.
60132         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
60133         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
60134         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
60135         * modules/md2 (EXTRA_DIST): Add md2.h.
60136         * modules/md4 (EXTRA_DIST): Add md4.h.
60137         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
60138         * modules/read-file (EXTRA_DIST): Add read-file.h.
60139         * modules/readline (EXTRA_DIST): Add readline.h.
60140         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
60141         rijndael-api-fst.h.
60142
60143 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60144
60145         * m4/rijndael.m4 (gl_ARCFOUR):
60146         * m4/arctwo.m4 (gl_ARCTWO):
60147         * m4/check-version.m4 (gl_CHECK_VERSION):
60148         * m4/crc.m4 (gl_CRC):
60149         * m4/des.m4 (gl_DES):
60150         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
60151         * m4/gc.m4 (gl_GC):
60152         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
60153         * m4/getline.m4 (gl_FUNC_GETLINE):
60154         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
60155         * m4/hmac-md5.m4 (gl_HMAC_MD5):
60156         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
60157         * m4/md2.m4 (gl_MD2):
60158         * m4/md4.m4 (gl_MD4):
60159         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
60160         * m4/read-file.m4 (gl_FUNC_READ_FILE):
60161         * m4/readline.m4 (gl_FUNC_READLINE):
60162         * m4/rijndael.m4 (gl_RIJNDAEL):
60163         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60164         to get the necessary .h files and whatnot.
60165
60166 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60167
60168         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
60169         gnulib rather than the other way around.
60170         * config/srclistvars.sh (COREUTILS): Remove.
60171
60172 2006-08-22  Jim Meyering  <jim@meyering.net>
60173
60174         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
60175
60176         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
60177
60178 2006-08-22  Eric Blake  <ebb9@byu.net>
60179
60180         * modules/regexprops-generic: New file.
60181         * MODULES.html.sh (Support for building documentation): List it.
60182
60183 2006-08-22  Eric Blake  <ebb9@byu.net>
60184
60185         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
60186         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
60187         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
60188         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
60189
60190 2006-08-22  Bruno Haible  <bruno@clisp.org>
60191
60192         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
60193         and lib_LTLIBRARIES like the other lib_* variables.
60194
60195 2006-08-22  Bruno Haible  <bruno@clisp.org>
60196
60197         * build-aux/x-to-1.in: New file, from GNU gettext.
60198
60199 2006-08-22  Bruno Haible  <bruno@clisp.org>
60200
60201         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
60202         <utmpx.h> exists.
60203
60204 2006-08-22  Bruno Haible  <bruno@clisp.org>
60205
60206         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
60207         <utmpx.h> exists.
60208
60209 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60210
60211         BeOS portability.
60212         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
60213         exist.
60214         Problem reported by Bruno Haible.
60215
60216 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60217
60218         Avoid the need for AC_LIBSOURCES in m4 macros.
60219         * modules/acl (EXTRA_DIST): Add acl.h.
60220         * modules/argmatch (Files): Add m4/argmatch.m4.
60221         (configure.ac): Add gl_ARGMATCH.
60222         (EXTRA_DIST): Renamed from lib_SOURCES, for
60223         consistency with the other modules.  Remove argmatch.c.
60224         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
60225         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
60226         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
60227         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
60228         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
60229         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
60230         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
60231         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
60232         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
60233         * modules/closeout (EXTRA_DIST): Add closeout.h.
60234         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
60235         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
60236         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
60237         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
60238         dirname.h; remove basename.c and stripslash.c.
60239         * modules/exclude (EXTRA_DIST): Add exclude.h.
60240         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
60241         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
60242         * modules/file-type (EXTRA_DIST): Add file-type.h.
60243         * modules/filemode (EXTRA_DIST): Add filemode.h.
60244         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
60245         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
60246         * modules/fpending (EXTRA_DIST): Add __fpending.h.
60247         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
60248         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
60249         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
60250         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
60251         * modules/getdate (EXTRA_DIST): Add getdate.c.
60252         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
60253         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
60254         * modules/getpass (EXTRA_DIST): Add getpass.h.
60255         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
60256         * modules/group-member (EXTRA_DIST): Add group-member.h.
60257         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
60258         * modules/hash (EXTRA_DIST): Add hash.h.
60259         * modules/human (EXTRA_DIST): Add human.h.
60260         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
60261         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
60262         * modules/lchown (EXTRA_DIST): Add lchown.h.
60263         * modules/long-options (EXTRA_DIST): Add long-options.h.
60264         * modules/lstat (EXTRA_DIST): Add lstat.h.
60265         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
60266         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
60267         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
60268         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
60269         * modules/memxor (EXTRA_DIST): Add memxor.h.
60270         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
60271         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
60272         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
60273         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
60274         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
60275         * modules/physmem (EXTRA_DIST): Add physmem.h.
60276         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
60277         * modules/posixver (EXTRA_DIST): Add posixver.h.
60278         * modules/quote (EXTRA_DIST): Add quote.h.
60279         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
60280         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
60281         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
60282         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
60283         regex_internal.h regexec.c.
60284         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
60285         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
60286         * modules/same (EXTRA_DIST): Add same.h.
60287         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
60288         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
60289         * modules/savedir (EXTRA_DIST): Add savedir.h.
60290         * modules/sha1 (EXTRA_DIST): Add sha1.h.
60291         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
60292         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
60293         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
60294         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
60295         * modules/strdup (EXTRA_DIST): Add strdup.h.
60296         * modules/strftime (EXTRA_DIST): Add strftime.h.
60297         * modules/strndup (EXTRA_DIST): Add strndup.h.
60298         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
60299         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
60300         * modules/time_r (EXTRA_DIST): Add time_r.h.
60301         * modules/timespec (EXTRA_DIST): Add timespec.h.
60302         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
60303         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
60304         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
60305         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
60306         * modules/userspec (EXTRA_DIST): Add userspec.h.
60307         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
60308         * modules/utimens (EXTRA_DIST): Add utimens.h.
60309         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
60310         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
60311         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
60312         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
60313         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
60314         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
60315         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
60316         * modules/yesno (EXTRA_DIST): Add yesno.h.
60317
60318 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60319
60320         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
60321
60322         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
60323         * m4/dev-ino.m4, same-inode.m4: Remove.
60324
60325         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
60326         * m4/acl.m4 (AC_FUNC_ACL):
60327         * m4/backupfile.m4 (gl_BACKUPFILE):
60328         * m4/c-strtod.m4 (gl_C99_STRTOLD):
60329         * m4/canon-host.m4 (gl_CANON_HOST):
60330         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
60331         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
60332         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
60333         * m4/cloexec.m4 (gl_CLOEXEC):
60334         * m4/close-stream.m4 (gl_CLOSE_STREAM):
60335         * m4/closeout.m4 (gl_CLOSEOUT):
60336         * m4/dirfd.m4 (gl_FUNC_DIRFD):
60337         * m4/dirname.m4 (gl_DIRNAME):
60338         * m4/exclude.m4 (gl_EXCLUDE):
60339         * m4/exitfail.m4 (gl_EXITFAIL):
60340         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
60341         * m4/file-type.m4 (gl_FILE_TYPE):
60342         * m4/filemode.m4 (gl_FILEMODE):
60343         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
60344         * m4/fpending.m4 (gl_FUNC_FPENDING):
60345         * m4/fprintftime.m4 (gl_FPRINTFTIME):
60346         * m4/fts.m4 (gl_FUNC_FTS):
60347         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
60348         * m4/getdate.m4 (gl_GETDATE):
60349         * m4/gethrxtime.m4 (gl_GETHRXTIME):
60350         * m4/getpagesize.m4 (gl_GETPAGESIZE):
60351         * m4/getpass.m4 (gl_FUNC_GETPASS):
60352         * m4/gettime.m4 (gl_GETTIME):
60353         * m4/getugroups.m4 (gl_GETUGROUPS):
60354         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
60355         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
60356         * m4/hard-locale.m4 (gl_HARD_LOCALE):
60357         * m4/hash.m4 (gl_HASH):
60358         * m4/idcache.m4 (gl_IDCACHE):
60359         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
60360         * m4/lchown.m4 (gl_FUNC_LCHOWN):
60361         * m4/long-options.m4 (gl_LONG_OPTIONS):
60362         * m4/lstat.m4 (gl_FUNC_LSTAT):
60363         * m4/md5.m4 (gl_MD5):
60364         * m4/memcasecmp.m4 (gl_MEMCASECMP):
60365         * m4/memcoll.m4 (gl_MEMCOLL):
60366         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
60367         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
60368         * m4/memxor.m4 (gl_MEMXOR):
60369         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
60370         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
60371         * m4/modechange.m4 (gl_MODECHANGE):
60372         * m4/mountlist.m4 (gl_MOUNTLIST):
60373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60374         * m4/openat.m4 (gl_FUNC_OPENAT):
60375         * m4/pathmax.m4 (gl_PATHMAX):
60376         * m4/physmem.m4 (gl_PHYSMEM):
60377         * m4/posixtm.m4 (gl_POSIXTM):
60378         * m4/posixver.m4 (gl_POSIXVER):
60379         * m4/quote.m4 (gl_QUOTE):
60380         * m4/quotearg.m4 (gl_QUOTEARG):
60381         * m4/readtokens.m4 (gl_READTOKENS):
60382         * m4/readutmp.m4 (gl_READUTMP):
60383         * m4/regex.m4 (gl_REGEX):
60384         * m4/safe-read.m4 (gl_SAFE_READ):
60385         * m4/safe-write.m4 (gl_SAFE_WRITE):
60386         * m4/same.m4 (gl_SAME):
60387         * m4/save-cwd.m4 (gl_SAVE_CWD):
60388         * m4/savedir.m4 (gl_SAVEDIR):
60389         * m4/settime.m4 (gl_SETTIME):
60390         * m4/sha1.m4 (gl_SHA1):
60391         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
60392         * m4/stat-macros.m4 (gl_STAT_MACROS):
60393         * m4/stat-time.m4 (gl_STAT_TIME):
60394         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
60395         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
60396         * m4/strdup.m4 (gl_FUNC_STRDUP):
60397         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
60398         * m4/strndup.m4 (gl_FUNC_STRNDUP):
60399         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
60400         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
60401         * m4/time_r.m4 (gl_TIME_R):
60402         * m4/timespec.m4 (gl_TIMESPEC):
60403         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
60404         * m4/unlinkdir.m4 (gl_UNLINKDIR):
60405         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
60406         * m4/userspec.m4 (gl_USERSPEC):
60407         * m4/utimecmp.m4 (gl_UTIMECMP):
60408         * m4/utimens.m4 (gl_UTIMENS):
60409         * m4/xalloc.m4 (gl_XALLOC):
60410         * m4/xgetcwd.m4 (gl_XGETCWD):
60411         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
60412         * m4/xreadlink.m4 (gl_XREADLINK):
60413         * m4/xstrtod.m4 (gl_XSTRTOD):
60414         * m4/yesno.m4 (gl_YESNO):
60415         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60416         to get the necessary .h files and whatnot.
60417
60418 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
60419             Bruno Haible  <bruno@clisp.org>
60420
60421         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
60422         /bin/sh understanding of '!' conditional negation.
60423
60424 2006-08-21  Jim Meyering  <jim@meyering.net>
60425
60426         * modules/openat (Depends-on): Really alphabetize.
60427
60428         * modules/acl (Depends-on): Add error and quote.
60429
60430         * check-module (find_included_lib_files): Add at-func.c to the
60431         ok-to-include-more-than-once white list.
60432
60433         * modules/openat (Depends-on): Add lstat.  Alphabetize.
60434
60435 2006-08-21  Bruno Haible  <bruno@clisp.org>
60436
60437         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60438         Emit a pkgdata_DATA variable only if some snippets add contents to it.
60439         Reported by Martin Lambers <marlam@marlam.de>.
60440
60441 2006-08-21  Bruno Haible  <bruno@clisp.org>
60442
60443         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
60444         specify an installation location, don't emit a noinst_LIBRARIES or
60445         noinst_LTLIBRARIES assignment.
60446
60447 2006-08-21  Bruno Haible  <bruno@clisp.org>
60448
60449         BeOS portability.
60450         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
60451         BeOS has mbrtowc() but no <wctype.h>.
60452
60453 2006-08-21  Bruno Haible  <bruno@clisp.org>
60454
60455         BeOS portability.
60456         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
60457         exist.
60458
60459 2006-08-21  Bruno Haible  <bruno@clisp.org>
60460
60461         BeOS portability.
60462         * lib/mbchar.h: Include <wctype.h> only if it exists.
60463
60464 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60465
60466         Remove files that are no longer needed by their respective modules.
60467         * m4/obstack.m4: Remove.
60468         * m4/strerror_r.m4: Remove.
60469         * m4/uint32_t.m4: Remove.
60470         * m4/uintptr_t.m4: Remove.
60471         * m4/ullong_max.m4: Remove.
60472         * m4/xstrtoimax.m4: Remove.
60473         * m4/xstrtoumax.m4: Remove.
60474
60475         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
60476         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
60477         dependencies now capture this.
60478
60479         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
60480         Do not use AC_LIBSOURCES, since gnulib modules now do this.
60481         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
60482         * m4/human.m4 (gl_HUMAN): Likewise.
60483         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
60484         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
60485
60486         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
60487
60488         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
60489         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
60490         stdint.
60491         * m4/human.m4 (gl_HUMAN): Likewise.
60492         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
60493         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
60494         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60495         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60496         * m4/xstrtol (gl_XSTRTOL): Likewise.
60497
60498         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
60499         AC_TYPE_LONG_LONG_INT.
60500         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60501         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
60502         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
60503         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60504
60505         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
60506         on stdbool.
60507
60508         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
60509         (gl_PREREQ_XSTRTOUL): Remove.
60510
60511         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
60512
60513         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
60514         mode.
60515
60516 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60517
60518         Add and change modules to make it easier for coreutils to use
60519         gnulib-tool.
60520         * modules/backupfile (Files): Remove m4/d-ino.m4.
60521         (Depends-on): Add d-ino.
60522         * modules/cycle-check (Depends-on): Add stdint.
60523         (lib_SOURCES): Add cycle-check.h.
60524         * modules/d-ino: New module.
60525         * modules/d-type: New module.
60526         * modules/error (Files): Remove m4/strerror_r.m4.
60527         * modules/filemode (Files): Add m4/st_dm_mode.m4.
60528         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60529         m4/inttypes_h.m4, m4/uintmax_t.m4.
60530         (Depends-on): Add stdint.
60531         (lib_SOURCES): Add fsusage.h.
60532         * modules/getcwd (Files): Remove d-ino.m4.
60533         (Depends-on): Add d-ino.
60534         * modules/getndelim2 (Depends-on): Add stdint.
60535         * modules/glob (Files): Remove m4/d-type.m4.
60536         (Depends-on): Add d-type.
60537         * modules/host-os: New module.
60538         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
60539         m4/inttypes_h.m4, m4/uintmax_t.m4.
60540         * Depends-on: Add stdint.
60541         (lib_SOURCES): Add human.h.
60542         * modules/inttostr (Files): Remove m4/intmax_t.m4,
60543         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
60544         m4/uintmax_t.m4, m4/ulonglong.m4.
60545         (Depends-on): Add stdint.
60546         (EXTRA_DIST): Add inttostr.h.
60547         * modules/lchmod: New module.
60548         * modules/link-follow: New module.
60549         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
60550         (Depends-on): Add lchmod.
60551         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
60552         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
60553         (Depends-on): Add stdint.
60554         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
60555         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
60556         (Depends-on): Add stdint.
60557         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
60558         * modules/perl: New module.
60559         * modules/regex (Depends-on): Add stdint.
60560         * modules/rmdir-errno: New module.
60561         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60562         m4/intmax_t.m4.
60563         (Depends-on): Add stdint.
60564         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60565         m4/uintmax_t.m4.
60566         (Depends-on): Add stdint.
60567         * modules/unlink-busy: New module.
60568         * modules/utimecmp (Depends-on): Add stdint.
60569         * modules/uptime: New module.
60570         * modules/winsz-ioctl: New module.
60571         * modules/winsz-termios: New module.
60572         * modules/xnanosleep (Depends-on): Add nanosleep.
60573         * modules/ullong_max: Remove.
60574         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
60575         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
60576         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
60577         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
60578         (Depends-on): Add inttypes.
60579         (lib_SOURCES): Add xstrtol.h.
60580         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
60581         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
60582         * MODULES.html.sh: Move 'assert' into the assert section.
60583         Move 'dummy' into the linking section.
60584         Remove ullong_max.
60585         Add section for compatibility checks for POSIX:2001 functions,
60586         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
60587         winsz-ioctl, and winsz-termios into it.
60588         Add lchmod.
60589         Add top-level Misc section and put host-os, perl, and uptime
60590         into it.
60591
60592 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60593
60594         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
60595         now assume the stdint module.  Do not include inttypes.h.
60596         * lib/fsusage.h: Likewise.
60597         * lib/getndelim2.c: Likewise.
60598         * lib/human.h: Likewise.
60599         * lib/inttostr.h: Likewise.
60600         * lib/obstack.c: Likewise.
60601         * lib/regex_internal.h: Likewise.
60602         * lib/tempname.c: Likewise.
60603         * lib/utimecmp.c: Likewise.
60604         * lib/xstrtol.h: Likewise.
60605
60606         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
60607
60608         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
60609         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
60610         * lib/xtime.h: Likewise.
60611
60612 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60613
60614         * modules/openat (Files): Add lib/fchmodat.c.
60615         Fixes problem reported by Jay Youngman.
60616
60617 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60618
60619         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
60620         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
60621
60622 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
60623             Bruno Haible  <bruno@clisp.org>
60624
60625         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
60626         and is a script that invokes bison. Tighten the code. Add comments.
60627
60628 2006-08-18  Jim Meyering  <jim@meyering.net>
60629
60630         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
60631         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
60632         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
60633         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
60634
60635 2006-08-18  Bruno Haible  <bruno@clisp.org>
60636
60637         * modules/bison-i18n: New file.
60638         * MODULES.html.sh (Internationalization functions): Add it.
60639
60640 2006-08-18  Bruno Haible  <bruno@clisp.org>
60641
60642         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
60643         sys/statvfs.h. When getmntinfo was found, check its declaration and
60644         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
60645
60646 2006-08-18  Bruno Haible  <bruno@clisp.org>
60647
60648         * m4/bison-i18n.m4: New file, from bison.
60649
60650 2006-08-18  Bruno Haible  <bruno@clisp.org>
60651
60652         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
60653         (ME_DUMMY): Treat "kernfs" as a dummy.
60654         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
60655
60656 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60657
60658         Update from coreutils.
60659
60660         2006-08-15  Jim Meyering  <jim@meyering.net>
60661
60662         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
60663
60664         2006-01-17  Jim Meyering  <jim@meyering.net>
60665
60666         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
60667
60668         2006-01-11  Jim Meyering  <jim@meyering.net>
60669
60670         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
60671         Check for the lchmod function.
60672
60673 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60674
60675         Update from coreutils.
60676
60677         * lib/__fpending.h: Add copyright notice.
60678         * lib/fprintftime.h: Likewise.
60679         * lib/savedir.c: Use (C) in copyright notice.
60680         * lib/savedir.h: Likewise.
60681
60682         2006-08-15  Jim Meyering  <jim@meyering.net>
60683
60684         * lib/at-func.c: New file, with the logic of all emulated at-functions.
60685         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
60686         in support of the EXPECTED_ERRNO macro.
60687         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
60688         definitions.  Instead, define the appropriate symbols and include
60689         "at-func.c".
60690         * lib/mkdirat.c (mkdirat): Likewise.
60691         * lib/fchmodat.c (fchmodat): Likewise.
60692         (ENOSYS): Remove definition.
60693         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
60694         it.  Don't include "unistd--.h" -- it wasn't ever used.
60695
60696         2006-01-17  Jim Meyering  <jim@meyering.net>
60697
60698         Rewrite fts.c not to change the current working directory,
60699         by using openat, fstatat, fdopendir, etc..
60700
60701         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
60702         (HAVE_OPENAT_SUPPORT): Define.
60703         [_LIBC] (fchdir): Don't undef or define; no longer used.
60704         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
60705         Now, this `function' always succeeds, and consumes its file descriptor
60706         parameter -- so callers must not close such FDs.  Update callers.
60707         (diropen_fd, opendirat, cwd_advance_fd): New functions.
60708         (diropen): Add parameter, SP.  Adjust all callers.
60709         Implement using diropen_fd, rather than open.
60710         (fts_open): Initialize new member, fts_cwd_fd.
60711         Remove fts_rft-setting code.
60712         (fts_close): Close fts_cwd_fd, if necessary.
60713         (__opendir2): Define in terms of opendir or opendirat,
60714         depending on whether the FST_NOCHDIR flag is set.
60715         (fts_build): Since fts_safe_changedir consumes its FD, and since
60716         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
60717         and close the dup'd file descriptor upon failure.
60718         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
60719         (fts_safe_changedir): Tweak semantics to reflect that this function
60720         now calls cwd_advance_fd and hence consumes its FD argument.
60721         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
60722         [struct FTS] (fts_rft): Remove now-unused member.
60723         [struct FTS] (fts_cycle.state): Improve comment.
60724
60725         * lib/openat.c (openat_needs_fchdir): New function.
60726         * lib/openat.h (openat_needs_fchdir): Declare it.
60727
60728 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60729
60730         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
60731         Problem and fix reported by Pádraig Brady in
60732         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
60733
60734 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60735
60736         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
60737
60738 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60739
60740         * lib/memcoll.c (memcoll): Optimize for the common case where the
60741         arguments are bytewise equal.
60742
60743 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60744
60745         * doc/regexprops-generic.texi: Add a copyright notice.
60746
60747 2006-08-15  Bruno Haible  <bruno@clisp.org>
60748
60749         * modules/tmpdir (License): Change to LGPL.
60750
60751 2006-08-15  Bruno Haible  <bruno@clisp.org>
60752
60753         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
60754         module.
60755
60756 2006-08-14  Simon Josefsson  <jas@extundo.com>
60757
60758         * config/srclist.txt: Add gnupload.
60759
60760 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60761
60762         Change copyright notice from LGPL 2 to GPL 2, since that's the
60763         standard form used in the gnulib repository.
60764         * tests/test-lock.c: Likewise.
60765         * tests/test-stdint.c: Likewise.
60766         * tests/test-tls.c: Likewise.
60767
60768         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
60769         prelude-manager.  User shorter URLs for GNU projects, without '?'.
60770         Add copyright notice.
60771
60772         * check-module: Add copyright notice.  Output a copyright
60773         notice if "--version" is specified.
60774         * modules/COPYING: New file.
60775         * tests/test-getaddrinfo.c: Add copyright notice.
60776         * tests/test-verify.c: Likewise.
60777
60778 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60779
60780         Change copyright notice from LGPL 2 to GPL 2, since that's the
60781         standard form used in the gnulib repository.
60782         * lib/lock.c: LGPL -> GPL.
60783         * lib/lock.h: Likewise.
60784         * lib/strnlen1.c: Likewise.
60785         * lib/strnlen1.h: Likewise.
60786         * lib/tls.c: Likewise.
60787         * lib/tls.h: Likewise.
60788         * lib/tmpdir.c: Likewise.
60789
60790         * lib/TODO: Remove; this belongs only in coreutils.
60791
60792 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60793
60794         Add copyright notices to long-enough files that lack them, since
60795         otherwise the files aren't clearly free.  Use the same notice that
60796         getdate.texi already uses.
60797         * doc/alloca-opt.texi: Add copyright notice.
60798         * doc/alloca.texi: Likewise.
60799         * doc/ctime.texi: Likewise.
60800         * doc/functions.texi: Likewise.
60801         * doc/gcd.texi: Likewise.
60802         * doc/gnulib-tool.texi: Likewise.
60803         * doc/inet_ntoa.texi: Likewise.
60804         * doc/visibility.texi: Likewise.
60805
60806         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
60807         * doc/quote.texi: Add copyright notice.
60808
60809         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
60810         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
60811         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
60812         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
60813         is now obsolete, and give a pointer to the Sun list.
60814         Add copyright notice.
60815
60816 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60817
60818         * config/srclistvars.sh: Add copyright notice.
60819
60820 2006-08-14  Eric Blake  <ebb9@byu.net>
60821
60822         Import the following change from libc:
60823
60824         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
60825
60826         Upstream bug 2997.
60827         * lib/misc/error.c: Add space between program name and message if file
60828         name is missing.
60829
60830 2006-08-12  Karl Berry  <karl@gnu.org>
60831
60832         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
60833         remove, these originate in gnulib now.
60834
60835 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60836
60837         * doc/Makefile (standards.info standards.html standards.dvi):
60838         Also depend on make-stds.texi.
60839
60840 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60841
60842         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
60843         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
60844
60845         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
60846         in wchar_t.  Problem reported by Eric Blake.
60847
60848         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
60849         LEN is smaller than SIZE.  Suggested by Bruno Haible.
60850         Also, help the compiler to keep LEN in a register.
60851
60852 2006-08-11  Eric Blake  <ebb9@byu.net>
60853
60854         * users.txt: Sort.  Add tar.
60855
60856 2006-08-11  Bruno Haible  <bruno@clisp.org>
60857
60858         * users.txt: New file.
60859
60860 2006-08-11  Bruno Haible  <bruno@clisp.org>
60861
60862         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
60863         before <wchar.h>. Needed for OSF/1 and BSD/OS.
60864
60865 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60866
60867         * modules/snprintf (Depends-on): Remove minmax.
60868         (Maintainer): Add self and Bruno.
60869
60870 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60871
60872         * lib/.cppi-disable: Add snprintf.h, socket_.h.
60873         * lib/snprintf.c: Include <errno.h> and <limits.h>.
60874         (EOVERFLOW): Define if the system does not.
60875         Do not include "minmax.h"; it wasn't used.
60876         (snprintf): Don't assume size_t promotes to an unsigned type.
60877         Fix bug when generated string was too long for the buffer: the
60878         buffer's contents are supposed to be the initial prefix of the
60879         output.  Don't assume vasnprintf returns EOVERFLOW if the size
60880         exceeds INT_MAX; do the check ourselves.
60881
60882         Import the following changes from libc:
60883
60884         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
60885
60886         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
60887         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
60888         set wc to the byte which couldn't be converted.
60889         (re_string_reconstruct): Don't clear valid_raw_len before calling
60890         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
60891         tip_context using re_string_context_at.
60892
60893         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
60894
60895         * lib/posix/regex.h: g++ still cannot handled [restrict].
60896
60897         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
60898
60899         * lib/posix/regex.h: Remove special handling for VMS.
60900
60901 2006-08-10  Jim Meyering  <jim@meyering.net>
60902
60903         * modules/same-inode: New module.
60904         * modules/dev-ino: New module.
60905         * modules/cycle-check: Depend on these modules, rather than simply
60906         including their .h files.
60907         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
60908         required via m4/cycle-check.m4.
60909         * modules/same: Depend on new same-inode module, rather than
60910         including same-inode.h.
60911         * modules/chdir-safer: New file.
60912
60913         * modules/chown (Depends-on): Add stat-macros.
60914
60915 2006-08-10  Jim Meyering  <jim@meyering.net>
60916
60917         * m4/cycle-check.m4: New file.
60918         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
60919         * m4/dev-ino.m4, m4/same-inode.m4: New files.
60920
60921 2006-08-10  Eric Blake  <ebb9@byu.net>
60922
60923         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
60924         in from original proposal.
60925
60926 2006-08-10  Eric Blake  <ebb9@byu.net>
60927         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60928
60929         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
60930         namespace.
60931
60932 2006-08-10  Bruno Haible  <bruno@clisp.org>
60933
60934         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
60935         as well.
60936
60937 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60938
60939         Sync from coreutils.
60940
60941         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
60942
60943         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
60944         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
60945
60946 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60947
60948         * modules/restrict: Remove; no longer needed now that we assume
60949         Autoconf 2.59 or later.
60950         * MODULES.html.sh: Remove 'restrict'.
60951         * modules/argp (Depends-on): Remove 'restrict'.
60952         * modules/base64 (Depends-on): Likewise.
60953         * modules/gc (Depends-on): Likewise.
60954         * modules/getaddrinfo (Depends-on): Likewise.
60955         * modules/glob (Depends-on): Likewise.
60956         * modules/inet_ntop (Depends-on): Likewise.
60957         * modules/inet_pton (Depends-on): Likewise.
60958         * modules/memxor (Depends-on): Likewise.
60959         * modules/regex (Depends-on): Likewise.
60960         * modules/strtok_r (Depends-on): Likewise.
60961         * modules/time_r (Depends-on): Likewise.
60962
60963 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60964
60965         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
60966         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
60967         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60968         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
60969         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60970         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60971         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60972         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60973
60974         Merge from coreutils.
60975         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60976         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60977         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60978         * m4/time_r.m4 (gl_TIME_R): Likewise.
60979
60980 2006-08-09  Karl Berry  <karl@gnu.org>
60981
60982         * config/srclist.txt: no more gettext-tools, per Bruno.
60983
60984 2006-08-08  Eric Blake  <ebb9@byu.net>
60985
60986         * modules/verror: New module.
60987         * MODULES.html.sh: Document it.
60988
60989 2006-08-08  Eric Blake  <ebb9@byu.net>
60990
60991         * lib/verror.h, lib/verror.c: New files.
60992
60993 2006-08-08  Eric Blake  <ebb9@byu.net>
60994
60995         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60996         verror_at_line output complies with GNU Coding Standards even when
60997         file is NULL.
60998
60999 2006-08-07  Bruno Haible  <bruno@clisp.org>
61000
61001         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
61002         versions of AIX.
61003         Reported by Ralf Wildenhues.
61004
61005 2006-08-07  Bruno Haible  <bruno@clisp.org>
61006
61007         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
61008         in an AC_DEFUN. Needed so that the autoconf snippets can use
61009         AC_REQUIRE.
61010
61011 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61012
61013         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61014         Initialize pkgdata_DATA.
61015         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
61016         overriding it.
61017
61018 2006-08-06  Eric Blake  <ebb9@byu.net>
61019
61020         * lib/error.h: Fold in some upstream changes from glibc.
61021         * lib/error.c: Likewise.
61022
61023 2006-08-04  Bruno Haible  <bruno@clisp.org>
61024
61025         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61026         Make the mostlyclean-local rule depend on mostlyclean-generic.
61027         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
61028
61029 2006-07-31  Bruno Haible  <bruno@clisp.org>
61030
61031         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
61032         <stdlib.h>, <string.h>.
61033
61034 2006-07-30  Bruno Haible  <bruno@clisp.org>
61035
61036         * modules/readlink (License): Change to LGPL.
61037
61038 2006-07-30  Bruno Haible  <bruno@clisp.org>
61039
61040         * modules/javaversion (Makefile.am): Distribute javaversion.java and
61041         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
61042         set PKGDATADIR to point to it.
61043
61044 2006-07-30  Bruno Haible  <bruno@clisp.org>
61045
61046         * modules/csharpexec (configure.ac): Comment out macro invocation.
61047         * modules/javaexec (configure.ac): Likewise.
61048         * modules/javacomp-script (configure.ac): Likewise.
61049
61050         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
61051
61052 2006-07-30  Bruno Haible  <bruno@clisp.org>
61053
61054         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
61055         linked-list.
61056
61057 2006-07-30  Bruno Haible  <bruno@clisp.org>
61058
61059         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
61060
61061 2006-07-30  Bruno Haible  <bruno@clisp.org>
61062
61063         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61064         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
61065         get removed.
61066
61067 2006-07-29  Bruno Haible  <bruno@clisp.org>
61068
61069         Make it possible for gnulib-tool to work with locally modified or
61070         augmented gnulib repositories.
61071         * gnulib-tool (func_usage): Document --local-dir option.
61072         (local_gnulib_dir): New variable.
61073         Handle --local-dir option.
61074         (func_lookup_file): New function.
61075         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
61076         (func_get_description, func_get_filelist, func_get_description,
61077         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
61078         func_get_automake_snippet, func_get_include_directive,
61079         func_get_license, func_get_maintainer): Use func_lookup_file.
61080         (func_import, func_create_testdir): Use func_lookup_file.
61081
61082 2006-07-29  Bruno Haible  <bruno@clisp.org>
61083
61084         * modules/setenv (Depends-on): Add unistd.
61085
61086 2006-07-29  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
61089
61090 2006-07-29  Bruno Haible  <bruno@clisp.org>
61091
61092         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
61093
61094 2006-07-29  Bruno Haible  <bruno@clisp.org>
61095
61096         * gnulib-tool (import, update): If there is no Makefile.am, look at
61097         aclocal.m4, instead of bailing out.
61098
61099 2006-07-29  Bruno Haible  <bruno@clisp.org>
61100
61101         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
61102         Categorize the options by when they are useful.
61103
61104 2006-07-29  Bruno Haible  <bruno@clisp.org>
61105
61106         * gnulib-tool (func_usage): Document option --no-libtool.
61107         Handle option --no-libtool.
61108         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
61109         for changed semantics of $libtool variable.
61110         (func_import): Likewise. If libtool is not used, show this through
61111         an option --no-libtool.
61112         (func_create_testdir): Update.
61113
61114 2006-07-29  Bruno Haible  <bruno@clisp.org>
61115
61116         * gnulib-tool (func_import): Extend error message about missing
61117         --doc-base.
61118
61119 2006-07-29  Bruno Haible  <bruno@clisp.org>
61120
61121         * gnulib-tool (func_import): Don't create the $docbase directory if
61122         there is no file to store there.
61123
61124 2006-07-29  Bruno Haible  <bruno@clisp.org>
61125
61126         * gnulib-tool (autoconf_minversion): If a --dir option is given and
61127         relevant, look for configure.ac there, not in the current directory.
61128         Also use a simple search for AC_PREREQ, not "autoconf --trace".
61129
61130 2006-07-29  Bruno Haible  <bruno@clisp.org>
61131
61132         * gnulib-tool (SORT): New variable.
61133         (func_usage): Undocument --assume-autoconf option.
61134         Remove --assume-autoconf option handling.
61135         (autoconf_minversion): Determine from the contents of configure.ac.
61136         (func_import): Remove autoconf_minversion handling.
61137         Suggested by Eric Blake.
61138
61139 2006-07-29  Bruno Haible  <bruno@clisp.org>
61140
61141         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
61142
61143 2006-07-29  Bruno Haible  <bruno@clisp.org>
61144
61145         * config/srclist.txt (*setenv.[ch]): Remove rules.
61146
61147 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61148
61149         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
61150
61151 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61152
61153         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
61154         arpa/inet.h.
61155
61156 2006-07-28  Simon Josefsson  <jas@extundo.com>
61157
61158         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
61159         * modules/inet_pton (Depends-on): Likewise.
61160
61161 2006-07-28  Simon Josefsson  <jas@extundo.com>
61162
61163         * m4/netinet_in_h.m4: New file.
61164
61165 2006-07-28  Simon Josefsson  <jas@extundo.com>
61166
61167         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
61168         #include's.
61169
61170 2006-07-28  Simon Josefsson  <jas@extundo.com>
61171
61172         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
61173         #include's.
61174
61175 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
61176
61177         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
61178         setgid on directories only if they set these bits.
61179         * lib/modechange.h: Remove obsolete comment about masks.
61180
61181 2006-07-28  Eric Blake  <ebb9@byu.net>
61182
61183         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
61184         macro expansion.
61185
61186 2006-07-28  Bruno Haible  <bruno@clisp.org>
61187
61188         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
61189
61190 2006-07-28  Bruno Haible  <bruno@clisp.org>
61191
61192         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
61193
61194 2006-07-28  Bruno Haible  <bruno@clisp.org>
61195
61196         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
61197         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
61198         Define fallbacks.
61199         Avoids link error on FreeBSD 4.x.
61200         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61201
61202         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
61203         encoding.
61204         * lib/mbswidth.c (iswcntrl): Likewise.
61205
61206 2006-07-27  Bruno Haible  <bruno@clisp.org>
61207
61208         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
61209         test.
61210
61211 2006-07-27  Bruno Haible  <bruno@clisp.org>
61212
61213         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
61214         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
61215         defined.
61216
61217 2006-07-26  Eric Blake  <ebb9@byu.net>
61218
61219         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
61220
61221 2006-07-26  Eric Blake  <ebb9@byu.net>
61222
61223         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
61224         like mingw that lack mkstemp.
61225         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
61226         avoid compilation warning on mingw.
61227
61228 2006-07-26  Bruno Haible  <bruno@clisp.org>
61229
61230         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
61231         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
61232         INT_FAST*_MIN, INTPTR_MIN.
61233
61234 2006-07-25  Bruno Haible  <bruno@clisp.org>
61235
61236         * modules/version-etc (Depends-on): Add stdarg.
61237
61238 2006-07-25  Bruno Haible  <bruno@clisp.org>
61239
61240         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
61241         complex commands.
61242
61243 2006-07-25  Bruno Haible  <bruno@clisp.org>
61244
61245         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
61246         defined in <stdarg.h> or config.h.
61247
61248 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61249
61250         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
61251         (gl_STDIO_SAFER): Remove.
61252
61253 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61254
61255         * MODULES.html.sh (File stream based Input/Output):
61256         Add fopen-safer, tmpfile-safer; remove stdio-safer.
61257         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
61258         * modules/fopen-safer, modules/tmpfile-safer: New files.
61259         * modules/stdio-safer: Remove.
61260
61261 2006-07-24  Bruno Haible  <bruno@clisp.org>
61262
61263         * modules/tmpdir: New file.
61264         * MODULES.html.sh (File system functions): Add it.
61265
61266 2006-07-24  Bruno Haible  <bruno@clisp.org>
61267
61268         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
61269         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
61270
61271 2006-07-24  Bruno Haible  <bruno@clisp.org>
61272
61273         * modules/clean-temp: New file.
61274
61275 2006-07-24  Bruno Haible  <bruno@clisp.org>
61276
61277         * m4/tmpdir.m4: New file, from GNU gettext.
61278
61279 2006-07-24  Bruno Haible  <bruno@clisp.org>
61280
61281         * lib/tmpdir.h: New file, from GNU gettext.
61282         * lib/tmpdir.c: New file, from GNU gettext.
61283
61284 2006-07-24  Bruno Haible  <bruno@clisp.org>
61285
61286         * lib/clean-temp.h: New file, from GNU gettext.
61287         * lib/clean-temp.c: New file, from GNU gettext.
61288
61289 2006-07-23  Eric Blake  <ebb9@byu.net>
61290
61291         * modules/stdio-safer (Files): Add tmpfile-safer.c.
61292         (Depends-on): Add binary-io.
61293
61294 2006-07-23  Eric Blake  <ebb9@byu.net>
61295
61296         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
61297
61298 2006-07-23  Eric Blake  <ebb9@byu.net>
61299
61300         * lib/tmpfile-safer.c: New file.
61301         * lib/stdio-safer.h (fopen_safer): Add prototype.
61302         * lib/stdio--.h (tmpfile): Make safer.
61303
61304 2006-07-23  Bruno Haible  <bruno@clisp.org>
61305
61306         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
61307         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
61308         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
61309         gl_linked_remove_at): Use it.
61310
61311 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61312         and Simon Josefsson <jas@extundo.com>
61313
61314         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
61315
61316         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
61317
61318 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61319
61320         * modules/close-stream: New file.
61321         * modules/closeout (Description): Make it clear that it exits
61322         with a diagnostic on error.
61323         (Depends-on): Add close-stream.  Remove fpending, stdbool.
61324         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
61325
61326 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61327
61328         * m4/close-stream.m4: New file.
61329
61330 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61331
61332         * lib/close-stream.c, lib/close-stream.h: New files.
61333
61334 2006-07-22  Bruno Haible  <bruno@clisp.org>
61335
61336         Merge from GNU gettext 0.15.
61337
61338         2006-05-01  Bruno Haible  <bruno@clisp.org>
61339
61340                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
61341
61342         2006-07-22  Bruno Haible  <bruno@clisp.org>
61343
61344                 * modules/javaversion: New file.
61345                 * MODULES.html.sh (Java): Add javaversion.
61346
61347         2006-03-12  Bruno Haible  <bruno@clisp.org>
61348
61349                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
61350
61351         2005-12-04  Bruno Haible  <bruno@clisp.org>
61352
61353                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
61354                 (untested).
61355
61356         2006-06-21  Bruno Haible  <bruno@clisp.org>
61357
61358                 Avoid warnings from recent versions of mcs.
61359                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
61360                 -o, -L, -r any more. Use options documented since mcs-1.0
61361                 instead. Similarly for -g.
61362
61363         2005-12-04  Bruno Haible  <bruno@clisp.org>
61364
61365                 * build-aux/csharpcomp.sh.in: Suffix for resources is
61366                 .resources, not .resource.
61367
61368         2005-07-09  Bruno Haible  <bruno@clisp.org>
61369
61370                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
61371                 add a .dll suffix.
61372                 Reported by Mark Junker <mjscod@gmx.de>.
61373
61374         2006-07-22  Bruno Haible  <bruno@clisp.org>
61375
61376                 * modules/gettext: Upgrade to gettext-0.15.
61377                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
61378                 m4/visibility.m4.
61379                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
61380
61381 2006-07-22  Bruno Haible  <bruno@clisp.org>
61382
61383         Merge from GNU gettext 0.15.
61384
61385         2006-03-25  Bruno Haible  <bruno@clisp.org>
61386
61387                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
61388
61389         2006-07-21  Bruno Haible  <bruno@clisp.org>
61390
61391                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
61392                 "1.1".
61393
61394         2006-05-09  Bruno Haible  <bruno@clisp.org>
61395
61396                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
61397                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
61398                 for the conftestver execution.
61399
61400         2006-05-01  Bruno Haible  <bruno@clisp.org>
61401
61402                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
61403                 optional target-version argument. Verify that the compiler
61404                 groks source of the specified source-version, or add -source
61405                 option as necessary. Verify that the compiler produces
61406                 bytecode in the specified target-version, or add -target and
61407                 -source options as necessary. Make the result of the test
61408                 available as variable CONF_JAVAC. Also log error output in
61409                 config.log.
61410
61411         2006-03-11  Bruno Haible  <bruno@clisp.org>
61412
61413                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
61414
61415         2006-05-09  Bruno Haible  <bruno@clisp.org>
61416
61417                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
61418                 CLASSPATH_SEPARATOR to a semicolon.
61419
61420         2006-03-12  Bruno Haible  <bruno@clisp.org>
61421
61422                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
61423                 available as variable CONF_JAVA, for subsequent autoconf
61424                 tests. Also log error output in config.log.
61425
61426         2006-07-19  Bruno Haible  <bruno@clisp.org>
61427
61428                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
61429                 that getline works on glibc2 systems. Needed to avoid trouble
61430                 in relocatable.c.
61431                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
61432
61433         2005-12-04  Bruno Haible  <bruno@clisp.org>
61434
61435                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
61436                 launcher (untested).
61437
61438         2005-12-04  Bruno Haible  <bruno@clisp.org>
61439
61440                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
61441
61442         2006-07-22  Bruno Haible  <bruno@clisp.org>
61443
61444                 * gettext.m4: Update from GNU gettext-0.15.
61445                 * nls.m4: Likewise.
61446                 * po.m4: Likewise.
61447                 * inttypes-pri.m4: Likewise.
61448                 * inttypes-h.m4: Renamed from inttypes.m4.
61449                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
61450
61451 2006-07-22  Bruno Haible  <bruno@clisp.org>
61452
61453         Merge from GNU gettext 0.15.
61454
61455         2005-07-05  Bruno Haible  <bruno@clisp.org>
61456
61457                 * printf-args.c (printf_fetchargs): Work around broken
61458                 definition of wint_t on mingw.
61459
61460         2005-02-12  Bruno Haible  <bruno@clisp.org>
61461
61462                 * xallocsa.h: Add extern "C" for C++.
61463
61464         2006-05-17  Bruno Haible  <bruno@clisp.org>
61465
61466                 Cygwin portability.
61467                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
61468
61469         2006-04-30  Bruno Haible  <bruno@clisp.org>
61470
61471                 * progreloc.c: Include <mach-o/dyld.h> if available.
61472                 (find_executable): Use _NSGetExecutablePath when possible.
61473
61474         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61475
61476                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
61477                 function.
61478
61479         2005-12-29  Bruno Haible  <bruno@clisp.org>
61480
61481                 * progreloc.c (set_program_name_and_installdir): Fix
61482                 compilation error.
61483
61484         2005-12-04  Bruno Haible  <bruno@clisp.org>
61485
61486                 Cygwin portability.
61487                 * progreloc.c: Include <windows.h> also on Cygwin.
61488                 (find_executable): Add support for Cygwin.
61489                 (set_program_name_and_installdir): Handle also platforms with
61490                 nonempty EXEEXT.
61491
61492         2006-07-11  Bruno Haible  <bruno@clisp.org>
61493
61494                 * javacomp.c: Fix a comment.
61495                 Reported by Jim Meyering.
61496
61497         2006-04-30  Bruno Haible  <bruno@clisp.org>
61498
61499                 * javacomp.h (compile_java_class): Add source_version,
61500                 target_version arguments.
61501                 * javacomp.c: Rewritten to choose only a compiler that
61502                 respects the specified source_version and target_version.
61503
61504         2006-06-27  Bruno Haible  <bruno@clisp.org>
61505
61506                 Assume correct S_ISDIR macro.
61507                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
61508
61509         2006-07-22  Bruno Haible  <bruno@clisp.org>
61510
61511                 * javaversion.h: New file, from GNU gettext.
61512                 * javaversion.c: New file, from GNU gettext.
61513                 * javaversion.java: New file, from GNU gettext.
61514                 * javaversion.class: New file, from GNU gettext.
61515
61516         2006-05-17  Bruno Haible  <bruno@clisp.org>
61517
61518                 Cygwin portability.
61519                 * javaexec.c (execute_java_class): Test for jview program
61520                 also on Cygwin.
61521
61522         2006-04-09  Bruno Haible  <bruno@clisp.org>
61523
61524                 * fatal-signal.c: Don't include string.h.
61525                 (at_fatal_signal): Use a copying loop instead of memcpy.
61526
61527         2005-12-04  Bruno Haible  <bruno@clisp.org>
61528
61529                 * csharpexec.c: Add support for 'clix' launcher (untested).
61530                 (execute_csharp_using_sscli): New function.
61531                 (execute_csharp_program): Call it.
61532
61533         2006-06-21  Bruno Haible  <bruno@clisp.org>
61534
61535                 Avoid warnings from recent versions of mcs.
61536                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
61537                 -o, -L, -r any more. Use options documented since mcs-1.0
61538                 instead. Similarly for -g.
61539
61540         2005-07-09  Bruno Haible  <bruno@clisp.org>
61541
61542                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
61543                 add a .dll suffix.
61544                 Reported by Mark Junker <mjscod@gmx.de>.
61545
61546         2006-06-17  Bruno Haible  <bruno@clisp.org>
61547
61548                 * config.charset: Update for NetBSD 3.0.
61549
61550         2006-05-17  Bruno Haible  <bruno@clisp.org>
61551
61552                 Cygwin portability.
61553                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
61554
61555         2006-05-16  Bruno Haible  <bruno@clisp.org>
61556
61557                 * localcharset.c [CYGWIN]: Include <windows.h>.
61558                 (get_charset_aliases): For Cygwin, return the same CPxxx
61559                 aliases list as under WIN32.
61560                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
61561                 the environment variables. Fall back to GetACP().
61562
61563         2006-04-05  Bruno Haible  <bruno@clisp.org>
61564
61565                 * config.charset: Update Juan Manuel Guerrero's address.
61566
61567         2005-02-12  Bruno Haible  <bruno@clisp.org>
61568
61569                 * allocsa.h: Add extern "C" for C++.
61570
61571         2005-02-10  Bruno Haible  <bruno@clisp.org>
61572
61573                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
61574                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
61575
61576         2006-07-22  Bruno Haible  <bruno@clisp.org>
61577
61578                 * gettext.h: Update to GNU gettext-0.15.
61579
61580 2006-07-22  Bruno Haible  <bruno@clisp.org>
61581
61582         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
61583         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
61584         lib-prefix.m4, longdouble.m4, ssize_t.m4.
61585
61586 2006-07-21  Eric Blake  <ebb9@byu.net>
61587
61588         * modules/stdlib-safer: New file.
61589         * MODULES.html.sh (File stream based Input/Output): Add
61590         stdlib-safer.
61591
61592 2006-07-21  Eric Blake  <ebb9@byu.net>
61593
61594         * lib/stdlib-safer.h: New file from coreutils, required by
61595         stdlib--.h.
61596
61597 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61598
61599         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
61600
61601 2006-07-20  Bruno Haible  <bruno@clisp.org>
61602
61603         * gnulib-tool: Recognize new option --assume-autoconf.
61604         (autoconf_minversion): New variable.
61605         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
61606
61607 2006-07-20  Bruno Haible  <bruno@clisp.org>
61608
61609         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
61610
61611 2006-07-19  Derek R. Price  <derek@ximbiot.com>
61612
61613         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
61614         Reindent and repaginate.
61615
61616 2006-07-19  Derek Price  <derek@ximbiot.com>
61617
61618         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
61619         Correct grammar.
61620
61621 2006-07-17  Bruno Haible  <bruno@clisp.org>
61622
61623         * modules/list: New file.
61624         * modules/array-list: New file.
61625         * modules/carray-list, modules/carray-list-tests: New files.
61626         * modules/linked-list, modules/linked-list-tests: New files.
61627         * modules/avltree-list, modules/avltree-list-tests: New files.
61628         * modules/rbtree-list, modules/rbtree-list-tests: New files.
61629         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
61630         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
61631         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
61632         * modules/oset: New file.
61633         * modules/array-oset: New file.
61634         * modules/avltree-oset, modules/avltree-oset-tests: New files.
61635         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
61636         * tests/test-carray_list.c: New file.
61637         * tests/test-linked_list.c: New file.
61638         * tests/test-avltree_list.c: New file.
61639         * tests/test-rbtree_list.c: New file.
61640         * tests/test-linkedhash_list.c: New file.
61641         * tests/test-avltreehash_list.c: New file.
61642         * tests/test-rbtreehash_list.c: New file.
61643         * tests/test-avltree_oset.c: New file.
61644         * tests/test-rbtree_oset.c: New file.
61645         * MODULES.html.sh (Container data structures): New section.
61646
61647 2006-07-17  Bruno Haible  <bruno@clisp.org>
61648
61649         * m4/gl_list.m4: New file.
61650
61651 2006-07-17  Bruno Haible  <bruno@clisp.org>
61652
61653         * lib/gl_list.h: New file.
61654         * lib/gl_list.c: New file.
61655         * lib/gl_array_list.h: New file.
61656         * lib/gl_array_list.c: New file.
61657         * lib/gl_carray_list.h: New file.
61658         * lib/gl_carray_list.c: New file.
61659         * lib/gl_linked_list.h: New file.
61660         * lib/gl_linked_list.c: New file.
61661         * lib/gl_anylinked_list1.h: New file.
61662         * lib/gl_anylinked_list2.h: New file.
61663         * lib/gl_avltree_list.h: New file.
61664         * lib/gl_avltree_list.c: New file.
61665         * lib/gl_anyavltree_list1.h: New file.
61666         * lib/gl_anyavltree_list2.h: New file.
61667         * lib/gl_rbtree_list.h: New file.
61668         * lib/gl_rbtree_list.c: New file.
61669         * lib/gl_anyrbtree_list1.h: New file.
61670         * lib/gl_anyrbtree_list2.h: New file.
61671         * lib/gl_anytree_list1.h: New file.
61672         * lib/gl_anytree_list2.h: New file.
61673         * lib/gl_linkedhash_list.h: New file.
61674         * lib/gl_linkedhash_list.c: New file.
61675         * lib/gl_anyhash_list1.h: New file.
61676         * lib/gl_anyhash_list2.h: New file.
61677         * lib/gl_avltreehash_list.h: New file.
61678         * lib/gl_avltreehash_list.c: New file.
61679         * lib/gl_rbtreehash_list.h: New file.
61680         * lib/gl_rbtreehash_list.c: New file.
61681         * lib/gl_anytreehash_list1.h: New file.
61682         * lib/gl_anytreehash_list2.h: New file.
61683
61684         * lib/gl_oset.h: New file.
61685         * lib/gl_oset.c: New file.
61686         * lib/gl_array_oset.h: New file.
61687         * lib/gl_array_oset.c: New file.
61688         * lib/gl_avltree_oset.h: New file.
61689         * lib/gl_avltree_oset.c: New file.
61690         * lib/gl_rbtree_oset.h: New file.
61691         * lib/gl_rbtree_oset.c: New file.
61692         * lib/gl_anytree_oset.h: New file.
61693
61694 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61695
61696         * m4/mkancesdirs.m4: New file.
61697         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
61698         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
61699         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
61700         it.
61701
61702 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61703
61704         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
61705         * lib/mkancesdirs.h: New files.
61706         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
61707         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
61708         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
61709         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
61710         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
61711         callers changed.  Revamp internals significantly, by not
61712         attempting to create directories that are temporarily more
61713         permissive than the final results.  Do not attempt to use
61714         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
61715         This removes some race conditions, fixes some bugs, and simplifies
61716         things.  Use new dirchownmod function to do owner and mode changes.
61717         * lib/mkdir-p.h: Likewise.
61718         * lib/modechange.c (octal_to_mode): New function.
61719         (struct mode_change): New member mentioned.
61720         (make_node_op_equals): New arg mentioned.  All callers changed.
61721         (mode_compile): Keep track of which mode bits the user has explicitly
61722         mentioned.
61723         (mode_adjust): New arg DIR, so that we implement the X op correctly.
61724         New arg PMODE_BITS, to keep track of which mode bits the user
61725         mentioned; it treats S_ISUID and S_ISGID speciall.
61726         All callers changed.
61727         * lib/modechange.h: Likewise.
61728
61729 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61730
61731         * MODULES.html.sh: Add mkancestors.
61732         * modules/mkancesdirs: New module.
61733         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
61734         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
61735         The chdir-safer and afs files are now orphans; I'll remove them
61736         unless someone speaks up.
61737         Add lib/dirchownmod.c, lib/dirchownmod.h.
61738         (Depends-on): Remove alloca, chown, save-cwd, dirname.
61739         Add lchown, mkancesdirs.
61740         (Maintainer): Add self.
61741
61742 2006-07-15  Karl Berry  <karl@gnu.org>
61743
61744         * gnulib-tool: help message wording/arrangement.
61745
61746 2006-07-14  Simon Josefsson  <jas@extundo.com>
61747
61748         * doc/gnulib.texi (Libtool and Windows): New section.
61749
61750 2006-07-12  Simon Josefsson  <jas@extundo.com>
61751
61752         * modules/gendocs (License): Fix license, approved by Karl.
61753
61754 2006-07-12  Eric Blake  <ebb9@byu.net>
61755
61756         * MODULES.html.sh: Add gendocs.
61757
61758 2006-07-11  Eric Blake  <ebb9@byu.net>
61759
61760         * modules/fdl: New module, to install doc/fdl.texi.
61761         * MODULES.html.sh: Add new section for documentation modules.
61762         * gnulib-tool: Avoid space-tab.
61763         (--doc-base): New option, to manage files from doc.
61764
61765 2006-07-11  Eric Blake  <ebb9@byu.net>
61766
61767         * m4/absolute-header.m4: Fix comments to match recent change.
61768
61769 2006-07-11  Eric Blake  <ebb9@byu.net>
61770
61771         * gnulib-tool: List --doc-base before --tests-base.
61772
61773 2006-07-11  Derek R. Price  <derek@ximbiot.com>
61774
61775         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
61776
61777 2006-07-11  Bruno Haible  <bruno@clisp.org>
61778
61779         * README: Mention where to put documentation.
61780
61781 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61782
61783         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
61784
61785 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61786
61787         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
61788         to stdint.m4.
61789
61790 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61791
61792         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
61793         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
61794         "no/such/file/stdint.h" when there is no such file, so that
61795         the resulting C code can be parsed by dodgy compilers.
61796         Problems reported by Bob Proulx.
61797
61798 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61799
61800         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
61801         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61802         macros into the GNU _D_EXACT_NAMLEN.
61803         * lib/savedir.c:  Likewise.
61804         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
61805
61806 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61807         and Paul Eggert  <eggert@cs.ucla.edu>
61808
61809         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
61810         * m4/savedir.m4:
61811         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61812         macros into the GNU _D_EXACT_NAMLEN.
61813
61814 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61815
61816         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
61817         around the absolute name, to work around a problem with the HP-UX
61818         11.23 native C compiler, reported by Bob Proulx.
61819
61820 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61821
61822         * doc/maintain.texi, make-stds.texi: Sync from
61823         <http://savannah.gnu.org/projects/gnustandards>.
61824
61825 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61826
61827         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
61828
61829 2006-07-09  Jim Meyering  <jim@meyering.net>
61830
61831         * m4/glob.m4: Remove a doubled word in a comment.
61832
61833 2006-07-09  Jim Meyering  <jim@meyering.net>
61834
61835         * lib/argp-pv.c: Remove a doubled word in a comment.
61836         * lib/check-version.c (check_version): Likewise.
61837         * lib/javacomp.c (compile_java_class): Likewise.
61838
61839 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61840
61841         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
61842         for the benefit of people using Autoconf 2.60.  If you want to
61843         support older Autoconf versions you can copy m4/onceonly_2_57.m4
61844         (or m4/onceonly.m4, if pre-2.57) manually.
61845
61846 2006-07-08  Jim Meyering  <jim@meyering.net>
61847
61848         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
61849         comment.
61850         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
61851         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
61852         comment.
61853
61854 2006-07-08  Jim Meyering  <jim@meyering.net>
61855
61856         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
61857
61858 2006-07-07  Simon Josefsson  <jas@extundo.com>
61859
61860         * tests/test-crc.c: Change expected crc value, the test vector
61861         were probably computed using the old broken crc.c?
61862
61863 2006-07-06  Simon Josefsson  <jas@extundo.com>
61864
61865         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
61866         now the canonical place for the M4 file).
61867
61868         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
61869         from the sys_socket dependency now.
61870
61871         * modules/inet_pton (Files): Ditto.
61872
61873         * modules/inet_ntop (Files): Ditto.
61874
61875 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61876
61877         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
61878         not gl_PREREQ_GETUSERSHELL.
61879
61880 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61881
61882         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
61883         with only one argument, for Autoconf 2.60.
61884         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
61885         expand to nothing, so add a shell command to avoid syntax error.
61886         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61887
61888 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61889
61890         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
61891
61892 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61893
61894         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
61895         no longer needed.  Check for isblank decl.
61896         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
61897         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
61898         of existence.
61899
61900 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61901
61902         * lib/getloadavg.c: Use __VMS, not VMS.
61903         * lib/getopt.c: Likewise.
61904         * lib/getpagesize.h: Likewise.
61905         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
61906         and probably does not work.
61907
61908 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61909
61910         * lib/.cppi-disable: Add wcwidth.
61911         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
61912         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
61913         (ISGRAPH): Remove.  All uses changed to isgraph.
61914         (FOLD) [!defined _LIBC]: Remove special case.
61915         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
61916         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
61917         HAVE_ISBLANK.
61918         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
61919         case.
61920
61921 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61922
61923         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
61924         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
61925         brackets.  Other minor changes to suppress some compiler
61926         warnings.
61927
61928 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61929         and Paul Eggert  <eggert@cs.ucla.edu>
61930
61931         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
61932         of invoking obsolescent AC_HEADER_DIRENT macro.
61933         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61934         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
61935         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61936         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
61937         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
61938         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61939         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
61940         * m4/readdir.m4: Remove; no longer needed.
61941
61942 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61943         and Paul Eggert  <eggert@cs.ucla.edu>
61944
61945         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
61946         Don't worry about this obsolete case any more.
61947         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
61948         directories.
61949         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
61950         worry about this obsolete case any more.
61951         * lib/fts.c: Likewise.
61952         * lib/getcwd.c: Likewise.
61953         * lib/glob.h: Likewise.
61954         * lib/savedir.c: Likewise.
61955
61956 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61957
61958         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
61959         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
61960         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
61961         needed.
61962         All uses removed.
61963         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61964         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61965         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
61966         needed.
61967         * m4/getdate.m4 (gl_GETDATE): Likewise.
61968         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61969         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61970         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61971         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61972         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61973         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61974         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61975         needed.
61976
61977 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61978
61979         * lib/memcasecmp.c: Include <limits.h>.
61980         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61981         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61982         Don't assume isdigit succeeds only on '0' through '9'.
61983
61984 2006-07-05  Eric Blake  <ebb9@byu.net>
61985
61986         * modules/getaddrinfo (Depends-on): Add snprintf.
61987
61988 2006-07-05  Eric Blake  <ebb9@byu.net>
61989
61990         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61991         to avoid 'header present but could not be compiled' on cygwin.
61992
61993 2006-07-05  Eric Blake  <ebb9@byu.net>
61994
61995         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61996         missing from netdb.h.
61997         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61998
61999 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62000
62001         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
62002         no longer needed.
62003         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
62004         * m4/getdate.m4 (gl_GETDATE): Likewise.
62005         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
62006         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
62007         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62008         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62009         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62010
62011 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62012
62013         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
62014         All uses of is_space replaced by isspace.
62015         * lib/exit.h: Don't talk about STDC_HEADERS.
62016         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
62017         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
62018         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
62019         replaced by isprint etc.
62020         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
62021         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62022         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
62023         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
62024         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
62025         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62026
62027 2006-07-05  Bruno Haible  <bruno@clisp.org>
62028
62029         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
62030         the function exists, before testing against AIX.
62031         Reported by Martin Lambers <marlam@marlam.de>.
62032
62033 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62034
62035         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
62036         From Mark D. Baushke.
62037
62038 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62039
62040         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
62041         to the absolute name, not just one, to bypass Sun C 5.8's
62042         "warning: #include of /usr/include/... may be non-portable".
62043
62044 2006-07-04  Eric Blake  <ebb9@byu.net>
62045
62046         * modules/dirname-tests: New test module.
62047         * tests/test-dirname.c: New file, replacing dirname.c
62048         TEST_DIRNAME section that was recently deleted.
62049
62050 2006-07-04  Bruno Haible  <bruno@clisp.org>
62051
62052         Assume ANSI C header files and <ctype.h> functions.
62053         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
62054         (mbsnwidth): Use isprint, iscntrl instead.
62055
62056 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62057
62058         Merge from coreutils.
62059         * MODULES.html.sh: Add xstrtold.
62060         * modules/xstrtold: New file.
62061         * modules/cycle-check (Files): Add lib/same-inode.h.
62062         * modules/dirname (Files): Add m4/double-slash-root.m4.
62063         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
62064         * modules/mkdir-p (Files): Add lib/same-inode.h.
62065         * modules/same (Files): Add lib/same-inode.h.
62066
62067 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62068
62069         * m4/absolute-header.m4: Renamed from full-header-path.m4.
62070         This is to keep the terminology clean; POSIX talks about
62071         "absolute pathnames", not "full pathnames", but the GNU
62072         Coding Standards say to use "path" for something else;
62073         so use "absolute" to keep both sides happy.
62074         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
62075         Set gl_absolute_header, not gl_full_header_path.
62076         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
62077         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
62078         All uses changed.
62079
62080         Merge from coreutils.
62081
62082         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62083
62084         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
62085         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
62086         want to require the building of c-strtod.o.
62087         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
62088         needs -lm directly.
62089         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
62090
62091         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62092
62093         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
62094         --as-needed option if available.  Problem reported by Albert Chin in
62095         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
62096         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
62097         cc merely issues a bunch of annoying warnings for --as-needed
62098         (this problem was reported by Bob Proulx).  Also, try linking with
62099         -lm to detect a bug in binutils 2.16 (this problem was reported
62100         by Ralf Wildenhues).
62101
62102         2006-06-18  Jim Meyering  <jim@meyering.net>
62103
62104         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
62105         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
62106         macro.
62107         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
62108         also check for glibc-2.4's abort-inducing bug.
62109
62110         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
62111         Low-probability clean-up should be to use rmdir to get rid of
62112         the just-created directory, not unlink.
62113
62114         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
62115         configure fail, and request a bug report to inform us about it.
62116         Add a comment that, barring reports to the contrary, in 2007 we'll
62117         assume ftruncate is universally available.
62118
62119         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62120
62121         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
62122
62123         2006-03-12  Jim Meyering  <jim@meyering.net>
62124
62125         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
62126         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
62127         * m4/same.m4 (gl_SAME): Likewise.
62128         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
62129
62130         2006-03-11  Eric Blake  <ebb9@byu.net>
62131
62132         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
62133         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
62134         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
62135         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
62136
62137 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62138
62139         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
62140         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
62141         reported by Mark D. Baushke, one in
62142         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
62143
62144         Merge from coreutils.
62145
62146         * lib/.cppi-disable: Add stdint_.h.
62147         * lib/.cvsignore: Add stdint.h.
62148
62149         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62150
62151         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
62152         both double and long double versions.
62153         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
62154         * lib/xstrtold.c: New file.
62155         * lib/xstrtod.h (xstrtold): New decl.
62156
62157         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62158
62159         * lib/filemode.c (setst): Remove.
62160         (strmode): Rewrite to avoid setst.  This makes the code shorter,
62161         (arguably) clearer, and the generated code is a bit smaller on my
62162         Debian GNU/Linux stable x86 host.
62163
62164         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62165
62166         * lib/filemode.c: Include "filemode.h" first, to test the interface.
62167         Assume that filemode.h includes sys/types.h and sys/stat.h.
62168         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
62169         (ftypelet): Reorder to put common cases first, for efficiency.
62170         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
62171         to do 'M'.
62172         (strmode): Renamed from mode_string, and now stores 12 bytes instead
62173         of 10, for compatibility with FreeBSD.  All callers changed.
62174         (filemodestring): Now stores 12 bytes instead of 10, and sets file
62175         types that can't be deduced solely from st_mode.  First arg is now a
62176         const pointer.
62177         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
62178         (strmode): Renamed from mode_string.
62179         (filemodestring): New decl.
62180         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
62181         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
62182         needed.
62183         (S_ISPORT, S_ISWHT): New macros, if not already defined.
62184
62185         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
62186
62187         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
62188         fsusage.h now does that.  Include fsusage.h first, to test interface.
62189         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
62190         at most one method (the old code could have generated decls that
62191         didn't conform to C89, not that this was ever exercised).
62192         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
62193
62194         2006-03-19  Jim Meyering  <jim@meyering.net>
62195
62196         Work even in a chroot where d_ino values for entries in "/"
62197         don't match the stat.st_ino values for the same names.
62198         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
62199         number, iterate through all entries again, using lstat instead.
62200         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
62201         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
62202
62203         * lib/getcwd.c (__getcwd): Clarify a comment.
62204         Use memcpy in place of a call to strcpy.
62205
62206         2006-03-12  Jim Meyering  <jim@meyering.net>
62207
62208         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
62209         matches that of the current directory (which we're about to chdir ".."
62210         out of), then save the dev-ino of the parent, instead.
62211
62212         * lib/same-inode.h (SAME_INODE): New file/macro.
62213         * lib/chdir-safer.c (SAME_INODE): Remove definition.
62214         Include "same-inode.h", instead.
62215         * lib/same.c: Likewise.
62216         * lib/cycle-check.h: Include "same-inode.h".
62217         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
62218         * lib/cycle-check.c (SAME_INODE): Remove definition.
62219         * lib/root-dev-ino.h: Include "same-inode.h".
62220
62221         2006-03-11  Eric Blake  <ebb9@byu.net>
62222
62223         * lib/same.c (same_name): s/base_name/last_component/
62224         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
62225         * lib/filenamecat.c (file_name_concat): Likewise.
62226
62227         2006-03-11  Eric Blake  <ebb9@byu.net>,
62228                     Paul Eggert  <eggert@cs.ucla.edu>
62229
62230         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
62231         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
62232         drive prefix.
62233         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
62234         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
62235         (last_component): New method.
62236         * lib/dirname.c (dir_len): Determine when drive letters need a
62237         subsequent slash.  Preserve // when it is special.
62238         (dir_name): Don't append dot when drive letter is absolute.
62239         [TEST_DIRNAME]: Move into a full-blown gnulib test.
62240         * lib/basename.c (base_name): New semantics - malloc the result.
62241         Preserve // when it is special.  Preserve relative files that look
62242         like drive letters.
62243         (base_len): Preserve // when it is special.
62244         (last_component): New method, similar to old base_name semantics.
62245         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
62246         base_name.  Strip redundant slashes from ///.
62247
62248 2006-07-03  Jim Meyering  <jim@meyering.net>
62249
62250         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
62251         macro is used before the first cycle_check call.
62252
62253 2006-07-03  Eric Blake  <ebb9@byu.net>
62254
62255         * modules/dirname (Depends-on): Add xstrndup.
62256
62257 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62258
62259         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
62260         test cases, so that config.log is a bit easier to follow.
62261
62262 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62263
62264         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
62265         both are 64 bits, since this seems to be the tradition, and this
62266         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
62267         we ever run into a host that prefers long long to long in this
62268         case, we'll need another configure-time test.  Problem reported by
62269         Jim Meyering.
62270
62271 2006-07-02  Eric Blake  <ebb9@byu.net>
62272
62273         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
62274
62275 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62276
62277         * modules/inttypes (Depends-on): No longer depends on stdint.
62278         * modules/stdint (Description): Say more about assumptions.
62279         Say that the fast types might differ.  Say macros are used.
62280         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
62281         (Makefile.am): Revise list of substituted symbols to match
62282         new stdint.m4.
62283         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
62284         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
62285         * tests/test-stdint.c (verify_same_types)
62286         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
62287         the code conforms to C99/C89.
62288         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
62289         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
62290
62291 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62292
62293         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
62294         but fix a bug, by requiring at least 64 bits.
62295         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62296         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
62297         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
62298         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62299
62300         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
62301         changes.  Make 2.59 a prerequisite.  Check and substitute for
62302         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
62303         inttypes.h.  Do not use special include files; just use the
62304         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
62305         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
62306         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
62307         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
62308         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
62309         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
62310         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
62311         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
62312         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
62313         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
62314         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
62315         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
62316         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
62317         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
62318         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
62319         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
62320         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
62321         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
62322         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
62323         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
62324         WINT_MAX.  Check for C99 conformance more strictly, by detecting
62325         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
62326         not check for things that C99 does not require, e.g., int8_t.  If
62327         a test isn't needed unless <stdint.h> isn't working, and is
62328         unlikely to be needed for any other reason, then don't do it
62329         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
62330         size_t, since we assume C89 freestanding at least.  Do not check
62331         for sig_atomic_t, wchar_t, or wint_t, since the code now does
62332         the right thing even if the types are not defined.  Instead use:
62333         (gl_STDINT_TYPE_PROPERTIES): New macro.
62334         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
62335         testing whether <sys/types.h> clashes, as Autoconf does this for
62336         us now.  All uses removed.
62337         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
62338         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
62339         (gl_CHECK_TYPE_SAME):
62340         Remove; no longer needed.
62341         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
62342         exists, since we'll return 0 anyway in that case.
62343         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
62344
62345 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62346
62347         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
62348         possible collision with system files.
62349         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
62350         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
62351         WCHAR_MIN and WCHAR_MAX in this case.
62352         (<stddef.h>): Do not include; no longer needed.
62353         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
62354         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
62355         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
62356         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
62357         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
62358         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
62359         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
62360         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
62361         !defined(__c99))]: Include in this case too, since it's harmless
62362         now.
62363         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
62364         dangerous to do so.
62365         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
62366         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
62367         (_STDINT_MIN, _STDINT_MAX): New macros.
62368         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
62369         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
62370         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
62371         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
62372         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
62373         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
62374         macros, not typedefs; this simplifies things quite a bit.
62375         Use long int for all types narrower than int64_t.
62376         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
62377         Define in terms of long long int or int64_t or long int,
62378         not int64_t or int32_t.  This saves some compile-time testing.
62379         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
62380         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
62381         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
62382         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
62383         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
62384         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
62385         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
62386         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
62387         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
62388         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
62389         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62390         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62391         undef any previous version and define our own version, for
62392         simplicity and consistency with the new macros for types.
62393         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62394         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62395         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
62396         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
62397         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
62398         @WINT_T_SUFFIX@ to keep things simple here.
62399         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
62400         Simplify by assuming typical 8/16/32/64 host, since we're
62401         already doing that elsewhere anyway.
62402         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
62403         and assume long long int is 64 bits if available.  This
62404         speeds up 'configure'.
62405
62406 2006-07-01  Eric Blake  <ebb9@byu.net>
62407
62408         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
62409         Reported by Andreas Buening.
62410
62411 2006-07-01  Eric Blake  <ebb9@byu.net>
62412
62413         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
62414
62415 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62416
62417         * lib/getaddrinfo.c: fixed typo
62418
62419 2006-06-29  Jim Meyering  <jim@meyering.net>
62420
62421         * modules/strftime (Maintainer): Add my name, since with the
62422         FPRINTFTIME changes strftime.c has forked from glibc.
62423
62424 2006-06-29  Eric Blake  <ebb9@byu.net>
62425
62426         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
62427
62428 2006-06-29  Eric Blake  <ebb9@byu.net>
62429
62430         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
62431
62432 2006-06-29  Eric Blake  <ebb9@byu.net>
62433
62434         * lib/stat_.h: New file.
62435
62436 2006-06-29  Eric Blake  <ebb9@byu.net>
62437
62438         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
62439         unused static function.
62440
62441 2006-06-29  Eric Blake  <ebb9@byu.net>
62442
62443         * doc/functions.texi (Function Portability): Document missing lstat
62444         on mingw.
62445
62446 2006-06-29  Eric Blake  <ebb9@byu.net>
62447
62448         * MODULES.html.sh: Add sys_stat.
62449         * modules/sys_stat: New module.
62450         * modules/mkstemp (Depends-on): Add sys_stat.
62451
62452 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62453
62454         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
62455
62456 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62457
62458         * m4/c-bs-a.m4: Removed.
62459
62460 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62461
62462         * lib/strftime.c: Assume strftime() exists.
62463
62464 2006-06-29  Derek Price  <derek@ximbiot.com>
62465
62466         * modules/c-bs-a: Removed - \a is C89.
62467         * MODULES.html.sh: Remove c-bs-a.
62468
62469 2006-06-29  Bruno Haible  <bruno@clisp.org>
62470
62471         * modules/wcwidth (License): Change to LGPL.
62472
62473 2006-06-28  Simon Josefsson  <jas@extundo.com>
62474
62475         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
62476         on _WIN32.
62477
62478         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
62479         getnameinfo.
62480
62481 2006-06-28  Simon Josefsson  <jas@extundo.com>
62482
62483         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
62484
62485 2006-06-28  Simon Josefsson  <jas@extundo.com>
62486
62487         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
62488         functions there.  It will succeed on Windows XP, but on Windows
62489         2000 and (presumably) earlier, it will fail, and use the internal
62490         re-implementation.
62491         (use_win32_p): New function.
62492         (getaddrinfo): Use strtoul on servname, to support numeric ports.
62493         Support AI_NUMERICSERV to disable getservbyname.
62494         (getnameinfo): New function, only supports
62495         NI_NUMERICHOST|NI_NUMERICSERV for now.
62496
62497         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
62498         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
62499         getnameinfo.
62500
62501 2006-06-28  Eric Blake  <ebb9@byu.net>
62502
62503         * modules/wcwidth: New file.
62504         * modules/mbchar (Depends-on): Add wcwidth.
62505         * modules/mbswidth (Depends-on): Add wcwidth.
62506         * MODULES.html.sh: Add wcwidth.
62507
62508 2006-06-28  Eric Blake  <ebb9@byu.net>
62509
62510         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
62511         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
62512
62513 2006-06-28  Eric Blake  <ebb9@byu.net>
62514
62515         * lib/xvasprintf.h: Fix comments.
62516
62517 2006-06-28  Eric Blake  <ebb9@byu.net>
62518
62519         * lib/mbchar.h (wcwidth): Include wcwidth.h.
62520         * lib/mbswidth.c (wcwidth): Move from here...
62521         * lib/wcwidth.h: ...to this new file.
62522
62523 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62524
62525         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
62526
62527         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
62528         it's obsolete.
62529         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
62530
62531 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62532
62533         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
62534         Autoconf 2.60 says this stuff was obsolete.
62535
62536 2006-06-28  Bruno Haible  <bruno@clisp.org>
62537
62538         * modules/wcwidth (Files): Add m4/wchar_t.m4.
62539
62540 2006-06-28  Bruno Haible  <bruno@clisp.org>
62541
62542         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
62543         gt_TYPE_WCHAR_T.
62544
62545 2006-06-28  Bruno Haible  <bruno@clisp.org>
62546
62547         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
62548         declaration for wcwidth.
62549         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
62550
62551 2006-06-28  Bruno Haible  <bruno@clisp.org>
62552
62553         * lib/mkdtemp.c [MINGW]: Include <io.h>.
62554         (mkdir): Define using _mkdir.
62555
62556 2006-06-28  Bruno Haible  <bruno@clisp.org>
62557
62558         * lib/getaddrinfo.h: Fix POSIX URL.
62559         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
62560         _WIN32.
62561         (use_win32_p): Make static.
62562         (getaddrinfo): Reject service name if it is empty or does not consist
62563         solely of decimal digits, or if its value is > 65535.
62564         (getnameinfo): Remove useless casts.
62565
62566 2006-06-27  Simon Josefsson  <jas@extundo.com>
62567
62568         * modules/sys_select: New file, suggested by Bruno Haible, Paul
62569         Eggert and Martin Lambers.
62570
62571 2006-06-27  Simon Josefsson  <jas@extundo.com>
62572
62573         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
62574         Eggert and Martin Lambers.
62575
62576 2006-06-27  Bruno Haible  <bruno@clisp.org>
62577
62578         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
62579         result to 0, not to empty.
62580         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
62581
62582 2006-06-27  Bruno Haible  <bruno@clisp.org>
62583
62584         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
62585
62586 2006-06-26  Simon Josefsson  <jas@extundo.com>
62587
62588         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
62589         present.
62590
62591 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
62592
62593         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
62594         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
62595         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
62596
62597 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
62598
62599         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
62600
62601 2006-06-26  Bruno Haible  <bruno@clisp.org>
62602
62603         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
62604
62605 2006-06-26  Bruno Haible  <bruno@clisp.org>
62606
62607         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
62608
62609 2006-06-26  Bruno Haible  <bruno@clisp.org>
62610
62611         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
62612         SGI C compiler in pre-C99 mode.
62613         Suggested by Mark D. Baushke and Larry Jones.
62614
62615 2006-06-26  Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
62618         WCHAR_MAX.
62619         Reported by Mark D. Baushke and Larry Jones.
62620
62621 2006-06-26  Bruno Haible  <bruno@clisp.org>
62622
62623         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
62624         in pre-C99 mode.
62625         Suggested by Mark D. Baushke and Larry Jones.
62626
62627 2006-06-23  Simon Josefsson  <jas@extundo.com>
62628             Bruno Haible  <bruno@clisp.org>
62629
62630         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
62631         Emit mostlyclean-local rule.
62632         (func_emit_tests_Makefile_am): Likewise.
62633         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
62634
62635 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
62636
62637         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
62638
62639 2006-06-23  Bruno Haible  <bruno@clisp.org>
62640
62641         * tests/test-stdint.c: Update to match ISO C 99 Technical
62642         Corrigendum 1.
62643
62644 2006-06-23  Bruno Haible  <bruno@clisp.org>
62645
62646         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
62647
62648 2006-06-23  Bruno Haible  <bruno@clisp.org>
62649
62650         * lib/stdint_.h: Treat IRIX like OpenBSD.
62651
62652 2006-06-23  Bruno Haible  <bruno@clisp.org>
62653
62654         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
62655         ISO C 99 Technical Corrigendum 1.
62656
62657 2006-06-22  Simon Josefsson  <jas@extundo.com>
62658
62659         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
62660         MinGW.
62661
62662 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62663
62664         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
62665         needed.  Some compiler complained about some of them.  Problem reported
62666         by Larry Jones in
62667         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
62668
62669 2006-06-21  Simon Josefsson  <jas@extundo.com>
62670
62671         * tests/test-getaddrinfo.c: New file.
62672
62673         * modules/getaddrinfo-tests: New file.
62674
62675         * MODULES.html.sh: Add inet_pton.
62676
62677         * modules/inet_pton: New file.
62678
62679 2006-06-21  Simon Josefsson  <jas@extundo.com>
62680
62681         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
62682         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
62683         of using the (limited) gnulib implementation on Windows XP.
62684
62685         * m4/inet_pton.m4: New file.
62686
62687 2006-06-21  Simon Josefsson  <jas@extundo.com>
62688
62689         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
62690         variable.
62691
62692         * lib/socket_.h: Don't define WINVER.
62693
62694         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
62695         slightly modified to work in gnulib.
62696
62697 2006-06-21  Simon Josefsson  <jas@extundo.com>
62698
62699         * doc/gnulib.texi (Windows sockets): Add.
62700
62701 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62702
62703         * lib/read-file.c (fread_file): Start with buffer allocation of
62704         0 bytes rather than 1 byte; this simplifies the code.
62705         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
62706         code to free buffer and save/restore errno.
62707         (internal_read_file): Remove unused local.
62708
62709 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62710
62711         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
62712         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
62713         Problem reported by Denis Excoffier in
62714         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
62715
62716 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62717
62718         * modules/sys_socket, modules/socklen: Include sys/types since
62719         FreeBSD 4.x's sys/socket.h needs it.
62720
62721 2006-06-19  Simon Josefsson  <jas@extundo.com>
62722
62723         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
62724
62725 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
62728
62729 2006-06-19  Bruno Haible  <bruno@clisp.org>
62730
62731         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
62732         and FULL_PATH_INTTYPES_H in angle brackets.
62733         Reported by Mark D. Baushke <mdb@gnu.org>.
62734
62735 2006-06-17  Eric Blake  <ebb9@byu.net>
62736
62737         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
62738         errno.
62739
62740 2006-06-17  Bruno Haible  <bruno@clisp.org>
62741
62742         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
62743         <sys/inttypes.h>.
62744
62745 2006-06-17  Bruno Haible  <bruno@clisp.org>
62746
62747         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
62748         whether errno is declared. Assume <errno.h> declares errno.
62749
62750 2006-06-17  Bruno Haible  <bruno@clisp.org>
62751
62752         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
62753
62754 2006-06-17  Bruno Haible  <bruno@clisp.org>
62755
62756         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
62757         problem on Solaris 2.5.1.
62758
62759 2006-06-16  Eric Blake  <ebb9@byu.net>
62760
62761         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
62762         * lib/unicodeio.c [!defined errno]: Likewise.
62763         * lib/strtol.c [!defined errno]: Likewise.
62764         * lib/strtod.c [!defined errno]: Likewise.
62765
62766 2006-06-15  Eric Blake  <ebb9@byu.net>
62767
62768         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
62769
62770 2006-06-15  Eric Blake  <ebb9@byu.net>
62771
62772         * config/srclist.txt (ssize_t.m4): Lose sync.
62773
62774 2006-06-15  Bruno Haible  <bruno@clisp.org>
62775
62776         * modules/stdint (Files): Include m4/full-header-path.m4,
62777         m4/size_max.m4, m4/wchar_t.m4.
62778         (Makefile.am): Many more substitutions.
62779         * modules/stdint-tests: New file.
62780         * tests/test-stdint.c: New file.
62781
62782 2006-06-15  Bruno Haible  <bruno@clisp.org>
62783
62784         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
62785         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
62786         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
62787         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
62788         gl_CHECK_TYPE_SAME): New macros.
62789
62790 2006-06-15  Bruno Haible  <bruno@clisp.org>
62791
62792         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
62793
62794 2006-06-15  Bruno Haible  <bruno@clisp.org>
62795
62796         * lib/stdint_.h: Rewritten to be fully auto-configured.
62797         Fixes bug on HP-UX/IA64.
62798
62799 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * lib/getdate.y (__attribute__): Don't define if already defined.
62802         Problem reported by Larry Jones.
62803         * lib/utimens.c (__attribute__): Likewise.
62804
62805 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
62806
62807         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
62808         reported by Andreas Schwab.
62809
62810 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62811             Bruno Haible  <bruno@clisp.org>
62812
62813         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
62814         check for the declaration of strnlen and a run test that exposes the
62815         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
62816         rpl_strndup.
62817
62818 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62819             Bruno Haible  <bruno@clisp.org>
62820
62821         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
62822
62823 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62824
62825         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
62826         compile test, for Tru64 4.0D.
62827
62828 2006-05-28  Karl Berry  <karl@gnu.org>
62829
62830         * config/srclist.txt (printf-args.c): lose sync.
62831
62832 2006-05-26  Martin Lambers  <marlam@marlam.de>
62833
62834         * lib/getpass.c: Updates the test for the native W32 API, and adds
62835         missing includes, thus fixing compilation warnings.
62836
62837 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62838
62839         * lib/exclude.c (exclude_fnmatch): New function.
62840         (excluded_file_name): Call exclude_fnmatch.
62841         * lib/exclude.h (excluded_file_name): New prototype
62842
62843 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
62844
62845         * lib/tempname.c (small_open, large_open): New macros.
62846         (__open, __open64) [!_LIBC]: Remove.
62847         (__gen_tempname): Use small_open and large_open instead of __open
62848         and __open64.  This fixes a portability bug on HP-UX 11.11i
62849         reported by Simon Wing-Tang in
62850         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
62851
62852 2006-05-24  Bruno Haible  <bruno@clisp.org>
62853
62854         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
62855         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
62856         Reported by Thorsten Maerz <torte@netztorte.de> via
62857         Aaron Stone <aaron@serendipity.cx>.
62858
62859 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62860
62861         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
62862         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
62863         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
62864         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
62865         not really conditional on the cache.
62866         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
62867
62868 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62869
62870         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
62871         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
62872         (my_usleep): Don't mishandle maximum value.
62873
62874 2006-05-19  Jim Meyering  <jim@meyering.net>
62875
62876         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
62877
62878 2006-05-17  Bruno Haible  <bruno@clisp.org>
62879
62880         Cygwin portability.
62881         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
62882
62883 2006-05-17  Bruno Haible  <bruno@clisp.org>
62884
62885         * lib/stdint_.h: Fix recognition of Cygwin.
62886
62887 2006-05-15  Bruno Haible  <bruno@clisp.org>
62888
62889         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
62890         on libtool patch by Ralf Wildenhues.
62891
62892 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62893
62894         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
62895         test for C99 conformance; (bool) 0.5 is an integer constant
62896         expression, but (bool) -0.5 is not.  Problem reported by Fedor
62897         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
62898
62899 2006-05-11  Simon Josefsson  <jas@extundo.com>
62900
62901         * m4/xvasprintf.m4: Fix obvious typo.
62902
62903 2006-05-11  Jim Meyering  <jim@meyering.net>
62904
62905         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
62906         James Lemley.
62907
62908 2006-05-10  Simon Josefsson  <jas@extundo.com>
62909
62910         * lib/md4.c: Typo fix, update copyright years.
62911         (K1, K2): Don't use L because it turn computations into 64-bit on
62912         64-bit platforms.
62913
62914 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
62915
62916         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
62917         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
62918         unwanted sign propagation, e.g., on hosts with 64-bit int.
62919         There still are some problems with reeelly weird theoretical hosts
62920         (e.g., 33-bit int) but it's not worth worrying about now.
62921         * lib/sha1.c (rol): Likewise.
62922         (K1, K2, K3, K4): Remove unnecessary L suffix.
62923
62924 2006-05-10  Bruno Haible  <bruno@clisp.org>
62925
62926         * lib/des.c: Cast to avoid warnings.
62927
62928 2006-05-09  Bruno Haible  <bruno@clisp.org>
62929
62930         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
62931         (Depends-on): Depend also on xsize, stdarg.
62932         (configure.ac): Add gl_XVASPRINTF.
62933
62934 2006-05-09  Bruno Haible  <bruno@clisp.org>
62935
62936         * m4/xvasprintf.m4: New file.
62937
62938 2006-05-09  Bruno Haible  <bruno@clisp.org>
62939
62940         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
62941         (EOVERFLOW): Define fallback value.
62942         (xstrcat): New function.
62943         (xvasprintf): Recognize the special case of a string concatenation.
62944
62945 2006-05-08  Eric Blake  <ebb9@byu.net>
62946
62947         * gnulib-tool (func_version): Base copyright year on CVS date.
62948         (func_emit_copyright_notice): New function.
62949         (func_emit_lib_Makefile_am): Use it.
62950         (func_emit_tests_Makefile_am): Likewise.
62951         (func_import): Likewise.
62952
62953 2006-05-08  Bruno Haible  <bruno@clisp.org>
62954
62955         * modules/stdarg: New file.
62956         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
62957
62958 2006-05-08  Bruno Haible  <bruno@clisp.org>
62959
62960         * m4/stdarg.m4: New file, from GNU gettext.
62961
62962 2006-05-08  Bruno Haible  <bruno@clisp.org>
62963
62964         * config/srclist.txt (build-aux/config.rpath): different from latest
62965         release.
62966
62967 2006-05-08  Bruno Haible  <bruno@clisp.org>
62968
62969         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
62970
62971 2006-05-05  Jim Meyering  <jim@meyering.net>
62972
62973         * m4/warning.m4: New file, derived from bison's file by the same name.
62974
62975 2006-05-03  Bruno Haible  <bruno@clisp.org>
62976
62977         * lib/stdint_.h: Shorter URL.
62978         * lib/inttypes.h: Likewise.
62979
62980 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62981
62982         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62983
62984 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62985
62986         * lib/verify.h: Document the internals better.  Most of this change
62987         was written by Bruno Haible.
62988
62989 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62990
62991         * doc/verify.texi: New file, partly based on a proposal by
62992         Bruno Haible.
62993
62994 2006-05-02  Bruno Haible  <bruno@clisp.org>
62995
62996         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62997         test from here...
62998         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62999
63000 2006-04-29  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
63003         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
63004
63005 2006-04-29  Bruno Haible  <bruno@clisp.org>
63006
63007         * gnulib-tool: Make --update option actually work.
63008
63009 2006-04-29  Bruno Haible  <bruno@clisp.org>
63010
63011         * doc/gcd.texi: New file.
63012         * doc/gnulib.texi: Include it.
63013
63014 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
63015
63016         * lib/getdate.y (get_date): When adding relative date, start with the
63017         initial time, not with the result of the first mktime call.
63018
63019 2006-04-25  Bruno Haible  <bruno@clisp.org>
63020
63021         * gnulib-tool (func_import): Output the include directives in three
63022         blocks, sorted separately.
63023         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63024
63025 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63026
63027         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
63028         to define main with arguments, for C++.  Reported by Eric Blake.
63029         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
63030         Prefer 'int main ()' to 'int main (void)', for C++.
63031         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63032         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
63033         for 'main', for C99 and C++.
63034
63035 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63036
63037         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
63038         Don't assume that exit status -1 is valid.
63039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63040         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63041         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63042         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
63043         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
63044         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
63045         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
63046         functions can be used without declaring them, or that you can
63047         exit with status -1.
63048         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63049
63050 2006-04-24  Karl Berry  <karl@gnu.org>
63051
63052         * config/srclist.txt (longdouble.m4): sync lost.
63053
63054 2006-04-24  Eric Blake  <ebb9@byu.net>
63055
63056         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
63057
63058 2006-04-24  Bruno Haible  <bruno@clisp.org>
63059
63060         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
63061         poll() implementation in AIX.
63062         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63063
63064 2006-04-24  Bruno Haible  <bruno@clisp.org>
63065
63066         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
63067         assigned exactly once.
63068
63069 2006-04-23  Claudio Fontana  <claudio@gnu.org>
63070             Bruno Haible  <bruno@clisp.org>
63071
63072         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
63073         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
63074         for AM_CPPFLAGS.
63075
63076 2006-04-23  Bruno Haible  <bruno@clisp.org>
63077
63078         * modules/copy-file: Depend on unistd.
63079         * modules/execute: Likewise.
63080         * modules/fatal-signal: Likewise.
63081         * modules/findprog: Likewise.
63082         * modules/mkdtemp : Likewise.
63083         * modules/pipe: Likewise.
63084         * modules/wait-process: Likewise.
63085
63086 2006-04-23  Bruno Haible  <bruno@clisp.org>
63087
63088         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
63089         condition was already detected.
63090         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63091
63092 2006-04-23  Bruno Haible  <bruno@clisp.org>
63093
63094         * lib/copy-file.c: Include <unistd.h> unconditionally.
63095         * lib/execute.c: Likewise.
63096         * lib/fatal-signal.c: Likewise.
63097         * lib/findprog.c: Likewise.
63098         * lib/mkdtemp.c: Likewise.
63099         * lib/pipe.h: Likewise.
63100         * lib/pipe.c: Likewise.
63101         * lib/wait-process.h: Likewise.
63102
63103 2006-04-23  Bruno Haible  <bruno@clisp.org>
63104
63105         * gnulib-tool (func_usage): Fix --import description. Document
63106         --update.
63107         (func_import): Create temporary file in a temporary directory, if
63108         --dry-run is specified. Silence errors from 'grep' when there are no
63109         m4 files in $m4dir.
63110         (func_create_testdir): Silence errors from 'grep' when there are no
63111         m4 files in $m4dir.
63112         Reported by Karl Berry <karl@freefriends.org>.
63113
63114 2006-04-20  Bruno Haible  <bruno@clisp.org>
63115
63116         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
63117         one argument, so that the code will be portable to Autoconf 2.60.
63118         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
63119         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63120         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
63121
63122 2006-04-19  Derek Price  <derek@ximbiot.com>
63123             Eric Blake  <ebb9@byu.net>
63124
63125         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
63126         rather than "/full/path.h".  Update comment to match.  Shorten &
63127         generalize m4_translit call via AS_TR_CPP.
63128
63129 2006-04-19  Derek Price  <derek@ximbiot.com>
63130             Eric Blake  <ebb9@byu.net>
63131
63132         * lib/inttypes.h: Correct grammar in comment.
63133
63134 2006-04-18  Derek Price  <derek@ximbiot.com>
63135             Paul Eggert  <eggert@cs.ucla.edu>
63136
63137         * modules/inttypes: New file.
63138         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
63139
63140 2006-04-18  Derek Price  <derek@ximbiot.com>
63141             Paul Eggert  <eggert@cs.ucla.edu>
63142
63143         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
63144         New files.
63145
63146 2006-04-18  Derek Price  <derek@ximbiot.com>
63147             Paul Eggert  <eggert@cs.ucla.edu>
63148
63149         * lib/inttypes.h: New file.
63150         * lib/strtoimax.c: Assume <inttypes.h>.
63151
63152 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
63153
63154         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
63155         isn't mounted.  Problem reported by Kir Kolyshkin.
63156
63157 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63158
63159         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
63160         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
63161         Derek R. Price.
63162         * lib/regex.h (RE_DUP_MAX): Update comment to match current
63163         implementation.
63164
63165 2006-04-12  Eric Blake  <ebb9@byu.net>
63166
63167         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
63168         is now done automatically by the corresponding Autoconf macro.
63169
63170 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
63171
63172         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
63173         time_r.h.
63174
63175 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63176
63177         Merge regex changes from libc, removing some of our
63178         POSIX-conformance changes that were rejected and redoing them in a
63179         less-intrusive way.
63180
63181         * lib/regcomp.c (re_compile_internal, init_dfa):
63182         Length arg is now size_t, not Idx.  All uses changed.
63183         (peek_token): Forward decl now says internal_function.
63184         (__re_error_msgid, __re_error_msgid_idx):
63185         Now static rather than extern with attribute_hidden.
63186         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
63187         For some reason libc prefers K&R style defns for external functions.
63188         (regerror) [!defined _LIBC]: Likewise.
63189         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
63190         (seek_collating_symbol_entry, lookup_collation_sequence_value):
63191         (build_range_exp, build_collating_symbol):
63192         Use K&R-style defn.
63193         (re_compile_fastmap): Use '\0' to memset, not 0.
63194         (utf8_sb_map): Make the calculations more obvious.
63195         (init_dfa, parse_bracket_exp, build_charclass_op):
63196         Call calloc and cast result, as glibc does.
63197         (init_word_char, fetch_token, peek_token, peek_token_bracket):
63198         (build_range_exp, build_collating_symbol):
63199         Now internal functions.
63200
63201         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
63202
63203         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
63204         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
63205         Don't depend on VMS; depend on __VMS instead, for POSIX
63206         namespace cleanness.
63207         (regoff_t): Define to ssize_t, not long int.
63208
63209         Remove the REG_ macros named below.  Instead, make the old names
63210         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
63211         __USE_GNU_REGEX.
63212         (REG_BACKSLASH_ESCAPE_IN_LISTS):
63213         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
63214         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
63215         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
63216         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
63217         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
63218         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
63219         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
63220         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
63221         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
63222         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
63223         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
63224         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
63225         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
63226         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
63227         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
63228         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
63229         (REG_NREGS):
63230         Remove.  All uses replaced by the old RE_* names.
63231         (RE_BACKSLASH_ESCAPE_IN_LISTS):
63232         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
63233         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
63234         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
63235         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
63236         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
63237         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
63238         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
63239         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
63240         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
63241         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
63242         Don't bother having these macros be independent of each others'
63243         values, since they no longer exist in the POSIX name space.
63244
63245         Rename the following member names back to their old names,
63246         unless !__USE_GNU_REGEX.  All uses changed back.
63247         (buffer): Renamed from re_buffer.
63248         (allocated): Renamed from re_allocated.
63249         (used): Renamed from re_used.
63250         (syntax): Renamed from re_syntax.
63251         (fastmap): Renamed from re_fastmap.
63252         (translate): Renamed from re_translate.
63253         (can_be_null): Renamed from re_can_be_null.
63254         (regs_allocated): Renamed from re_regs_allocated.
63255         (fastmap_accurate): Renamed from re_fastmap_accurate.
63256         (no_sub): Renamed from re_no_sub.
63257         (not_bol): Renamed from re_not_bol.
63258         (not_eol): Renamed from re_not_eol.
63259         (newline_anchor): Renamed from re_newline_anchor.
63260         (num_regs): Renamed from rm_num_regs.
63261         (start): Renamed from rm_start.
63262         (end): Renamed from rm_end.
63263
63264         (free_state): Move up a bit.
63265
63266         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
63267         #define to be empty.
63268         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
63269         when that is what is intended.
63270         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
63271         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
63272         (MAX): New macro.
63273         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
63274         All uses changed back to re_malloc, etc.  It's now the caller's
63275         responsibility to check for overflow; all callers changed.
63276         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
63277         (re_x2nrealloc): Remove.
63278         (free_state): Remove decl.
63279
63280         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
63281         (re_set_registers, re_exec):
63282         Use K&R-style defn.
63283
63284         2006-01-31  Roland McGrath  <roland@redhat.com>
63285
63286         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
63287         Reported by Mike Frysinger <vapier@gentoo.org>.
63288
63289         2006-01-15  Andreas Jaeger  <aj@suse.de>
63290
63291         [BZ #1950]
63292         * lib/regex_internal.c (re_string_reconstruct): Adjust for
63293         build_wcs_upper_buffer change.
63294         (build_wcs_upper_buffer): Change return type.
63295
63296         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
63297
63298         * lib/regex_internal.h: Include <stdint.h> if available.
63299
63300         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
63301
63302         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
63303
63304         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63305
63306         * lib/regcomp.c: Adjust for changed secondary hash function.
63307
63308         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
63309
63310         * lib/regex.h: Pretty printing.
63311         Clean up namespace a bit.
63312
63313         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
63314
63315         * lib/regexec.c (update_cur_sifted_state, check_arrival,
63316         check_arrival_add_next_nodes): Avoid using uninitialized variable.
63317
63318         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63319                     Ulrich Drepper  <drepper@redhat.com>
63320
63321         [BZ #1302]
63322         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
63323         changed.
63324         (bitset_word_t): Renamed from bitset_word.  All uses changed.
63325
63326         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
63327
63328         [BZ #281]
63329         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
63330         * lib/regcomp.c: Remove unnecessary uses of
63331         unsigned RE_TRANSLATE_TYPE.
63332         * lib/regex_internal.h: Likewise.
63333         * lib/regex_internal.c: Likewise.
63334         * lib/regexec.c: Likewise.
63335         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
63336
63337         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
63338
63339         * lib/regexec.c (find_recover_state): Remove unnecessary
63340         initialization.
63341         (transit_state_bkref): Make DFA a const pointer.
63342         (get_subexp): Likewise.
63343         (check_arrival): Likewise.
63344         (update_cur_sifted_state): Likewise.
63345         (re_search_internal): Likewise.
63346         (prune_impossible_nodes): Likewise.
63347         (acquire_init_state_context): Likewise.
63348         (proceed_next_node): Likewise.
63349         (set_regs): Likewise.
63350         (free_fail_stack_return): Likewise.
63351         (check_arrival_expand_ecl): Mark DFA parameter as const.
63352         (check_arrival_expand_ecl_sub): Likewise.
63353         (check_subexp_limits): Likewise.
63354         (sub_epsilon_src_nodes):  Likewise.
63355         (add_epsilon_src_nodes):  Likewise.
63356         (merge_state_array): Likewise.
63357         (update_regs): Likewise.
63358         (build_trtable): Likewise.
63359         (sift_states_backward): Mark MCTX parameter as const.
63360         (build_sifted_states): Likewise.
63361         (update_cur_sifted_state): Likewise.
63362         (sift_states_mkref): Likewise.
63363         (check_arrival_expand_ecl): Mark eclosure as const.
63364         (check_dst_limits_calc_pos_1): Likewise.
63365         * lib/regex_internal.h (re_match_context_t): Make dfa a const
63366         pointer.
63367
63368         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
63369
63370         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
63371         (transit_state_sb): Likewise.
63372         (transit_state_mb): Likewise.
63373         (sift_states_iter_mb): Likewise.
63374         (check_arrival_add_next_nodes): Likewise.
63375         (check_node_accept_bytes): Change first parameter to pointer-to-const.
63376         [_LIBC] (re_search_2_stub): Use mempcpy.
63377
63378         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
63379         mbrtowc for very simple UTF-8 case.
63380
63381         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
63382         a pointer-to-const.
63383         (re_acquire_state_context): Likewise.
63384         * lib/regex_internal.h: Adjust prototypes.
63385
63386         * lib/regex.c: Prevent using C++ compilers.
63387
63388         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
63389         (re_acquire_state_context): Likewise.
63390
63391 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63392
63393         * modules/regex (Depends-on): Add ssize_t.
63394
63395 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63396
63397         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
63398         translation table.
63399
63400 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63401
63402         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
63403
63404 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
63405             Bruno Haible  <bruno@clisp.org>
63406
63407         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
63408         <sys/types.h> and <inttypes.h>.
63409
63410 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63411
63412         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
63413         `__error_t_defined', so argp.h will not typedef the former.
63414
63415 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63416
63417         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
63418         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
63419         glibc names.  Even if glibc is changed to conform to POSIX, the
63420         traditional names will be available anyway, since regex depends on
63421         the extensions module.  Also, fix a longstanding typo in the
63422         implementation of Spencer ERE test #75 from grep 2.3.  Problems
63423         reported by Emanuele Giaquinta.  Also, change sense of cached
63424         variable, so that the message makes sense.
63425
63426 2006-03-24  Simon Josefsson  <jas@extundo.com>
63427
63428         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
63429         including some doc fixes.
63430         (base64_encode_alloc): Fix +1 bug on allocation failures.
63431
63432 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63433
63434         * lib/base64.c (base64_encode): Do not read past end of array with
63435         unsanitized input on systems with CHAR_BIT > 8.
63436
63437 2006-03-24  Eric Blake  <ebb9@byu.net>
63438
63439         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
63440
63441 2006-03-22  Karl Berry  <karl@gnu.org>
63442
63443         * config/srclist.txt (*setenv.[ch]): get from coreutils.
63444         * config/srclistvars.sh (COREUTILS): new var.
63445
63446 2006-03-17  Jim Meyering  <jim@meyering.net>
63447
63448         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
63449         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
63450
63451 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63452
63453         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
63454         no longer needs it.  Instead, check that regoff_t is as least
63455         as wide as ptrdiff_t.
63456
63457         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
63458         so that our regex.h stays compatible with the installed regex.
63459         This is helpful for installers who configure --without-included-regex.
63460         Problem reported by Emanuele Giaquinta.
63461
63462 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63463
63464         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
63465         Typedef to long int, not to off_, as POSIX will likely change
63466         in that direction.
63467
63468 2006-03-15  Eric Blake  <ebb9@byu.net>
63469
63470         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
63471
63472 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63473
63474         * lib/argp-help.c (validate_uparams): Fix typo
63475         * lib/argp-parse.c (argp_default_options): Consistently begin help
63476         messages with a lowercase letter.
63477
63478 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
63479
63480         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
63481         overrun buffers and shouldn't be used (much as gets shouldn't be
63482         used).
63483         * lib/time_r.c (asctime_r, ctime_r): Likewise.
63484
63485 2006-03-08  Simon Josefsson  <jas@extundo.com>
63486
63487         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
63488         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63489
63490 2006-03-08  Simon Josefsson  <jas@extundo.com>
63491
63492         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
63493         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63494
63495 2006-03-08  Simon Josefsson  <jas@extundo.com>
63496
63497         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
63498         signal that configure disabled the device.
63499
63500 2006-03-08  Simon Josefsson  <jas@extundo.com>
63501
63502         * build-aux/maint.mk: Fix refresh-po, to handle no translated
63503         languages.
63504
63505 2006-03-07  Simon Josefsson  <jas@extundo.com>
63506
63507         * modules/getopt (Depends-on): Add unistd.
63508
63509         * modules/unistd: New file.
63510
63511 2006-03-07  Simon Josefsson  <jas@extundo.com>
63512
63513         * modules/gc-random: New file.
63514
63515 2006-03-07  Simon Josefsson  <jas@extundo.com>
63516
63517         * m4/unistd_h.m4: New file.
63518
63519 2006-03-07  Simon Josefsson  <jas@extundo.com>
63520
63521         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
63522         test to be side-effect free by storing the result in the cache
63523         variable gl_cv_lib_readline, and moving the assignment of
63524         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
63525         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63526
63527 2006-03-07  Simon Josefsson  <jas@extundo.com>
63528
63529         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
63530         error on missing devices (the functions will return an error).
63531
63532         * m4/gc.m4: Move random stuff to gc-random.m4
63533
63534 2006-03-07  Simon Josefsson  <jas@extundo.com>
63535
63536         * lib/unistd_.h: New file.
63537
63538 2006-03-07  Simon Josefsson  <jas@extundo.com>
63539
63540         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
63541
63542 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63543
63544         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
63545         Problem reported by Juan Manuel Guerrero.
63546
63547 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63548
63549         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
63550         the unistd module.
63551         * lib/getlogin_r.c: Likewise.
63552         * lib/getlogin_r.h: Likewise.
63553         * lib/glob.c: Likewise.
63554         * lib/pagealign_alloc.c: Likewise.
63555         * lib/unistd_.h: Remove; no longer needed.
63556
63557 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63558
63559         * MODULES.html.sh (Support for systems lacking POSIX:2001):
63560         Add unistd.
63561         * modules/c-stack (Depends-on): Add unistd.
63562         * modules/getlogin_r: Likewise.
63563         * modules/glob: Likewise.
63564         * modules/pagealign_alloc: Likewise.
63565         * modules/unistd (Files): Remove lib/unistd_.h.
63566         (EXTRA_DIST): Remove.
63567         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
63568         need unistd_.h.
63569         (MOSTLYCLEANFILES): Remove unistd.h-t.
63570
63571 2006-03-03  Simon Josefsson  <jas@extundo.com>
63572
63573         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
63574
63575 2006-03-03  Simon Josefsson  <jas@extundo.com>
63576
63577         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
63578         libidn and bison.
63579
63580 2006-03-03  Simon Josefsson  <jas@extundo.com>
63581
63582         * build-aux/maint.mk: Add indent target.
63583
63584 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
63585
63586         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
63587         our replacement poll.h in any case, to avoid a differing
63588         declaration from a system header.  Seen on AIX.
63589
63590 2006-03-01  Simon Josefsson  <jas@extundo.com>
63591
63592         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
63593         <kasal@ucw.cz>.
63594
63595 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63596
63597         * modules/gettime (Depends-on): Add extensions module.
63598         * modules/nanosleep (Depends-on): Likewise.
63599         * modules/settime (Depends-on): Likewise.
63600
63601 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63602
63603         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
63604         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
63605         pedantically.
63606         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63607         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
63608
63609         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
63610         not "==".  Reported by Ralf Wildenhues.
63611
63612 2006-03-01  Karl Berry  <karl@gnu.org>
63613
63614         * doc/Copyright/request-*: new files, synced from gnuorg.
63615
63616 2006-03-01  Karl Berry  <karl@gnu.org>
63617
63618         * config/srclist.txt (Copyright/*): new entries.
63619
63620 2006-02-28  Simon Josefsson  <jas@extundo.com>
63621
63622         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
63623
63624 2006-02-27  Simon Josefsson  <jas@extundo.com>
63625
63626         * lib/base64.h: Indent #define's.  From Jim Meyering
63627         <jim@meyering.net>.
63628
63629 2006-02-27  Jim Meyering  <jim@meyering.net>
63630
63631         Revert the change of 2006-02-24, so these files can continue
63632         to be sync'd from gettext.
63633         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
63634         of `config.h'.
63635
63636 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63637
63638         * modules/intprops: New file.
63639         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63640         Add intprops.
63641         * modules/getloadavg (Files): Remove lib/intprops.h.
63642         (Depends-on): Add intprops.
63643         * modules/human: Likewise.
63644         * modules/inttostr: Likewise.
63645         * modules/openat: Likewise.
63646         * modules/sig2str: Likewise.
63647         * modules/userspec: Likewise.
63648         * modules/utimecmp: Likewise.
63649         * modules/xnanosleep: Likewise.
63650         * modules/xstrtol: Likewise.
63651
63652 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
63653
63654         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
63655         * modules/lock-tests (TESTS): Use $(EXEEXT).
63656         * modules/tls-tests: Likewise.
63657         * modules/argp-tests: Likewise.
63658         (check_PROGRAMS): New var, replacing...
63659         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
63660
63661 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63662
63663         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
63664         `config.h'.
63665
63666 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63667
63668         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
63669
63670 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63671
63672         Sync from coreutils.
63673         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
63674         gl_CHDIR_SAFER.
63675
63676 2006-02-22  Jim Meyering  <jim@meyering.net>
63677
63678         Sync from coreutils.
63679         * m4/chdir-safer.m4: New file.
63680
63681 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63682
63683         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
63684         AT_FDCWD exceeds INT_MAX.
63685         * lib/openat.h (AT_FDCWD): Likewise.
63686
63687 2006-02-17  Eric Blake  <address@hidden>
63688
63689         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
63690
63691 2006-02-16  Simon Josefsson  <jas@extundo.com>
63692
63693         * modules/getaddrinfo (Depends-on): Add sys_socket.
63694
63695 2006-02-15  Simon Josefsson  <jas@extundo.com>
63696
63697         * build-aux/maint.mk: Add dsyntax-check rule.
63698
63699 2006-02-15  Eric Blake  <ebb9@byu.net>
63700
63701         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
63702         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
63703         'present but cannot compile' warnings on cygwin.
63704         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
63705         use ws2tcpip.h if sys/socket.h works.
63706         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
63707         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
63708
63709 2006-02-14  Simon Josefsson  <jas@extundo.com>
63710
63711         * modules/maintainer-makefile (Files): Rename.
63712
63713         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
63714         and (the local) Makefile.cfg to maint-cfg.mk.
63715
63716         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
63717         to the latter.
63718
63719         * modules/maintainer-makefile: New module.
63720
63721         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
63722         severaly stripped to make it possible to build it up from scratch
63723         with reliable tests.
63724
63725         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
63726         fixes to permit overriding the default actions when configure and
63727         makefile are not available.
63728
63729 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63730
63731         Sync from coreutils.
63732         * modules/lstat (Depends-on): Don't depend on xalloc.
63733         (License): Change from GPL to LGPL, since this is now simply a
63734         replacement for a libc function.
63735
63736 2006-02-14  Jim Meyering  <jim@meyering.net>
63737
63738         Sync from coreutils.
63739
63740         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
63741         failure on deficient systems, and simplify gnulib lgpl dependencies.
63742         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
63743         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
63744
63745         * lib/xalloc-die.c: Remove unused definition of N_.
63746
63747 2006-02-14  Jim Meyering  <jim@meyering.net>
63748
63749         Sync from coreutils.
63750         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
63751         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
63752         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
63753         double-quote uses of that variable, to accommodate the rare case in
63754         which getmntent is available in none of the libraries checked.  This
63755         happens at least on FreeBSD 5.0.
63756
63757 2006-02-13  Simon Josefsson  <jas@extundo.com>
63758
63759         * gnulib-tool (Usage): Fix --import, from
63760         karl@freefriends.org (Karl Berry).
63761
63762 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63763
63764         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
63765
63766 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
63767
63768         * lib/argp-namefrob.h: Restore changes accidentally lost during the
63769         "autoupdate" on 2005-12-12.
63770
63771 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63772
63773         * modules/closeout (Depends-on): Remove atexit.
63774
63775 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63776
63777         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
63778         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
63779
63780 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63781
63782         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
63783         __EXTENSIONS__ if this causes compilation to fail.  Problem
63784         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
63785         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
63786
63787 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
63788
63789         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
63790         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
63791         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
63792         All uses changed.
63793
63794 2006-01-26  Simon Josefsson  <jas@extundo.com>
63795
63796         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
63797         prototype is visible on mingw32.
63798
63799         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
63800         for mingw32.
63801
63802         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
63803         mingw32).
63804
63805 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63806
63807         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
63808         attempt to open for write; this always fails, at least on POSIX
63809         hosts.  This reinstates the 2006-01-09 change, which was
63810         inadvertently removed.
63811
63812 2006-01-26  Bruno Haible  <bruno@clisp.org>
63813
63814         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
63815         Reported by Paul Eggert.
63816
63817 2006-01-26  Bruno Haible  <bruno@clisp.org>
63818             Paul Eggert  <eggert@cs.ucla.edu>
63819
63820         * lib/stdbool_.h (_Bool)
63821         [(! (defined __cplusplus || defined __BEOS__)
63822           && !defined __GNUC__
63823           && !(defined __HP_cc || defined __xlc__
63824                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
63825                || defined __sgi))]:
63826         #define to signed char in these cases too; this simplifies
63827         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
63828         etc., separately) and makes it more conservative.
63829
63830 2006-01-25  Simon Josefsson  <jas@extundo.com>
63831
63832         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
63833         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
63834         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
63835
63836 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63837
63838         * lib/argp-namefrob.h: Bugfix. Remove stray #
63839
63840 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63841
63842         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
63843         so that we test the test.
63844         Check for yet another HP-UX cc bug involving *bool |= bool.
63845
63846 2006-01-25  Karl Berry  <karl@gnu.org>
63847
63848         * config/srclist.txt (vasnprintf.c): sync lost.
63849
63850 2006-01-25  Jim Meyering  <jim@meyering.net>
63851
63852         Sync from the stable (b5) branch of coreutils:
63853
63854         * lib/fts.c (fts_children): Don't let close() clobber errno from
63855         failed fchdir().
63856
63857         * lib/fts.c (fts_stat): When following a symlink-to-directory,
63858         don't necessarily interpret stat-fails+lstat-succeeds as indicating
63859         a dangling symlink.  That can also happen at least for ELOOP.
63860         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
63861         FYI, this bug predates the inclusion of fts.c in coreutils.
63862
63863         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
63864         in their own block, so pre-c99 compilers don't object.
63865
63866         Avoid the double-free (first in fts_read, second in fts_close) that
63867         would occur when an `active' directory is made inaccessible (e.g.,
63868         via chmod a-x) during a traversal.
63869         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63870         before returning.  Reproduce this failure by
63871         mkdir -p a/b; cd a; chmod a-x . b
63872         Reported by Stavros Passas.
63873
63874 2006-01-25  Jim Meyering  <jim@meyering.net>
63875
63876         * lib/fileblocks.c: Remove more useless parentheses.
63877         * lib/readutmp.h: Likewise.
63878
63879 2006-01-25  Bruno Haible  <bruno@clisp.org>
63880
63881         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
63882         warnings.
63883         Reported by Paul Eggert.
63884
63885 2006-01-25  Bruno Haible  <bruno@clisp.org>
63886
63887         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
63888         rid of a trap command. For Solaris sh.
63889         Reported by Mark D. Baushke <mdb@gnu.org>.
63890
63891 2006-01-24  Simon Josefsson  <jas@extundo.com>
63892
63893         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
63894         Bruno.
63895
63896 2006-01-24  Karl Berry  <karl@gnu.org>
63897
63898         * config/srclist.txt (argp-namefrob.h): sync lost.
63899
63900 2006-01-24  Jim Meyering  <jim@meyering.net>
63901
63902         * modules/openat (Files): Add lib/intprops.h.
63903         From Mark D. Baushke.
63904
63905 2006-01-24  Jim Meyering  <jim@meyering.net>
63906
63907         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
63908         Reported by Mark D. Baushke.
63909
63910 2006-01-24  Jim Meyering  <jim@meyering.net>
63911
63912         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
63913
63914 2006-01-24  Bruno Haible  <bruno@clisp.org>
63915
63916         * modules/strnlen (Maintainer): Change from glibc to all.
63917
63918 2006-01-24  Bruno Haible  <bruno@clisp.org>
63919
63920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
63921         Patch by Paul Eggert.
63922
63923 2006-01-24  Bruno Haible  <bruno@clisp.org>
63924
63925         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
63926         already has it.
63927         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
63928         2005-11-26.
63929
63930         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
63931         'signed char' to avoid problems with the built-in _Bool type.
63932         Reported by Paul Eggert on 2005-11-26.
63933
63934 2006-01-24  Bruno Haible  <bruno@clisp.org>
63935
63936         * gnulib-tool (func_import): Avoid constructing complicated sed
63937         expressions inside backquote.
63938         Report and solution by Mark D. Baushke <mdb@gnu.org>.
63939
63940 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
63941
63942         These changes imported from libc.
63943         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
63944         test and two separate function calls.
63945         * lib/strndup.c (__strndup): Add libc_hidden_def.
63946
63947 2006-01-23  Simon Josefsson  <jas@extundo.com>
63948
63949         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
63950         Remove the test_*_SOURCES variable: automake infers it by default.
63951         * modules/tls-tests: Likewise.
63952
63953 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63954
63955         Work around porting bugs reported by Dieter in
63956         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
63957         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
63958         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
63959         Include "getopt.h" first, to check interface.
63960         (getenv): Declare only if defined HAVE_DECL_GETENV &&
63961         !HAVE_DECL_GETENV.
63962         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
63963         (__strndup): Revert to K&R-style function dfns, the glibc style.
63964         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
63965         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
63966         Include strnlen.h first, to get prototype properly.
63967         (strnlen): Renamed from __strnlen.
63968         Remove weak alias.
63969
63970 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63971
63972         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63973
63974 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63975
63976         * config/srclist.txt: Adjust to reflect glibc reorganization.
63977         This affects only comments.
63978
63979 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63980
63981          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63982          Reported by Bruce Korb <bkorb@gnu.org>.
63983
63984 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63985
63986         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63987         to pacify gcc -Wswitch-default.
63988
63989 2006-01-22  Bruno Haible  <bruno@clisp.org>
63990
63991         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63992         temporary buffer for sprintf, take into account the precision also
63993         for 'd', 'i', 'u', 'o', 'x', 'X'.
63994
63995 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63996
63997         * modules/argp-tests: New module
63998         * tests/test-argp.c: New file
63999         * tests/test-argp-2.sh: New file
64000
64001 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
64002
64003         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
64004         (__argp_base_name): Removed
64005         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
64006         typo.
64007         (__argp_base_name): Provide macro definition or extern declaration
64008         depending on the configuration
64009
64010 2006-01-20  Simon Josefsson  <jas@extundo.com>
64011
64012         * modules/inet_ntop (Depends-on): Depend on sys_socket.
64013
64014 2006-01-20  Simon Josefsson  <jas@extundo.com>
64015
64016         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
64017
64018 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64019
64020         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
64021         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
64022         Suggested by Bruno Haible.
64023
64024 2006-01-20  Karl Berry  <karl@gnu.org>
64025
64026         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
64027         until changes propagate, I guess.
64028
64029 2006-01-19  Simon Josefsson  <jas@extundo.com>
64030
64031         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
64032
64033 2006-01-19  Simon Josefsson  <jas@extundo.com>
64034
64035         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
64036
64037 2006-01-19  Simon Josefsson  <jas@extundo.com>
64038
64039         * gnulib-tool: Set check_PROGRAMS.
64040
64041         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64042         modules/des-tests, modules/gc-arcfour-tests,
64043         modules/gc-arctwo-tests, modules/gc-des-tests,
64044         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64045         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64046         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64047         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64048         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64049         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
64050         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
64051         test_*_SOURCES.
64052
64053 2006-01-18  Simon Josefsson  <jas@extundo.com>
64054
64055         * modules/socklen (Depends-on): Depend on sys_socket.
64056
64057 2006-01-18  Simon Josefsson  <jas@extundo.com>
64058
64059         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64060         modules/des-tests, modules/gc-arcfour-tests,
64061         modules/gc-arctwo-tests, modules/gc-des-tests,
64062         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64063         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64064         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64065         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64066         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64067         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
64068         $(EXEEXT) to automake TESTS variable, for mingw32.
64069
64070 2006-01-17  Simon Josefsson  <jas@extundo.com>
64071
64072         * modules/socklen (Include): Need sys/socket.h.
64073
64074 2006-01-17  Bruno Haible  <bruno@clisp.org>
64075
64076         * modules/ssize_t (Include): Add <sys/types.h>.
64077
64078 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
64079
64080         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
64081         it's not portable and it doesn't work with cross-compiles.
64082         Problem reported by Bruno Haible.  Fix missing-$ typo in
64083         'test "gl_cv_ignore_unused_libraries" ...' that prevented
64084         -zignore from being used with Sun's C compiler.
64085
64086 2006-01-12  Simon Josefsson  <jas@extundo.com>
64087
64088         * lib/base64.c: Fix warning, reported by Bruno Haible
64089         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
64090
64091 2006-01-12  Bruno Haible  <bruno@clisp.org>
64092
64093         * modules/ldd: New file.
64094         * build-aux/ldd.sh.in: New file.
64095         * MODULES.html.sh (Support for building libraries and executables): Add
64096         ldd.
64097
64098 2006-01-12  Bruno Haible  <bruno@clisp.org>
64099
64100         * m4/ldd.m4: New file.
64101
64102 2006-01-12  Bruno Haible  <bruno@clisp.org>
64103
64104         * gnulib-tool (func_import, func_create_testdir): Don't go into an
64105         endless loop while replacing $auxdir with build-aux.
64106
64107 2006-01-11  Simon Josefsson  <jas@extundo.com>
64108
64109         * lib/stdint_.h (SIZE_MAX): Add missing (.
64110
64111 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
64112
64113         Sync from coreutils.
64114         * lib/md5.c: Fix commentary typos.
64115         (alignof, UNALIGNED_P): No need for a GCC-specific version.
64116         * lib/md5.h (__attribute__): Remove; unused.
64117         * lib/sha1.c: Fix commentary to match md5 better.
64118         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
64119         so that we don't need to worry about alignment.  All uses changed.
64120         This merges the 2005-10-28 md5 change into sha1.
64121
64122 2006-01-11  Jim Meyering  <jim@meyering.net>
64123
64124         Sync from coreutils.
64125         * lib/md5.c (OP): Fix spacing.
64126
64127 2006-01-11  Bruno Haible  <bruno@clisp.org>
64128
64129         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64130         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
64131         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
64132
64133 2006-01-11  Bruno Haible  <bruno@clisp.org>
64134
64135         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64136         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
64137         the "early" section as well.
64138
64139 2006-01-11  Bruno Haible  <bruno@clisp.org>
64140
64141         Avoid "ar: no archive members specified" error on MacOS X.
64142         * gnulib-tool (func_modules_add_dummy): New function.
64143         (func_import, func_create_testdir): Invoke it.
64144
64145 2006-01-11  Bruno Haible  <bruno@clisp.org>
64146
64147         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
64148         with $auxdir in AC_CONFIG_FILES statements.
64149
64150 2006-01-11  Bruno Haible  <bruno@clisp.org>
64151
64152         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64153         Initialize also noinst_HEADERS to empty.
64154
64155 2006-01-11  Bruno Haible  <bruno@clisp.org>
64156
64157         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
64158         variables.
64159         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
64160         autoreconf.
64161
64162 2006-01-11  Bruno Haible  <bruno@clisp.org>
64163
64164         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
64165         overridable by the user.
64166         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64167
64168 2006-01-10  Simon Josefsson  <jas@extundo.com>
64169
64170         * modules/sys_socket: New file.
64171
64172 2006-01-10  Simon Josefsson  <jas@extundo.com>
64173
64174         * m4/sys_socket_h.m4: New file.
64175
64176 2006-01-10  Simon Josefsson  <jas@extundo.com>
64177
64178         * lib/socket_.h: New file.
64179
64180 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64181
64182         * modules/readutmp (Maintainer): Add myself.
64183
64184 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64185
64186         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
64187         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
64188         People who are still concerned with buggy memcmp implementations
64189         can invoke gl_FUNC_MEMCMP themselves.
64190
64191 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64192
64193         * lib/regex_internal.h (BITSET_WORD_BITS):
64194         Work around a bug in 64-bit PGC (before version 6.1-2), where the
64195         preprocessor mishandles large unsigned values as if they were signed.
64196         Problem reported by Claudio Fontana in
64197         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
64198
64199 2006-01-10  Jim Meyering  <jim@meyering.net>
64200
64201         Avoid the double-free (first in fts_read, second in fts_close) that
64202         would occur when an `active' directory is made inaccessible (e.g.,
64203         via chmod a-x) during a traversal.
64204         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
64205         before returning.  Reproduce this failure by
64206         mkdir -p a/b; cd a; chmod a-x . b
64207         Reported by Stavros Passas.
64208
64209         Sync from coreutils.
64210         * lib/sha1.c: Tweak grammar in a comment.
64211
64212 2006-01-10  Jim Meyering  <jim@meyering.net>
64213
64214         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
64215         Patch by Joerg Sonnenberger.
64216
64217 2006-01-10  Bruno Haible  <bruno@clisp.org>
64218
64219         * modules/readutmp: Depend on module free.
64220         * modules/strtok_r: Depend on module restrict.
64221
64222 2006-01-10  Bruno Haible  <bruno@clisp.org>
64223
64224         * modules/gettext (configure.ac): Add an invocation of
64225         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
64226
64227 2006-01-10  Bruno Haible  <bruno@clisp.org>
64228
64229         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
64230         Reported by Werner Lemberg <wl@gnu.org>.
64231
64232 2006-01-10  Bruno Haible  <bruno@clisp.org>
64233
64234         * lib/localcharset.c: Update from GNU gettext.
64235
64236 2006-01-10  Bruno Haible  <bruno@clisp.org>
64237
64238         * lib/argp.h (__const): Remove macro. Use const instead.
64239         * lib/argp-fmtstream.h (__const): Likewise.
64240         * lib/glob_.h (__const): Remove macro.
64241         * lib/glob-libc.h: Use const instead of __const.
64242
64243 2006-01-10  Bruno Haible  <bruno@clisp.org>
64244
64245         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
64246         variable.
64247         Needed to avoid an automake error regarding the 'gettext' module.
64248
64249 2006-01-09  Simon Josefsson  <jas@extundo.com>
64250
64251         * modules/inet_ntop (Depends-on): Add restrict.
64252
64253 2006-01-09  Simon Josefsson  <jas@extundo.com>
64254
64255         * modules/gc-rijndael-tests (License): Put under LGPL.
64256
64257         * modules/gc-des-tests (License): Likewise.
64258
64259         * modules/gc-arcfour-tests (License): Likewise.
64260
64261         * modules/gc-arctwo-tests (License): Likewise.
64262
64263         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
64264
64265         * modules/gc-hmac-sha1-tests (Files): Likewise.
64266
64267         * modules/gc-hmac-md5-tests (License): Likewise.
64268
64269         * modules/gc-sha1-tests (License): Likewise.
64270
64271         * modules/gc-md5-tests (License): Likewise.
64272
64273         * modules/gc-md4-tests (License): Likewise.
64274
64275         * modules/gc-md2-tests (License): Likewise.
64276
64277         * modules/gc-tests (License): Likewise.
64278
64279         * modules/des-tests (License): Likewise.
64280
64281         * modules/md4-tests (License): Likewise.
64282
64283         * modules/md2-tests (License): Likewise.
64284
64285 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64286
64287         Sync from coreutils:
64288
64289         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
64290         * modules/lib-ignore: New file.
64291         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
64292         chdir-safer.m4, lchmod.m4.
64293         * modules/openat: Add mkdirat.c, openat-priv.h.
64294
64295 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64296
64297         Sync from coreutils.
64298         * m4/lib-ignore.m4: New file.
64299         * m4/lchmod.m4: New file.
64300
64301 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64302
64303         Sync from coreutils.
64304         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
64305         for write access: POSIX says that must fail.
64306         * lib/fts.c (diropen): Likewise.
64307         * lib/save-cwd.c (save_cwd): Likewise.
64308         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
64309         well, for minor improvements on hosts that lack O_DIRECTORY.
64310         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
64311         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
64312         Fall back on chown if open failed with EACCES.
64313
64314         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
64315         Report an error at compile-time if only a 1-second nominal clock
64316         resolution is found.
64317
64318         * lib/lchmod.h: New file.
64319         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
64320         (make_dir_parents): Use lchown rather than chown, and
64321         lchmod rather than chmod.
64322
64323         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
64324         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
64325         "proc" reported by n0dalus.
64326
64327         * lib/mountlist.c: Include <limits.h>.
64328         (dev_from_mount_options)
64329         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
64330         New function.  It no longer assumes "dev=" has the System V meaning
64331         on Linux (since it doesn't).  It also parses "dev=" more carefully.
64332         (read_file_system_list)
64333         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
64334         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
64335         dev= in that case.
64336
64337         * lib/posixtm.h (PDS_PRE_2000): New macro.
64338         * lib/posixtm.c (year): Arg is now syntax_bits rather than
64339         allow_century.  All usages changed.  Reject dates outside the range
64340         1969-1999 if PDS_PRE_2000 is used.
64341
64342 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64343
64344         Sync from coreutils.
64345         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
64346         (Time of day items): Mention the possibility of leap seconds.
64347         Problem reported by Dr. David Alan Gilbert.
64348
64349 2006-01-09  Jim Meyering  <jim@meyering.net>
64350
64351         Sync from coreutils.
64352
64353         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
64354
64355         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
64356
64357         * lib/modechange.c (mode_compile): Reject an invalid mode string
64358         that starts with an octal digit.  From Andreas Gruenbacher.
64359
64360         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
64361         and dup to open_safer and dup_safer, respectively.
64362         (openat_permissive): Fix typo in comment.
64363
64364         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
64365         "gettext.h"; either no longer needed or are guaranteed by openat.h.
64366         (_): Remove; no longer needed.
64367         (openat): Renamed from rpl_openat; no need for rpl_openat
64368         since openat.h renames openat for us.
64369         Replace most of the body with a call to openat_permissive,
64370         to avoid duplicate code.
64371         Port to (probably hypothetical) environments were mode_t is
64372         wider than int.
64373         (openat_permissive): Require mode arg, so that we can check
64374         types better.  Put it just after flags.  Change cwd failure
64375         indicator from pointer-to-bool to pointer-to-errno-value.
64376         All callers changed.
64377         Invoke openat_save_fail and/or openat_restore_fail if
64378         cwd_errno is null, so that openat can call us.
64379         (openat_permissive, fdopendir, fstatat, unlinkat):
64380         Simplify errno handling to avoid some duplicate code,
64381         as it's OK to set errno on success.
64382         * lib/openat.h: Revamp code so that function macros depend on
64383         __OPENAT_PREFIX only, not also on AT_FDCWD.
64384         (openat_ro): Remove.  Caller changed to use openat_permissive.
64385         (openat_permissive): Now a macro, if not a function.
64386         (openat_restore_fail, openat_save_fail): Now always functions,
64387         since mkdirat needs them even if __OPENAT_PREFIX is defined.
64388
64389         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
64390         and openat.c.
64391         * lib/mkdirat.c: Include openat-priv.h.
64392         Remove definitions of macros defined therein.
64393         * lib/openat.c: Likewise.
64394
64395         * lib/mkdirat.c (mkdirat): New file and function.
64396         * lib/openat.h (mkdirat): Declare.
64397
64398         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
64399
64400         * lib/openat.h (openat_permissive): Declare.
64401         (openat_ro): Define.
64402
64403         * lib/openat.c (EXPECTED_ERRNO): New macro.
64404         (openat_permissive): New function -- used in remove.c rewrite.
64405         (all functions): Set errno just before returning, only if there
64406         was an actual failure.
64407         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
64408
64409         Emulate openat-family functions using Linux's procfs, if possible.
64410         Idea and some code based on Ulrich Drepper's glibc changes.
64411
64412         * lib/openat.c: (BUILD_PROC_NAME): New macro.
64413         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
64414         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
64415         before falling back on save_cwd and restore_cwd.
64416         (fdopendir, fstatat, unlinkat): Likewise.
64417
64418         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
64419         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
64420
64421         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
64422         as second argument to va_arg.  Otherwise, some versions of gcc
64423         warn that `if this code is reached, the program will abort'.
64424
64425 2006-01-09  Jim Meyering  <jim@meyering.net>
64426
64427         Sync from coreutils.
64428         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
64429         Require openat-priv.h.
64430
64431 2006-01-09  Bruno Haible  <bruno@clisp.org>
64432
64433         * modules/strnlen (Include): Use strnlen.h.
64434
64435 2006-01-09  Bruno Haible  <bruno@clisp.org>
64436
64437         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
64438
64439 2006-01-09  Bruno Haible  <bruno@clisp.org>
64440
64441         * lib/sysexit_.h (EX_OK): New macro.
64442         Suggested by Martin Lambers <marlam@marlam.de>.
64443
64444 2006-01-09  Bruno Haible  <bruno@clisp.org>
64445
64446         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
64447         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
64448
64449 2006-01-09  Bruno Haible  <bruno@clisp.org>
64450
64451         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
64452         numbers.
64453
64454 2006-01-09  Bruno Haible  <bruno@clisp.org>
64455
64456         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
64457         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
64458         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
64459         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
64460
64461 2006-01-09  Bruno Haible  <bruno@clisp.org>
64462
64463         * build-aux/javacomp.sh.in: New file, moved from lib/.
64464         * modules/javacomp-script (Files): Update.
64465         (configure.ac): Add AC_CONFIG_FILES invocation.
64466         (EXTRA_DIST): Remove variable.
64467
64468         * build-aux/javaexec.sh.in: New file, moved from lib/.
64469         * modules/javaexec (Files): Update.
64470         (configure.ac): Add AC_CONFIG_FILES invocation.
64471         (EXTRA_DIST): Remove javaexec.sh.in.
64472
64473         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
64474         * modules/csharpcomp-script (Files): Update.
64475         (configure.ac): Add AC_CONFIG_FILES invocation.
64476         (EXTRA_DIST): Remove variable.
64477
64478         * build-aux/csharpexec.sh.in: New file, moved from lib/.
64479         * modules/csharpexec (Files): Update.
64480         (configure.ac): Add AC_CONFIG_FILES invocation.
64481         (EXTRA_DIST): Remove csharpexec.sh.in.
64482
64483 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64484
64485         Sync from coreutils.
64486
64487         Add POSIX ACL support
64488         * lib/acl.h (copy_acl, set_acl): Add declarations.
64489         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
64490         systems other than Linux.
64491         (chmod_or_fchmod): New function: use fchmod when possible,
64492         and chmod otherwise.
64493         (file_has_acl): Add a POSIX ACL implementation, with a
64494         Linux-specific subcase.
64495         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
64496         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
64497         acls are unsupported.
64498         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
64499         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
64500         are unsupported.
64501
64502 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64503
64504         Sync from coreutils.
64505         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
64506
64507 2006-01-07  Bruno Haible  <bruno@clisp.org>
64508
64509         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
64510         gl_EARLY.
64511
64512 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64513
64514         * lib/strftime.c (tzname): Don't declare if it is already #defined.
64515         Problem reported for Mingw by Mark Junker.
64516
64517 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64518
64519         * README: Gnulib normally doesn't generate a tarball.
64520
64521 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
64522
64523         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
64524         long int, not int, for nanosecond counts, so that people who are
64525         used to POSIX struct timespec won't be surprised.  Reported by Jim
64526         Meyering.
64527
64528 2005-12-28  Bruno Haible  <bruno@clisp.org>
64529
64530         * build-aux/config.rpath: Update from GNU gettext.
64531
64532 2005-12-16  Jim Meyering  <jim@meyering.net>
64533
64534         * modules/fprintftime: New module.
64535         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
64536
64537 2005-12-16  Jim Meyering  <jim@meyering.net>
64538
64539         * m4/fprintftime.m4: New file.
64540
64541 2005-12-16  Jim Meyering  <jim@meyering.net>
64542
64543         * lib/fprintftime.c, lib/fprintftime.h: New files.
64544
64545 2005-12-15  Simon Josefsson  <jas@extundo.com>
64546
64547         * modules/socklen (configure.ac): Fix M4 macro name, to align with
64548         new m4/socklen.m4.
64549
64550 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64551
64552         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
64553         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
64554
64555 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64556
64557         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
64558         * lib/argp-help.c (fill_in_uparams): Check if the constructed
64559         struct uparams is valid. Fall back to the default values if it is
64560         not.
64561
64562 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64563
64564         * modules/argp (Files): Add argp-pin.c
64565         (Depends-on): dirname
64566         (lib_SOURCES): Add argp-pin.c
64567
64568 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64569
64570         * m4/argp.m4:  Check if program_invocation_name and
64571         program_invocation_short_name are declared and define appropriate
64572         macros if they are not.
64573
64574 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64575
64576         * lib/argp-help.c (__argp_base_name): New function
64577         (__argp_short_program_name): Rewrite using __argp_base_name
64578         * lib/argp-namefrob.h: Define program_invocation_name and
64579         program_invocation_short_name if requested
64580         (__argp_base_name): Add prototype
64581         * lib/argp-parse.c (argp_def): Use gettext wrappers
64582         (argp_default_parser): Use __argp_base_name
64583         * lib/argp-pin.c: New file. Defines program_invocation_name and
64584         program_invocation_short_name on systems that lack them.
64585
64586 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
64589         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64590         porting problem reported by Georg Schwarz in
64591         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64592
64593 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64594
64595         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
64596         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64597         porting problem reported by Georg Schwarz in
64598         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64599
64600 2005-12-05  Bruno Haible  <bruno@clisp.org>
64601
64602         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
64603         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
64604         Reported by Mark Junker <mjscod@gmx.de>.
64605
64606 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
64607
64608         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
64609         Use implementation from Albert Chin, with some
64610         comments/corrections by Stepan Kasal and myself.
64611
64612 2005-12-02  Bruno Haible  <bruno@clisp.org>
64613
64614         * gnulib-tool (func_import): Accept GPLed build tool modules when
64615         --lgpl is given.
64616         * modules/csharpcomp-script: New file.
64617         * modules/csharpcomp: Depend on it.
64618         * modules/javacomp-script: New file.
64619         * modules/javacomp: Depend on it.
64620         Suggested by Simon Josefsson.
64621
64622 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64623
64624         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
64625         statement, to work around an HP-UX 10.20 compiler bug reported by
64626         Peter O'Gorman.
64627
64628 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64629
64630         * modules/savedir (Depends-on): Add openat.
64631
64632 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64633
64634         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
64635         (uintmax_t) [defined uintmax_t]: Do not declare.
64636         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
64637         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
64638         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
64639         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
64640         sake of portability to weird hosts that C allows (though we don't
64641         know of any practical examples).
64642
64643         * lib/savedir.h (fdsavedir): New decl.
64644         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
64645         contains most of the former guts of savedir.
64646         (savedir): Use savedirstream.
64647         Include "openat.h".
64648
64649 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64650
64651         * modules/obstack (Files): Add m4/ulonglong.m4.
64652         Problem reported by Davide Angelocola.
64653
64654 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
64657         coreutils no longer futzes with rounding modes.
64658
64659 2005-11-14  Jim Meyering  <jim@meyering.net>
64660
64661         * lib/mkstemp-safer.c: Include <config.h>, required for possible
64662         replacement of mkstemp.
64663
64664 2005-11-10  Simon Josefsson  <jas@extundo.com>
64665
64666         * lib/readline.c: Remove EOL.
64667
64668 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64669
64670         * modules/gethrxtime (Depends-on): Add gettime.
64671
64672 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64673
64674         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
64675         or gettimeofday; no longer needed.
64676
64677 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64678
64679         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
64680         time business.
64681         (gethrxtime) [! (HAVE_NANOUPTIME
64682         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
64683         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
64684         our own approximation.
64685
64686 2005-11-08  Eric Blake  <ebb9@byu.net>
64687
64688         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64689
64690 2005-11-08  Eric Blake  <ebb9@byu.net>
64691
64692         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64693
64694 2005-11-04  Bruno Haible  <bruno@clisp.org>
64695
64696         * gnulib-tool: Implement --update mode.
64697
64698 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64699
64700         Fix porting problem reported by Theodoros V. Kalamatianos.
64701         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
64702         Don't assume that futimes failing means we must fail.
64703
64704 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64705
64706         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
64707         variables to suggest the intended function of the PATH_MAX check.
64708
64709 2005-10-30  Kean Johnston  <jkj@sco.com>
64710
64711         Trivial changes to support SCO systems.
64712         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
64713         as PATH_MAX.
64714         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
64715         where __ptr is null when no I/O is pending.
64716
64717 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
64720         leave errno alone.  Problem reported by Dmitry V. Levin.
64721
64722 2005-10-28  Simon Josefsson  <jas@extundo.com>
64723
64724         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
64725         Test more.
64726
64727         * tests/test-gc-md2.c, tests/test-md2.c: New files.
64728
64729         * modules/md2, modules/md2-tests: New files.
64730
64731 2005-10-28  Simon Josefsson  <jas@extundo.com>
64732
64733         * m4/inet_ntop.m4: More tests.
64734
64735         * m4/gc-md2.m4, md2.m4: New file.
64736
64737 2005-10-28  Simon Josefsson  <jas@extundo.com>
64738
64739         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
64740         "restrict" keywords, as per POSIX.  Protect the function
64741         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
64742         Don't use K&R prototypes.  Check the sprintf return values.
64743         Re-define EAFNOSUPPORT if not present.  Indent.
64744
64745         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
64746         suggested by Bruno Haible <bruno@clisp.org>.
64747
64748         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
64749
64750         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
64751
64752         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
64753         libgcrypt).
64754
64755         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
64756
64757         * lib/md2.h, lib/md2.c: New files.
64758
64759 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
64760
64761         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
64762         errno alone.  Problem reported by Frederic Jolliton.
64763
64764 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64765
64766         * modules/verify (License): Change from GPL to LGPL.  This is a
64767         tiny module and there are apparently near-equivalents that are
64768         under the BSD license.
64769
64770 2005-10-24  Simon Josefsson  <jas@extundo.com>
64771
64772         * modules/sha1: Relicense to LGPL.
64773
64774 2005-10-24  Simon Josefsson  <jas@extundo.com>
64775
64776         * lib/md4.h: Shrink buffer size, now that we changed the type.
64777
64778 2005-10-23  Simon Josefsson  <jas@extundo.com>
64779
64780         * gnulib-tool (func_import): Fix --tests-base.
64781
64782 2005-10-22  Simon Josefsson  <jas@extundo.com>
64783
64784         * modules/arcfour (Depends-on): Need stdint.
64785
64786 2005-10-22  Simon Josefsson  <jas@extundo.com>
64787
64788         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
64789         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
64790
64791 2005-10-22  Simon Josefsson  <jas@extundo.com>
64792
64793         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
64794         suggested by Bruno Haible <bruno@clisp.org>.
64795
64796 2005-10-22  Simon Josefsson  <jas@extundo.com>
64797
64798         * lib/crc.h: Include stddef.h, for size_t.
64799
64800 2005-10-22  Simon Josefsson  <jas@extundo.com>
64801
64802         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
64803         arcfour_context struct (simplify test vector testing in GNU
64804         Shishi).
64805
64806 2005-10-21  Simon Josefsson  <jas@extundo.com>
64807
64808         * modules/des, modules/des-tests: New files.
64809
64810         * modules/gc-des, modules/gc-des-tests: New files.
64811
64812         * tests/test-des.c, tests/test-gc-des.c: New file.
64813
64814 2005-10-21  Simon Josefsson  <jas@extundo.com>
64815
64816         * modules/arctwo, modules/arctwo-tests: New files.
64817
64818         * tests/test-arctwo.c: New file.
64819
64820         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
64821
64822         * tests/test-gc-arctwo.c: New file.
64823
64824 2005-10-21  Simon Josefsson  <jas@extundo.com>
64825
64826         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
64827         Bruno Haible <bruno@clisp.org>.
64828
64829         * m4/gc-des.m4: New file.
64830
64831 2005-10-21  Simon Josefsson  <jas@extundo.com>
64832
64833         * m4/arctwo.m4: New file.
64834
64835         * m4/gc-arctwo.m4: New file.
64836
64837 2005-10-21  Simon Josefsson  <jas@extundo.com>
64838
64839         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
64840         block.
64841
64842 2005-10-21  Simon Josefsson  <jas@extundo.com>
64843
64844         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
64845         <bruno@clisp.org>.
64846
64847         * lib/hmac-sha1.c (hmac_sha1): Likewise.
64848
64849         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
64850         Bruno Haible <bruno@clisp.org>.
64851
64852         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
64853         <bruno@clisp.org>.
64854
64855 2005-10-21  Simon Josefsson  <jas@extundo.com>
64856
64857         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
64858
64859 2005-10-21  Simon Josefsson  <jas@extundo.com>
64860
64861         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
64862
64863 2005-10-21  Simon Josefsson  <jas@extundo.com>
64864
64865         * lib/des.h, lib/des.c: New files.
64866
64867         * lib/gc-gnulib.c: Support DES.c
64868
64869 2005-10-21  Simon Josefsson  <jas@extundo.com>
64870
64871         * lib/arctwo.h, lib/arctwo.c: New files.
64872
64873         * lib/gc-gnulib.c: Support ARCTWO.
64874
64875 2005-10-21  Simon Josefsson  <jas@extundo.com>
64876
64877         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
64878         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64879
64880 2005-10-21  Simon Josefsson  <jas@extundo.com>
64881
64882         * gnulib-tool (func_import, func_create_testdir): Define automake
64883         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
64884         Makefile.am snippet),
64885         suggested by Bruno Haible <bruno@clisp.org>.
64886
64887         * modules/gc (Makefile.am): Use it.
64888
64889 2005-10-21  Bruno Haible  <bruno@clisp.org>
64890
64891         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
64892         patch.
64893
64894 2005-10-19  Simon Josefsson  <jas@extundo.com>
64895
64896         * tests/test-gc-rijndael.c: New file.
64897
64898         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
64899
64900 2005-10-19  Simon Josefsson  <jas@extundo.com>
64901
64902         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
64903         interface too.
64904
64905 2005-10-19  Simon Josefsson  <jas@extundo.com>
64906
64907         * tests/test-gc-arcfour.c: New file.
64908
64909         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
64910
64911 2005-10-19  Simon Josefsson  <jas@extundo.com>
64912
64913         * modules/gc-md4, modules/gc-md4-tests: New file.
64914
64915         * tests/test-gc-md4.c: New file.
64916
64917 2005-10-19  Simon Josefsson  <jas@extundo.com>
64918
64919         * m4/gc-md4.m4: New file.
64920
64921 2005-10-19  Simon Josefsson  <jas@extundo.com>
64922
64923         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
64924         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
64925         <kasal@ucw.cz>.
64926
64927 2005-10-19  Simon Josefsson  <jas@extundo.com>
64928
64929         * m4/gc-arcfour.m4: New file.
64930
64931         * m4/gc-rijndael.m4: New file.
64932
64933 2005-10-19  Simon Josefsson  <jas@extundo.com>
64934
64935         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
64936
64937 2005-10-19  Simon Josefsson  <jas@extundo.com>
64938
64939         * lib/gc-gnulib.c: Support ARCFOUR.
64940
64941 2005-10-19  Simon Josefsson  <jas@extundo.com>
64942
64943         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
64944         support.
64945
64946         * lib/gc.h: Add ECB enum type.
64947
64948         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
64949
64950 2005-10-18  Simon Josefsson  <jas@extundo.com>
64951
64952         * tests/test-md5.c: New file.
64953
64954         * modules/md5-tests: New file.
64955
64956 2005-10-18  Simon Josefsson  <jas@extundo.com>
64957
64958         * tests/test-md4.c: New file.
64959
64960         * modules/md4, modules/md4-tests: New files.
64961
64962 2005-10-18  Simon Josefsson  <jas@extundo.com>
64963
64964         * m4/md4.m4: New file.
64965
64966 2005-10-18  Simon Josefsson  <jas@extundo.com>
64967
64968         * lib/md4.h, lib/md4.c: New files, based on md5.?.
64969
64970 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64971
64972         * gnulib-tool (func_create_testdir): Omit the second check whether
64973         BUILT_SOURCES in nonempty.
64974
64975 2005-10-17  Simon Josefsson  <jas@extundo.com>
64976
64977         * tests/test-rijndael.c: New file.
64978
64979 2005-10-17  Simon Josefsson  <jas@extundo.com>
64980
64981         * modules/sha1: Depend on stdint instead of md5.
64982
64983         * modules/md5: Depend on stdint, remove uint32_t.
64984
64985 2005-10-17  Simon Josefsson  <jas@extundo.com>
64986
64987         * modules/gc-sha1-tests: New file.
64988
64989         * tests/test-gc-sha1.c: New file.
64990
64991 2005-10-17  Simon Josefsson  <jas@extundo.com>
64992
64993         * m4/md5.m4: Remove call to uint32_t.m4.
64994
64995 2005-10-17  Simon Josefsson  <jas@extundo.com>
64996
64997         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64998
64999         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
65000         md5.h.
65001
65002         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
65003
65004         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
65005
65006 2005-10-17  Simon Josefsson  <jas@extundo.com>
65007
65008         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
65009
65010 2005-10-17  Simon Josefsson  <jas@extundo.com>
65011
65012         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
65013
65014 2005-10-17  Simon Josefsson  <jas@extundo.com>
65015
65016         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
65017
65018         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
65019
65020 2005-10-17  Bruno Haible  <bruno@clisp.org>
65021
65022         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
65023         that it can also be used in a test.
65024
65025 2005-10-16  Bruno Haible  <bruno@clisp.org>
65026
65027         * gnulib-tool (func_emit_tests_Makefile_am): Also define
65028         TESTS_ENVIRONMENT, so that individual tests can augment it.
65029
65030         * gnulib-tool (func_create_testdir): Use an intermediate target for
65031         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
65032         macros, like $(ALLOCA_H), which cannot be passed through the command
65033         line.
65034
65035 2005-10-15  Simon Josefsson  <jas@extundo.com>
65036
65037         * modules/rijndael-tests: New file.
65038
65039         * modules/rijndael: New file.
65040
65041 2005-10-15  Simon Josefsson  <jas@extundo.com>
65042
65043         * m4/rijndael.m4: New file.
65044
65045 2005-10-15  Simon Josefsson  <jas@extundo.com>
65046
65047         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
65048
65049         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
65050
65051 2005-10-14  Simon Josefsson  <jas@extundo.com>
65052
65053         * tests/test-arcfour.c: New file.
65054
65055         * modules/arcfour, modules/arcfour-tests: New files.
65056
65057 2005-10-14  Simon Josefsson  <jas@extundo.com>
65058
65059         * m4/arcfour.m4: New file.
65060
65061 2005-10-14  Simon Josefsson  <jas@extundo.com>
65062
65063         * lib/arcfour.h, lib/arcfour.c: New files.
65064
65065 2005-10-14  Roland McGrath  <roland@redhat.com>
65066
65067         Import from libc.  [BZ #1331]
65068         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
65069         macro argument.
65070         Reported by Matej Vela <vela@debian.org>.
65071
65072 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65073
65074         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
65075         include <wchar.h>; no longer needed.
65076
65077 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65078
65079         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
65080
65081 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
65082         and  Ulrich Drepper  <drepper@redhat.com>
65083
65084         Import from libc.
65085         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
65086         instead of inline stream orientation test and two separate
65087         function calls.  Pay no attention to USE_IN_LIBIO.
65088
65089 2005-10-13  Simon Josefsson  <jas@extundo.com>
65090
65091         * modules/gc-hmac-md5-tests: New file.
65092
65093         * tests/test-gc-hmac-sha1.c: New file.
65094
65095         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
65096
65097         * modules/gc-hmac-md5-tests: New file.
65098
65099         * tests/test-gc-md5.c: New file.
65100
65101         * modules/gc-md5-tests: New file.
65102
65103 2005-10-13  Simon Josefsson  <jas@extundo.com>
65104
65105         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
65106         Move memory allocation outside of loop.
65107
65108 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
65109
65110         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
65111         intermediate directory is in a read-only file system.  Problem
65112         reported by Eric Blake.
65113
65114 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
65115
65116         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
65117
65118 2005-10-12  Simon Josefsson  <jas@extundo.com>
65119
65120         * tests/test-hmac-sha1.c: New file.
65121
65122         * modules/hmac-sha1-tests: New file.
65123
65124         * modules/hmac-sha1: New file.
65125
65126 2005-10-12  Simon Josefsson  <jas@extundo.com>
65127
65128         * modules/gc-sha1: New file.
65129
65130 2005-10-12  Simon Josefsson  <jas@extundo.com>
65131
65132         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
65133
65134         * tests/test-gc-pbkdf2-sha1.c: New file.
65135
65136 2005-10-12  Simon Josefsson  <jas@extundo.com>
65137
65138         * modules/gc-md5, modules/gc-hmac-md5: New files.
65139
65140         * modules/gc (Files): Remove md5, memxor and hmac files.
65141
65142 2005-10-12  Simon Josefsson  <jas@extundo.com>
65143
65144         * m4/gc-pbkdf2-sha1.m4: New file.
65145
65146         * m4/gc-hmac-sha1.m4: New file.
65147
65148         * m4/gc-sha1: New file.
65149
65150         * m4/hmac-sha1.m4: New file.
65151
65152 2005-10-12  Simon Josefsson  <jas@extundo.com>
65153
65154         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
65155
65156         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
65157
65158 2005-10-12  Simon Josefsson  <jas@extundo.com>
65159
65160         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
65161         suggested by Bruno Haible <bruno@clisp.org>.
65162
65163 2005-10-12  Simon Josefsson  <jas@extundo.com>
65164
65165         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
65166
65167 2005-10-12  Simon Josefsson  <jas@extundo.com>
65168
65169         * lib/gc-pbkdf2-sha1.c: New file.
65170
65171         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
65172
65173 2005-10-12  Simon Josefsson  <jas@extundo.com>
65174
65175         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
65176
65177         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
65178
65179 2005-10-12  Simon Josefsson  <jas@extundo.com>
65180
65181         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
65182         GC_USE_HMAC_MD5, respectively.
65183
65184         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
65185         (gc_md5): Fix typo.
65186
65187         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
65188
65189         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
65190
65191         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
65192
65193 2005-10-12  Bruno Haible  <bruno@clisp.org>
65194
65195         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
65196         Reported by Stepan Kasal <kasal@ucw.cz>.
65197
65198 2005-10-11  Simon Josefsson  <jas@extundo.com>
65199
65200         * tests/test-crc.c: New file.
65201
65202         * modules/crc, modules/crc-tests: New files.
65203
65204 2005-10-11  Simon Josefsson  <jas@extundo.com>
65205
65206         * m4/crc.m4: New file.
65207
65208 2005-10-11  Simon Josefsson  <jas@extundo.com>
65209
65210         * lib/gc.h: Add gc_hash and gc_hash_buffer.
65211
65212         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
65213
65214         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
65215
65216 2005-10-11  Simon Josefsson  <jas@extundo.com>
65217
65218         * lib/crc.h, lib/crc.c: New files.
65219
65220         * lib/gc.h (gc_hash_buffer): Add doc.
65221
65222 2005-10-11  Bruno Haible  <bruno@clisp.org>
65223
65224         * modules/c-strcasestr: New file.
65225         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
65226
65227 2005-10-11  Bruno Haible  <bruno@clisp.org>
65228
65229         * modules/c-strcase: New file.
65230         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
65231
65232 2005-10-11  Bruno Haible  <bruno@clisp.org>
65233
65234         * lib/strcasecmp.c: Include limits.h.
65235         (strcasecmp): Avoid integer overflow on exotic platforms.
65236         * lib/strncasecmp.c: Include limits.h.
65237         (strncasecmp): Avoid integer overflow on exotic platforms.
65238         Reported by Paul Eggert.
65239
65240 2005-10-11  Bruno Haible  <bruno@clisp.org>
65241
65242         * lib/c-strcasestr.h: New file, from GNU gettext.
65243         * lib/c-strcasestr.c: New file, from GNU gettext.
65244
65245 2005-10-11  Bruno Haible  <bruno@clisp.org>
65246
65247         * lib/c-strcase.h: New file, from GNU gettext.
65248         * lib/c-strcasecmp.c: New file, from GNU gettext.
65249         * lib/c-strncasecmp.c: New file, from GNU gettext.
65250
65251 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65252
65253         * modules/mempcpy (License): GPL -> LGPL.
65254         * modules/strchrnul (License): Likewise.
65255         * modules/sysexits (License): Likewise.
65256
65257 2005-10-08  Simon Josefsson  <jas@extundo.com>
65258
65259         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
65260
65261 2005-10-07  Simon Josefsson  <jas@extundo.com>
65262
65263         * m4/memxor.m4: Remove gl_C_RESTRICT call.
65264
65265 2005-10-06  Simon Josefsson  <jas@extundo.com>
65266
65267         * tests/test-hmac-md5.c: New file.
65268
65269         * modules/hmac-md5-tests: New file.
65270
65271         * modules/hmac-md5: New file.
65272
65273 2005-10-06  Simon Josefsson  <jas@extundo.com>
65274
65275         * m4/hmac-md5.m4: New file.
65276
65277         * m4/memxor.m4: Require gl_C_RESTRICT.
65278
65279 2005-10-06  Simon Josefsson  <jas@extundo.com>
65280
65281         * lib/memxor.c (memxor): Avoid casts and warnings.
65282
65283 2005-10-06  Simon Josefsson  <jas@extundo.com>
65284
65285         * lib/hmac-md5.c: New file.
65286
65287         * lib/hmac.h: New file.
65288
65289 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
65290
65291         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
65292         promotes to int, not unsigned int, to catch the AIX 5.3
65293         compiler bug.
65294
65295 2005-10-05  Simon Josefsson  <jas@extundo.com>
65296
65297         * modules/memxor: New file.
65298
65299         * modules/iconv (Files): Move config.rpath to havelib, it is used
65300         there.
65301
65302         * modules/havelib (Files): Add config.rpath.
65303
65304 2005-10-05  Simon Josefsson  <jas@extundo.com>
65305
65306         * m4/memxor.m4: New file.
65307
65308 2005-10-05  Simon Josefsson  <jas@extundo.com>
65309
65310         * lib/memxor.c (memxor): Fix compiler error.
65311
65312         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
65313         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
65314
65315         * lib/memxor.h, lib/memxor.c: New files.
65316
65317         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
65318         we assume all systems have it, suggested by Jim Meyering
65319         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
65320         any systems lack sys/socket.h; mingw32 is known to lack it, but we
65321         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
65322         same reasons.
65323
65324 2005-10-05  Simon Josefsson  <jas@extundo.com>
65325
65326         * config/srclist.txt: Add glibc bug 1423 for md5.h.
65327
65328 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65329
65330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
65331         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
65332         needed, since the source code now assumes these .h files.
65333
65334 2005-10-05  Derek Price  <derek@ximbiot.com>
65335
65336         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
65337
65338 2005-10-05  Bruno Haible  <bruno@clisp.org>
65339
65340         * modules/stdint (License): Change to LGPL.
65341
65342 2005-10-04  Simon Josefsson  <jas@extundo.com>
65343
65344         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
65345         D. Baushke" <mdb@gnu.org>.
65346
65347 2005-10-04  Bruno Haible  <bruno@clisp.org>
65348
65349         * lib/verify.h (verify_true): Provide alternative definition for C++.
65350
65351 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65352
65353         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
65354         (SSIZE_MAX): New macro, if not already defined.
65355         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
65356         than 2 GiB.
65357
65358 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65359
65360         Sync from coreutils.
65361         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
65362         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
65363         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
65364         ULLONG_MAX doesn't work with 2.7.2.1.
65365
65366 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65367
65368         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
65369         From Ben Pfaff.
65370
65371         * modules/exclude (Depends-on): Depend on verify.
65372         * modules/strtoimax (Depends-on): Likewise.
65373         * modules/utimecmp (Depends-on): Likewise.
65374
65375 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65376
65377         * lib/exclude.c: Include verify.h.
65378         (verify): Remove.  All callers changed to use verify.h's version.
65379         * lib/strtoimax.c: Likewise.
65380         * lib/utimecmp.c: Likewis.e
65381
65382         Sync from coreutils.
65383         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
65384         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
65385         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
65386         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
65387         bother returning ENOSYS if settimeofday or stime fails; just let
65388         them return whatever errno they want to return.
65389         * lib/utimens.c: Include unistd.h, for dup2.
65390         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
65391         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
65392
65393 2005-10-02  Jim Meyering  <jim@meyering.net>
65394
65395         Sync from coreutils.
65396         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
65397         from glibc-2.2.5 that fails for read-only files.
65398
65399 2005-10-02  Jim Meyering  <jim@meyering.net>
65400
65401         Sync from coreutils.
65402         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
65403         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
65404         `#if HAVE_CONFIG_H'.
65405         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
65406         Remove AT_FDCWD test.
65407         Do not consume the fd unless successful.
65408         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
65409         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
65410         block, so that we don't even try to compile it if settimeofday is
65411         available.  This works around a compilation failure on OSF1 V5.1,
65412         due to stime requiring a `long int*' while tv_sec is `int'.
65413
65414 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
65415
65416         Sync from coreutils.
65417         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
65418         against `yes', rather than just testing for nonempty.
65419
65420 2005-10-01  Simon Josefsson  <jas@extundo.com>
65421
65422         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
65423         and Darwin.
65424
65425         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
65426         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
65427         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
65428         freeaddrinfo and gai_strerror are declared by the POSIX headers.
65429         Check if struct addrinfo is declared.
65430
65431 2005-10-01  Simon Josefsson  <jas@extundo.com>
65432
65433         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
65434         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
65435         AI_* and EAI_* definitions.  Protect function declarations.
65436
65437 2005-10-01  Jim Meyering  <jim@meyering.net>
65438
65439         Sync from coreutils.
65440
65441         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
65442         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
65443         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
65444         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65445         in the inet and nsl libraries.  Required on Solaris 5.7.
65446
65447 2005-10-01  Jim Meyering  <jim@meyering.net>
65448
65449         Sync from coreutils.
65450         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65451         in the inet and nsl libraries.  Required on Solaris 5.7.
65452
65453 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
65454
65455         * lib/getdelim.c (getdelim): Remove unused variables.
65456
65457 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65458
65459         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
65460         so that the code works even with ancient cpp.  Portability problem
65461         with GCC 2.7.2.1 reported by Thomas M.Ott.
65462
65463 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65464
65465         * modules/regex (Depends-on): Add strcase.
65466
65467         * modules/gethostname (Licence): Change from GPL to LGPL, since
65468         gethostname.c is a trivial implementation of a standard library
65469         function.
65470         * modules/poll (License): Change from GPL to LGPL, since it's
65471         derived from LGPL code.
65472
65473 2005-09-27  Jim Meyering  <jim@meyering.net>
65474
65475         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
65476         HAVE_CONFIG_H.
65477
65478         * lib/intprops.h (signed_type_or_expr__): Define.
65479         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
65480         for unsigned types.
65481
65482 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65483
65484         * lib/verify.h (verify_expr): Remove, replacing with:
65485         (verify_true): New macro that returns true instead of void.
65486         (verify_type__): Remove.
65487         (verify): Use verify_true rather than verify_type__.
65488
65489 2005-09-26  Bruno Haible  <bruno@clisp.org>
65490
65491         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
65492         is necessary.
65493         (lib_SOURCES): Remove mbchar.c.
65494         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
65495         (Files): Add m4/mbrtowc.m4.
65496         * modules/mbiter: Likewise.
65497         * modules/mbuiter: Likewise.
65498
65499 2005-09-26  Bruno Haible  <bruno@clisp.org>
65500
65501         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
65502         compile mbchar.c if they are not both present.
65503         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
65504         * m4/mbiter.m4 (gl_MBITER): Likewise.
65505         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
65506         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
65507         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
65508
65509 2005-09-25  Jim Meyering  <jim@meyering.net>
65510
65511         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
65512         also uses socklen_t.
65513
65514 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
65515
65516         * lib/utimens.c (ENOSYS): Define if not already defined.
65517         (futimens): Support having a null PATH if the file descriptor
65518         is nonnegative.
65519
65520         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
65521         Remove.
65522         (__attribute): Define to empty unless GCC 3.1 or later.
65523         This works around a core dump on OpenBSD 3.4, which has GCC
65524         2.95.3, which dumps core when given __attribute__(()).  It also
65525         simplifies other tests, since we really don't want to bother with
65526         worrying about which ancient version of GCC supported what.
65527         Original problem reported by Yoann Vandoorselaere, with part of
65528         the fix suggested by Derek Price.
65529
65530 2005-09-24  Jim Meyering  <jim@meyering.net>
65531
65532         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
65533         so we can once again use a positive bitfield width of 1 -- now we
65534         don't have to explain why we were using a bitfield width of 2.
65535
65536 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65537
65538         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
65539         and similarly for the other external symbols.  Problem reported
65540         by James Gallager.
65541
65542         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
65543         bug reported by Jim Meyering.
65544
65545         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
65546         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
65547         not needed, since socklen is a prerequisite module.
65548
65549 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65550
65551         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
65552         Problem reported by Eric Blake.
65553         (getaddrinfo): Initialize se so that it's not garbage.
65554         Redo internal storage allocation so that it doesn't make unportable
65555         assumptions about alignment.
65556         Fix a memory leak.
65557
65558         * lib/utimens.c (futimens): Use futimesat if available.
65559         Prefer it to futimes since it doesn't have the futimes bug.
65560
65561         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
65562         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
65563         Instead, declare a function that returns a pointer to an array,
65564         and use verify_type__ to declare the size of the array.
65565         Problem and germ of a solution reported by Bruno Haible.
65566         (verify_type__): Use 2, not 1, for bitfield size, to avoid
65567         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
65568
65569 2005-09-23  Jim Meyering  <jim@meyering.net>
65570
65571         Sync from coreutils.
65572         Correct build failure (socklen_t not defined) on at least
65573         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
65574         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
65575
65576 2005-09-23  Jim Meyering  <jim@meyering.net>
65577
65578         * modules/getaddrinfo (Depends-on): Add socklen.
65579
65580 2005-09-23  Bruno Haible  <bruno@clisp.org>
65581
65582         * tests/test-verify.c: New file.
65583
65584 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65585
65586         Sync from coreutils.
65587
65588         * modules/argmatch (Depends-on): Add verify.
65589         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
65590         unistd-safer.
65591         * modules/save-cwd (Depends-on): Likewise.
65592
65593         * modules/openat (Files): Add lib/openat-die.c.
65594         (Depends-on): Remove error, exitfail.
65595         Add dirname.
65596
65597         * modules/verify: New file.
65598         * MODULES.html.sh (Diagnostics <assert.h>): New section,
65599         with "verify" module.
65600
65601 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65602
65603         Sync from coreutils.
65604
65605         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
65606         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
65607         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
65608         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
65609         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
65610         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
65611         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
65612         Don't bother checking for string.h, stdlib.h, unistd.h.
65613         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
65614         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
65615         module's job.
65616         * m4/jm-macros.m4 (gl_MACROS): Likewise.
65617         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
65618
65619         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
65620         (gl_GETDATE): Use it.
65621
65622         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
65623
65624 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65625
65626         Sync from coreutils.
65627
65628         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
65629         stat-time.h.
65630         * lib/argmatch.h: Include verify.h
65631         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
65632         (ARGMATCH_ASSERT): Remove; unused.
65633         * lib/canonicalize.c: Assume STDC_HEADERS.
65634         * lib/exclude.c: Include "strcase.h".
65635         * lib/regex_internal.h [!defined _LIBC]: Likewise.
65636         * lib/getusershell.c: Include stdio--.h rather than stdio.h
65637         and stdio-safer.h.
65638         (getusershell): Call fopen, not fopen_safer.
65639         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
65640         Do not include unistd-safer.h.
65641         (save_cwd): Don't call fd_safer; no longer needed
65642         now that we include fcntl--.h.
65643
65644         * lib/getdate.y (relative_time): New type.
65645         (RELATIVE_TIME_0): New constant.
65646         (parser_control): Use relative_time instead of doing it ourselves.
65647         (%union): Add new relative_time rel member.
65648         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
65649         Now typeless.
65650         (relunit, relunit_snumber): Now of type rel.
65651         (zone, rel, relunit, get_date): Adjust to above changes.
65652
65653         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
65654         Do not include unistd-safer.h.
65655         (getloadavg): Don't call fd_safer; no longer needed
65656         now that we include fcntl--.h.
65657
65658         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
65659         (make_dir_parents): Treat ENOSYS like EEXIST.
65660
65661         Improve quality of diagnostics on restore_cwd failure.
65662         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
65663         (make_dir_parents): Last arg is now int * (for errno), not bool *.
65664         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
65665         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
65666         each time through the loop.  Do not diagnose restore_cwd failure;
65667         that is the caller's job (and perhaps the caller does not care).
65668
65669         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
65670         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
65671         If the file already exists but is not a directory, don't bother
65672         to try to make its parents.
65673         Close potential file descriptor leak if we can't chdir("/") (!).
65674         Don't always return true if chdir($PWD) fails; return true only
65675         if the requested action was done successfully (except for the
65676         chdir($PWD)).
65677         Don't log final directory unless we actually made it.
65678         Refactor to avoid duplicate code to fix up permissions.
65679         Don't attempt to fix up parent permissions if chdir($PWD) fails.
65680
65681         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
65682         to make it a bit faster and (I hope) clearer.
65683         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
65684         Fix bug in formats like %2N.
65685
65686         * lib/verify.h: New file.
65687
65688 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65689
65690         Sync from coreutils.
65691         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
65692
65693 2005-09-22  Jim Meyering  <jim@meyering.net>
65694
65695         Sync from coreutils.
65696
65697         * m4/lstat.m4 (gl_FUNC_LSTAT):
65698         Use AC_LIBSOURCES to require lstat.c and lstat.h.
65699         Remove obsolete comment.
65700         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
65701         * m4/xstrtod.m4: Likewise.
65702
65703         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
65704
65705 2005-09-22  Jim Meyering  <jim@meyering.net>
65706
65707         Sync from coreutils.
65708
65709         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
65710
65711         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
65712         the .tm_year member, since otherwise gcc-4.0 would now warn about
65713         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
65714
65715         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
65716         order to avoid an unsuppressible warning from gcc on 64-bit systems.
65717
65718         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
65719         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
65720         when run in a time zone for which daylight savings time is in effect
65721         for the starting date.
65722
65723         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
65724         stop us from restricting permissions of just-created absolute-named
65725         directories.
65726         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
65727         to restore initial working directory.
65728         * lib/mkdir-p.c (make_dir_parents): New parameter:
65729         different_working_dir, to tell caller if/when we change the working
65730         directory and are unable to return to the initial one.
65731         * lib/mkdir-p.h (make_dir_parents): Update prototype.
65732         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
65733         `return false'.  This fixes a bug introduced on 2004-07-30.
65734
65735         * lib/openat.c (fdopendir): Be sure to close the supplied
65736         file descriptor before returning.  This makes our replacement
65737         implementation a little closer to Solaris's, where fdopendir
65738         ties the file descriptor to the returned DIR* pointer.
65739         * lib/openat.c (unlinkat): New function.
65740         * lib/openat.h (unlinkat): Add prototype.
65741         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
65742         (openat_restore_fail): Rename from openat_restore_die.
65743         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
65744
65745         Provide an alternative to exiting immediately upon save_cwd or
65746         restore_cwd failure.  Now, an application can arrange e.g.,
65747         to perform a longjump in that case.
65748         * lib/openat.c: Include dirname.h.
65749         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
65750         (rpl_openat, fdopendir, fstatat): Call openat_save_die
65751         and openat_restore_die rather than calling error directly.
65752         Don't include "error.h" or "exitfail.h"; they're no longer needed.
65753
65754         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
65755         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
65756         define.
65757
65758         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
65759         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
65760                             int utc, int nanoseconds);
65761         Background:
65762         date should not have to allocate a megabyte of virtual memory to
65763         handle a format argument like +%1048575T.  When implemented with
65764         strftime, it must allocate such a buffer, use strftime to fill it
65765         in, print it, then free it.
65766         With fprintftime, it simply prints everything and exits.
65767         With no need for memory allocation, that's one fewer way to fail.
65768         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
65769         optional field width, not before, so we accept %9:z, not %:9z.
65770         (my_strftime): Be sure to use L_('x') for literals.
65771
65772         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
65773         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
65774         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
65775         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
65776         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
65777         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
65778         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
65779         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
65780         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
65781         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
65782         * lib/xgethostname.c, lib/xreadlink.c:
65783         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
65784
65785         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
65786         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
65787         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
65788         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65789         and don't include <sys/file.h>).
65790
65791 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
65792
65793         Sync from coreutils.
65794
65795         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
65796         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
65797         [!LDAV_DONE]: Avoid unused variable warning.
65798
65799 2005-09-21  Bruno Haible  <bruno@clisp.org>
65800
65801         * lib/unicodeio.h (unicode_to_mb): New declaration.
65802
65803 2005-09-20  Derek Price  <derek@ximbiot.com>
65804
65805         * lib/getaddrinfo.c: Don't include <netdb.h> included from
65806         getaddrinfo.h.
65807
65808 2005-09-20  Bruno Haible  <bruno@clisp.org>
65809
65810         * gnulib-tool: Remove trailing slashes from the values specified for
65811         --source-base, --m4-base, --tests-base, --aux-dir.
65812         Suggested by Simon Josefsson <jas@extundo.com>.
65813
65814 2005-09-20  Bruno Haible  <bruno@clisp.org>
65815
65816         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
65817         func_modules_to_filelist, func_import, func_create_testdir): Make all
65818         sorting results locale-independent, so that gnulib-cache.m4 doesn't
65819         change when gnulib-tool is invoked in a different locale.
65820
65821 2005-09-19  Simon Josefsson  <jas@extundo.com>
65822
65823         * m4/socklen.m4: Fix typo.
65824
65825 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65826
65827         Use a consistent style for including <config.h>.
65828         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
65829         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
65830         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
65831         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
65832         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
65833         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
65834         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
65835         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
65836         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
65837         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
65838         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
65839         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
65840         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
65841         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
65842         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
65843         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
65844         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
65845         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
65846         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
65847         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
65848         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
65849         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
65850         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
65851         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
65852         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
65853         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
65854         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
65855         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
65856         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
65857         lib/xstrtoumax.c, lib/yesno.c:
65858         Standardize inclusion of config.h.
65859         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
65860         lib/inttostr.h:  Removed inclusion of config.h from header files.
65861         * lib/inttostr.c:  Adjusted in-tree users.
65862         * lib/timespec.h: Remove superfluous warning to include config.h.
65863         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
65864         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
65865         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
65866         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
65867         config.h with HAVE_CONFIG_H.
65868
65869 2005-09-19  Jim Meyering  <jim@meyering.net>
65870
65871         * modules/pathmax (License): Change to LGPL.
65872
65873 2005-09-19  Derek Price  <derek@ximbiot.com>
65874
65875         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
65876
65877 2005-09-19  Bruno Haible  <bruno@clisp.org>
65878
65879         * gnulib-tool (import): Provide default for --tests-base.
65880
65881 2005-09-19  Bruno Haible  <bruno@clisp.org>
65882
65883         * doc/quote.texi: New file, extracted from gnulib.texi.
65884         * doc/ctime.texi: New file, extracted from gnulib.texi.
65885         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
65886         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
65887         * doc/gnulib.texi: Include them.
65888
65889 2005-09-18  Bruno Haible  <bruno@clisp.org>
65890
65891         Portability fix.
65892         * gnulib-tool (func_readlink): New function.
65893         (func_ln_if_changed): Use it.
65894
65895 2005-09-18  Bruno Haible  <bruno@clisp.org>
65896
65897         * gnulib-tool: Support --with-tests also with --import.
65898         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
65899         (func_import): Use variables $testsbase and $inctests. Emit a
65900         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
65901         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
65902         SUBDIRS += $testsdir.
65903         (func_create_testdir): Update.
65904
65905 2005-09-18  Bruno Haible  <bruno@clisp.org>
65906
65907         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
65908         instead of $dry_run.
65909         (func_cp_if_changed, func_mv_if_changed): Remove functions.
65910         (func_ln_if_changed): Don't handle dry-run here.
65911         (func_import): In dry-run mode, detect more precisely which actions
65912         would be performed, and don't use "...ing" verbs.
65913
65914 2005-09-18  Bruno Haible  <bruno@clisp.org>
65915
65916         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
65917         (func_import): Use join on two temporary files instead of three nested
65918         loops, in order to determine which files are new or old.
65919
65920 2005-09-18  Bruno Haible  <bruno@clisp.org>
65921
65922         * gnulib-tool (func_import): Comment out code that spits out the
65923         new files with --dry-run.
65924
65925 2005-09-18  Bruno Haible  <bruno@clisp.org>
65926
65927         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
65928
65929 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65930
65931         * lib/stat-time.h: New file.
65932         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
65933         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
65934         in a different way.
65935         (timespec_cmp): New function.
65936         * lib/utimecmp.c: Include stat-time.h.
65937         (SYSCALL_RESOLUTION): Depend on whether various struct stat
65938         members exist, not on the obsolescent ST_MTIM_NSEC.
65939         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
65940
65941 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65942
65943         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
65944
65945 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65946
65947         * MODULES.html.sh (File system functions): Add stat-time.
65948         * modules/stat-time: New file.
65949         * modules/timespec (Files): Remove m4/st_mtim.m4; this
65950         is now done in a different way, by the stat-time module.
65951         * modules/utimecmp (Depends-on): Add stat-time.
65952
65953 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65954
65955         * m4/st_mtim.m4: Remove.  Superseded by...
65956         * m4/stat-time.m4: New file.
65957         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
65958         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
65959
65960 2005-09-15  Derek Price  <derek@ximbiot.com>
65961
65962         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
65963
65964 2005-09-15  Derek Price  <derek@ximbiot.com>
65965
65966         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
65967         * lib/regex_internal.c: Ditto, using this...
65968         (__GNUC_PREREQ): ...new macro.
65969         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
65970         using...
65971         (__GNUC_PREREQ): ...this new macro.
65972
65973         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65974
65975 2005-09-15  Derek Price  <derek@ximbiot.com>
65976             Paul Eggert  <eggert@cs.ucla.edu>
65977
65978         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65979         changes, consolidating in...
65980         * lib/regex_internal.h: ...this file.
65981
65982 2005-09-13  Jim Meyering  <jim@meyering.net>
65983
65984         * lib/canon-host.c: Filter through gnu indent and reword comments
65985         slightly.
65986         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65987
65988 2005-09-13  Derek Price  <derek@ximbiot.com>
65989
65990         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65991         failure.
65992         Reported by Jim Meyering  <jim@meyering.net>.
65993
65994 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65995
65996         * lib/base64.c: Typo.
65997         (base64_encode): Put b64str in initialized data section.
65998
65999 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
66000
66001         Merge glibc and coreutils changes into gnulib, plus a few
66002         extra fixes.
66003         * lib/md5.c: Use #error rather than a string.
66004         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
66005         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
66006         (__attribute__): Define to empty for non recent-GCC.
66007         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
66008         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
66009         Renamed from their non-__ counterparts, with new macros replacing
66010         them if not _LIBC.  Add __THROW attribute.
66011         (rol): Remove.
66012         (struct md5_ctx): Align buffer if using GCC.
66013         * lib/sha1.h (struct sha1_ctx): Likewise.
66014         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
66015         The old name was backwards.
66016         (NOTSWAP): Remove; not used.
66017         (rol): New macro, moved here from md5.h.
66018         (sha1_process_block): Remove a FIXME that doesn't make sense.
66019
66020 2005-09-12  Derek Price  <derek@ximbiot.com>
66021
66022         Return usable errors from canon-host.
66023         * lib/canon-host.h: New file.
66024         * lib/canon-host.c (canon_host): Wrap...
66025         (canon_host_r): ...this new function, which now relies exclusively on
66026         getaddrinfo.
66027         (ch_strerror): New function.
66028         (last_cherror): New global.
66029         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
66030         interface.
66031         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
66032         void *.
66033         (freeaddrinfo): Free ai->ai_canonname when set.
66034
66035 2005-09-12  Derek Price  <derek@ximbiot.com>
66036
66037         Make canon-host require getaddrinfo.
66038         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
66039         AC_LIBSOURCE canon-host.h.  Call...
66040         (gl_PREREQ_CANON_HOST): ...this new function, which requires
66041         gl_GETADDRINFO.
66042         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
66043
66044 2005-09-12  Derek Price  <derek@ximbiot.com>
66045
66046         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
66047         LGPL.
66048         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
66049
66050 2005-09-12  Derek Price  <derek@ximbiot.com>
66051
66052         * lib/gai_strerror.c: Include config.h when available.  Include
66053         getaddrinfo.h before other headers to test interface.
66054         Reported by Larry Jones <lawrence.jones@ugs.com>.
66055
66056 2005-09-12  Derek Price  <derek@ximbiot.com>
66057             Paul Eggert  <eggert@cs.ucla.edu>
66058
66059         * modules/glob (Files): Add glob-libc.h.
66060
66061 2005-09-12  Derek Price  <derek@ximbiot.com>
66062             Paul Eggert  <eggert@cs.ucla.edu>
66063
66064         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
66065         glob_.h, glob-libc.h.
66066         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
66067
66068 2005-09-12  Derek Price  <derek@ximbiot.com>
66069             Paul Eggert  <eggert@cs.ucla.edu>
66070
66071         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
66072         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
66073         protecting things that should be done only in gnulib contexts.
66074         * lib/glob_.h: New file, containing only the glob things needed for
66075         gnulib.
66076         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
66077         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
66078         (glob, globfree, glob_pattern_p): Now defined simply in terms of
66079         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
66080         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
66081         and to respect the namespace rules better.
66082
66083 2005-09-08  Simon Josefsson  <jas@extundo.com>
66084
66085         * modules/socklen: New file.
66086
66087 2005-09-08  Simon Josefsson  <jas@extundo.com>
66088
66089         * m4/socklen.m4: New file.
66090
66091 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66092
66093         * modules/utimens (Files): Add m4/utimbuf.m4, since
66094         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
66095         Reported by Sergey Poznyakoff.
66096
66097 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
66100         definitions, since that's the preferred style in glibc.
66101         Fix a minor spacing issue, and update copyright notice to match
66102         glibc's.
66103
66104 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66105
66106         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
66107
66108 2005-09-06  Simon Josefsson  <jas@extundo.com>
66109
66110         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
66111         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
66112
66113 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66114
66115         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
66116         warning.
66117
66118 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66119
66120         * config/srclist.txt: Add glibc bug 1302.
66121
66122 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
66123
66124         Change bitset word type from unsigned int to unsigned long int,
66125         as this has better performance on typical 64-bit hosts.
66126         Port bitset code to hosts with unusual word sizes.
66127         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
66128         (build_collating_symbol):
66129         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
66130         argument is a bitset.  This is merely a style issue, but it makes
66131         it clearer that an entire array is expected.
66132         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
66133         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
66134         Port to the case where bitset_word is not the same as unsigned int.
66135         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66136         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
66137         Likewise.
66138         * lib/regexec.c (check_dst_limits_calc_pos_1,
66139         check_subexp_matching_top):
66140         (build_trtable, group_nodes_into_DFAstates):
66141         Likewise.
66142         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
66143         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
66144         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
66145         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
66146         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
66147         * lib/regcomp.c (optimize_subexps, lower_subexp):
66148         Work even if bitset_word has holes in its bitwise representation.
66149         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
66150         * lib/regexec.c (check_dst_limits_calc_pos_1,
66151         check_subexp_matching_top):
66152         Likewise.
66153         * lib/regex_internal.c (re_string_reconstruct):
66154         Don't assume UCHAR_MAX == 255.
66155         * lib/regex_internal.h (bitset_set_all): Likewise.
66156         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
66157         All uses changed.
66158         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
66159         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
66160         All uses changed.
66161         (BITSET_WORD_MAX): New macro.
66162         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
66163         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
66164         (bitset_empty, bitset_copy):
66165         Prefer sizeof (bitset) to multiplying it out ourselves.
66166         (bitset_not_merge): Remove; unused.
66167         (bitset_contain): Return bool, not unsigned int with one bit on.
66168         All callers changed.
66169         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
66170         alignment than re_node_set; do this by defining a new internal
66171         type struct dests_alloc and using it to allocate memory.
66172
66173 2005-09-05  Bruno Haible  <bruno@clisp.org>
66174
66175         * gnulib-tool (func_import): Fix comparison in handling of symbolic
66176         links.
66177
66178 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
66179
66180         * modules/size_max (Makefile.am): Add size_max.h
66181
66182 2005-09-04  Derek Price  <derek@ximbiot.com>
66183
66184         * gnulib-tool (func_import): Fix reversed $symbolic logic.
66185
66186 2005-09-03  Simon Josefsson  <jas@extundo.com>
66187
66188         * gnulib-tool: Fix typo.
66189
66190 2005-09-03  Simon Josefsson  <jas@extundo.com>
66191
66192         * config/srclist.txt: Add glibc bug 1293.
66193
66194 2005-09-03  Derek Price  <derek@ximbiot.com>
66195
66196         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
66197         From Larry Jones <lawrence.jones@ugs.com>.
66198
66199 2005-09-02  Simon Josefsson  <jas@extundo.com>
66200
66201         * modules/socklen: New file.
66202
66203 2005-09-02  Simon Josefsson  <jas@extundo.com>
66204
66205         * modules/havelib: New module.
66206
66207         * modules/gettext, modules/iconv, modules/lock, modules/readline:
66208         Use havelib.
66209
66210 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66211
66212         Check for arithmetic overflow when calculating sizes, to prevent
66213         some buffer-overflow issues.  These patches are conservative, in the
66214         sense that when I couldn't determine whether an overflow was possible,
66215         I inserted a run-time check.
66216         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
66217         macros.
66218         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
66219         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
66220         (re_xnrealloc, re_x2nrealloc): New inline functions.
66221         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
66222         parse_bracket_exp):
66223         (build_equiv_class, build_charclass): Check for arithmetic overflow
66224         in size expression calculations.
66225         * lib/regex_internal.c (re_string_realloc_buffers):
66226         (build_wcs_upper_buffer, re_node_set_add_intersect):
66227         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
66228         (re_dfa_add_node, register_state): Likewise.
66229         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
66230         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
66231         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
66232         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
66233
66234 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66235
66236         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
66237         m4/ulonglong.m4.  Problem reported by Martin Lambers.
66238
66239 2005-09-02  Bruno Haible  <bruno@clisp.org>
66240
66241         Support for lib vs. lib64 distinction on biarch platforms.
66242         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
66243         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
66244         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
66245
66246 2005-09-02  Bruno Haible  <bruno@clisp.org>
66247
66248         * gnulib-tool (import): In the other first-use case, provide defaults
66249         as well.
66250
66251 2005-09-02  Bruno Haible  <bruno@clisp.org>
66252
66253         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
66254         patches not yet found in the latest gettext release.
66255
66256 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66257
66258         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
66259         to avoid a collision with bits/local_lim.h in glibc.
66260         All uses changed.  Problem reported by Dmitry V. Levin in
66261         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
66262
66263         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
66264         bugs in int versus size_t comparisons.
66265         (re_string_context_at): Fix bug where the code assumed that
66266         Idx is signed.
66267
66268         Use bool where appropriate.
66269         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
66270         All callers changed.
66271         (calc_eclosure_iter): Likewise, for ROOT arg.
66272         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
66273         (build_charclass_op): Likewise, for NON_MATCH arg.
66274         * lib/regex_internal.c (re_string_allocate, re_string_construct):
66275         (re_string_construct_common): Likewise, for ICASE arg.
66276         * lib/regexec.c (re_search_2_stub, re_search_stub):
66277         Likewise, for RET_LEN arg.
66278         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
66279         (set_regs): Likewise, for FL_BACKTRACK arg.
66280         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
66281         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
66282         (calc_eclosure_iter, parse_bracket_exp):
66283         Use bool for internal variables that are booleans.
66284         * lib/regexec.c (re_search_internal, check_matching,
66285         proceed_next_node):
66286         (set_regs, build_sifted_states, sift_states_bkref):
66287         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
66288         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66289         (find_collation_sequence_value):
66290         Likewise.
66291         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
66292         (re_node_set_compare):
66293         Return bool, not int. All callers changed.
66294         * lib/regexec.c (check_halt_node_context, check_dst_limits):
66295         (build_trtable, check_node_accept): Likewise.
66296         * lib/regex_internal.h: Include stdbool.h.
66297
66298         Fix bugs uncovered when converting to bool.
66299         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
66300         failure instead of charging ahead blindly.
66301         * lib/regex_internal.c (register_state): Likewise.
66302         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
66303         for freeing internal storage.
66304         (group_nodes_into_DFA_states): Use unsigned int, not int, for
66305         bitset pieces used as boolean, to avoid undefined behavior
66306         on hosts that do int overflow checking.
66307
66308 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66309
66310         * config/srclist.txt: Add glibc bugs 1285-1287.
66311
66312 2005-09-01  Jim Meyering  <jim@meyering.net>
66313
66314         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
66315         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
66316         Require gl_STAT_MACROS, too.
66317
66318 2005-09-01  Bruno Haible  <bruno@clisp.org>
66319
66320         * gnulib-tool (import): In the first-use case, provide defaults.
66321
66322 2005-09-01  Bruno Haible  <bruno@clisp.org>
66323
66324         * gnulib-tool (func_import): Remove the .tmp files.
66325
66326 2005-09-01  Bruno Haible  <bruno@clisp.org>
66327
66328         * gnulib-tool (func_import): Fix handling of symbolic links.
66329
66330 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
66333         old glibc regex code mishandles strings longer than 2**31 bytes.
66334         This patch fixes this when the regex code is used in gnulib
66335         (i.e., outside glibc).
66336
66337         This patch should not affect the use of the regex code inside
66338         glibc.  No doubt this problem also needs to be handled for glibc
66339         as well, but the result will be an incompatible change to the
66340         glibc ABI, and the old ABI will have to be supported too.  That
66341         can be the the subject for another patch.
66342
66343         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
66344         governing whether the rest of this patch is active.  By default,
66345         the macro is disabled and the patch has no effect.
66346         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
66347         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
66348         (struct re_pattern_buffer, re_search, re_search_2, re_match):
66349         (re_match_2, re_set_registers): Use the new types.
66350         * lib/regex_internal.h (Idx, re_hashval_t): New types.
66351         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
66352         New macros.
66353         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
66354         (re_string_context_at, bin_tree_t, re_dfastate_t):
66355         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
66356         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
66357         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
66358         (re_string_char_size_at, re_string_wchar_at):
66359         (re_string_elem_size_at):
66360         Use the new types and macros to port to 64-bit hosts.
66361         Use unsigned types for internal values, so that the code
66362         mostly works even for arrays larger than SSIZE_MAX.
66363         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
66364         (search_duplicated_node, calc_eclosure_iter, fetch_number):
66365         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
66366         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
66367         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
66368         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
66369         (calc_inveclosure, parse_dup_op, build_range_exp):
66370         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
66371         (fetch_number, create_token_tree, mark_opt_subexp):
66372         Likewise.
66373         * lib/regex_internal.c (re_string_construct_common,
66374         create_ci_newstate):
66375         (create_cd_newstate, re_string_allocate, re_string_construct):
66376         (re_string_realloc_buffers, build_wcs_upper_buffer):
66377         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66378         (re_string_reconstruct, re_string_peek_byte_case):
66379         (re_string_fetch_byte_case, re_string_context_at):
66380         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66381         (re_node_set_init_copy, re_node_set_add_intersect):
66382         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66383         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66384         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66385         (re_acquire_state, re_acquire_state_context, register_state):
66386         Likewise.
66387         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
66388         search_cur_bkref_entry):
66389         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
66390         (re_search_internal, re_search_2_stub, re_search_stub)
66391         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
66392         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
66393         (update_cur_sifted_state, check_dst_limits):
66394         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66395         (check_subexp_limits, sift_states_bkref, merge_state_array):
66396         (check_subexp_matching_top, get_subexp, get_subexp_sub):
66397         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
66398         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66399         (expand_bkref_cache, check_node_accept_bytes):
66400         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
66401         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
66402         (acquire_init_state_context, check_halt_node_context):
66403         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
66404         (sift_states_backward, clean_state_log_if_needed):
66405         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
66406         (find_recover_state, transit_state_sb, transit_state_mb):
66407         (transit_state_bkref, build_trtable, match_ctx_clean):
66408         Likewise.
66409         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
66410         to work around an assumption that REG_MISSING is negative.
66411
66412         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
66413         (seek_collating_symbol_entry) [defined _LIBC]:
66414         (lookup_collation_sequence_value) [defined _LIBC]:
66415         (build_range_exp, build_collating_symbol) [defined _LIBC]:
66416         Use prototypes rather than old-style function definitions.
66417         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
66418         (transit_state_sb) [0]:
66419         (find_collation_sequence_value) [defined _LIBC]: Likewise.
66420
66421         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
66422         rm_eo.
66423
66424         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
66425         (optimize_subexps, lower_subexp):
66426         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
66427         since the signed shift might overflow.  Use 1u<<31 instead.
66428         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66429         Likewise.
66430         * lib/regexec.c (check_dst_limits_calc_pos_1,
66431         check_subexp_matching_top): Likewise.
66432
66433         * lib/regcomp.c (optimize_subexps, lower_subexp):
66434         Use CHAR_BIT rather than 8, for clarity.
66435         * lib/regexec.c (check_dst_limits_calc_pos_1):
66436         (check_subexp_matching_top): Likewise.
66437         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
66438         have to worry about portability issues when shifting it left.
66439         Remove no-longer-needed test for table_size > 0.
66440         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
66441         in a word, as the resulting behavior is undefined.
66442         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
66443         in one case, a <= should have been an <, and in another case the
66444         whole test was missing.
66445         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
66446         the standard name CHAR_BIT.
66447         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
66448         this is not true on one's complement and signed-magnitude hosts.
66449
66450         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
66451         next_last_offset.
66452         (struct re_dfa_t): Remove unused member states_alloc.
66453         * lib/regcomp.c (init_dfa): Don't initialize unused members.
66454
66455 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66456
66457         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
66458         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
66459         and large-file glibc and in 32-bit large-file Solaris.
66460
66461 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66462
66463         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
66464         lengths fit in regoff_t; this isn't true if regoff_t is the same
66465         width as size_t.
66466         * lib/regex.c (re_search_internal): 5th arg is LAST_START
66467         (= START + RANGE) instead of RANGE.  This avoids overflow
66468         problems when regoff_t is the same width as size_t.
66469         All callers changed.
66470         (re_search_2_stub): Check for overflow when adding the
66471         sizes of the two strings.
66472         (re_search_stub): Check for overflow when adding START
66473         to RANGE; if it occurs, substitute the extreme value.
66474
66475 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66476
66477         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
66478
66479 2005-08-31  Jim Meyering  <jim@meyering.net>
66480
66481         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
66482         a pointer-to-const.
66483         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
66484         (register_state): Likewise.
66485         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
66486         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66487         (group_nodes_into_DFAstates): Likewise.
66488
66489 2005-08-31  Jim Meyering  <jim@meyering.net>
66490
66491         * check-module: Add a FIXME comment.
66492
66493 2005-08-31  Eric Blake  <ebb9@byu.net>
66494
66495         * modules/unistd-safer (Files): Add unistd--.h.
66496         * modules/stdio-safer (Files): Add stdio--.h.
66497
66498 2005-08-31  Derek Price  <derek@ximbiot.com>
66499
66500         * lib/getdelim.c (getdelim): Return EOF on EOF.
66501         Reported by Larry Jones <lawrence.jones@ugs.com>.
66502
66503 2005-08-31  Bruno Haible  <bruno@clisp.org>
66504
66505         Avoid unnecessary diffs in the generated lib/Makefile.am.
66506         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
66507         the generated files.
66508         (func_import): Don't set cmd.
66509
66510 2005-08-31  Bruno Haible  <bruno@clisp.org>
66511
66512         * lib/strstr.c: Include <stddef.h>, for NULL.
66513         * lib/strcasestr.c: Likewise.
66514         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66515
66516 2005-08-31  Bruno Haible  <bruno@clisp.org>
66517
66518         * gnulib-tool: New option --macro-prefix.
66519         (func_import): Use macro_prefix.
66520         (import): Handle option --macro-prefix.
66521
66522 2005-08-31  Bruno Haible  <bruno@clisp.org>
66523
66524         * gnulib-tool (import): Rename most ac_* variables to cached_*.
66525         Also use new variables cached_lgpl, cached_libtool.
66526
66527 2005-08-31  Bruno Haible  <bruno@clisp.org>
66528
66529         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
66530         always instantiating them.
66531
66532 2005-08-31  Bruno Haible  <bruno@clisp.org>
66533
66534         * gnulib-tool (func_import): Read the previous cached settings
66535         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
66536         earlier added by gnulib but are now dropped. Warn when a gnulib file
66537         overwrites a non-gnulib file.
66538
66539 2005-08-31  Bruno Haible  <bruno@clisp.org>
66540
66541         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
66542         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
66543         projects that don't keep autogenerated files in CVS. Put into
66544         actioncmd only the specified modules, not the transitive closure.
66545
66546 2005-08-31  Bruno Haible  <bruno@clisp.org>
66547
66548         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
66549         Create directories that shall be filled.
66550         (import): Don't look for gl_* macros in configure.ac. Recurse across
66551         all directories containing a gnulib-cache.m4 files, if meaningful.
66552
66553 2005-08-31  Bruno Haible  <bruno@clisp.org>
66554
66555         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
66556         (import): Set seen_libtool when we see gl_LIBTOOL.
66557
66558 2005-08-31  Bruno Haible  <bruno@clisp.org>
66559
66560         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
66561         declaration macro definitions from generated gnulib.m4.
66562
66563 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
66564
66565         * lib/iconvme.h: Add prototype for iconv_alloc.
66566
66567 2005-08-29  Simon Josefsson  <jas@extundo.com>
66568
66569         * lib/iconvme.c: Fix errno.
66570
66571 2005-08-29  Bruno Haible  <bruno@clisp.org>
66572
66573         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
66574         that it works when the directory contains spaces.
66575
66576 2005-08-29  Bruno Haible  <bruno@clisp.org>
66577
66578         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
66579
66580 2005-08-29  Bruno Haible  <bruno@clisp.org>
66581
66582         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
66583         Emit more advice.
66584
66585 2005-08-29  Bruno Haible  <bruno@clisp.org>
66586         and Stepan Kasal  <kasal@ucw.cz>
66587
66588         * check-module: If more parameters are given, check each of them
66589         separately; add more exceptions, as noted by Jim Meyering.
66590         (check_module): New procedure.
66591         (%exempt_header): Now contains all exceptions.
66592
66593 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
66594
66595         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
66596
66597 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66598
66599         * lib/iconvme.c: Split iconv_string into iconv_alloc.
66600
66601 2005-08-28  Bruno Haible  <bruno@clisp.org>
66602
66603         * m4/gnulib-tool.m4: New file.
66604
66605 2005-08-27  Jim Meyering  <jim@meyering.net>
66606
66607         * modules/unistd-safer (Files): Add pipe-safer.c.
66608         * modules/fcntl-safer (Files): Add creat-safer.c.
66609
66610 2005-08-27  Jim Meyering  <jim@meyering.net>
66611
66612         * m4/stdlib-safer.m4: New file.  From coreutils.
66613         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
66614         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
66615         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
66616         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
66617         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
66618
66619 2005-08-27  Jim Meyering  <jim@meyering.net>
66620
66621         * lib/fopen-safer.c: Merge minor changes from coreutils.
66622         * lib/dup-safer.c: Likewise.
66623         * lib/fd-safer.c: Likewise.
66624
66625         Merge from coreutils.
66626         * lib/stdio--.h: New file.
66627         * lib/stdlib--.h: New file.
66628         * lib/mkstemp-safer.c: New file.
66629
66630         GNU tar needs these.
66631         * lib/pipe-safer.c: New file.
66632         * lib/creat-safer.c: New file.
66633         * lib/fcntl--.h (creat): Define to creat_safer.
66634         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
66635         * lib/unistd--.h (pipe): Define to pipe_safer.
66636         * lib/unistd-safer.h: Declare pipe_safer.
66637
66638 2005-08-26  Simon Josefsson  <jas@extundo.com>
66639
66640         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
66641         Haible <bruno@clisp.org>.
66642
66643 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
66644
66645         * lib/regex_internal.h: Remove all references to
66646         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
66647         or better.
66648         (bitset_not, bitset_merge, bitset_not_merge):
66649         (bitset_mask, re_string_allocate, re_string_construct):
66650         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
66651         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
66652         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
66653         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
66654         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66655         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66656         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
66657         (re_acquire_state_context):
66658         Remove unnecessary forward decls.
66659         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
66660         Put __attribute at function definition,
66661         now that the function decl has been removed.
66662         * lib/regex_internal.c (re_string_peek_byte_case):
66663         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
66664         Likewise.
66665
66666 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
66667
66668         * m4/regex.m4: Add AC_PREREQ(2.50).
66669         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
66670
66671 2005-08-25  Simon Josefsson  <jas@extundo.com>
66672
66673         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
66674         __fsetlocking.
66675
66676 2005-08-25  Simon Josefsson  <jas@extundo.com>
66677
66678         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
66679         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
66680         GLIBC specific code.
66681
66682 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66683
66684         Make regex safe for g++.  This fixes one real bug (an "err"
66685         that should have been "*err").  g++ problem reported by
66686         Sam Steingold.
66687         * lib/regex_internal.h (re_calloc): New macro, consistent with
66688         re_malloc etc.  All callers of calloc changed to use re_calloc.
66689         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
66690         not int.  All callers changed.
66691         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
66692         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
66693         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
66694         (find_recover_state): Change "err" to "*err"; this fixes what
66695         appears to be a real bug.
66696         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
66697         versus int.
66698
66699 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66700
66701         * modules/regex (Depends-on): Add malloc, since the code
66702         assumes that !malloc(0) means failure.
66703
66704 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66705
66706         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
66707
66708         alloca modernization/simplification for regex.
66709         * lib/regex.c: Remove portability cruft for alloca.  This no longer
66710         needs to be at the start of the file, and can be moved into
66711         regex_internal.h and simplified.
66712         * lib/regex_internal.h: Include <alloca.h>.
66713         (__libc_use_alloca) [!defined _LIBC]: New macro.
66714         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
66715         now works outside glibc.
66716
66717 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66718
66719         * config/srclist.txt: Add glibc bugs 1241, 1245.
66720
66721 2005-08-25  Jim Meyering  <jim@meyering.net>
66722
66723         * lib/open-safer.c: Include <config.h>.
66724         Otherwise, we'd lose LARGEFILE support in any file using
66725         e.g. "fcntl--.h"
66726
66727 2005-08-25  Bruno Haible  <bruno@clisp.org>
66728
66729         * m4/minmax.m4: Require autoconf 2.52.
66730         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
66731         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
66732         alternatives of translit over the alphabet.
66733         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
66734
66735 2005-08-24  Simon Josefsson  <jas@extundo.com>
66736
66737         * tests/test-getpass.c: New file.
66738
66739 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66740
66741         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
66742         for GNU regex features.
66743
66744 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66745
66746         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
66747         * lib/regex.h (regerror): Likewise.
66748
66749         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
66750         requires this.  (The code never needed it.)
66751
66752         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
66753         All uses of recently-renamed identifiers changed to use the new,
66754         POSIX-compliant names.  The code will build and run just fine
66755         without these changes, but it's better to eat our own dog food
66756         and use the standard-conforming names.
66757
66758         * lib/regex.h: Fix a multitude of POSIX name space violations.
66759         These changes have an effect only for programs that define
66760         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
66761         do not change anything for programs compiled in the normal way.
66762         Also, there is no effect on the ABI.
66763
66764         (_REGEX_SOURCE): New macro.
66765         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
66766         defined and _GNU_SOURCE is not; this fixes a name space violation.
66767
66768         Rename the following macros to obey POSIX requirements.
66769         The old names are still visible as macros if _REGEX_SOURCE is defined.
66770         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
66771         RE_BACKSLASH_ESCAPE_IN_LISTS.
66772         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
66773         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
66774         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
66775         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
66776         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
66777         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
66778         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
66779         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
66780         (REG_INTERVALS): renamed from RE_INTERVALS.
66781         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
66782         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
66783         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
66784         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
66785         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
66786         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
66787         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
66788         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
66789         RE_UNMATCHED_RIGHT_PAREN_ORD.
66790         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
66791         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
66792         (REG_DEBUG): renamed from RE_DEBUG.
66793         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
66794         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
66795         unusual, since we can't clash with the POSIX REG_ICASE.
66796         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
66797         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
66798         (REG_NO_SUB): renamed from RE_NO_SUB.
66799         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
66800         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
66801         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
66802         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
66803         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
66804         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
66805         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
66806         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
66807         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
66808         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
66809         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
66810         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
66811         RE_SYNTAX_POSIX_MINIMAL_BASIC.
66812         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
66813         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
66814         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
66815         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
66816         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
66817         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
66818         (REG_FIXED): Renamed from REGS_FIXED.
66819         (REG_NREGS): Renamed from RE_NREGS.
66820
66821         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
66822         of other REG_* macros, since POSIX says the user is allowed to
66823         #undef these macros selectively.
66824
66825         (reg_errcode_t): Update comment stating what other tables need
66826         to be consistent.
66827
66828         Rename the following enum values to obey POSIX requirements.
66829         The old names are still visible as macros.
66830         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
66831         is not defined, since GNU is supposed to be a superset of POSIX as
66832         much as possible, and since we want reg_errcode_t to be a signed
66833         type for implementation consistency.
66834         (_REG_NOERROR): Renamed from REG_NOERROR.
66835         (_REG_NOMATCH): Renamed from REG_NOMATCH.
66836         (_REG_BADPAT): Renamed from REG_BADPAT.
66837         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
66838         (_REG_ECTYPE): Renamed from REG_ECTYPE.
66839         (_REG_EESCAPE): Renamed from REG_EESCAPE.
66840         (_REG_ESUBREG): Renamed from REG_ESUBREG.
66841         (_REG_EBRACK): Renamed from REG_EBRACK.
66842         (_REG_EPAREN): Renamed from REG_EPAREN.
66843         (_REG_EBRACE): Renamed from REG_EBRACE.
66844         (_REG_BADBR): Renamed from REG_BADBR.
66845         (_REG_ERANGE): Renamed from REG_ERANGE.
66846         (_REG_ESPACE): Renamed from REG_ESPACE.
66847         (_REG_BADRPT): Renamed from REG_BADRPT.
66848         (_REG_EEND): Renamed from REG_EEND.
66849         (_REG_ESIZE): Renamed from REG_ESIZE.
66850         (_REG_ERPAREN): Renamed from REG_ERPAREN.
66851         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
66852         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
66853         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
66854         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
66855
66856         (_REG_RE_NAME, _REG_RM_NAME): New macros.
66857         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
66858         changed.  But support the old name if the new one is not defined
66859         and if _REGEX_SOURCE.
66860
66861         Change the following member names in struct re_pattern_buffer.
66862         The old names are still supported if !_REGEX_SOURCE.
66863         The new names are always supported, regardless of _REGEX_SOURCE.
66864         (re_buffer): Renamed from buffer.
66865         (re_allocated): Renamed from allocated.
66866         (re_used): Renamed from used.
66867         (re_syntax): Renamed from syntax.
66868         (re_fastmap): Renamed from fastmap.
66869         (re_translate): Renamed from translate.
66870         (re_can_be_null): Renamed from can_be_null.
66871         (re_regs_allocated): Renamed from regs_allocated.
66872         (re_fastmap_accurate): Renamed from fastmap_accurate.
66873         (re_no_sub): Renamed from no_sub.
66874         (re_not_bol): Renamed from not_bol.
66875         (re_not_eol): Renamed from not_eol.
66876         (re_newline_anchor): Renamed from newline_anchor.
66877
66878         Change the following member names in struct re_registers.
66879         The old names are still supported if !_REGEX_SOURCE.
66880         The new names are always supported, regardless of _REGEX_SOURCE.
66881         (rm_num_regs): Renamed from num_regs.
66882         (rm_start): Renamed from start.
66883         (rm_end): Renamed from end.
66884
66885         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
66886         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
66887         Prepend __ to parameter names.
66888
66889         Undo yesterday's changes.
66890
66891 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66892
66893         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
66894         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
66895         lib/regex.c.
66896
66897 2005-08-24  Jim Meyering  <jim@meyering.net>
66898
66899         Sync from coreutils.
66900         * m4/fcntl-safer.m4: New file.
66901
66902         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
66903         and object files for this module.
66904
66905 2005-08-24  Jim Meyering  <jim@meyering.net>
66906
66907         Sync from coreutils.
66908         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
66909
66910 2005-08-24  Jim Meyering  <jim@meyering.net>
66911
66912         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
66913         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
66914
66915 2005-08-24  Jim Meyering  <jim@meyering.net>
66916
66917         * modules/fcntl-safer: New module.
66918         * modules/fts (Depends-on): Add fcntl-safer.
66919         * MODULES.html.sh (File descriptor based Input/Output):
66920         Add fcntl-safer.
66921
66922 2005-08-24  Bruno Haible  <bruno@clisp.org>
66923
66924         Support for unit test modules.
66925         * modules/README: Mention tests modules.
66926         * modules/TEMPLATE-TESTS: New file.
66927         * gnulib-tool: New options --extract-tests-module, --with-tests and
66928         --tests-base (unused for the moment).
66929         (testsbase, inctests): New variables.
66930         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
66931         (func_verify_module): Exclude TEMPLATE-TESTS.
66932         (func_verify_nontests_module, func_verify_tests_module): New functions.
66933         (func_get_dependencies): Add implicit dependency for tests modules.
66934         (func_get_tests_module): New function.
66935         (func_modules_transitive_closure): When --with-tests was specified,
66936         include the unit tests as well, unless explicitly avoided.
66937         (func_emit_lib_Makefile_am): Ignore the tests modules here.
66938         (func_emit_tests_Makefile_am): New function.
66939         (func_create_testdir): When --with-tests was specified, emit a
66940         tests/ directory.
66941         * MODULES.html.sh (Future developments): Update.
66942
66943 2005-08-24  Bruno Haible  <bruno@clisp.org>
66944
66945         * modules/tls-tests: New file.
66946         * tests/test-tls.c: New file, from GNU gettext.
66947
66948 2005-08-24  Bruno Haible  <bruno@clisp.org>
66949
66950         * modules/lock-tests: New file.
66951         * tests/test-lock.c: New file, from GNU gettext.
66952
66953 2005-08-24  Bruno Haible  <bruno@clisp.org>
66954
66955         * lib/lock.h: Add multiple inclusion guard.
66956         * lib/tls.h: Add multiple inclusion guard.
66957
66958 2005-08-24  Bruno Haible  <bruno@clisp.org>
66959
66960         * gnulib-tool: Add support for the --aux-dir option to
66961         --create-testdir, --create-megatestdir, --test, --megatest.
66962         (func_create_testdir, func_create_megatestdir): Optionally emit a
66963         AC_CONFIG_AUX_DIR directive.
66964         (create-testdir, create-megatestdir, test, megatest): Provide a
66965         default value for $auxdir.
66966
66967 2005-08-24  Bruno Haible  <bruno@clisp.org>
66968
66969         * gnulib-tool (import): Use compound statement instead of subshell
66970         where possible.
66971
66972 2005-08-24  Bruno Haible  <bruno@clisp.org>
66973
66974         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66975
66976 2005-08-24  Bruno Haible  <bruno@clisp.org>
66977
66978         * gnulib-tool (func_version): Update.
66979
66980 2005-08-24  Bruno Haible  <bruno@clisp.org>
66981
66982         * gnulib-tool (func_import, func_create_testdir,
66983         func_create_megatestdir): Quote all autoconf macro arguments.
66984
66985 2005-08-24  Bruno Haible  <bruno@clisp.org>
66986
66987         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66988         option --force, because --force causes the aclocal.m4 of each
66989         subdirectory to be newer than the corresponding config.h.in.
66990
66991 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66992
66993         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66994         All contents moved to gl_REGEX.
66995         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66996         assume that it does.
66997
66998 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66999
67000         * lib/regex.h (REG_NOSYS)
67001         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
67002         Define, since POSIX requires it as of 2001.
67003         (_REG_ENOSYS)
67004         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
67005         New private symbol, used to keep the enum signed in all cases.
67006         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
67007         Youngman in
67008         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
67009
67010         * lib/regex_internal.c (re_string_skip_chars, register_state):
67011         (calc_state_hash):
67012         Remove forward decls; no longer needed now that we use prototypes.
67013         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
67014         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
67015         (clean_state_log_if_needed): Likewise.
67016
67017 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67018
67019         * config/srclist.txt: Add glibc bugs 1231-1233.
67020
67021 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         Fix problems reported by Sam Steingold in
67024         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
67025         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
67026         assumed that reg_errcode_t is a signed type, which is not
67027         necessarily true if _XOPEN_SOURCE is not defined.
67028         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
67029         since some compilers warn about it otherwise.
67030
67031 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67032
67033         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
67034         (init_word_char, create_initial_state, duplicate_node_closure):
67035         (fetch_token, peek_token_bracket, build_range_exp):
67036         (build_collating_symbol): Remove forward decls; no longer needed
67037         now that we use prototypes.
67038
67039         * lib/regcomp.c:
67040         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
67041         (re_compile_fastmap_iter, regcomp, regerror, regfree):
67042         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
67043         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
67044         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
67045         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
67046         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
67047         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
67048         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
67049         (build_range_exp, build_collating_symbol, parse_bracket_exp):
67050         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
67051         (build_charclass, build_charclass_op, fetch_number, create_tree):
67052         (create_token_tree, mark_opt_subexp, duplicate_tree):
67053         Use prototypes rather than old-style definitions.
67054
67055         * lib/regex_internal.c:
67056         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
67057         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
67058         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67059         (re_string_reconstruct, re_string_peek_byte_case):
67060         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
67061         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67062         (re_node_set_init_copy, re_node_set_add_intersect):
67063         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67064         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67065         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67066         (re_acquire_state, re_acquire_state_context, register_state):
67067         (create_ci_newstate, create_cd_newstate, free_state):
67068         Likewise.
67069         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
67070         re_search_2):
67071         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
67072         (re_search_internal, prune_impossible_nodes):
67073         (acquire_init_state_context, check_matching, static):
67074         (check_halt_node_context, check_halt_state_context, proceed_next_node):
67075         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
67076         (update_regs, sift_states_backward, build_sifted_states):
67077         (clean_state_log_if_needed, merge_state_array):
67078         (update_cur_sifted_state, add_epsilon_src_nodes):
67079         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
67080         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
67081         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
67082         (find_recover_state, check_subexp_matching_top, transit_state_mb):
67083         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
67084         (check_arrival, check_arrival_add_next_nodes):
67085         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67086         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67087         (check_node_accept_bytes, check_node_accept, extend_buffers):
67088         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
67089         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
67090         (sift_ctx_init):
67091         Likewise.
67092
67093         * lib/regex_internal.h:
67094         (re_string_allocate, re_string_construct, re_string_reconstruct):
67095         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
67096         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
67097         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
67098         (re_string_context_at, re_string_peek_byte_case):
67099         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
67100         is defined, since we now use prototypes always.
67101
67102         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
67103         C89 or better.  All uses removed.
67104
67105 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67106
67107         * config/srclist.txt: Add glibc bugs 1220-1227.
67108
67109 2005-08-20  Jim Meyering  <jim@meyering.net>
67110
67111         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
67112         of unused local, dfa.
67113
67114 2005-08-20  Bruno Haible  <bruno@clisp.org>
67115
67116         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
67117
67118 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67119
67120         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
67121         (re_node_set_insert_last, re_dfa_add_node):
67122         Rename local variables to avoid GCC shadowing warnings.
67123
67124 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67125
67126         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
67127         [defined lint]: Suppress bogus uninitialized-variable warnings.
67128
67129         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
67130         and let the caller return REG_ESPACE if out of space.  This
67131         removes an uninitialied-variable warning with GCC 4.0.1, and also
67132         avoids taking the address of a local variable.  All callers
67133         changed.
67134
67135 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67136
67137         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
67138         $LIBCSRC/posix/regexec.c.
67139         Add glibc bug 1217 for regcomp.c.
67140
67141 2005-08-19  Jim Meyering  <jim@meyering.net>
67142
67143         * lib/regexec.c (proceed_next_node): Redo local variables to
67144         avoid GCC shadowing warnings.
67145
67146 2005-08-18  Bruno Haible  <bruno@clisp.org>
67147
67148         * lib/strstr.c (strstr): Fix return value in multibyte case.
67149         * lib/strcasestr.c (strcasestr): Likewise.
67150
67151 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67152
67153         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
67154
67155 2005-08-17  Jim Meyering  <jim@meyering.net>
67156
67157         Make the %s format (seconds since the epoch) work for a negative
67158         number and when used with a zero-padded field width, e.g. %015s.
67159
67160         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
67161         label so that it precedes the code to set `digits'.  Otherwise,
67162         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
67163         print `00-22'.  Now, it prints `-0022', as it should.
67164
67165 2005-08-17  Bruno Haible  <bruno@clisp.org>
67166
67167         * modules/strstr (Files): Add m4/mbrtowc.m4.
67168         (Depends-on): Add mbuiter.
67169
67170 2005-08-17  Bruno Haible  <bruno@clisp.org>
67171
67172         * modules/strcasestr: New file.
67173         * MODULES.html.sh (String handling, based on ANSI C 89): Add
67174         strcasestr.
67175
67176 2005-08-17  Bruno Haible  <bruno@clisp.org>
67177
67178         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
67179
67180 2005-08-17  Bruno Haible  <bruno@clisp.org>
67181
67182         * modules/mbuiter: New file.
67183         * MODULES.html.sh (Extended multibyte and wide character utilities):
67184         Add mbuiter.
67185
67186 2005-08-17  Bruno Haible  <bruno@clisp.org>
67187
67188         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
67189         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
67190
67191 2005-08-17  Bruno Haible  <bruno@clisp.org>
67192
67193         * m4/strcasestr.m4: New file.
67194
67195 2005-08-17  Bruno Haible  <bruno@clisp.org>
67196
67197         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
67198         * lib/strstr.c: Completely rewritten, with multibyte locale support.
67199
67200 2005-08-17  Bruno Haible  <bruno@clisp.org>
67201
67202         * lib/strcasestr.h: New file.
67203         * lib/strcasestr.c: New file.
67204
67205 2005-08-17  Bruno Haible  <bruno@clisp.org>
67206
67207         * lib/strcasecmp.c: Use mbuiter.h.
67208
67209 2005-08-17  Bruno Haible  <bruno@clisp.org>
67210
67211         * lib/mbuiter.h: New file.
67212
67213 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
67214
67215         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
67216         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
67217         and gl_GETOPT are both invoked via different paths (as happens
67218         with GNU tar CVS because it uses both argp and getopt), the former
67219         wins.
67220
67221 2005-08-16  Bruno Haible  <bruno@clisp.org>
67222
67223         * modules/tls: New file.
67224         * MODULES.html.sh (Multithreading): Add tls.
67225
67226 2005-08-16  Bruno Haible  <bruno@clisp.org>
67227
67228         * modules/strnlen1: New file.
67229         * MODULES.html.sh (String handling): Add strnlen1.
67230
67231 2005-08-16  Bruno Haible  <bruno@clisp.org>
67232
67233         * modules/strcase (Files): Add m4/mbrtowc.m4.
67234         (Depends-on): Add strnlen1, mbchar.
67235
67236 2005-08-16  Bruno Haible  <bruno@clisp.org>
67237
67238         * modules/mbiter: New file.
67239         * MODULES.html.sh (Extended multibyte and wide character utilities):
67240         Add mbiter.
67241
67242 2005-08-16  Bruno Haible  <bruno@clisp.org>
67243
67244         * modules/mbfile: New file.
67245         * MODULES.html.sh (Extended multibyte and wide character utilities):
67246         Add mbfile.
67247
67248 2005-08-16  Bruno Haible  <bruno@clisp.org>
67249
67250         * modules/mbchar: New file.
67251         * MODULES.html.sh (Extended multibyte and wide character utilities):
67252         New section.
67253
67254 2005-08-16  Bruno Haible  <bruno@clisp.org>
67255
67256         * m4/tls.m4: New file, from GNU gettext.
67257
67258 2005-08-16  Bruno Haible  <bruno@clisp.org>
67259
67260         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
67261         always.
67262         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
67263
67264 2005-08-16  Bruno Haible  <bruno@clisp.org>
67265
67266         * m4/mbiter.m4: New file.
67267
67268 2005-08-16  Bruno Haible  <bruno@clisp.org>
67269
67270         * m4/mbfile.m4: New file.
67271
67272 2005-08-16  Bruno Haible  <bruno@clisp.org>
67273
67274         * m4/mbchar.m4: New file.
67275
67276 2005-08-16  Bruno Haible  <bruno@clisp.org>
67277
67278         * lib/tls.h: New file, from GNU gettext.
67279         * lib/tls.c: New file, from GNU gettext.
67280
67281 2005-08-16  Bruno Haible  <bruno@clisp.org>
67282
67283         * lib/strnlen1.h: New file.
67284         * lib/strnlen1.c: New file.
67285
67286 2005-08-16  Bruno Haible  <bruno@clisp.org>
67287
67288         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
67289         (mbi_init): Update.
67290         (mbi_avail, mbi_advance): Let the iteration end before the terminating
67291         NUL byte, not after it.
67292
67293 2005-08-16  Bruno Haible  <bruno@clisp.org>
67294
67295         * lib/strcase.h (strcasecmp): Add note in comments.
67296         * lib/strncasecmp.c: Use code from strcasecmp.c.
67297         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
67298         (strcasecmp): Work correctly in multibyte locales.
67299
67300 2005-08-16  Bruno Haible  <bruno@clisp.org>
67301
67302         * lib/mbiter.h: New file.
67303
67304 2005-08-16  Bruno Haible  <bruno@clisp.org>
67305
67306         * lib/mbfile.h: New file.
67307
67308 2005-08-16  Bruno Haible  <bruno@clisp.org>
67309
67310         * lib/mbchar.h: New file.
67311         * lib/mbchar.c: New file.
67312
67313 2005-08-16  Bruno Haible  <bruno@clisp.org>
67314
67315         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
67316         the valid ones. Makes the comparison operations transitive:
67317         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
67318         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
67319
67320 2005-08-15  Simon Josefsson  <jas@extundo.com>
67321
67322         * modules/ssize_t (License): Change to 'unlimited'.
67323
67324         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
67325
67326 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67327
67328         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
67329         Add comments for each pending glibc patch.
67330
67331 2005-08-15  Bruno Haible  <bruno@clisp.org>
67332
67333         * lib/regex.h (__restrict_arr): Don't define to __restrict if
67334         __cplusplus is defined.
67335
67336 2005-08-14  Jim Meyering  <jim@meyering.net>
67337
67338         Sync from coreutils.
67339
67340         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
67341         Use the hash-table-based cycle-detection code not just when
67342         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
67343         Reported by James Youngman in
67344         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
67345         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
67346         FTS_TIGHT_CYCLE_CHECK.
67347         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
67348         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
67349         once again.
67350         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
67351         * lib/fts.c (fd_safer): Remove decl.
67352         Include fcntl--.h rather than unistd-safer.h
67353         (fts_safe_changedir): Don't call fd_safer; no longer needed
67354         now that we include fcntl--.h.
67355
67356 2005-08-12  Simon Josefsson  <jas@extundo.com>
67357
67358         * modules/getndelim2: Use ssize_t module.
67359         * modules/getnline: Likewise.
67360         * modules/safe-read: Likewise.
67361         * modules/xreadlink: Likewise.
67362
67363         * modules/ssize_t: New file.
67364
67365 2005-08-12  Simon Josefsson  <jas@extundo.com>
67366
67367         * m4/readline.m4: Look for termcap, curses or ncurses if required.
67368
67369 2005-08-12  Simon Josefsson  <jas@extundo.com>
67370
67371         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67372         ssize_t.
67373
67374 2005-08-12  Simon Josefsson  <jas@extundo.com>
67375
67376         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
67377         readline, getdelim and check_version.
67378         (Support for systems lacking ISO C 99: Sizes of integer types):
67379         Add size_max.
67380
67381 2005-08-12  Bruno Haible  <bruno@clisp.org>
67382
67383         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
67384
67385 2005-08-11  Simon Josefsson  <jas@extundo.com>
67386
67387         * modules/readline: New file.
67388
67389         * modules/strnlen (Files): Add strnlen.h.
67390
67391 2005-08-11  Simon Josefsson  <jas@extundo.com>
67392
67393         * m4/readline.m4: New file.
67394
67395 2005-08-11  Simon Josefsson  <jas@extundo.com>
67396
67397         * lib/readline.h, readline.c: New file.
67398
67399 2005-08-11  Simon Josefsson  <jas@extundo.com>
67400
67401         * doc/gnulib.texi (Initial import, Finishing touches): Mention
67402         gl_AVOID.
67403
67404 2005-08-11  Bruno Haible  <bruno@clisp.org>
67405
67406         * lib/strnlen.h (strnlen): Change parameter name to match comment.
67407
67408 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
67409
67410         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
67411
67412 2005-08-10  Simon Josefsson  <jas@extundo.com>
67413
67414         * tests/test-iconvme.c: New file.
67415
67416 2005-08-10  Simon Josefsson  <jas@extundo.com>
67417
67418         * m4/strnlen.m4: New file.
67419
67420         * m4/strndup.m4: Don't check for strnlen declaration, done in
67421         strnlen.m4.
67422
67423 2005-08-10  Simon Josefsson  <jas@extundo.com>
67424
67425         * lib/strndup.c: Use strnlen.h.
67426
67427         * lib/strnlen.h: New file.
67428
67429 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67430
67431         * README: Typos.
67432
67433 2005-08-02  Simon Josefsson  <jas@extundo.com>
67434
67435         * modules/readline: New file.
67436
67437 2005-08-02  Simon Josefsson  <jas@extundo.com>
67438
67439         * modules/getdelim: New file.
67440
67441         * modules/getline: Rewrite, don't use getndelim2.
67442
67443 2005-08-02  Simon Josefsson  <jas@extundo.com>
67444
67445         * m4/getline.m4: Separate out getdelim stuff into separate module.
67446
67447         * m4/getdelim.m4: New file.
67448
67449 2005-08-02  Simon Josefsson  <jas@extundo.com>
67450
67451         * lib/getline.h, getline.c: Rewrite.
67452
67453         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
67454
67455 2005-07-31  Bruno Haible  <bruno@clisp.org>
67456
67457         * lib/lock.h (gl_lock_initializer): New macro.
67458         (gl_lock_define_initialized): Use it.
67459         (gl_rwlock_initializer): New macro.
67460         (gl_rwlock_define_initialized): Use it.
67461         (gl_recursive_lock_initializer): New macro.
67462         (gl_recursive_lock_define_initialized): Use it.
67463
67464 2005-07-30  Karl Berry  <karl@gnu.org>
67465
67466         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
67467         Report from Ben Pfaff, regarding getopt.
67468
67469 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
67470
67471         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
67472         normal way.
67473         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
67474         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
67475         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
67476         (gl_GETOPT): Use the new macros.  Most of the implementation
67477         is moved to the new macros.  This is for programs like Emacs
67478         that don't want all the functionality of gl_GETOPT.
67479
67480 2005-07-26  Bruno Haible  <bruno@clisp.org>
67481
67482         * m4/lock.m4: Update from GNU gettext.
67483
67484 2005-07-26  Bruno Haible  <bruno@clisp.org>
67485
67486         * lib/lock.h: Update from GNU gettext.
67487         * lib/lock.c: Update from GNU gettext.
67488
67489 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
67490
67491         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
67492         obsolescent AC_TRY_RUN.  Include the default includes files, for
67493         'exit'.
67494
67495 2005-07-24  Bruno Haible  <bruno@clisp.org>
67496
67497         * modules/visibility: New file.
67498         * MODULES.html.sh (Misc): Add visibility.
67499
67500 2005-07-24  Bruno Haible  <bruno@clisp.org>
67501
67502         * m4/visibility.m4: New file.
67503
67504 2005-07-24  Bruno Haible  <bruno@clisp.org>
67505
67506         * doc/visibility.texi: New file.
67507
67508 2005-07-22  Bruno Haible  <bruno@clisp.org>
67509
67510         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
67511         $(ALLOCA_H), redundant through BUILT_SOURCES.
67512         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
67513         redundant through BUILT_SOURCES.
67514         * modules/byteswap (Makefile.am): Remove explicit dependency on
67515         $(BYTESWAP_H), redundant through BUILT_SOURCES.
67516         * modules/fnmatch (Makefile.am): Remove explicit dependency on
67517         $(FNMATCH_H), redundant through BUILT_SOURCES.
67518         * modules/getopt (Makefile.am): Remove explicit dependency on
67519         $(GETOPT_H), redundant through BUILT_SOURCES.
67520         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
67521         redundant through BUILT_SOURCES.
67522         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
67523         redundant through BUILT_SOURCES.
67524         * modules/stdbool (Makefile.am): Remove explicit dependency on
67525         $(STDBOOL_H), redundant through BUILT_SOURCES.
67526         * modules/stdint (Makefile.am): Remove explicit dependency on
67527         $(STDINT_H), redundant through BUILT_SOURCES.
67528         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
67529         Remove explicit dependency on $(SYSEXITS_H).
67530         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
67531
67532 2005-07-18  Simon Josefsson  <jas@extundo.com>
67533
67534         * lib/check-version.c (check_version): Accept identical versions too.
67535
67536 2005-07-18  Bruno Haible  <bruno@clisp.org>
67537
67538         * modules/lock: New file.
67539         * MODULES.html.sh (Multithreading): New section.
67540
67541 2005-07-18  Bruno Haible  <bruno@clisp.org>
67542
67543         * m4/lock.m4: New file, from GNU gettext.
67544
67545 2005-07-18  Bruno Haible  <bruno@clisp.org>
67546
67547         * lib/lock.h: New file, from GNU gettext.
67548         * lib/lock.c: New file, from GNU gettext.
67549
67550 2005-07-18  Bruno Haible  <bruno@clisp.org>
67551
67552         * lib/lock.h (gl_once_t): New type.
67553         (gl_once_define, gl_once): New macros.
67554         * lib/lock.c (fresh_once): New variable.
67555         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
67556         functions.
67557
67558 2005-07-16  Simon Josefsson  <jas@extundo.com>
67559
67560         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
67561         workaround, suggested by Bruno.
67562
67563 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67564
67565         * modules/xalloc (Depends-on): Add xalloc-die.
67566         * modules/xvasprintf (Depends-on): Add xalloc-die.
67567
67568 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67569
67570         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
67571         with a minor change.
67572
67573 2005-07-15  Bruno Haible  <bruno@clisp.org>
67574
67575         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
67576         When using lib/poll.c, define poll as rpl_poll.
67577
67578 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
67579
67580         * modules/argp (Depends-on): Remove unlocked-io.
67581
67582 2005-07-14  Derek Price  <derek@ximbiot.com>
67583
67584         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
67585         for glob symlink bug.
67586
67587 2005-07-14  Bruno Haible  <bruno@clisp.org>
67588
67589         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
67590         Instead, test for *_unlocked function declarations directly.
67591
67592 2005-07-11  Simon Josefsson  <jas@extundo.com>
67593
67594         * modules/size_max: New file.
67595
67596         * modules/xsize: Depend on size_max module for size_max.m4.
67597
67598 2005-07-11  Simon Josefsson  <jas@extundo.com>
67599
67600         * lib/size_max.h: New file.
67601
67602 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
67603
67604         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
67605         copyright symbol and the year.
67606         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
67607         (version_etc_va): Use parameterized copyright notice.
67608         Reword to conform to the current GNU coding standards.
67609
67610 2005-07-11  Karl Berry  <karl@gnu.org>
67611
67612         * doc/gnulib.texi (Quoting): new node.
67613         (Initial import): more info, from Patrice.
67614
67615 2005-07-11  Bruno Haible  <bruno@clisp.org>
67616
67617         * gnulib-tool (func_usage): Document option --avoid.
67618         (Command line options): Handle --avoid.
67619         (func_acceptable): New function.
67620         (func_modules_transitive_closure): Use it.
67621
67622 2005-07-11  Bruno Haible  <bruno@clisp.org>
67623
67624         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
67625         Reported by Jim Meyering.
67626
67627 2005-07-10  Bruno Haible  <bruno@clisp.org>
67628
67629         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
67630         Needed when size_t is smaller than 'unsigned int'.
67631         Reported by Paul Eggert.
67632
67633 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67634
67635         * modules/argp (Depends-on): Add unlocked-io
67636
67637 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67638
67639         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
67640         block of defines.
67641
67642 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67643
67644         * config/srclist.txt: Comment out regcomp.c, since we have a porting
67645         fix now.
67646
67647 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
67648         and Paul Eggert  <eggert@cs.ucla.edu>
67649
67650         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
67651         in wint_t, not wchar_t.  Remove now-unnecessary cast.
67652
67653 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67654
67655         * modules/regex (Files): Add lib/regex_internal.c,
67656         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
67657         (Depends-on): Add extensions.
67658         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
67659
67660 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67661
67662         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
67663         pathconf.
67664         * m4/same.m4 (gl_SAME): Likewise.
67665         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
67666
67667         * m4/regex.m4: Adjust to new libc regex implementation.
67668         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
67669         all the .c and .h parts of (the new) regex.
67670         Quote the m4 stuff better.
67671         Check for RE_ICASE bug of old gnulib.
67672         Check for REG_STARTEND of recent libc.
67673         Rename local variables from jm_* to gl_*.
67674         Quote operand of "test -f".
67675         Say "recent enough" version of libc, not "version 2".
67676         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
67677         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
67678         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
67679         Remove check for btowc, isascii.
67680         Require AM_LANGINFO_CODESET.
67681
67682 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         * lib/regex.c, regex.h: Sync from libc.
67685         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
67686         * lib/regexec.c:
67687         New files, synced from libc, except that regex_internal.h
67688         currently has a small porting fix.
67689
67690 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
67693         regex_internal.c, regexec.c.
67694         Add regex_internal.h too, but as a comment, since the libc version
67695         is currently broken in gnulib mode.
67696
67697 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67698
67699         Support programs like Emacs that use gnulib but not gettext.
67700         * MODULES.html.sh (Internationalization functions): Add gettext-h.
67701         * modules/gettext-h: New file.
67702         * modules/gettext (Files): Remove lib/gettext.h.
67703         (Depends-on): Add gettext-h.
67704         (Makefile.am): Remove lib_SOURCES.
67705         * modules/argmatch, modules/c-stack, modules/closeout:
67706         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
67707         * modules/execute, modules/file-type, modules/getaddrinfo:
67708         * modules/getopt, modules/human, modules/javacomp:
67709         * modules/javaexec, modules/mkdir-p, modules/obstack:
67710         * modules/openat, modules/pagealign_alloc, modules/pipe:
67711         * modules/quotearg, modules/regex, modules/rpmatch:
67712         * modules/unicodeio, modules/userspec, modules/version-etc:
67713         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
67714         * modules/xsetenv:
67715         Depend on gettext-h, not gettext.
67716
67717 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67718
67719         * gnulib-tool (func_import): Add support for 'public domain' license.
67720         * modules/alloca, modules/atexit, modules/memmove:
67721         Now public domain, not GPL.
67722         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
67723         * modules/realloc, modules/strerror, modules/strtod:
67724         Now LGPL, not GPL.
67725
67726 2005-07-05  Bruno Haible  <bruno@clisp.org>
67727
67728         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
67729         autoconf CVS. Needed for mingw.
67730
67731 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67732
67733         Remove the dependency of the strftime module on the tzset module.
67734         * modules/strftime (Depends-on): Remove dependency on tzset.
67735
67736 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67737
67738         Remove the dependency of the strftime module on the tzset module.
67739         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
67740         gl_FUNC_TZSET_CLOBBER.
67741
67742 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67743
67744         Remove the dependency of the strftime module on the tzset module.
67745         * lib/strftime.c (my_strftime)
67746         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
67747         Copy the input structure, to work around some of the bug with
67748         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
67749         Solaris releases, you should also use the tzset module, but we won't
67750         require it as a dependency any more since we don't want LGPLed code
67751         to depend on GPLed code.
67752
67753 2005-07-02  Jim Meyering  <jim@meyering.net>
67754
67755         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
67756         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
67757         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
67758         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
67759
67760 2005-07-02  Jim Meyering  <jim@meyering.net>
67761
67762         * lib/backupfile.c (backup_args): Change a `0' to NULL.
67763
67764 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67765
67766         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
67767         declares only 'struct timespec;' (!).
67768
67769 2005-07-01  Jim Meyering  <jim@meyering.net>
67770
67771         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
67772         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
67773         * lib/save-cwd.c, tempname.c:
67774         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67775         and don't include <sys/file.h>).
67776
67777 2005-06-29  Jim Meyering  <jim@meyering.net>
67778
67779         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
67780         type name.  Use the variable name instead.
67781         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
67782         Likewise.
67783
67784 2005-06-28  Simon Josefsson  <jas@extundo.com>
67785
67786         * modules/check-version (Files): Add check-version.m4.
67787
67788 2005-06-28  Simon Josefsson  <jas@extundo.com>
67789
67790         * m4/check-version.m4: New file, suggested by Jim Meyering
67791         <jim@meyering.net>.
67792
67793 2005-06-28  Simon Josefsson  <jas@extundo.com>
67794
67795         * lib/check-version.h, lib/check-version.c: New files.
67796
67797 2005-06-28  Simon Josefsson  <jas@extundo.com>
67798
67799         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
67800         collision with global variable.  Better indentation.  Don't
67801         increment buffer pointer beyond buffer end.  Based on comments
67802         from Paul Eggert <eggert@cs.ucla.edu>.
67803
67804         * lib/base64.h: Indent.
67805
67806 2005-06-28  Simon Josefsson  <jas@extundo.com>
67807
67808         * doc/gnulib.texi (Library version handling): New section.
67809
67810 2005-06-28  Jim Meyering  <jim@meyering.net>
67811
67812         * check-module (find_included_lib_files): Hard-code another
67813         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
67814         but modules/fts-lgpl (correctly) does not list those files.
67815
67816         * modules/canonicalize (Files): Add lib/pathmax.h.
67817
67818 2005-06-25  Simon Josefsson  <jas@extundo.com>
67819
67820         * modules/check-version: New file.
67821
67822 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
67823
67824         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
67825         initializer of struct addrinfo, as an indication that we don't
67826         care how many members the structure has.
67827
67828 2005-06-24  Derek Price  <derek@ximbiot.com>
67829         and Bruno Haible  <bruno@clisp.org>
67830
67831         Remove stat module & update lstat.
67832         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
67833         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67834         * m4/stat.m4: Remove this file.
67835
67836 2005-06-24  Derek Price  <derek@ximbiot.com>
67837         and Bruno Haible  <bruno@clisp.org>
67838
67839         Remove stat module & update lstat.
67840         * lib/stat.c: Remove this file...
67841         (slash_aware_lstat): ...moving this content and its support...
67842         * lib/lstat.c (rpl_lstat): ...into here.
67843         * lib/lstat.h: New file.
67844
67845 2005-06-24  Derek Price  <derek@ximbiot.com>
67846         and Bruno Haible  <bruno@clisp.org>
67847
67848         Remove stat module & update lstat.
67849         * config/srclist.txt (libc sources): Remove stat.
67850
67851 2005-06-24  Derek Price  <derek@ximbiot.com>
67852         and Bruno Haible  <bruno@clisp.org>
67853
67854         Remove stat module & update lstat.
67855         * MODULES.html.sh (stat): Remove.
67856         * MODULES.html: Regenerated.
67857         * modules/lstat (Description): Correct function name.
67858         (Files): Add "lstat.h".
67859         (Depends-on): Remove stat, add xalloc, stat-macros.
67860         * modules/stat: Remove this file.
67861         (Include): Add "lstat.h", remove <sys/stat.h>.
67862
67863 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67864
67865         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
67866         (ranged_convert): Don't save conversion in a temporary struct.
67867         This causes a warning with GCC 4.0.0, and anyway in the typical
67868         case it's not worth the extra 100 bytes or so of code.
67869         (ranged_convert, __mktime_internal): When calling a function via a
67870         pointer P, use P () rather than (*P) (), as we now assume C89 or
67871         better.
67872
67873 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67874
67875         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
67876         "who -r" failed to give output.  Problem reported by Tim Waugh.
67877
67878         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
67879         (xcalloc): Use it to avoid needless tests.
67880         Problem reported by Jim Meyering.
67881
67882 2005-06-20  Derek Price  <derek@ximbiot.com>
67883
67884         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
67885         unnecessary for Autoconfs > 2.59c.
67886
67887 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67888
67889         * lib/argp.h (__option_is_short): Check upper limit of
67890         __key. Isprint() requires its argument to have the value
67891         of an unsigned char or EOF.
67892
67893 2005-06-16  Jim Meyering  <jim@meyering.net>
67894
67895         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
67896         when either N or S is zero.
67897
67898 2005-06-16  Derek Price  <derek@ximbiot.com>
67899
67900         * m4/bison.m4: Declare YACC & YFLAGS precious.
67901
67902 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
67903
67904         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
67905         multibyte string or pattern, fall back on unibyte matching.
67906         Problem reported by James Youngman.
67907
67908 2005-06-08  Bruno Haible  <bruno@clisp.org>
67909
67910         * modules/csharpcomp: New file.
67911         * MODULES.html.sh (C#): Add csharpcomp.
67912
67913 2005-06-08  Bruno Haible  <bruno@clisp.org>
67914
67915         * m4/csharpcomp.m4: New file, from GNU gettext.
67916
67917 2005-06-08  Bruno Haible  <bruno@clisp.org>
67918
67919         * lib/csharpcomp.h: New file, from GNU gettext.
67920         * lib/csharpcomp.c: New file, from GNU gettext.
67921         * lib/csharpcomp.sh.in: New file, from GNU gettext.
67922
67923 2005-06-08  Bruno Haible  <bruno@clisp.org>
67924
67925         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
67926         warning on mingw.
67927
67928 2005-06-07  Derek Price  <derek@ximbiot.com>
67929
67930         Sync from CVS.
67931         * lib/glob_.h: Indent nested #ifdef.
67932
67933 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67934
67935         Sync from coreutils.
67936         Use "file name" when talking about file names, instead of "filename"
67937         or "path", as per the GNU coding standards.
67938         * lib/mkdir-p.c: Renamed from makepath.c.
67939         (make_dir_parents): Renamed from make_path.  All callers changed.
67940         * lib/mkdir-p.h: Likewise.  All includers changed.
67941         * lib/filenamecat.c: Renamed from path-concat.c.
67942         (file_name_concat): Renamed from path_concat.  All callers changed.
67943         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
67944         * lib/filenamecat.h: Likewise.  All includers changed.
67945         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
67946         in comments or local variable names.
67947         * lib/basename.c: Likewise.
67948         * lib/canonicalize.c, canonicalize.h: Likewise.
67949         * lib/dirname.c, dirname.h: Likewise.
67950         * lib/euidaccess.c: Likewise.
67951         * lib/exclude.c: Likewise
67952         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
67953         * lib/fsusage.c, fsuage.h: Likewise.
67954         * lib/fts.c, fts_.h: Likewise.
67955         * lib/getcwd.c: Likewise.
67956         * lib/getloadavg.c: Likewise.
67957         * lib/mkstemp.c: Likewise.
67958         * lib/mountlist.c, mountlist.h: Likewise.
67959         * lib/openat.c, openat.h: Likewise.
67960         * lib/readlink-stub.c: Likewise.
67961         * lib/readutmp.c, readutmp.h: Likewise.
67962         * lib/rename.c: Likewise.
67963         * lib/rmdir.c: Likewise.
67964         * lib/same.c: Likewise.
67965         * lib/savedir.c: Likewise.
67966         * lib/stripslash.c: Likewise.
67967         * lib/tempname.c: Likewise.
67968         * lib/xreadlink.c: Likewise.
67969         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
67970         All uses changed.
67971         * lib/exclude.h: Likewise.
67972
67973         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67974         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67975         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67976         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67977         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67978         files have been getting away with it for years (MORE/BSD 4.3
67979         is extinct now).
67980         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67981         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67982
67983         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67984         Define to 256, not 255, as per modern POSIX.
67985
67986 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         Sync from coreutils.
67989         Use "file name" when talking about file names, instead of "filename"
67990         or "path", as per the GNU coding standards.
67991         * MODULES.html.sh: mkdir-p renamed from makepath.
67992         filenamecat renamed from path-concat.
67993         * modules/filenamecat: Renamed from modules/path-concat.
67994         (Files): filenamecat.h and filenamecat.c renamed from
67995         path-concat.h and path-concat.c.
67996         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67997         (Include): filenamecat.h, not path-concat.h.
67998         * modules/mkdir-p: Renamed from modules/makepath.
67999         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
68000         makepath.c.
68001         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
68002         (Include): mkdir-p.h, not makepath.h.
68003
68004 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68005
68006         Sync from coreutils.
68007         * m4/mkdir-p.m4: Renamed from makepath.m4.
68008         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
68009         Rename files from makepath.c to mkdir-p.c, and from
68010         makepath.h to mkdir-p.h.
68011         * m4/filenamecat.m4: Renamed from path-concat.m4.
68012         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
68013         Rename files from path-concat.c to filenamecat.c,
68014         and from path-concat.h to filenamecat.h.
68015         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
68016         "file name" in local variables or comments.
68017         * m4/rename.m4: Likewise.
68018
68019 2005-06-01  Bruno Haible  <bruno@clisp.org>
68020
68021         * modules/csharpexec: New file.
68022         * MODULES.html.sh (C#): New section.
68023
68024 2005-06-01  Bruno Haible  <bruno@clisp.org>
68025
68026         * m4/csharp.m4: New file, from GNU gettext.
68027         * m4/csharpexec.m4: New file, from GNU gettext.
68028
68029 2005-06-01  Bruno Haible  <bruno@clisp.org>
68030
68031         * lib/csharpexec.h: New file, from GNU gettext.
68032         * lib/csharpexec.c: New file, from GNU gettext.
68033         * lib/csharpexec.sh.in: New file, from GNU gettext.
68034
68035 2005-05-31  Derek Price  <derek@ximbiot.com>
68036             Paul Eggert  <eggert@cs.ucla.edu>
68037
68038         Sync from cvs.
68039         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68040
68041 2005-05-31  Derek Price  <derek@ximbiot.com>
68042             Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         Sync from cvs.
68045         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68046
68047 2005-05-29  Derek Price  <derek@ximbiot.com>
68048
68049         * config/srclist.txt (glob_.h, glob.c): Add these files.
68050
68051 2005-05-29  Derek Price  <derek@ximbiot.com>
68052
68053         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
68054         * modules/glob: New file.
68055         * modules/getlogin_r: Add link to POSIX spec in description.
68056
68057 2005-05-29  Derek Price  <derek@ximbiot.com>
68058             Paul Eggert  <eggert@cs.ucla.edu>
68059
68060         * m4/glob.m4: New file.
68061
68062 2005-05-29  Derek Price  <derek@ximbiot.com>
68063             Paul Eggert  <eggert@cs.ucla.edu>
68064
68065         * lib/glob_.h, lib/glob.c: New files.
68066
68067 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68068
68069         * modules/fts (Files): Remove m4/inttypes-pri.m4.
68070         * modules/fts-lgpl (Depends-on): Remove gettext.
68071
68072 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68073
68074         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
68075         and don't require gt_INTTYPES_PRI.
68076
68077 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68078
68079         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
68080
68081         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
68082         the configuration hassle isn't worth it.
68083         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
68084         (LONGEST_MODIFIER, PRIuMAX): Remove.
68085
68086 2005-05-27  Bruno Haible  <bruno@clisp.org>
68087
68088         * lib/getlogin_r.h: Remove second include of <stddef.h>.
68089
68090 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
68091
68092         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
68093         _POSIX_PTHREAD_SEMANTICS for Solaris.
68094
68095 2005-05-25  Derek Price  <derek@ximbiot.com>
68096
68097         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
68098
68099 2005-05-25  Derek Price  <derek@ximbiot.com>
68100             Paul Eggert  <eggert@cs.ucla.edu>
68101
68102         * modules/getlogin_r, m4/getlogin_r.m4: New files.
68103         * lib/getlogin_r.c, getlogin_r.h: New files.
68104
68105 2005-05-25  Bruno Haible  <bruno@clisp.org>
68106             Derek Price  <derek@ximbiot.com>
68107
68108         * lib/getlogin_r.h: Simplify API documentation.
68109
68110 2005-05-23  Derek Price  <derek@ximbiot.com>
68111
68112         * modules/minmax (Files): Add m4/minmax.m4.
68113         (configure.ac): Add gl_MINMAX.
68114
68115 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
68116
68117         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
68118         so that unistd-safer.h (GPL'ed code) need not be included.
68119
68120 2005-05-22  Bruno Haible  <bruno@clisp.org>
68121
68122         * m4/minmax.m4: New file.
68123         Based on a patch by Derek Price <derek@ximbiot.com>.
68124
68125 2005-05-22  Bruno Haible  <bruno@clisp.org>
68126
68127         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
68128         (INT64_MIN): Fix definition.
68129         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
68130
68131         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
68132         NEED_SIGNED_INT_TYPES.
68133
68134         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
68135         HAVE_SYSTEM_INTTYPES.
68136
68137 2005-05-22  Bruno Haible  <bruno@clisp.org>
68138
68139         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
68140         Also include <sys/param.h> if it defines MIN, MAX.
68141         Based on a patch by Derek Price <derek@ximbiot.com>.
68142
68143 2005-05-21  Jim Meyering  <jim@meyering.net>
68144
68145         * modules/fts (Files): Add m4/inttypes-pri.m4.
68146         (Depends-on): Add lstat and remove gettext.  Alphabetize.
68147
68148 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68149
68150         New fts module.
68151         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
68152         (setup_dir, free_dir): New functions.
68153         (enter_dir, leave_dir): Define trivial
68154         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
68155         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
68156         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
68157         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
68158         Move to fts-cycle.c.
68159         (fts_open): Use setup_dir.
68160         (fts_close): Use free_dir.
68161         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
68162         This adds a label and some gotos, but the alternatives were messier.
68163         Check for memory allocation failure when entering a dir.
68164         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
68165         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
68166         (FTS): New member fts_cycle, that is a union that contains the
68167         old active_dir_ht and cycle_state.  All uses changed to mention
68168         fts_cycle.ht and fts_cycle.state.
68169         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
68170         fts.c, with the following changes:
68171         (setup_dir, free_dir): New functions.
68172         (enter_dir): Now returns bool.  Return true if successful, false
68173         if memory exhausted.  All callers changed.
68174         Do not bother partly cleaning up on
68175         memory allocation failure; that is free_dir's job.
68176         However, free ad if hash_insert fails, to avoid memory leak.
68177         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
68178         fts->fts_options to see which union member to use.
68179
68180 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68181
68182         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
68183         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
68184
68185 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68186
68187         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
68188
68189 2005-05-20  Jim Meyering  <jim@meyering.net>
68190
68191         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
68192         Now a macro, to pacify GCC.
68193
68194 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68195
68196         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
68197         of -1.
68198
68199 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68200
68201         * lib/chown.c (rpl_chown): Return -1 on failure.
68202
68203 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68204
68205         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
68206         Don't check for stddef.h.
68207         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
68208         don't use its results.
68209         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
68210         since we include them unconditionally.  Don't require
68211         AM_STDBOOL_H, since stdbool is a prerequisite.
68212         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
68213         since we assume C89 or better.
68214         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
68215         as we don't use their results.
68216         Don't check for fchdir, memmove, memset, strrchr, as we use
68217         them unconditionally.
68218         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
68219         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
68220
68221 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
68224         Include <stddef.h> unconditionally, since we assume C89 now.
68225         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
68226         * lib/fts.c: Include fts_.h first, to check interface.
68227         Do not include intprops.h; no longer needed.
68228         Include cycle-check.h and hash.h, since fts_.h no longer does.
68229         Remove unnecessary casts of closedir to void.
68230         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
68231         decide whether to decrement nlinks.
68232         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
68233         (FTS): Use struct hash_table * instead of Hash_table, so that
68234         we no longer need to include hash.h here.
68235
68236 2005-05-18  Jim Meyering  <jim@meyering.net>
68237
68238         * modules/dirfd (License): Change to LGPL.  Most of the code
68239         is already in the public domain.
68240
68241 2005-05-18  Jim Meyering  <jim@meyering.net>
68242
68243         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
68244         Reported by Yoann Vandoorselaere.
68245
68246 2005-05-17  Jim Meyering  <jim@meyering.net>
68247
68248         * m4/fts.m4: New file, from coreutils.
68249
68250 2005-05-17  Jim Meyering  <jim@meyering.net>
68251
68252         * lib/fts.c, lib/fts_.h: New files, from coreutils.
68253
68254 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68255
68256         Sync from coreutils.
68257         * m4/unlinkdir.m4: New file.
68258
68259 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68260
68261         Sync from coreutils.
68262         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
68263         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
68264         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
68265         White space changes only.
68266         * lib/makepath.c (make_path): Port to hosts where leading "//" is
68267         special.
68268         * lib/yesno.c: Include getline.h, not ctype.h.
68269         (yesno): Don't remove leading white space; POSIX doesn't allow it.
68270         Use getline to remove arbitrary restriction on response length.
68271
68272 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68273
68274         * config/srclist-update: Spell out "Street" in FSF postal
68275         mail address; this is the style the FSF seems to prefer.
68276
68277         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
68278         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
68279         this updates FSF postal mail address.
68280
68281         Sync from coreutils.
68282         * modules/unlinkdir: New file.
68283         * modules/yesno (Depends-on): Add getline.
68284         * MODULES.html.sh (File system functions): Add unlinkdir.
68285
68286 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68287
68288         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
68289         lib/strsep.h:
68290         Change the initial comment to refer to GPL, not LGPL.
68291         gnulib-tool will change it to LGPL as needed.
68292
68293         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
68294         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
68295         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
68296         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
68297         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
68298         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
68299         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
68300         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
68301         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
68302         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
68303         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
68304         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
68305         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
68306         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
68307         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
68308         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
68309         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
68310         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
68311         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
68312         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
68313         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
68314         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
68315         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
68316         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
68317         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
68318         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
68319         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
68320         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
68321         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
68322         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
68323         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
68324         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
68325         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
68326         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
68327         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
68328         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
68329         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
68330         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
68331         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
68332         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
68333         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
68334         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
68335         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
68336         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
68337         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
68338         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
68339         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
68340         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
68341         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
68342         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
68343         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68344         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
68345         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
68346         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
68347         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
68348         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
68349         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
68350         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
68351         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
68352         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
68353         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
68354         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
68355         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
68356         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
68357         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
68358         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
68359         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
68360         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
68361         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
68362         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
68363         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
68364         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
68365         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
68366         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
68367         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
68368         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
68369         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
68370         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
68371         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
68372         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
68373         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
68374         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
68375         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
68376         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
68377         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
68378         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
68379         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
68380         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
68381         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
68382         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
68383         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
68384         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
68385         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
68386         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
68387         lib/yesno.c, lib/yesno.h:
68388         Update FSF postal mail address.
68389
68390 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68391
68392         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
68393         tests/test-memmem.c, tests/test-stpncpy.c:
68394         Update FSF postal mail address.
68395
68396 2005-05-13  Bruno Haible  <bruno@clisp.org>
68397
68398         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
68399         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
68400         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
68401         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
68402         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
68403         Add support for 64-bit integers in the MSVC compiler.
68404
68405 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68406
68407         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
68408
68409 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
68410
68411         * gnulib-tool (func_import): Sort and uniquify recommended includes.
68412
68413 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
68414
68415         * doc/getdate.texi (General date syntax): Don't say that date
68416         date --iso-8601=ns generates acceptable dates; it doesn't yet.
68417         Problem reported by Nic Ferrier.
68418
68419 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68420
68421         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
68422         specified in ai_socktype. Fix invalid ai_protocol
68423         check. ai_protocol is usually set to 0 or depending on
68424         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
68425         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
68426         ai_socktype / ai_protocol in the returned addrinfo structure.
68427
68428 2005-05-10  Simon Josefsson  <jas@extundo.com>
68429
68430         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
68431         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68432
68433 2005-05-10  Karl Berry  <karl@gnu.org>
68434
68435         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
68436         (from http://www.gnu.org/licenses).
68437         * doc/COPYING.LIB: also rename to COPYING.LESSER.
68438         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
68439         fdl.texi suffices.
68440
68441 2005-05-10  Karl Berry  <karl@gnu.org>
68442
68443         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
68444         (COPYING.DOC): remove.
68445
68446         * config/srclist-update: new FSF address.
68447
68448 2005-05-10  Derek Price  <derek@ximbiot.com>
68449
68450         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
68451         possible.
68452
68453 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68454             Bruno Haible  <bruno@clisp.org>
68455
68456         * modules/inet_ntop: New file.
68457         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68458         inet_ntop.
68459
68460 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68461             Bruno Haible  <bruno@clisp.org>
68462
68463         * m4/inet_ntop.m4: New file.
68464
68465 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68466             Bruno Haible  <bruno@clisp.org>
68467
68468         * lib/inet_ntop.h: New file.
68469         * lib/inet_ntop.c: New file, from glibc with modifications.
68470
68471 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         * modules/time_r (License): Change to LGPL.
68474         * modules/extensions (License): Change to LGPL.  Actually,
68475         the license is more permissive than that, but currently gnulib-tool
68476         doesn't know how to handle more-permissive licenses.
68477
68478         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
68479         Problem reported by Dave Love.
68480
68481 2005-05-08  Jim Meyering  <jim@meyering.net>
68482
68483         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
68484         blank.
68485
68486 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68487
68488         * modules/argmatch (Depends-on): Add stdbool.
68489         * modules/backupfile (Depends-on): Likewise.
68490         * modules/chdir-long (Depends-on): Likewise.
68491         * modules/closeout (Depends-on): Likewise.
68492         * modules/cycle-check (Depends-on): Likewise.
68493         * modules/dirname (Depends-on): Likewise.
68494         * modules/fnmatch (Depends-on): Likewise.
68495         * modules/fsusage (Depends-on): Likewise.
68496         * modules/fwriteerror (Depends-on): Likewise.
68497         * modules/getcwd (Depends-on): Likewise.
68498         * modules/getloadavg (Depends-on): Likewise.
68499         * modules/hard-locale (Depends-on): Likewise.
68500         * modules/makepath (Depends-on): Likewise.
68501         * modules/mountlist (Depends-on): Likewise.
68502         * modules/nanosleep (Depends-on): Likewise.
68503         * modules/posixtm (Depends-on): Likewise.
68504         * modules/quotearg (Depends-on): Likewise.
68505         * modules/readtokens (Depends-on): Likewise.
68506         * modules/readtokens0 (Depends-on): Likewise.
68507         * modules/readutmp (Depends-on): Likewise.
68508         * modules/save-cwd (Depends-on): Likewise.
68509         * modules/strftime (Depends-on): Likewise.
68510         * modules/userspec (Depends-on): Likewise.
68511         * modules/utimecmp (Depends-on): Likewise.
68512         * modules/xgetcwd (Depends-on): Likewise.
68513         * modules/xnanosleep (Depends-on): Likewise.
68514         * modules/xstrtod (Depends-on): Likewise.
68515         * modules/yesno (Depends-on): Likewise.
68516
68517 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68518
68519         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
68520         needless checks.
68521
68522 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68523
68524         Merge from coreutils.  Among other things,
68525         add bulletproofing for cases where stdin, stdout, or stderr are closed.
68526         * lib/fd-safer.c: New file.
68527         * lib/fcntl-safer.h, open-safer.c: Remove.
68528         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
68529         * lib/dup-safer.c: Include unistd-safer.h first.
68530         Don't include errno.h.
68531         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
68532         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
68533         * lib/file-type.c: Rely on file-type.h change.
68534         * lib/getloadavg.c: Include unistd-safer.h.
68535         (getloadavg): Use safer open.
68536         * lib/getusershell.c: Include "stdio-safer.h".
68537         (getusershell): Use safer fopen.
68538         * lib/long-options.c (long_options): Use NULL rather than 0.
68539         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
68540         'free'.
68541         * lib/modechange.c: Likewise.
68542         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
68543         (MODE_DONE): New constant.
68544         (struct mode_change): Remove 'next' member.
68545         (make_node_op_equals): New function; like the old one of the
68546         same name, except it allocates an array.
68547         (mode_compile, mode_create_from_ref): Use it.
68548         (mode_compile): Allocate result as an array, not a linked list.
68549         Parse octal string ourself, so that we catch mistakes like "+0".
68550         (mode_adjust): Arg is an array, not a linked list.
68551         * lib/modechange.c: Include stat-macros.h, xalloc.h.
68552         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
68553         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
68554         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
68555         Remove.  This is now stat-macros.h's job.
68556         (talloc): Remove.  All callers replaced by xalloc, so that
68557         our invokers don't have to worry about reporting memory failures.
68558         (make_node_op_equals): Remove.
68559         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68560         New constants.
68561         (struct mode_change): Moved here from modechange.h.
68562         (mode_append_entry): Remove.
68563         (mode_compile): Remove MASKED_OPS arg, since it encouraged
68564         apps to have incorrect behavior.  Use simpler algorithm for head
68565         and tail.  Don't futz with umask; that's now the job of mode_adjust.
68566         Detect more invalid usages rather than having somewhat-random behavior.
68567         Don't insert an "a=" action, as that leads to incorrect behavior.
68568         (mode_compile, mode_create_from_ref): Return NULL on error instead
68569         of an enum, since now there's only one way to have an error.  All
68570         callers changed.
68571         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
68572         at the correct time.  Simplify calculation of "+u" and its ilk.
68573         Don't mishandle "+X".
68574         (mode_free): Remove "register" and localize decls.
68575         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68576         (struct mode_change): Move to modechange.c; callers don't
68577         need to see this stuff.
68578         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
68579         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
68580         (mode_change, mode_adjust): Reflect the new signatures noted above.
68581         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
68582         that might redefine system include files.
68583         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
68584         (my_usleep): Use NULL rather than (void *) 0.
68585         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
68586         Use siginterrupt to specify that system calls should be interrupted.
68587         (rpl_nanosleep): Move initialization of suspended closer to call of
68588         my_usleep.
68589         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
68590         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
68591         (desirable_utmp_entry): New function.
68592         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
68593         using x2nrealloc, to simplify logic.
68594         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
68595         size calculation.  Do not assume utmp file is a regular file.
68596         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
68597         (READ_UTMP_CHECK_PIDS): New constant.
68598         * lib/save-cwd.c: Include unistd-safer.h.
68599         (save_cwd): Use fd_safer.
68600         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
68601         [!_LIBC] Include "stat-macros.h" instead.
68602         * lib/unistd-safer.h (fd_safer): New decl.
68603
68604 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68605
68606         * modules/getloadavg (Depends-on): Add unistd-safer.
68607         * modules/getusershell (Depends-on): Add stdio-safer.
68608         * modules/lstat (Depends-on): Remove xalloc.
68609         * modules/mkstemp (Depends-on): Add stat-macros.
68610         * modules/modechange (Depends-on): Remove xstrtol.
68611         Add stat-macros, xalloc.
68612         * modules/save-cwd (Depends-on): Add unistd-safer.
68613         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
68614         * modules/unistd-safer (Files): Add lib/fd-safer.c
68615         (Makefile.am): Remove lib_SOURCES.
68616
68617         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
68618         Remove fcntl-safer; unistd-safer supersedes it.
68619
68620 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68621
68622         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
68623         AC_HEADER_STAT.
68624         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
68625         (gl_PREREQ_CHOWN): Remove.
68626         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
68627         it.  Don't require AC_HEADER_STAT.
68628         (gl_PREREQ_LSTAT): Remove.
68629         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
68630         Don't require AC_HEADER_STAT.
68631         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
68632         (gl_PREREQ_RMDIR): Remove.
68633         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
68634         mention stat-macros.h or AC_HEADER_STAT, since we'll make
68635         the stat-macros module a prerequisite.
68636         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
68637         * m4/filemode.m4 (gl_FILEMODE): Likewise.
68638         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
68639         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
68640         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
68641         variable names.
68642         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
68643         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
68644         variable prefixes.
68645         * m4/fcntl-safer.m4: Remove.
68646         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
68647         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
68648         Invoke gl_PREREQ_FD_SAFER.
68649         (gl_PREREQ_FD_SAFER): New macro.
68650         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
68651         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
68652         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
68653         Remove duplicate call to AC_LIBOBJ(readutmp).
68654         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
68655
68656         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
68657         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
68658
68659 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * MODULES.html.sh (Misc): Add byteswap.
68662
68663 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68664
68665         * modules/getcwd (Depends-on): Add extensions.
68666         * modules/openat (Depends-on): Likewise.
68667
68668 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68669
68670         * modules/byteswap: New file.
68671
68672 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68673
68674         * m4/byteswap.m4: New file.
68675
68676 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68677
68678         * lib/byteswap_.h: New file.
68679
68680 2005-04-25  Karl Berry  <karl@gnu.org>
68681
68682         * m4/gettext.m4: Update from GNU gettext 0.14.4.
68683
68684 2005-04-25  Albert Chin  <china@thewrittenword.com>
68685
68686         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
68687         Toolkit C bug.
68688
68689 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
68690
68691         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
68692         (func_ln_if_changed): Remove forcibly for no error message
68693         in case file does not exist.
68694
68695 2005-04-19  Simon Josefsson  <jas@extundo.com>
68696
68697         * gnulib-tool (Options): Make --symlink mean --symbolic.
68698
68699 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
68700
68701         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
68702
68703 2005-04-16  Simon Josefsson  <jas@extundo.com>
68704
68705         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
68706
68707 2005-04-15  Simon Josefsson  <jas@extundo.com>
68708
68709         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
68710
68711 2005-04-15  Simon Josefsson  <jas@extundo.com>
68712
68713         * gnulib-tool: Rename --symlink to --symbolic.
68714
68715 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
68716
68717         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
68718         symbolic links to files instead of copying/moving.  Add --aux-dir,
68719         specifying directory relative --dir where auxiliary build tools
68720         are placed.
68721
68722 2005-04-14  Bruno Haible  <bruno@clisp.org>
68723
68724         * modules/allocsa (License): Change to LGPL.
68725         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
68726
68727 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68728
68729         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
68730         that "UTC +1 second" continues to work.  Problem reported
68731         by Dmitry V. Levin.
68732         (relunit_snumber): New rule.
68733         (relunit): Use it.
68734
68735 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68736
68737         * lib/getdate.y (universal_time_zone_table): New constant.
68738         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
68739         universal_time_zone_table.
68740         (lookup_zone): Prefer universal_time_zone_table to
68741         local_time_zone_table, so that "GMT" time stamps are allowed in
68742         London during the summer.  Problem reported by Ian Abbott.
68743
68744 2005-04-12  Jim Meyering  <jim@meyering.net>
68745
68746         * lib/human.c (humblock): Set *options even when returning due to
68747         xstrtoumax conversion failure.  Thanks to a used-uninitialized
68748         warning from gcc-4.
68749
68750 2005-04-09  Jim Meyering  <jim@meyering.net>
68751
68752         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
68753         -Wuninitialized: initialize tm0.tm_year.
68754
68755 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68756
68757         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
68758         count, since there's no maximum.  All uses changed.
68759         Add member dsts_seen.
68760         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
68761         not being INT_MAX.
68762         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
68763         Use pc_rels_seen to decide whther a date is absolute.
68764
68765         * lib/getdate.y (number): Don't overwrite year.
68766         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
68767         check.
68768
68769 2005-04-02  Simon Josefsson  <jas@extundo.com>
68770
68771         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
68772         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
68773
68774 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
68775
68776         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
68777         where no absolute path name can be longer than PATH_MAX.
68778
68779 2005-03-27  Jim Meyering  <jim@meyering.net>
68780
68781         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
68782
68783 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68784
68785         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
68786         "one's complement" -> "ones' complement" in comment, as per Knuth.
68787         "value of type" -> "type or expression" in comment.
68788         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
68789
68790 2005-03-26  Jim Meyering  <jim@meyering.net>
68791
68792         Comment nits.
68793         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
68794         Correct typos: s/or/of/.
68795
68796 2005-03-26  Jim Meyering  <jim@meyering.net>
68797
68798         * modules/check-include-files: Move to ../ and rename to...
68799         * check-module: ...this.
68800
68801 2005-03-25  Jim Meyering  <jim@meyering.net>
68802
68803         * modules/xvasprintf (Files): Add xalloc.h.
68804
68805 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68806
68807         * modules/gettext (Files): config/config.rpath ->
68808         build-aux/config.rpath
68809         * modules/iconv (Files): Likewise.
68810         Problem reported by Oskar Liljeblad.
68811
68812 2005-03-23  Jim Meyering  <jim@meyering.net>
68813
68814         * modules/check-include-files: New script to check for
68815         missing dependencies, multiple includes, etc.
68816
68817         * modules/c-strtold (Depends-on): Add xalloc.
68818         * modules/c-strtod (Depends-on): Add xalloc.
68819         * modules/hash (Depends-on): Add xalloc.
68820         (Files): Remove lib/xalloc.h.
68821
68822         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
68823         * modules/userspec (Files): Add lib/inttostr.h.
68824
68825 2005-03-23  Jim Meyering  <jim@meyering.net>
68826
68827         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
68828
68829 2005-03-22  Jim Meyering  <jim@meyering.net>
68830
68831         * modules/stat-macros: New module.
68832         * modules/canonicalize, modules/euidaccess, modules/file-type,
68833         * modules/filemode, modules/lchown, modules/makepath,
68834         * modules/rmdir, modules/stat: Depend on new stat-macros module
68835         rather than listing lib/stat-macros.h manually.
68836         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
68837
68838 2005-03-22  Jim Meyering  <jim@meyering.net>
68839
68840         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
68841
68842 2005-03-22  Bruno Haible  <bruno@clisp.org>
68843
68844         * config/srclist.txt: Replace target directory 'config' with
68845         'build-aux'.
68846         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
68847         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
68848         ../build-aux/.
68849
68850 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
68851
68852         * modules/chdir-long (Depends-on): Add mempcpy.
68853
68854         * modules/acl, modules/backupfile, modules/c-strtod,
68855         modules/c-strtold, modules/canon-host, modules/canonicalize,
68856         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
68857         modules/exclude, modules/exitfail, modules/file-type,
68858         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
68859         modules/getdate, modules/getline, modules/getpagesize,
68860         modules/getpass, modules/getugroups, modules/group-member,
68861         modules/hard-locale, modules/hash, modules/human, modules/idcache,
68862         modules/inttostr, modules/long-options, modules/makepath,
68863         modules/md5, modules/memcasecmp, modules/memcoll,
68864         modules/modechange, modules/mountlist, modules/path-concat,
68865         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
68866         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
68867         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
68868         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
68869         modules/strftime, modules/strndup, modules/strverscmp,
68870         modules/timespec, modules/unlocked-io, modules/userspec,
68871         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
68872         modules/yesno:
68873         Remove lib_SOURCES line from Makefile.am section, as this is now
68874         done automatically by the corresponding Autoconf macro.
68875
68876 2005-03-21  Jim Meyering  <jim@meyering.net>
68877
68878         Changes imported from coreutils.
68879
68880         * lib/cycle-check.c: Don't include xalloc.h.
68881
68882         * lib/path-concat.c: Don't include assert.h.
68883         (path_concat): Remove assertion that would have triggered
68884         for ABASE starting with more than one slash.
68885         Reported by Andreas Schwab.
68886
68887         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
68888         properly when ABASE is an absolute file name.
68889         Correct the description of this function.
68890         Include <assert.h>.
68891         Add an assertion and a test driver.
68892         This fixes a bug introduced on 2004-07-02.
68893         Andreas Schwab reported the resulting failure of cp --parents:
68894         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
68895
68896 2005-03-21  Jim Meyering  <jim@meyering.net>
68897
68898         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
68899         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
68900
68901 2005-03-21  Jim Meyering  <jim@meyering.net>
68902         and  Paul Eggert  <eggert@cs.ucla.edu>
68903
68904         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
68905         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
68906         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
68907         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
68908         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
68909         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
68910         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
68911         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
68912         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
68913         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
68914         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
68915         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
68916         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
68917         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
68918         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
68919         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
68920         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
68921         for these modules.
68922
68923 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
68924
68925         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
68926         (which shouldn't happen), generate nothing instead of returning 0
68927         immediately, so that nstrftime (NULL, ...) doesn't return 0.
68928
68929 2005-03-16  Bruno Haible  <bruno@clisp.org>
68930
68931         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
68932         HAVE_LONGLONG_64BIT.
68933
68934 2005-03-16  Bruno Haible  <bruno@clisp.org>
68935
68936         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
68937         HAVE_LONGLONG_64BIT.
68938
68939 2005-03-16  Bruno Haible  <bruno@clisp.org>
68940
68941         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
68942         HAVE_LONGLONG_64BIT.
68943
68944 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68945
68946         * lib/strftime.c (my_strftime): Prepend space to format so that we can
68947         reliably distinguish strftime failure from empty output on POSIX
68948         hosts.
68949
68950 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68951
68952         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
68953         (iconv_string): Don't guess a size-zero buffer, as that might cause
68954         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
68955         result would be 'too large', where 'too large' is (heuristically)
68956         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
68957         overflow concerns.  This will prevent some unwanted malloc failures
68958         when the inputs are very large.
68959
68960 2005-03-15  Karl Berry  <karl@gnu.org>
68961
68962         * config/srclist.txt (config.rpath): from gettext.
68963         * config/config.rpath: update.
68964
68965 2005-03-15  Bruno Haible  <bruno@clisp.org>
68966
68967         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
68968         to 'negate'.
68969
68970         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68971         variable.
68972
68973         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68974         results.
68975
68976 2005-03-14  Simon Josefsson  <jas@extundo.com>
68977
68978         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68979         <fx@gnu.org>.
68980
68981 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68982
68983         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68984         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68985         intprops.h.
68986         * lib/strtol.c: Likewise.
68987
68988 2005-03-14  Jim Meyering  <jim@meyering.net>
68989
68990         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68991         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68992         to be nonzero so that we (and caller) can detect the difference
68993         between a valid zero-length expansion and an error return, even
68994         when the underlying strftime fails before writing anything into
68995         that location.
68996
68997 2005-03-14  Bruno Haible  <bruno@clisp.org>
68998
68999         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
69000         Update from GNU gettext 0.14.3.
69001
69002 2005-03-10  Jim Meyering  <jim@meyering.net>
69003
69004         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
69005
69006 2005-03-10  Jim Meyering  <jim@meyering.net>
69007
69008         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
69009         so that this module works on systems without fchdir.
69010
69011 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
69012
69013         Factor int-properties macros into a single file, except for
69014         glibc-related files.
69015         * lib/intprops.h: New file.
69016         * lib/getloadavg.c: Include it instead of limits.h.
69017         (INT_STRLEN_BOUND): Remove.
69018         * lib/human.c: Include intprops.h.
69019         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
69020         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
69021         302/1000.
69022         * lib/inttostr.h: Include intprops.h instead of limits.h.
69023         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
69024         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
69025         for consistency with intprops.h.
69026         (time_t_is_integer, twos_complement_arithmetic): Use them.
69027         * lib/sig2str.h: Include <signal.h>, intprops.h.
69028         (INT_STRLEN_BOUND): Remove.
69029         * lib/strftime.c (TYPE_SIGNED): Remove.
69030         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
69031         * lib/strtol.c: Adjust comments to match intprops.h.
69032         * lib/userspec.c: Include intprops.h.
69033         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
69034         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
69035         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
69036         instead of rolling our own expressions.
69037         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
69038
69039         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
69040         instead of int.
69041         (my_strftime): Do not mishandle years close to INT_MAX, by doing
69042         the right thing even if adding 1900 would overflow.  Similarly
69043         for tm_mon + 1 and tm_yday + 1.
69044         Make %Y always equivalent to %C%y, and similarly for %G and %g.
69045         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
69046         (DO_SIGNED_NUMBER): New macro.
69047         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
69048
69049 2005-03-07  Bruno Haible  <bruno@clisp.org>
69050
69051         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
69052
69053 2005-03-07  Bruno Haible  <bruno@clisp.org>
69054
69055         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
69056
69057 2005-03-04  Derek R. Price  <derek@ximbiot.com>
69058
69059         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
69060         (func_import): Only replace files via --import when they have actually
69061         changed.
69062
69063 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69064
69065         * m4/mmap-anon.m4: New file.
69066         * m4/pagealign_alloc.m4: New file.
69067
69068 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69069             Bruno Haible  <bruno@clisp.org>
69070
69071         * modules/pagealign_alloc: New file.
69072         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
69073
69074 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69075             Bruno Haible  <bruno@clisp.org>
69076
69077         * lib/pagealign_alloc.h: New file.
69078         * lib/pagealign_alloc.c: New file.
69079
69080 2005-03-03  Bruno Haible  <bruno@clisp.org>
69081
69082         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
69083         Use an all-permissive copyright notice, recommended by RMS.
69084
69085 2005-03-02  Bruno Haible  <bruno@clisp.org>
69086
69087         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
69088         of AIX, the replacement has to be done only after <string.h> is
69089         included, therefore not in config.h. stpncpy.h does the replacement,
69090         and stpncpy.c uses it.
69091
69092 2005-03-02  Bruno Haible  <bruno@clisp.org>
69093
69094         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
69095         stpncpy.c uses it.
69096
69097 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69098
69099         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
69100         The workaround isn't strictly needed for POSIX conformance, and
69101         it's too much of a pain to configure and maintain.  We'll ask
69102         people to fix their kernels instead.
69103         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
69104         (NANOSLEEP_BUG_WORKAROUND): Remove.
69105         (xnanosleep): Remove the workaround.
69106
69107 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69108
69109         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
69110         Reported by Derek Price.
69111         (Include): Add "timespec.h".
69112
69113         * modules/xnanosleep (Depends-on): Remove gethrxtime.
69114
69115 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69116
69117         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
69118         to detect nanosleep bug.
69119
69120 2005-03-01  Bruno Haible  <bruno@clisp.org>
69121
69122         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
69123
69124 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
69125
69126         * modules/gethrxtime: New file.
69127         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
69128         (Depends-on): Add gethrxtime.
69129         (configure.ac): Add gl_XNANOSLEEP.
69130         (Makefile.am): Remove lib_SOURCES line.
69131
69132 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69133
69134         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
69135         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
69136
69137 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69138
69139         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
69140         * lib/timespec.h (gettime): Return void, since it always
69141         succeeds now.  All uses changed.
69142         * lib/gettime.c (gettime): Likewise.
69143         [HAVE_NANOTIME]: Prefer nanotime.
69144         Assume gettimeofday succeeds, as POSIX requires.
69145         Assime time () succeeds, since other code already does.
69146         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
69147         (timespec_subtract): Remove.
69148         (NANOSLEEP_BUG_WORKAROUND): New constant.
69149         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
69150         things considerably.  Use it only on GNU/Linux hosts, since the
69151         workaround shouldn't be needed elsewhere.
69152
69153 2005-02-24  Bruno Haible  <bruno@clisp.org>
69154
69155         * modules/gettext (Files): Add m4/glibc2.m4.
69156
69157 2005-02-24  Bruno Haible  <bruno@clisp.org>
69158
69159         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
69160         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
69161         * m4/progtest.m4:
69162         Update from GNU gettext 0.14.2.
69163         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
69164
69165 2005-02-24  Bruno Haible  <bruno@clisp.org>
69166
69167         * lib/localcharset.c: Update from GNU gettext 0.14.2.
69168         * lib/config.charset: Update from GNU gettext 0.14.2.
69169
69170 2005-02-24  Bruno Haible  <bruno@clisp.org>
69171
69172         * lib/gettext.h: Update from GNU gettext 0.14.2.
69173
69174 2005-02-23  Simon Josefsson  <jas@extundo.com>
69175
69176         * m4/iconvme.m4: New file.
69177
69178 2005-02-23  Jim Meyering  <jim@meyering.net>
69179
69180         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
69181         change.
69182         Thanks to Bruno Haible for catching it.
69183
69184 2005-02-22  Simon Josefsson  <jas@extundo.com>
69185
69186         * modules/iconvme: New file.
69187
69188         * MODULES.html.sh: Add iconvme.
69189
69190 2005-02-22  Simon Josefsson  <jas@extundo.com>
69191
69192         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
69193
69194 2005-02-22  Simon Josefsson  <jas@extundo.com>
69195
69196         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
69197
69198 2005-02-22  Jim Meyering  <jim@meyering.net>
69199
69200         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
69201         s/ifndef/ifdef/.
69202
69203 2005-02-20  Neil Conway  <neilc@samurai.com>
69204
69205         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
69206         returned by OSX/Darwin if the specified buffer is not large
69207         enough for the hostname.
69208
69209 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69210
69211         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
69212         pass it to _help, otherwise the latter coredumps trying to
69213         dereference state.root_argp.
69214
69215 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69216
69217         * modules/chdir-long (Depends-on): Add memrchr.
69218         * modules/memrchr (Files): Add lib/memrchr.h.
69219         (Include): "memrchr.h".
69220
69221 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
69224
69225 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69226
69227         * lib/memrchr.h: New file.
69228         * lib/chdir-long.c: Include it.
69229         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
69230         Don't bother including stddef.h.
69231
69232 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69233
69234         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
69235         inclusion.
69236         Include <sys/types.h>, for dev_t.
69237         (ME_DUMMY, ME_REMOTE): Move from here....
69238         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
69239         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
69240         Dmitry V. Levin.
69241         Include mountlist.h first, to test the interface.
69242
69243 2005-01-29  Bruno Haible  <bruno@clisp.org>
69244
69245         * lib/progname.c (program_name): Initialize.
69246         Needed when linking statically on MacOS X.
69247
69248 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69249
69250         Sync from coreutils.
69251         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
69252         (Depends-on): Add c-strtod.
69253         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
69254
69255 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69256
69257         Sync from coreutils.
69258         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
69259
69260         Remove files that are specific to coreutils.
69261         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
69262
69263 2005-01-28  Bruno Haible  <bruno@clisp.org>
69264
69265         * modules/javacomp: New file.
69266         * MODULES.html.sh (Java): Add javacomp.
69267
69268 2005-01-28  Bruno Haible  <bruno@clisp.org>
69269
69270         * m4/javacomp.m4: New file, from GNU gettext.
69271
69272 2005-01-28  Bruno Haible  <bruno@clisp.org>
69273
69274         * lib/javacomp.sh.in: New file, from GNU gettext.
69275         * lib/javacomp.h: New file, from GNU gettext.
69276         * lib/javacomp.c: New file, from GNU gettext.
69277
69278 2005-01-26  Simon Josefsson  <jas@extundo.com>
69279
69280         * lib/gai_strerror.c: Use GPL in header.
69281
69282 2005-01-26  Bruno Haible  <bruno@clisp.org>
69283
69284         * modules/javaexec: New file.
69285         * MODULES.html.sh (Java): Add javaexec.
69286
69287 2005-01-26  Bruno Haible  <bruno@clisp.org>
69288
69289         * m4/javaexec.m4: New file, from GNU gettext.
69290
69291 2005-01-26  Bruno Haible  <bruno@clisp.org>
69292
69293         * lib/javaexec.sh.in: New file, from GNU gettext.
69294         * lib/javaexec.h: New file, from GNU gettext.
69295         * lib/javaexec.c: New file, from GNU gettext.
69296
69297 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69298
69299         * modules/lchown (Depends-on): Remove lchown.h
69300
69301 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69302
69303         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
69304         must be defined if the header file was not found, in order
69305         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
69306
69307 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69308
69309         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
69310         initializers for struct pentry_state.
69311         (__argp_error): Check return value of __asprintf
69312         (__argp_failure): Translate error message
69313
69314         * lib/argp-parse.c: Removed braces around the expansion of N_()
69315
69316 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69317
69318         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
69319         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
69320         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
69321         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
69322         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
69323         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
69324         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
69325         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
69326         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
69327         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
69328         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
69329         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
69330         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
69331         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
69332         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
69333         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
69334         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
69335         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
69336         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
69337         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
69338         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
69339         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
69340         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
69341         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
69342         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
69343         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
69344         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
69345         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
69346         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
69347         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
69348         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
69349         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
69350         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
69351         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
69352         xstrtol.m4, xstrtoumax.m4, yesno.m4:
69353         Use an all-permissive copyright notice, recommended by RMS.
69354
69355 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
69356
69357         * modules/chdir-long (Depends-on): Remove mempcpy.
69358
69359 2005-01-21  Jim Meyering  <jim@meyering.net>
69360
69361         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
69362         same value as for Solaris 9.
69363
69364         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
69365         component length.  This included changing the parameter to be
69366         of type `char *' rather than `char const *'.
69367         * lib/chdir-long.h (chdir_long): Update prototype.
69368
69369         * lib/openat.c (fdopendir, fstatat): New functions.
69370         * lib/openat.h: Include headers required for use of DIR and struct
69371         stat.
69372         [AT_SYMLINK_NOFOLLOW]: Define.
69373         (fdopendir, fstatat): Add prototypes.
69374
69375 2005-01-21  Bruno Haible  <bruno@clisp.org>
69376
69377         * modules/classpath: New file.
69378         * MODULES.html.sh (Java): Add classpath.
69379
69380 2005-01-21  Bruno Haible  <bruno@clisp.org>
69381
69382         * lib/classpath.h: New file, from GNU gettext.
69383         * lib/classpath.c: New file, from GNU gettext.
69384
69385 2005-01-20  Simon Josefsson  <jas@extundo.com>
69386
69387         * modules/version-etc-fsf: New file.
69388
69389 2005-01-20  Simon Josefsson  <jas@extundo.com>
69390
69391         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
69392         * lib/version-etc.c: Remove version_etc_copyright.
69393         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
69394         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
69395
69396 2005-01-20  Simon Josefsson  <jas@extundo.com>
69397
69398         * lib/base64.h (isbase64): Add.
69399
69400         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
69401         using a unsigned prototype, don't inline.
69402         (base64_decode): Use it.
69403
69404 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69405
69406         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
69407         it.
69408
69409 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69410
69411         * lib/save-cwd.c (save_cwd): Remove code to support the case
69412         where fchdir is missing or flaky.
69413
69414 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69415
69416         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
69417
69418 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69419
69420         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
69421         AC_LIBSOURCES now does this.
69422         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
69423         with new ullong_max module.
69424
69425 2005-01-19  Bruno Haible  <bruno@clisp.org>
69426
69427         * modules/sh-quote: New file.
69428         * MODULES.html.sh (Executing programs): Add sh-quote.
69429
69430 2005-01-19  Bruno Haible  <bruno@clisp.org>
69431
69432         * lib/sh-quote.h: New file, from GNU gettext.
69433         * lib/sh-quote.c: New file, from GNU gettext.
69434
69435 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69436
69437         Merge from coreutils.
69438         * m4/ullong_max.m4: New file.
69439         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
69440         (gl_MACROS): Assume localeconv exists.
69441
69442 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69443
69444         Merge changes from coreutils, as described below in several
69445         changelogs dated today.
69446
69447         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
69448         (O_DIRECTORY): Remove; not needed here, since "." must be
69449         a directory.  All uses removed.
69450         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
69451         universal on Suns, and we also need to test for IRIX.
69452         Revamp code to use 'if' rather than '#if'.
69453         Avoid unnecessary comparison of cwd->desc to 0.
69454
69455         * lib/utimens.c (futimens): Robustify the previous patch, by checking
69456         for known valid error numbers rather than observed invalid ones.
69457
69458 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69459
69460         * modules/ullong_max: New file.
69461
69462         * modules/chdir-long, modules/openat: New files.
69463         * modules/save-cwd (Depends-on): Depend on chdir-long.
69464         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
69465
69466 2005-01-18  Jim Meyering  <jim@meyering.net>
69467
69468         Merge from coreutils.
69469         * m4/chdir-long.m4, m4/openat.m4: New files.
69470         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
69471         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
69472         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
69473         is sane and DOES follow symlinks.  Besides, testing 20 different
69474         systems found no broken chown implementations.
69475         Prompted by a change in rsync's copy of this macro.
69476         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
69477
69478         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
69479
69480         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
69481         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
69482         NULL-means-set-to-current-time semantics.
69483         Remove temporary file immediately, rather than waiting
69484         for configure's at-exit trap code to do it.
69485
69486 2005-01-18  Jim Meyering  <jim@meyering.net>
69487
69488         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69489
69490         * lib/utimens.c (futimens): Account for the fact that futimes
69491         can also fail with errno == ENOSYS or errno == ENOENT.
69492         Patch from Dmitry V. Levin.
69493
69494         Change the name of the robust chdir function from chdir to chdir_long.
69495         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
69496         (restore_cwd): Use chdir_long, not chdir.
69497         * lib/chdir-long.c: Renamed from chdir.c.
69498         * lib/chdir-long.h: Renamed from chdir.h.
69499         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
69500         Hurd.
69501
69502 2005-01-18  Bruno Haible  <bruno@clisp.org>
69503
69504         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
69505         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
69506         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
69507         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
69508         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
69509         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
69510         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
69511         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
69512         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
69513         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
69514         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
69515         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
69516         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
69517         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
69518         Use an all-permissive copyright notice, recommended by RMS.
69519
69520 2005-01-18  Bob Proulx  <bob@proulx.com>
69521
69522         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
69523         simplify offsetof() macro construct to avoid compile failure with
69524         native HP-UX 11.0 ANSI C compiler.
69525
69526 2005-01-17  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
69529         redundant because stpncpy.m4 takes care of it.
69530
69531 2005-01-17  Bruno Haible  <bruno@clisp.org>
69532
69533         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
69534
69535 2005-01-17  Bruno Haible  <bruno@clisp.org>
69536
69537         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
69538         used.
69539
69540 2005-01-17  Bruno Haible  <bruno@clisp.org>
69541
69542         * lib/fwriteerror.h (fwriteerror): Change specification to include
69543         fclose.
69544         * lib/fwriteerror.c: Include <stdbool.h>.
69545         (fwriteerror): At the end, close the file stream. Record whether
69546         stdout was already closed.
69547
69548 2005-01-17  Bruno Haible  <bruno@clisp.org>
69549
69550         * lib/execute.c (environ): Declare if needed.
69551         * lib/pipe.c (environ): Likewise.
69552         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
69553
69554 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69555
69556         * modules/argp: Depend on vsnprintf
69557
69558 2005-01-10  Jim Meyering  <jim@meyering.net>
69559
69560         * modules/closeout (Depends-on): Add atexit.
69561
69562 2005-01-06  Bruno Haible  <bruno@clisp.org>
69563
69564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
69565
69566 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69567
69568         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
69569         definitions to be after all include files, to avoid collisions.
69570         Problem reported by Bob Proulx.
69571
69572 2005-01-04  Jim Meyering  <jim@meyering.net>
69573
69574         Changes imported from coreutils.
69575         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
69576         as the mkstemp template, use a temporary directory and an
69577         8.3-friendly template to avoid trouble on systems like DJGPP.
69578         Reported by Juan M. Guerrero via Stepan Kasal.
69579         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
69580         close. Remove the temporary directory right away, rather than waiting
69581         for configure's at-exit trap code to do it.
69582         Suggestion from Stepan Kasal.
69583
69584 2005-01-01  Simon Josefsson  <jas@extundo.com>
69585
69586         * gnulib-tool: Print #include directives when --import'ing.
69587
69588 2004-12-28  Simon Josefsson  <jas@extundo.com>
69589
69590         * tests/test-base64.c: Include required header files.  Remove
69591         unused variables.
69592
69593 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69594
69595         * modules/error (Depends-on): Remove gettext.
69596
69597 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69598
69599         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
69600         not needed.  This removes a dependency on the gettext module.
69601         [defined _LIBC]: Do not include <libintl.h>; not needed.
69602
69603 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69604
69605         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
69606         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
69607
69608 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
69611         HAVE_DECL_STRTOLD.
69612
69613 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69614
69615         * modules/getdate (Depends-on): Remove alloca-opt.
69616
69617 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
69620
69621 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69622
69623         * lib/argp-parse.c: Include <stddef.h>.
69624         (alignof, alignto): New macros.
69625         (parser_init): Don't assume that void * is aligned sufficiently
69626         for struct option.
69627
69628         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
69629         need to extend the stack.
69630         (YYINITDEPTH): New macro, so that the initial stack isn't overly
69631         large.
69632
69633 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69634
69635         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
69636
69637 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69638
69639         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
69640         (2004-10-24) change.  Apparently this was a false alarm.
69641
69642         * modules/getdate: Depend on alloca-opt, not alloca.
69643
69644 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69645
69646         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
69647         Remove now-obsolete comment about AIX.
69648         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
69649         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
69650         (YYMAXDEPTH): New macro.
69651
69652 2004-12-18  Simon Josefsson  <jas@extundo.com>
69653
69654         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
69655
69656 2004-12-18  Bruno Haible  <bruno@clisp.org>
69657
69658         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
69659
69660 2004-12-18  Bruno Haible  <bruno@clisp.org>
69661
69662         * lib/fatal-signal.c (fatal_signals): Make non-const.
69663         (init_fatal_signals): New function.
69664         (uninstall_handlers, install_handlers): Ignore signals that were set to
69665         SIG_IGN.
69666         (at_fatal_signal): Call init_fatal_signals.
69667         (init_fatal_signal_set): Likewise. Ignore signals that were set to
69668         SIG_IGN.
69669         Reported by Paul Eggert.
69670
69671 2004-12-18  Bruno Haible  <bruno@clisp.org>
69672
69673         * doc/alloca.texi: New file.
69674         * doc/alloca-opt.texi: New file.
69675
69676 2004-12-17  Jim Meyering  <jim@meyering.net>
69677
69678         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
69679         Otherwise, install-sh could exit with improper exit status when
69680         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
69681
69682 2004-12-16  Simon Josefsson  <jas@extundo.com>
69683
69684         * tests/test-base64.c: Add license.
69685
69686 2004-12-15  Stepan Kasal  <address@hidden>
69687
69688         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
69689
69690 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * modules/getcwd (Files): Add m4/d-ino.m4.
69693         Suggested by Mark D. Baushke.
69694
69695 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69696
69697         * lib/getdate.y (textint): New member "negative".
69698         (time_zone_hhmm): New function.
69699         Expect 14 shift-reduce conflicts, not 13.
69700         (o_colon_minutes): New rule.
69701         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
69702         (yylex): Set the "negative" member of signed numbers.
69703
69704 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69705
69706         * doc/getdate.texi (Time of day items, Time zone items):
69707         Describe new formats +00:00, UTC+00:00.
69708
69709 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69710
69711         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
69712         spurious "-l"s.  Problem reported by Stepan Kasal.
69713
69714 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
69715
69716         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
69717         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
69718
69719 2004-12-04  Simon Josefsson  <jas@extundo.com>
69720
69721         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
69722         Vandoorselaere <yoann@prelude-ids.org>.
69723
69724 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69725
69726         Changes imported from coreutils.
69727         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
69728         exist.
69729         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
69730
69731 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69732
69733         Changes imported from coreutils.
69734         * lib/hard-locale.c: Assume <locale.h> exists.
69735         Include "strdup.h".
69736         (GLIBC_VERSION): New macro.
69737         (hard_locale): Assume setlocale exists.
69738         Rewrite to avoid #ifdef.
69739         Use strdup rather than malloc + strcpy.
69740         * lib/human.c: Assume <locale.h> exists.
69741         (human_readable): Assume localeconv exists.
69742
69743 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69744
69745         * modules/hard-locale (Depends-on): Add strdup.
69746
69747 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69748
69749         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
69750         convert T2, not T.  (Imported from libc.)
69751
69752 2004-11-30  Simon Josefsson  <jas@extundo.com>
69753
69754         * modules/restrict (License): Change to LGPL.
69755
69756 2004-11-30  Simon Josefsson  <jas@extundo.com>
69757
69758         * m4/restrict.m4: Add copyright and copying conditions.
69759
69760 2004-11-30  Simon Josefsson  <jas@extundo.com>
69761
69762         * m4/base64.m4: New file.
69763
69764 2004-11-30  Simon Josefsson  <jas@extundo.com>
69765
69766         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
69767         base64.
69768
69769         * tests/test-base64.c: New file.
69770
69771         * modules/base64: New file.
69772
69773 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69774
69775         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
69776         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
69777
69778         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
69779
69780 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69781
69782         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
69783         (__getcwd.c): Don't restore errno; glibc doesn't.
69784         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
69785         first, falling back to our code only if its results look suspicious.
69786         Ensure that the resulting buffer is only as large as necessary.
69787
69788         * lib/readutmp.c: Include readutmp.h first.
69789         Include <errno.h>, since readutmp.h no longer does that.
69790         * lib/readutmp.h: Don't include <errno.h>,
69791         <sys/param.h>, <time.h>; not needed to establish interface.
69792         (errno): Remove decl.
69793         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
69794         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
69795         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
69796
69797 2004-11-28  Simon Josefsson  <jas@extundo.com>
69798
69799         * lib/base64.h, base64.c: New file.
69800
69801 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69802
69803         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
69804
69805 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69806
69807         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
69808         (Depends-on): Remove pathmax, same.  Add mempcpy.
69809         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
69810         (Makefile.am): Append getcwd.h to lib_SOURCES.
69811         (Include): Add getcwd.h.
69812         (Maintainer): Change from Jim Meyering to "all, glibc",
69813         since getdate now uses intended-for-glibc code.
69814         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
69815         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
69816
69817 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69818
69819         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
69820         HP's ANSI C compiler.
69821         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
69822         Declaring int functions causes warnings on some modern systems and
69823         shouldn't be needed to compile on ancient ones.
69824         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
69825         defined.
69826
69827         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
69828         with the following changes.
69829         (__set_errno): Parenthesize properly.
69830         Include <stdbool.h>.
69831         (MIN, MAX, MATCHING_INO): New macros.
69832         (__getcwd): Define with prototype, not K&R form.
69833         Use heuristics to allocate default buffer on stack if possible.
69834         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
69835         behavior, and to avoid the PATH_MAX limit when computing
69836         ../../../../...
69837         Use MATCHING_INO to compare inode number to file.
69838         Check for arithmetic overflow in size calculations.
69839         Fix bug in reallocation of dot array that caused getcwd to fail
69840         on directories nested deeper than 75.
69841         Be more careful about saving errno on error.
69842         Do not use realloc; use only free+malloc, as this is a bit
69843         more flexible and avoids a needless copy operation.
69844         Do not inspect st_dev and st_ino for symbolic links; POSIX
69845         doesn't specify the latter.
69846         Check for closedir errors.
69847         Avoid needless casts.
69848         Use "#ifdef weak_alias" around weak_alias, to be like other
69849         glibc code.
69850         The following changes to getcwd.c have effect only when used in
69851         gnulib; they have no effect inside glibc proper.
69852         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
69853         as alloca isn't used.
69854         (alloca, __alloca): Likewise.
69855         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
69856         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69857         unconditionally, as gnulib assumes C89 or better.
69858         Do not include <sys/param.h>.
69859         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
69860         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
69861         better.
69862         (NULL) [!defined NULL]: Remove; we assume C89 or better.
69863         Include <dirent.h> in a way that is compatible with modern Autoconf.
69864         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
69865         New macros, if not already defined.
69866         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
69867         Use "_LIBC", not "defined _LIBC", for consistency.
69868         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
69869         a mempcpy module.
69870         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
69871         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
69872         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
69873         credit only to Jim Meyering and adjust the copyright dates.
69874         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
69875         <stdlib.h>, <unistd.h>, "pathmax.h".
69876         Instead, include "xgetcwd.h" (first) and "getcwd.h".
69877         (INITIAL_BUFFER_SIZE): Remove.
69878         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
69879
69880 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69881
69882         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
69883         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
69884         Use the _ONCE methods, for efficiency.
69885         Check for fcntl.h.  In test program, include <errno.h>
69886         and <fcntl.h> if available.  Remove old K&R cruft from
69887         test program.  Check for common errors in GNU/Linux,
69888         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
69889         don't do AC_LIBOBJ, as that's getcwd.m4's job.
69890         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
69891         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
69892         name accordingly.
69893         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
69894         accommodate new getcwd.c.
69895         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
69896         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
69897         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
69898         that's all we need now.
69899
69900 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69901
69902         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
69903         argp-parse.c depends on getopt internals, that means we should
69904         always use our getopt, to be on the safe side.
69905         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
69906         order not to spoil the result of an eventual previous invocation
69907         of gl_GETOPT_SUBSTITUTE.
69908
69909 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69910
69911         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
69912         redefinition warnings. To avoid them, include the defines
69913         in `#if !defined __need_getopt ... #endif'. The only place
69914         where __getopt_argv_const is used is in definitions
69915         of getopt_long and getopt_long_only below, which are as well
69916         protected by `#ifndef __need_getopt'.
69917         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
69918         __need_getopt after including <stdio.h> and <unistd.h> These
69919         headers might have defined it.
69920
69921 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69922
69923         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
69924
69925 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69926
69927         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
69928         (futimens): New function, which uses futimes if available.
69929         (futimens, utimens): Support timespec==NULL, with same semantics
69930         as utime and utimens.
69931         * lib/utimens.h (futimens): New decl.
69932
69933 2004-11-23  Jim Meyering  <jim@meyering.net>
69934
69935         * lib/getopt_.h: Remove trailing blanks.
69936
69937 2004-11-23  Jim Meyering  <jim@meyering.net>
69938
69939         * lib/__fpending.c: Add comment.
69940
69941 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
69942
69943         * modules/canonicalize (Depends-on): Add xreadlink.
69944         Problem reported by James Youngman.
69945
69946 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69947
69948         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
69949         New macros.
69950         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
69951         optopt): Use them instead of invoking ## directly; otherwise, the
69952         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
69953
69954 2004-11-19  Bruno Haible  <bruno@clisp.org>
69955
69956         * lib/strtok_r.c: Move comments from here...
69957         * lib/strtok_r.h: ... to here.
69958
69959 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69960
69961         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
69962         implementations that mishandle size_t overflow.
69963
69964 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69965
69966         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
69967         might fail.  Problem reported by Yoann Vandoorselaere.
69968         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
69969         implementations that mishandle size_t overflow.
69970
69971 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69972
69973         * modules/canon-host (Depends-on): Add strdup.
69974
69975 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69976
69977         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69978
69979 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69980
69981         * lib/canon-host.c: Include "strdup.h".
69982         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69983         Use strdup instead of malloc/strcpy to duplicate strings.
69984
69985         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69986         (human_space_before_unit): New constant.
69987         * lib/human.c (human_readable): Support it.
69988
69989         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69990         (xgetcwd): Set errno correctly when failing.
69991         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69992         the failure is actually due to a PATH_MAX problem.
69993
69994         Further getopt changes to make it more likely that glibc will
69995         buy the changes back.
69996         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69997         (getopt): Use it, so to preserve glibc semantic
69998         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69999         when compiling for libc.
70000         * lib/getopt_.h (__getopt_argv_const): Bring it back.
70001         (getopt_long, getopt_long_only): Use it.
70002
70003         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70004         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
70005         (getopt): Argv is now char * const *, as per standard.
70006         (_getopt_internal_r, _getopt_internal): Argv is now char **,
70007         not char *__getopt_argv_const *.
70008         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70009         _getopt_long_only_r): Likewise.
70010         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
70011         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70012         _getopt_long_r, _getopt_long_only_r): Likewise.
70013         * lib/getopt_.h (__getopt_argv_const): Remove.
70014         (getopt): Argv is now char * const *, as per standard.
70015
70016         * lib/getdate.y (tORDINAL): New token.
70017         (day, relunit): Allow it for relative times.
70018         (relative_time_table): Use tORDINAL for ordinals.
70019
70020 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70021
70022         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
70023         Document that "second" isn't allowed as an ordinal number.
70024
70025 2004-11-16  Jim Meyering  <jim@meyering.net>
70026
70027         * modules/closeout (Depends-on): Add fpending.
70028
70029 2004-11-15  Jim Meyering  <jim@meyering.net>
70030
70031         * lib/closeout.c: Include "__fpending.h" once again.
70032         Include <stdbool.h>.
70033         (close_stdout): Don't fail just because stdout was closed initially,
70034         since some programs don't write to stdout in the normal course of
70035         operation (other than --version and --help), and we don't want this
70036         function to make e.g. `touch file >&-' fail.
70037         But do fail if it was closed and someone has tried to write to it.
70038         E.g., `printf foo >&-' must fail.
70039
70040 2004-11-13  Jim Meyering  <jim@meyering.net>
70041
70042         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
70043
70044 2004-11-12  Simon Josefsson  <jas@extundo.com>
70045
70046         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
70047         small doc fix is still pending.
70048
70049 2004-11-11  Simon Josefsson  <jas@extundo.com>
70050
70051         * modules/strtok_r: New file.
70052
70053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70054         strtok_r.
70055
70056 2004-11-11  Simon Josefsson  <jas@extundo.com>
70057
70058         * m4/strtok_r.m4: New file.
70059
70060         * m4/getopt.m4: Replace opterr.
70061
70062 2004-11-11  Simon Josefsson  <jas@extundo.com>
70063
70064         * lib/strtok_r.h, strtok_r.c: New file.
70065
70066 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70067
70068         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
70069         of replacing opterr, getopt, etc.  This should handle the
70070         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
70071
70072 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70073
70074         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
70075         we can stop lying to compilers about the constness of argv when we
70076         are compiled outside glibc.
70077         (getopt, getopt_long, getopt_long_only): Use it.
70078         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70079         _getopt_internal, getopt): Likewise.
70080         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70081         _getopt_long_only_r): Likewise.
70082         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70083         _getopt_long_r, _getopt_long_only_r): Likewise.
70084
70085         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
70086         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
70087         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
70088         the other external symbols.
70089         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
70090         declaration, since the above renaming now works around collisions.
70091
70092 2004-11-11  Jim Meyering  <jim@meyering.net>
70093
70094         * lib/linebreak.c: Remove trailing blanks.
70095         * lib/alloca_.h: Likewise.
70096         * lib/acosl.c: Likewise.
70097         * lib/euidaccess.c: Likewise.
70098         * lib/allocsa.h: Likewise.
70099
70100 2004-11-10  Simon Josefsson  <jas@extundo.com>
70101
70102         * m4/getaddrinfo.m4: New file.
70103
70104 2004-11-10  Simon Josefsson  <jas@extundo.com>
70105
70106         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
70107
70108 2004-11-10  Simon Josefsson  <jas@extundo.com>
70109
70110         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70111         getaddrinfo.
70112
70113         * modules/getaddrinfo: New file.
70114
70115 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70116
70117         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
70118
70119 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70120
70121         * lib/mktime.c (SHR): New macro, which is a portable
70122         substitute for >> that should work even on Crays.
70123         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
70124         Problem reported by Mark D. Baushke in
70125         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
70126         * lib/getdate.y (SHR): Likewise.
70127         (tm_diff): Use it.
70128         * lib/strftime.c (SHR): Likewise.
70129         (tm_diff): Use it.
70130         * lib/quotearg.c (struct quoting_options): Use unsigned int for
70131         quote_these_too, so that right shifts are well defined.  All uses
70132         changed.
70133
70134 2004-11-10  Jim Meyering  <jim@meyering.net>
70135
70136         Ensure that no close failure goes unreported.
70137         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
70138         return early when it seems there's nothing to flush.
70139         Don't include __fpending.h.
70140
70141 2004-11-10  Jim Meyering  <jim@meyering.net>
70142
70143         * modules/closeout (Depends-on): Remove fpending.
70144
70145 2004-11-10  Jim Meyering  <jim@meyering.net>
70146
70147         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
70148
70149 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70150
70151         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
70152         gl_FUNC_STRFTIME.
70153         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
70154         and AC_REQUIRE when possible, to avoid duplicate checks.
70155         Check for <wchar.h>.
70156
70157 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70158
70159         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
70160
70161 2004-11-09  Bruno Haible  <bruno@clisp.org>
70162
70163         * m4/sockpfaf.m4: New file.
70164
70165 2004-11-05  Bruno Haible  <bruno@clisp.org>
70166
70167         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
70168         Reported by Mark D. Baushke <mdb@cvshome.org>.
70169
70170 2004-11-04  Bruno Haible  <bruno@clisp.org>
70171
70172         2004-09-11  Bruno Haible  <bruno@clisp.org>
70173                 * allocsa.valgrind: New file.
70174         2004-02-06  Bruno Haible  <bruno@clisp.org>
70175                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
70176                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
70177                 Reported by Christopher Seip <chris.seip@hp.com>.
70178
70179 2004-11-04  Bruno Haible  <bruno@clisp.org>
70180
70181         * modules/allocsa (Files): Add lib/allocsa.valgrind.
70182         (Makefile.am): Distribute it.
70183
70184 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70185
70186         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
70187         with errno == ERANGE if the buffer is too small.
70188         Problem reported by Mark D. Baushke.
70189
70190 2004-11-03  Albert Chin  <china@thewrittenword.com>
70191             Paul Eggert  <eggert@cs.ucla.edu>
70192
70193         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
70194         equivalent, substitute $ac_type for equivalent type rather than
70195         blindly using uint32_t *always* which won't work if uint32_t is not
70196         available.  Define _UINT32_T to work around typedef of uint32_t if
70197         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
70198         2.5.1.
70199
70200 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70201
70202         * m4/jm-macros.m4: Sync from coreutils.
70203         (gl_MACROS): Check for mbrlen, for pathchk.
70204         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
70205
70206 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70207
70208         * lib/xreadlink.c (MAXSIZE): New macro.
70209         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
70210         size does not exceed MAXSIZE.  Avoid cast.
70211         As suggested by Mark D. Baushke in
70212         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
70213         if readlink fails with buffer size just under MAXSIZE, try again
70214         with MAXSIZE.
70215
70216 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
70219
70220 2004-11-02  Derek R. Price  <derek@ximbiot.com>
70221         and  Paul Eggert  <eggert@cs.ucla.edu>
70222
70223         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
70224         (get_date): Overparenthesize to avoid GCC warning.
70225
70226 2004-11-02  Bruno Haible  <bruno@clisp.org>
70227
70228         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
70229         returns void.
70230
70231 2004-11-02  Bruno Haible  <bruno@clisp.org>
70232
70233         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
70234         function returns void.
70235
70236 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70237
70238         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
70239         fflush_unlocked, flockfile, funlockfile, funlockfile,
70240         fputs_unlocked, putc_unlocked.
70241
70242 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70243
70244         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70245         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
70246         already declared.
70247
70248 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70249
70250         * modules/getdate (Files): Add doc/getdate.texi.
70251         (Depends-on): Add setenv, xalloc.
70252
70253 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70254
70255         * lib/getdate.y: Add support for TZ="foo" within a date string.
70256         Fix some bugs near time_t boundaries.  Reject dates with
70257         out-of-range components, e.g., "Sept 31".
70258         Include <stdlib.h>, "setenv.h", "xalloc.h".
70259         (ISDIGIT_LOCALE): Remove; unused.
70260         Note that the TZ and time functions used here are not reentrant.
70261         (mktime_ok, get_tz): New functions.
70262         (TZBUFSIZE): New constant.
70263         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
70264         This requires that we sometimes generate our own TZ="XXX..." setting.
70265
70266 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70267
70268         * doc/getdate.texi: New file, from coreutils with modifications for
70269         the new TZ parsing.
70270
70271 2004-10-27  Derek R. Price  <derek@ximbiot.com>
70272
70273         * lib/mktime.c (not_equal_tm): Remove redundant check.
70274
70275 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70276
70277         * modules/regex (lib_SOURCES): Add regex.c.
70278         Reported by James Youngman in
70279         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
70280
70281 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70282
70283         * lib/getdate.y: Use Bison 1.875 features, and some minor
70284         code cleanups.  This change does not affect semantics.
70285         Don't include <stdlib.h>; no longer needed.
70286         Don't include unlocked-io.h; only the "#if TEST" code uses
70287         stdio, and performance isn't crucial there.
70288         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
70289         Bison 1.875 features as described below.
70290         All uses of "PC." replaced by "pc->".
70291         (YYSTYPE): Add a forward declaration.
70292         (yylex, yyerror): Use full prototypes in forward decls.
70293         Use "%pure-parser" rather than obsolescent "%pure_parser".
70294         Use %parse-param and %lex-param instead of obsolescent
70295         YYPARSE_PARAM and YYLEX_PARAM.
70296         (meridian_table, month_and_day_table, time_units_table,
70297         relative_time_table, time_zone_table, military_table,
70298         lookup_zone, lookup_word, get_date):
70299         Use NULL instead of 0 where appropriate.
70300         (to_hour): Avoid abort (), to avoid a dependency on
70301         stdlib.h.
70302         (yyerror, yylex): Now accepts parser_control * arg.
70303         (main) [TEST]: Use '\0' rather than 0 for char.
70304
70305 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
70306
70307         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
70308
70309 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
70310
70311         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
70312         It's now the caller's responsibility to handle the case where
70313         !HAVE_GETPAGESIZE && !defined getpagesize.
70314
70315         * lib/mktime.c (leapyear): Arg is long int, not int.
70316
70317 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
70318
70319         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
70320
70321 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70322
70323         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
70324         missing.  Problem reported by James Youngman.
70325
70326 2004-10-16  Simon Josefsson  <jas@extundo.com>
70327
70328         * gnulib-tool: Fix comments.  Fix parse problem.
70329         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
70330
70331 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
70332
70333         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
70334         implementation of getopt_long.  Problem reported by Alexander Taler in:
70335         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
70336
70337 2004-10-15  Bruno Haible  <bruno@clisp.org>
70338
70339         * gnulib-tool: Untabify. Initialize supplied_libname.
70340         (func_usage): More homogenous output.
70341         (func_modules_transitive_closure, func_modules_to_filelist,
70342         func_emit_lib_Makefile_am): New functions.
70343         (func_import): New function, extracted from big case statement. Use
70344         func_get_license, func_modules_transitive_closure,
70345         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
70346         opt_lgpl. Don't use test -a, as it's not portable.
70347         (func_create_testdir): Use func_modules_transitive_closure,
70348         func_modules_to_filelist, func_emit_lib_Makefile_am.
70349
70350 2004-10-15  Bruno Haible  <bruno@clisp.org>
70351
70352         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
70353
70354 2004-10-15  Bruno Haible  <bruno@clisp.org>
70355
70356         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
70357         the portions belonging to each module.
70358         Suggested by Derek Robert Price <derek@ximbiot.com>.
70359
70360 2004-10-12  Simon Josefsson  <jas@extundo.com>
70361
70362         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70363         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
70364         to real functions.
70365
70366 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70367
70368         * modules/vsnprintf: New file.
70369
70370 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70371
70372         * m4/vsnprintf.m4: New file.
70373
70374 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70375
70376         * lib/vsnprintf.h: New file.
70377         * lib/vsnprintf.c: New file.
70378
70379 2004-10-11  Bruno Haible  <bruno@clisp.org>
70380
70381         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
70382         vsnprintf.
70383
70384 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70385
70386         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
70387
70388 2004-10-07  Bruno Haible  <bruno@clisp.org>
70389
70390         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
70391         fits into the provided buffer.
70392
70393 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70394
70395         * lib/diacrit.c, diacrit.h: Add GPL notice.
70396
70397         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
70398         notice.
70399         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
70400         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
70401         This avoids a potential constant-folding bug.
70402
70403 2004-10-05  Bruno Haible  <bruno@clisp.org>
70404
70405         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
70406         for the declaration of strsep.
70407
70408 2004-10-05  Bruno Haible  <bruno@clisp.org>
70409
70410         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
70411
70412 2004-10-04  Simon Josefsson  <jas@extundo.com>
70413
70414         * modules/memmem: New file.
70415         * tests/test-memmem.c: New file.
70416         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
70417
70418 2004-10-04  Simon Josefsson  <jas@extundo.com>
70419
70420         * m4/memmem.m4: New file.
70421
70422 2004-10-04  Simon Josefsson  <jas@extundo.com>
70423
70424         * lib/memmem.h: New file.
70425         * lib/memmem.c: New file, taken from glibc.
70426
70427 2004-10-04  Simon Josefsson  <jas@extundo.com>
70428
70429         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
70430         '#ifdef USE_UNLOCKED_IO'.
70431
70432 2004-10-04  Simon Josefsson  <jas@extundo.com>
70433
70434         * config/srclist.txt: Add memmem from glibc.
70435
70436 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70437
70438         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
70439
70440         * modules/argmatch, modules/argp, modules/closeout, modules/error,
70441         modules/exclude, modules/getdate, modules/getline,
70442         modules/getndelim2, modules/getpass, modules/getpass-gnu,
70443         modules/getusershell, modules/linebuffer, modules/md5,
70444         modules/mountlist, modules/posixtm, modules/readtokens,
70445         modules/readutmp, modules/regex, modules/sha1,
70446         modules/version-etc, modules/yesno:
70447         Remove dependency on unlocked-io.
70448
70449 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70450
70451         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
70452
70453         * m4/unlocked-io.m4: Add copyright notice.
70454         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
70455
70456 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70457
70458         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
70459         * lib/xmalloc.c (xmemdup): Likewise.
70460         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
70461         XFREE): Remove these long-obsolescent macros.
70462         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
70463         * lib/xstrdup.c: Remove.
70464
70465         * lib/regex.c (re_comp): Cast gettext return value to char *,
70466         Problem reported by Martin Neitzel via Mark D. Baushke.
70467
70468 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70469
70470         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
70471         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
70472         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
70473         regex.c, sha1.c, version-etc.c, yesno.c:
70474         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
70475         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
70476         the includer's responsibility.
70477
70478         Sync from coreutils.
70479
70480         * lib/modechange.c (mode_compile): Don't decrement a pointer that
70481         points to the start of a string, as the C Standard says the
70482         resulting behavior is undefined.
70483
70484         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
70485         simple -> simple_backups, numbered_existing ->
70486         numbered_existing_backups, numbered -> numbered_backups
70487         to avoid shadowing problems.  All uses changed.
70488         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
70489         * lib/backupfile.c (check_extension, numbered_backup):
70490         Rename locals to avoid shadowing 'basename'.
70491         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
70492         once.
70493
70494         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
70495         * lib/.cvsignore: Add getopt.h.
70496
70497 2004-10-04  Bruno Haible  <bruno@clisp.org>
70498
70499         * modules/README: New file.
70500         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
70501         not a module.
70502
70503 2004-10-02  Jim Meyering  <jim@meyering.net>
70504
70505         * lib/dirfd.h, getpagesize.h: Add copyright notice.
70506
70507 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70508
70509         * modules/strsep: New file.
70510
70511 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70512
70513         * m4/strsep.m4: New file.
70514
70515 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70516
70517         * lib/strsep.h: New file.
70518         * lib/strsep.c: New file.
70519
70520 2004-10-01  Simon Josefsson  <jas@extundo.com>
70521
70522         * lib/snprintf.c (snprintf): Handle size==0.
70523
70524 2004-10-01  Simon Josefsson  <jas@extundo.com>
70525             Bruno Haible  <bruno@clisp.org>
70526
70527         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
70528         (snprintf): Declare 'args'.
70529
70530 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
70531
70532         * lib/snprintf.c: Remove comments as to why each header is needed.
70533
70534 2004-10-01  Bruno Haible  <bruno@clisp.org>
70535
70536         * MODULES.html.sh: Add strsep.
70537
70538 2004-09-30  Simon Josefsson  <jas@extundo.com>
70539
70540         * modules/snprintf: New file.
70541
70542 2004-09-30  Simon Josefsson  <jas@extundo.com>
70543
70544         * m4/snprintf.m4: New file.
70545
70546 2004-09-30  Simon Josefsson  <jas@extundo.com>
70547
70548         * lib/snprintf.h, lib/snprintf.c: New files.
70549
70550 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70551
70552         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
70553         (hol_entry_help): Never translate an empty string.
70554         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
70555         * lib/argp.h (OPTION_NO_TRANS): New option.
70556
70557 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70558
70559         * modules/argp (Maintainer): Replace Simon Josefsson
70560         by Sergey Poznyakoff.
70561
70562 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70563
70564         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
70565         changes merged back into glibc.
70566
70567 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70568
70569         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
70570
70571 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70572
70573         * lib/xvasprintf.c: Include xalloc.h.
70574         (xvasprintf): Use xalloc_die, not xmalloc_die.
70575
70576 2004-09-29  Bruno Haible  <bruno@clisp.org>
70577
70578         * modules/alloca-opt: New file, derived from modules/alloca.
70579         * modules/allocsa: Depend on alloca-opt instead of alloca.
70580         * modules/setenv: Likewise.
70581         * modules/vasnprintf: Likewise.
70582         * MODULES.html.sh: Add alloca-opt.
70583
70584 2004-09-28  Simon Josefsson  <jas@extundo.com>
70585
70586         * gnulib-tool: New parameter --lgpl, to asseert that modules are
70587         LGPL, and to replace license template from GPL to LGPL.
70588
70589 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70590
70591         * modules/dummy: Change license to LGPL.
70592
70593 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70594
70595         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
70596
70597 2004-09-24  Simon Josefsson  <jas@extundo.com>
70598
70599         * modules/minmax (License): Change from GPL to LGPL.
70600
70601 2004-09-23  Simon Josefsson  <jas@extundo.com>
70602
70603         * gnulib-tool (--import): Typo.
70604
70605 2004-09-23  Simon Josefsson  <jas@extundo.com>
70606
70607         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
70608
70609 2004-09-22  Bruno Haible  <bruno@clisp.org>
70610
70611         * modules/*: Add 'License' field.
70612         * gnulib-tool: Accept --extract-license option.
70613         (func_get_license): New function.
70614
70615 2004-09-21  Bruno Haible  <bruno@clisp.org>
70616
70617         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
70618         Reported by Simon Josefsson.
70619
70620 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70621
70622         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
70623         gl_AC_TYPE_LONG_LONG.
70624
70625 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70626
70627         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
70628
70629 2004-09-18  Simon Josefsson  <jas@extundo.com>
70630         and  Paul Eggert  <eggert@cs.ucla.edu>
70631
70632         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
70633         calls with autoreconf.  Define GL_LIB.
70634
70635 2004-09-14  Karl Berry  <karl@gnu.org>
70636
70637         * config/srclist.txt: unsync setenv.c, sigh.
70638
70639 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70640
70641         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
70642         Problem reported by Bruno Haible in:
70643         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
70644
70645 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70646
70647         * config/srclist.txt: Comment out argp-pvh.c.
70648
70649 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
70650
70651         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
70652         in case some system header has #define'd it.  Problem reported by
70653         Soeren D. Schulze in
70654         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
70655
70656 2004-09-09  Karl Berry  <karl@gnu.org>
70657
70658         * regex.[ch]: delete from the root.  These were supposed to be
70659                 synced with emacs cvs, but this has not happened for about
70660                 a year, and anyway nothing else uses emacs regex.[ch].
70661                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
70662                 lib/regex[.ch] is untouched.
70663
70664 2004-09-09  Bruno Haible  <bruno@clisp.org>
70665
70666         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
70667
70668 2004-09-09  Bruno Haible  <bruno@clisp.org>
70669
70670         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
70671         modifications.
70672         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
70673
70674 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70675
70676         * modules/xvasprintf: New file.
70677         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
70678
70679 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70680
70681         * lib/xvasprintf.h: New file.
70682         * lib/xvasprintf.c: New file.
70683         * lib/xasprintf.c: New file.
70684
70685 2004-09-08  Bruno Haible  <bruno@clisp.org>
70686
70687         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
70688
70689 2004-09-08  Bruno Haible  <bruno@clisp.org>
70690
70691         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
70692         length is > INT_MAX.
70693         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
70694         more.
70695
70696 2004-09-08  Bruno Haible  <bruno@clisp.org>
70697
70698         * lib/stdint_.h: New file, taken from GNU clisp.
70699
70700 2004-09-08  Bruno Haible  <bruno@clisp.org>
70701             Oskar Liljeblad  <oskar@osk.mine.nu>
70702
70703         * modules/stdint: New file.
70704         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
70705
70706 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70707
70708         Import from coreutils.
70709         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
70710         strings on unbounded length.  alloca's performance benefits aren't
70711         that important here.
70712         (V_STRDUP): Remove.
70713         (parse_with_separator): New function, with most of the internals
70714         of the old parse_user_spec.  Allow user to omit both user and group,
70715         for compatibility with FreeBSD.
70716         Clone only the user name, not the entire spec.
70717         Do not set *uid, *gid unless entirely successful.
70718         Avoid memory leak in some failing cases.
70719         Fix regression for USER.GROUP reported by Dmitry V. Levin in
70720         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
70721         (parse_user_spec): Rewrite to use parse_with_separator.
70722
70723 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70724
70725         * modules/userspec: Don't depend on alloca.
70726
70727 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70728
70729         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
70730
70731 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70732
70733         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
70734         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
70735         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
70736
70737 2004-08-16  Simon Josefsson  <jas@extundo.com>
70738
70739         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
70740         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
70741         Add --dry-run for --import.
70742         Let user provided command line parameters override configure.ac
70743         settings.
70744
70745 2004-08-12  Simon Josefsson  <jas@extundo.com>
70746
70747         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
70748         as discussed with Paul Eggert in threads rooted at
70749         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
70750         and
70751         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
70752         Before, the test was empty, and relied on ELIDE_CODE in source
70753         code.)
70754         (gl_PREREQ_GETOPT): New macro.
70755         (gl_GETOPT): Use them.
70756
70757 2004-08-12  Simon Josefsson  <jas@extundo.com>
70758
70759         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
70760         * lib/getopt_.h: Renamed from getopt.h.
70761
70762 2004-08-12  Simon Josefsson  <jas@extundo.com>
70763
70764         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
70765         Change default library name from libfoo to libgnu.
70766         Now, if you have a configure.ac that says:
70767                 gl_SOURCE_BASE(gl)
70768                 gl_M4_BASE(gl/m4)
70769                 gl_MODULES(error getopt etcetera)
70770                 gl_INIT
70771         you can import all you need by running:
70772                 ../gnulib/gnulib-tool --import
70773
70774         * modules/getopt (Files): Rename getopt.h to getopt_.h.
70775         (Makefile.am): Rewrite, use logic from argz.
70776         (Include): Use <getopt.h> instead of "getopt.h".
70777
70778 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70779
70780         * modules/argp (Files): Add m4/unlocked-io.m4.
70781         (Depends-on): Add extensions.
70782
70783 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70784
70785         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
70786         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
70787         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
70788         Check for program_invocation_name, program_invocation_short_name,
70789         flockfile, funlockfile, features.h, _getopt_long_only_r.
70790
70791 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
70794         its complicated substitute.
70795         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
70796         and program_invocation_name.
70797         (__argp_basename) [!_LIBC]: Remove; the only use was
70798         replaced by its body.
70799         (__argp_short_program_name): Change condition from
70800         !defined __argp_short_program_name to
70801         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
70802         to match argp-namefrob.h.
70803         (__argp_failure): Don't assume strerror_r returns char *.
70804         * lib/argp-parse.c (N_): Define unconditionally.
70805         (argp_default_options): Fill out initializers with 0 to avoid
70806         gcc warnings.
70807
70808 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70809
70810         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
70811         getopt1.c.
70812
70813 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70814
70815         Merge from coreutils.
70816
70817         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
70818
70819         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
70820         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
70821
70822 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70823
70824         Merge from coreutils.
70825
70826         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
70827         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
70828         for Reliant Unix 5.43.
70829
70830         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
70831         (union fooround): Use uintmax_t, not long int.
70832         The rest is a merge from libc:
70833         [defined _LIBC]: Include <shlib-compat.h>.
70834         (_obstack) [defined _LIBC]: Remove after 2.3.4.
70835
70836         * lib/settime.c (settime): Recode to avoid warning with
70837         Sun Forte C 6U2.
70838
70839         * lib/strverscmp.c: Convert to UTF-8.
70840
70841 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70842
70843         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70844         m4/uintmax_t.m4.
70845
70846 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70847
70848         * modules/xalloc-die: New file.
70849         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
70850
70851         * modules/md5 (Files): Add m4/uint32_t.m4.
70852         * modules/sha1: Renamed from modules/sha.
70853         (Files):
70854         Rename lib/sha.h to lib/sha1.h.
70855         Rename lib/sha.c to lib/sha1.c.
70856         Rename m4/sha.m4 to m4/sha1.m4.
70857         (lib_SOURCES): Likewise.
70858         (configure.ac): Rename gl_SHA to gl_SHA1.
70859         (Include): sha.h -> sha1.h.
70860
70861 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70862
70863         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
70864         * m4/sha1.m4: Renamed from sha.m4.
70865         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
70866
70867 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * lib/obstack.h (obstack_empty_p):
70870         Don't assume that chunk->contents is suitably aligned.
70871         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
70872         Likewise. Problem reported by Benno in
70873         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
70874
70875         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
70876         readable.  This could be improved further but it'd take some work.
70877
70878 2004-08-08  Simon Josefsson  <jas@extundo.com>
70879
70880         * modules/xgethostname (Depends-on): Remove exit and error (not
70881         used).
70882
70883         * modules/getpass-gnu: Add getpass.h.
70884         (Depends-on): Add stdbool.
70885         * modules/getpass: Add getpass.h.
70886
70887 2004-08-08  Simon Josefsson  <jas@extundo.com>
70888
70889         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
70890         Check getpass declaration.
70891
70892 2004-08-08  Simon Josefsson  <jas@extundo.com>
70893
70894         * lib/xgethostname.c: Don't include error.h (not used).
70895
70896         * lib/getpass.h: Add.
70897         * lib/getpass.c: Include getpass.h first.
70898
70899 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * lib/xalloc-die.c: New file.
70902         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
70903         All uses removed.
70904         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
70905         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
70906         xalloc-die.c.
70907         (_, N_, xalloc_die): Move to xalloc-die.c.
70908         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
70909         so that we needn't mess with xalloc_msg_memory_exhausted.
70910
70911         * lib/sha1.h: Renamed from sha.h.
70912         (SHA1_H): Renamed from _SHA_H.
70913         (sha1_ctx): Renamed from sha_ctx.
70914         (sha1_init_ctx): Renamed from sha_init_ctx.
70915         (sha1_process_block): Renamed from sha_process_block.
70916         (sha1_process_bytes): Renamed from sha_process_bytes.
70917         (sha1_finish_ctx): Renamed from sha_finish_ctx.
70918         (sha1_read_ctx): Renamed from sha_read_ctx.
70919         (sha1_stream): Renamed from sha_stream.
70920         (sha1_buffer): Renamed from sha_buffer.
70921         * lib/sha1.c: Likewise; renamed from sha.c.
70922         Do not include <sys/types.h>.
70923         Include <stddef.h> rather than <stdlib.h>.
70924
70925 2004-08-08  Bruno Haible  <bruno@clisp.org>
70926
70927         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
70928         FILESYSTEM_PREFIX_LEN.
70929         * lib/progreloc.c: Likewise.
70930         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
70931
70932 2004-08-06  Simon Josefsson  <jas@extundo.com>
70933
70934         * modules/progname (Depends-on): Don't depend on stdbool.
70935
70936 2004-08-06  Simon Josefsson  <jas@extundo.com>
70937
70938         * modules/getsubopt: New file.
70939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70940         getsubopt.
70941
70942 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70943
70944         More merge from coreutils.
70945
70946         * m4/utimens.m4, m4/utimecmp.m4: New files.
70947         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
70948         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
70949         prereq.m4, sha.m4: Import changes from coreutils.
70950
70951 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         More merge from coreutils.
70954         * modules/raise, modules/readtokens0, modules/utimens:
70955         * modules/utimecmp, module/xnanosleep: New files.
70956         * modules/strftime: Add lib/strftime.h.
70957         Change include from <time.h> to "strftime.h".
70958         * modules/yesno: Add lib/yesno.h.
70959         * modules/backupfile: Remove lib/addext.c.
70960         * modules/euidaccess: Add stat-macros.h.
70961         * modules/canonicalize, modules/euidaccess,
70962         modules/filemode, modules/lchown, modules/makepath,
70963         modules/rmdir, modules/stat: Likewise.
70964
70965 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70966
70967         Merge from tar.
70968         * lib/argp-help.c (make_hol, hol_append): Don't assume that
70969         SIZE_MAX is a valid preprocessor constant.
70970         (__argp_basename): Change from "#ifndef _LIBC"
70971         to "#ifndef __argp_short_program_name", so that
70972         we don't compile these functions for tar.
70973
70974         More merges from coreutils.
70975         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70976         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70977         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70978         * lib/addext.c: Remove; no longer needed.
70979         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70980         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70981         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70982         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70983         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70984         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70985         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70986         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70987         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70988         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70989         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70990         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70991         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70992         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70993         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70994         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70995         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70996         Import changes from coreutils.
70997
70998 2004-08-05  Simon Josefsson  <jas@extundo.com>
70999
71000         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
71001
71002 2004-08-05  Simon Josefsson  <jas@extundo.com>
71003
71004         * m4/getsubopt.m4: New file.
71005
71006 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71007
71008         Merge from coreutils.
71009
71010         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
71011         * m4/getcwd-path-max.m4: New files.
71012
71013         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
71014         FILESYSTEM_PREFIX_LEN ->
71015         FILE_SYSTEM_PREFIX_LEN.
71016         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
71017         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
71018         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
71019         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
71020
71021         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
71022         prerequisite modules now handle the DOS stuff.
71023         Don't check for unistd.h.
71024
71025 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71026
71027         Merge from coreutils.
71028
71029         * lib/.gdb-history: Remove; this doesn't belong here.
71030
71031         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
71032         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
71033         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
71034         * lib/getcwd.c: New files.
71035
71036         * lib/dirname.h: Include <stdbool.h>.
71037         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
71038         for consistency with POSIX terminology.  All uses changed.
71039         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
71040         (strip_trailing_slashes): Use bool for booleans.
71041         * lib/stripslash.c (strip_trailing_slashes): Likewise.
71042
71043         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
71044         sometimes returns a positive errno value even when it succeeds.
71045         (print_errno_message) [!LIBC]: Fall back on strerror if
71046         __strerror_r fails.
71047
71048         * lib/path-concat.c (mempcpy): Don't define if a system header defines
71049         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
71050         (longest_relative_suffix): New function.
71051         (path_concat): Use it.  Assume first argument is not NULL.
71052         Port to DOS.  Omit redundant separators.
71053         Report an error instead of returning NULL.
71054         Use mempcpy instead of memcpy.
71055         (xpath_concat): Remove: not declared or used.
71056
71057         * lib/same.h: Include <stdbool.h>
71058         (same_name): Return bool, not int.
71059         * lib/same.c (same_name): Likewise.
71060         (errno): Don't declare; we assume C89 or better now.
71061
71062         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
71063         if not already defined.
71064
71065         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
71066         * lib/dup-safer.c (errno): Likewise.
71067
71068 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71069
71070         Merge from coreutils.
71071         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
71072         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
71073         * modules/path-concat: Don't depend on strdup.
71074
71075 2004-08-03  Simon Josefsson  <jas@extundo.com>
71076
71077         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
71078         * lib/progname.h: Don't include stdbool.h.
71079
71080 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71081
71082         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
71083         * MODULES.html.sh (func_all_modules): Remove fatal.
71084
71085 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71086
71087         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
71088
71089 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
71092         working.
71093
71094 2004-08-02  Simon Josefsson  <jas@extundo.com>
71095
71096         * lib/getsubopt.h: New file, with comments from Bruno Haible.
71097         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
71098         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
71099
71100 2004-08-01  Simon Josefsson  <jas@extundo.com>
71101
71102         * lib/xgetdomainname.c: Include stdlib.h, for free().
71103
71104 2004-07-19  Bruno Haible  <bruno@clisp.org>
71105
71106         * MODULES.html.sh (func_all_modules): Add dummy.
71107
71108 2004-07-16  Simon Josefsson  <jas@extundo.com>
71109
71110         * modules/dummy: New file.
71111
71112 2004-07-16  Simon Josefsson  <jas@extundo.com>
71113
71114         * lib/dummy.c: New file.
71115
71116 2004-07-16  Bruno Haible  <bruno@clisp.org>
71117
71118         * lib/backupfile.h: Add extern "C" for C++.
71119         * lib/closeout.h: Likewise.
71120         * lib/copy-file.h: Likewise.
71121         * lib/findprog.h: Likewise.
71122         * lib/full-write.h: Likewise.
71123         * lib/pathname.h: Likewise.
71124         * lib/progname.h: Likewise.
71125         * lib/stpcpy.h: Likewise.
71126         * lib/stpncpy.h: Likewise.
71127         * lib/strcase.h: Likewise.
71128         * lib/strstr.h: Likewise.
71129         * lib/xalloc.h: Likewise.
71130
71131         * lib/mbswidth.h: Add extern "C" for C++.
71132         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
71133
71134 2004-07-13  Robert Millan  <robertmh@gnu.org>
71135
71136         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
71137
71138 2004-07-09  Simon Josefsson  <jas@extundo.com>
71139
71140         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
71141         failed without this.)
71142
71143 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71144
71145         * modules/chown (Files): Add lib/fchown-stub.c, since
71146         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
71147
71148 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71149
71150         * lib/fchown-stub.c: New file.
71151
71152 2004-06-24  Jim Meyering  <jim@meyering.net>
71153
71154         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
71155
71156 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71157
71158         * modules/argz: Omit "#include".
71159
71160         * MODULES.html.sh (func_all_modules): Add calloc, to match
71161         2004-06-01 addition of calloc module.
71162
71163 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71164
71165         * m4/argz.m4: New file, which is autoupdated from libtool.
71166
71167 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71168
71169         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
71170         libtool.
71171
71172 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71173
71174         * config/srclist-update: Don't insist on "USA." before the
71175         close-comment, as libtool omits the period and puts the */ on a
71176         separate line.
71177         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
71178         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
71179
71180 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
71181
71182         * modules/argz: New file.
71183         * MODULES.html.sh (func_all_modules): Add argz.
71184
71185 2004-06-12  Jim Meyering  <jim@meyering.net>
71186         and  Paul Eggert  <eggert@cs.ucla.edu>
71187
71188         * modules/hash (Files): Add lib/xalloc.h.
71189         * modules/pipe (Depends-on): Add wait-process.
71190         * modules/stat (Depends-on): Add xalloc.
71191         * modules/userspec (Files): Add lib/userspec.h.
71192         * modules/xstrto
71193
71194         Upgrade from gettext-0.13.
71195         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
71196         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
71197         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
71198
71199 2004-06-10  Jim Meyering  <jim@meyering.net>
71200
71201         * lib/calloc.c: New file.
71202
71203 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
71204
71205         * lib/getdate.y (yylex): Allow space between sign and number.
71206         Problem reported by Dan Jacobson.
71207
71208 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         Merge from coreutils CVS.
71211
71212         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
71213         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
71214         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
71215         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
71216         xstrtol.m4: Fix copyright date and/or serial number.
71217
71218         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
71219         See if we need an fchown replacement.
71220         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
71221         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
71222         and use the replacement function if we detect either defect.
71223
71224         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
71225         gl_UTIMECMP.
71226
71227 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71228         and  Jim Meyering  <jim@meyering.net>
71229
71230         Merge from coreutils CVS.
71231
71232         * lib/stat-macros.h: New file, with contents from file-type.h
71233         and coreutils' system.h.
71234         * lib/file-type.c: Include "stat-macros.h".
71235         * lib/file-type.h (file_type): Move all macro definitions to new file,
71236         stat-macros.h.
71237
71238         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
71239         Wrap old code with this conditional.
71240         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
71241         function that does not dereference symlinks.
71242         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
71243
71244         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
71245         dependency problems.
71246         (xreadlink): Accept new arg SIZE, for efficiency.
71247         All decls and uses changed.
71248         * lib/xreadlink.h: Include <stddef.h>, for size_t.
71249
71250         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
71251         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
71252
71253         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
71254         sysexits.h.
71255
71256 2004-06-01  Jim Meyering  <jim@meyering.net>
71257
71258         * m4/calloc.m4: New file.
71259
71260 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
71261
71262         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
71263         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
71264         Also, fix a typo in a diagnostic.
71265
71266 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
71267
71268         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
71269         or AC_FUNC_REALLOC.
71270
71271 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
71272
71273         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
71274         macros to be defined.
71275         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
71276         the allocator returns NULL because the requested size is zero.
71277
71278 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71279
71280         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
71281         var.  Add comment explaining why libc still defines it.  This
71282         merges the following patch from glibc:
71283         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
71284
71285 2004-05-20  Andreas Schwab  <schwab@suse.de>
71286
71287         * m4/free.m4: Replace free if it not known to work, not the other
71288         way round.
71289
71290 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71291
71292         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
71293         present in glibc since revision 1.1 of this file.
71294         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
71295         obstack_alignment_mask, obstack_alloc, obstack_base,
71296         obstack_blank, obstack_blank_fast, obstack_chunk_size,
71297         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
71298         obstack_grow0, obstack_init, obstack_int_grow,
71299         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
71300         obstack_next_free, obstack_object_size, obstack_ptr_grow,
71301         obstack_ptr_grow_fast, obstack_room): Remove declarations of
71302         nonexistent functions.
71303
71304 2004-05-18  Karl Berry  <karl@gnu.org>
71305
71306         * config/srclist.txt: break link for vasnprintf.c.
71307
71308 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
71309
71310         Port obstack to the AS/400, where pointers are 16 bytes wide and
71311         you cannot cast an integer to a valid pointer.  This patch is
71312         currently waiting to be integrated into glibc; see
71313         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
71314
71315         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
71316         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
71317         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
71318         (struct obstack): temp member is now a union of a pointer and
71319         an integer, instead of an integer.  All integer uses changed.
71320         This does not affect the physical layout of struct obstack,
71321         except on hosts (like the AS/400) where the size or alignment of
71322         void * is greater than that of ptrdiff_t.
71323         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
71324         __STDC__)]: Store temporary in pointer member of union, not
71325         integer member.
71326         * lib/obstack.c: Include <stddef.h>, for offsetof.
71327         (struct fooalign): Remove; it doesn't need a name.
71328         (union fooround): Change double to long double, and add void *.
71329         (DEFAULT_ALIGNMENT): Use offsetof to compute.
71330         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
71331         not a macro.  Hence the values are always int; so remove all
71332         casts-to-int in uses.
71333
71334 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
71335
71336         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
71337         we can get this patch merged into glibc.
71338
71339 2004-05-17  Derek R. Price  <derek@ximbiot.com>
71340             Paul Eggert  <eggert@cs.ucla.edu>
71341
71342         * m4/argp: Depend on alloca.
71343
71344 2004-05-17  Derek R. Price  <derek@ximbiot.com>
71345             Paul Eggert  <eggert@cs.ucla.edu>
71346
71347         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
71348         freecoding.
71349
71350 2004-05-17  Bruno Haible  <bruno@clisp.org>
71351
71352         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
71353         precision that consists of a '.' followed by an empty digit string.
71354         Patch by Tor Lillqvist <tml@iki.fi>.
71355
71356 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71357
71358         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
71359         for backward compatibility with older code.  We need our own
71360         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
71361         it under some other name, and our alloca.h will define it.
71362
71363 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71364             Derek Price  <derek@ximbiot.com>
71365
71366         * lib/alloca.c: Include <alloca.h>, to get our interface.
71367         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
71368         include <alloca.h> first.  Use C89 prototype for alloca; this
71369         requires including <stddef.h> for size_t.  Use extern "C" if C++.
71370         Use #elif for simplicity, since we can assume C89 now.
71371         Don't try to source the system alloca.h since it will not be found
71372         and to prevent recursively including its replacement.
71373         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
71374         * lib/regex.c: Likewise.
71375
71376 2004-05-16  Derek Price  <derek@ximbiot.com>
71377             Paul Eggert  <eggert@cs.ucla.edu>
71378
71379         getline cleanup.  This changes the getndelim2 API: both order of
71380         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
71381         no delimiter).
71382
71383         * lib/getline.c: Don't include stddef.h or stdio.h, since our
71384         interface does that.
71385         (getline): Always use getdelim, so that we don't have two
71386         copies of this code.
71387         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
71388         if available.
71389         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
71390         (GETNDELIM2_MAXIMUM): New macro.
71391         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
71392         instead of the old practice of delim2==0.  All callers changed.
71393         Return -1 on overflow, instead of returning junk.
71394         Do not set *linesize unless allocation succeeds.
71395         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
71396         that we include sys/types.h.
71397         * lib/getnline.h: Likewise.
71398         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
71399         (getndelim2): Reorder arguments.
71400         * lib/getnline.c (getnline, getndelim):
71401         Don't discard the NMAX argument.
71402         (getnline): Invoke getndelim, to avoid code duplication.
71403         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
71404         of (size_t) -1 by callers of the getnline family.
71405
71406 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71407
71408         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
71409         Check for gettimeofday.
71410         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
71411         Check for settimeofday, stime.
71412
71413 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71414
71415         * lib/nanosleep.c (suspended): Change its type from int to
71416         sig_atomic_t volatile.
71417         (first_call): Make it private to rpl_nanosleep, and have it
71418         be zero initially as that's a bit faster.
71419         (my_usleep): Round up fractional times instead of truncating them,
71420         as this is the usual meaning for 'sleep'.
71421
71422         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
71423         doesn't work.
71424         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
71425         (ENOSYS): Define if not defined.
71426         (settime): Fall back on stime if it exists and settimeofday fails.
71427         But don't bother with fallbacks if a method fails with errno == EPERM.
71428
71429 2004-05-11  Jim Meyering  <jim@meyering.net>
71430
71431         Prior to this change, the save_cwd caller required read access to the
71432         current directory on most systems (ones with the fchdir function).
71433
71434         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
71435         fails, try write-only, and finally, resort to using xgetcwd.
71436
71437 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
71438
71439         * lib/obstack.c, obstack.h: Import changes from libc.
71440
71441 2004-04-28  Bruno Haible  <bruno@clisp.org>
71442
71443         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
71444         also implicitly appends .exe to executables.
71445         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
71446         accepts Windows pathnames.
71447         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71448         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71449         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71450         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71451         Reported by Derek Robert Price <derek@ximbiot.com>.
71452
71453 2004-04-21  Karl Berry  <karl@gnu.org>
71454
71455         * config/srclist.txt (localcharset.c): break sync.
71456
71457 2004-04-20  Paul Eggert  <eggert@twinsun.com>
71458
71459         * m4/host-os.m4: Add a copyright notice.
71460
71461 2004-04-20  Jim Meyering  <jim@meyering.net>
71462
71463         Change UTILS_ to gl_ in AC_DEFINE'd names.
71464         Change utils_- and jm_-prefixed variables, too.
71465         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
71466         UTILS_FUNC_MKDIR_TRAILING_SLASH.
71467         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
71468
71469         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
71470         Don't emit trailing blanks.
71471         Also rename jm_-prefixed variables to have gl_ prefix.
71472
71473         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
71474         Also rename jm_-prefixed variables to have gl_ prefix.
71475
71476         * m4/jm-macros.m4: Reflect the renamings.
71477         * m4/prereq.m4: Likewise.
71478
71479 2004-04-20  Jim Meyering  <jim@meyering.net>
71480
71481         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
71482         memory.
71483
71484 2004-04-20  Jim Meyering  <jim@meyering.net>
71485             Bruno Haible  <bruno@clisp.org>
71486
71487         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
71488         memory when realloc fails.
71489
71490 2004-04-19  Jim Meyering  <jim@meyering.net>
71491
71492         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
71493         now that readutmp.c may call `free (0)'.
71494
71495 2004-04-19  Bruno Haible  <bruno@clisp.org>
71496
71497         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
71498         * m4/inttypes_h.m4: Likewise.
71499         * m4/stdint_h.m4: Likewise.
71500         * m4/intmax_t.m4: Likewise.
71501         * m4/uintmax_t.m4: Likewise.
71502
71503 2004-04-18  Jim Meyering  <jim@meyering.net>
71504
71505         * m4/prereq.m4: Don't forbid jm_ prefix.
71506
71507         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
71508         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
71509         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
71510         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
71511         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
71512         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
71513         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
71514         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
71515         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
71516         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
71517         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
71518         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
71519         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
71520         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
71521         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
71522         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
71523         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
71524         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
71525         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
71526
71527 2004-04-18  Jim Meyering  <jim@meyering.net>
71528
71529         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
71530         failure, don't leak memory and do call END_UTMP_ENT.
71531
71532 2004-04-16  Jim Meyering  <jim@meyering.net>
71533
71534         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
71535         coreutils' stat program.
71536         (gl_PREREQ): Don't require jm_PREREQ_STAT.
71537
71538 2004-04-11  Paul Eggert  <eggert@twinsun.com>
71539
71540         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
71541         C89.
71542         (CHAR_BIT): Remove, since we assume C89.
71543         Include <stdint.h> if available, as per current Autoconf CVS advice.
71544
71545 2004-03-31  Jim Meyering  <jim@meyering.net>
71546
71547         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
71548         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
71549         * m4/xalloc.m4: Likewise.
71550
71551 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71552
71553         Merge from coreutils.
71554
71555         * m4/inttostr.m4: New file.
71556         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
71557         Require AM_STDBOOL_H and gl_TIMESPEC instead.
71558         Require gl_CLOCK_TIME.
71559         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
71560
71561 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71562
71563         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
71564         not bool, to be more consistent with Unix conventions.
71565         Suggested by Bruno Haible.
71566
71567         Merge from coreutils.
71568
71569         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
71570         * lib/umaxtostr.c: New files.
71571
71572         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
71573         the usual <time.h> dance.
71574         (get_date): Change signature to support fractional time stamps.
71575         All callers changed.
71576         * lib/getdate.y: Include "getdate.h" first, as we can now
71577         assume C89 and don't need to worry about 'const'.
71578         Similarly, include "unlocked-io.h" near start, not in middle.
71579         Include <limits.h>.
71580         (textint.value): Use long int rather than int.
71581         (textint.digits): Use size_t rather than int.
71582         (BILLION, LOG10_BILLION): New constants.
71583         (parser_control): New member rel_ns.  Members day_ordinal,
71584         time_zone, month, day, hour, minutes, rel_year, rel_month,
71585         rel_day, rel_hour, rel_minutes, rel_seconds
71586         are now long int, not int.  Member seconds is now struct timespec,
71587         not int.  New member timespec_seen.  Members dates_seen, days_seen,
71588         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
71589         not int.
71590         (%union.intval): Now long int, not int.
71591         New member timespec.
71592         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
71593         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
71594         (spec): Now is a timespec or an item list.
71595         (timespec, items): New nonterminals.
71596         (time, rel, relunit, number, get_date):
71597         Add support for fractional seconds.
71598         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
71599         (gmtime, localtime, mktime): Remove decls; not needed with C89.
71600         (to_hour): First arg is now long int, not int.
71601         (to_year): Returns long int, not int.
71602         Don't treat year -70 like 70.
71603         (tm_diff): Returns long int, not int.
71604         (lookup_word): Use bool instead of int when appropriate.
71605         (yylex): Use size_t for count, not int.
71606         Detect overflow when parsing large integer constants.
71607         Add support for fractions.
71608         (get_date): Make pointers 'const' if possible.
71609         Use more-portable code to detect integer overflow.
71610         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
71611         Don't use ctime; it's not reliable if the year has >4 digits.
71612
71613         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
71614         This is for compatibility with BSD.
71615
71616         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
71617         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
71618         From coreutils' system.h.
71619
71620         * lib/userspec.c: Don't include "posixver.h".
71621         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
71622         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
71623         compatible extension.  Simplify code by removing a boolean int
71624         that was always nonzero if a string was nonnull.
71625
71626 2004-03-30  Jim Meyering  <jim@meyering.net>
71627
71628         Merge from coreutils.
71629
71630         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
71631         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
71632         on some systems one must include <grp.h> before it.
71633         Reported by Christian Krackowizer.
71634
71635 2004-03-30  Jim Meyering  <jim@meyering.net>
71636
71637         Merge from coreutils.
71638
71639         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
71640
71641         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
71642         an empty input stream.
71643
71644         * lib/readtokens.c: Include <stdbool.h>.
71645         (readtoken): Use `size_t' rather than int/long.
71646         All callers adjusted.
71647         Use `bool' rather than `int' where appropriate.
71648         Use memset rather than an explicit loop.
71649         Use x2nrealloc rather than xrealloc.
71650         Allow the use of `\0' as a delimiter.
71651         (readtokens): Likewise.
71652         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
71653
71654 2004-03-30  Jim Meyering  <jim@meyering.net>
71655
71656         * m4/realloc.m4: Remove file, since now it does no more than
71657         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
71658         the `configure.ac' section of module/realloc.
71659         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
71660
71661 2004-03-30  Bruno Haible  <bruno@clisp.org>
71662
71663         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
71664         nonnull.
71665
71666 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71667
71668         Merge changes to getloadavg.c from coreutils and Emacs.
71669
71670         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
71671         Define to an expression, not to the empty string.
71672         Include cloexec.h and xalloc.h.
71673         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
71674         Use set_cloexec_flag rather than rolling our own.
71675         * lib/cloexec.c, lib/cloexec.h: New files.
71676
71677 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71678
71679         * m4/cloexec.m4: New file.
71680
71681 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71682
71683         * lib/getopt.h: Sync with libc CVS.
71684
71685 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71686             Bruno Haible  <bruno@clisp.org>
71687
71688         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
71689         mbswidth.
71690
71691 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71692             Bruno Haible  <bruno@clisp.org>
71693
71694         * lib/mbswidth.h: Include <wchar.h> only if
71695         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
71696         <wchar.h>.
71697         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
71698
71699 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71700
71701         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
71702         Sync with libc CVS.
71703         * lib/getopt_int.h: New file, also synced from libc.
71704
71705 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71706
71707         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
71708         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
71709         Bring back getopt.c, getopt.h, getopt1.c.
71710
71711 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71712
71713         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
71714         All uses changed.  Check for sa_sigaction member; this fixes
71715         a bug first reported by Jason Andrade in
71716         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71717
71718 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71719
71720         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
71721         '#if' expressions.  Unlike the code it replaces, it does not
71722         depend on (defined _SC_PAGESIZE).  However, it does depend on
71723         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
71724         first reported by Jason Andrade in
71725         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71726
71727 2004-02-25  Simon Josefsson  <jas@extundo.com>
71728
71729         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
71730
71731 2004-02-25  Simon Josefsson  <jas@extundo.com>
71732
71733         * lib/strdup.h: New file.
71734         * lib/strdup.c: Include it.
71735         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
71736         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
71737
71738 2004-02-23  Karl Berry  <karl@gnu.org>
71739
71740         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
71741         (from fencepost.gnu.org:/gd/gnuorg).
71742
71743 2004-02-23  Karl Berry  <karl@gnu.org>
71744
71745         * config/srclistvars.sh (GNUORG) [karl]: redefine.
71746         * config/srclist.txt: add maintain/standards documents.
71747
71748 2004-02-18  Bruno Haible  <bruno@clisp.org>
71749
71750         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
71751         Reported by Derek Robert Price <derek@ximbiot.com>.
71752
71753 2004-02-16  Karl Berry  <karl@gnu.org>
71754
71755         * config/mkinstalldirs, install-sh: update from automake.
71756
71757 2004-02-06  Karl Berry  <karl@gnu.org>
71758
71759         * m4/po.m4: update from gettext 0.14.1.
71760
71761 2004-02-06  Karl Berry  <karl@gnu.org>
71762
71763         * lib/config.charset: update from gettext 0.14.1.
71764
71765 2004-02-05  Paul Eggert  <eggert@twinsun.com>
71766
71767         Add comments and code, prompted by suggestions from Bruno Haible
71768         for sh-quote.
71769         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
71770         describing the enum quoting_style values.
71771         * lib/quotearg.c (quotearg_alloc): New function.
71772         (quotearg_buffer_restyled): Treat lone { and } as special.
71773         Treat = as special.  Work around bug with older shells
71774         that "see" a '\' that is really the 2nd byte of a multibyte char.
71775         Quote empty string with shell_quoting_style.
71776
71777 2004-02-03  Bruno Haible  <bruno@clisp.org>
71778
71779         * m4/pipe.m4: New file, from GNU gettext.
71780
71781 2004-02-03  Bruno Haible  <bruno@clisp.org>
71782
71783         * lib/pipe.h: New file, from GNU gettext.
71784         * lib/pipe.c: New file, from GNU gettext.
71785
71786 2004-01-27  Bruno Haible  <bruno@clisp.org>
71787
71788         * m4/execute.m4: New file, from GNU gettext.
71789
71790 2004-01-27  Bruno Haible  <bruno@clisp.org>
71791
71792         * lib/execute.h: New file, from GNU gettext.
71793         * lib/execute.c: New file, from GNU gettext.
71794         * lib/w32spawn.h: New file, from GNU gettext.
71795
71796 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71797
71798         Merge from diffutils.
71799
71800         * lib/file-type.c (file_type): Add typed memory objects.
71801         * lib/file-type.h (S_TYPEISTMO): New macro.
71802
71803         * lib/c-stack.h (c_stack_action): Remove argv argument.
71804         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
71805         (die): Don't calculate message unless segv_action returns.
71806         (get_stack_location, min_address_from_argv, max_address_from_argv,
71807         volatile stack_base, volatile_stack_size): Remove.
71808         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
71809         that every segmentation violation is a stack overflow.  (Ouch!)
71810         See Debian bug 136249 (still outstanding) for more info about why
71811         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
71812
71813 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71814
71815         Exit-status fix from coreutils.
71816
71817         Use exit_failure consistently in place of EXIT_FAILURE,
71818         so that program exit statuses are consistent on failure.
71819
71820         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
71821         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
71822         * lib/argmatch.h: Comment fix to match the above.
71823         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
71824         Now a macro referring to exit_failure, instead of a separate
71825         variable.  Include "exitfail.h" to get it.
71826         * lib/xstrtol.h: Include "exitfail.h".
71827         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
71828
71829         * lib/long-options.c (parse_long_options): Use prototype
71830         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
71831         for clarity.
71832
71833 2004-01-21  Jim Meyering  <jim@meyering.net>
71834
71835         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
71836         so as not to conflict with a different-sized __mktime_internal
71837         function in GNU libc.
71838         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
71839         Problem building statically-linked `ls' reported by Michael Brunnbauer.
71840
71841 2004-01-20  Karl Berry  <karl@gnu.org>
71842
71843         * config/config.guess: update from config.
71844
71845         * config/srclistvars.sh: GNUWWWLICENSES for karl.
71846
71847 2004-01-20  Bruno Haible  <bruno@clisp.org>
71848
71849         Safer stack allocation.
71850         * lib/setenv.c: Include allocsa.h.
71851         (alloca): Remove fallback definition.
71852         (freea): Remove macro.
71853         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
71854         instead of freea.
71855
71856 2004-01-20  Bruno Haible  <bruno@clisp.org>
71857
71858         * m4/eealloc.m4: New file, from GNU gettext.
71859
71860 2004-01-20  Bruno Haible  <bruno@clisp.org>
71861
71862         * m4/allocsa.m4: New file, from GNU gettext.
71863
71864 2004-01-20  Bruno Haible  <bruno@clisp.org>
71865
71866         * lib/xallocsa.h: New file, from GNU gettext.
71867         * lib/xallocsa.c: New file, from GNU gettext.
71868
71869 2004-01-20  Bruno Haible  <bruno@clisp.org>
71870
71871         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
71872
71873 2004-01-20  Bruno Haible  <bruno@clisp.org>
71874
71875         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
71876         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
71877         specially.
71878
71879 2004-01-20  Bruno Haible  <bruno@clisp.org>
71880
71881         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
71882         patch.
71883
71884 2004-01-20  Bruno Haible  <bruno@clisp.org>
71885
71886         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
71887
71888 2004-01-20  Bruno Haible  <bruno@clisp.org>
71889
71890         * lib/eealloc.h: New file.
71891
71892 2004-01-20  Bruno Haible  <bruno@clisp.org>
71893
71894         * lib/binary-io.h: Avoid warnings on Cygwin.
71895
71896 2004-01-20  Bruno Haible  <bruno@clisp.org>
71897
71898         * lib/allocsa.h: New file, from GNU gettext.
71899         * lib/allocsa.c: New file, from GNU gettext.
71900
71901 2004-01-18  Karl Berry  <karl@gnu.org>
71902
71903         * doc/gpl.texi, doc/lgpl.texi: new files.
71904
71905 2004-01-18  Karl Berry  <karl@gnu.org>
71906
71907         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
71908         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
71909
71910 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71911
71912         Merge from coreutils.
71913
71914         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
71915         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
71916         (gl_DEFAULT_POSIX2_VERSION): Move
71917         the documentation from 'configure' into 'config.hin',
71918         so that 'configure --help' isn't burdened by it and
71919         we don't have to worry about its formatting there.
71920         Reword the documentation so that it's more succinct
71921         and can be run together into a single paragraph.
71922         * m4/same.m4 (gl_SAME): Check for pathconf.
71923
71924 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71925
71926         Merge from coreutils.
71927
71928         * lib/posixver.c: Include posixver.h.
71929
71930         * lib/same.c: Include <stdbool.h>, <limits.h>.
71931         (_POSIX_NAME_MAX): Define if not defined.
71932         (MIN): New macro.
71933         (same_name): If file names are silently truncated, report
71934         that the file names are the same if they are the same after
71935         the silent truncation.
71936
71937         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
71938         conversion function.
71939         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
71940         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
71941         longer needed.
71942
71943 2004-01-15  Jim Meyering  <jim@meyering.net>
71944
71945         Merge from coreutils.
71946
71947         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
71948         if no library is required.
71949         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
71950         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
71951         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
71952         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
71953         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
71954         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
71955         value, $ac_cv_search_crypt, if it's "none required".
71956         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
71957         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
71958         not gl_FUNC_GETLOADAVG.
71959         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
71960         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
71961
71962 2004-01-15  Jim Meyering  <jim@meyering.net>
71963
71964         Merge from coreutils.
71965
71966         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
71967         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
71968         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
71969
71970         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71971         optional configure-time default.
71972
71973         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71974
71975         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71976
71977 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71978
71979         Merge from coreutils.
71980
71981         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71982         value, $ac_cv_search_nanosleep, if it's "none required".
71983
71984 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71985
71986         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71987         with like-named macro in fnmatch.c.
71988         (EXT): Use an internal constant instead.
71989
71990         Merge fnmatch patches from glibc.
71991         * lib/fnmatch.c (mbsinit): Remove define.
71992         Add libc_hidden_ver (__fnmatch, fnmatch).
71993         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71994         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71995
71996 2004-01-14  Karl Berry  <karl@gnu.org>
71997
71998         * config/install-sh: update from automake.
71999
72000 2004-01-13  Karl Berry  <karl@gnu.org>
72001
72002         * config/install-sh: update from automake.
72003
72004 2004-01-09  Karl Berry  <karl@gnu.org>
72005
72006         * config/install-sh: update from automake.
72007
72008 2004-01-05  Karl Berry  <karl@gnu.org>
72009
72010         * config/config.{sub,guess}: update from config.
72011
72012 2003-12-31  Karl Berry  <karl@gnu.org>
72013
72014         * config/depcomp: update from automake.
72015
72016 2003-12-14  Karl Berry  <karl@gnu.org>
72017
72018         * lib/config.charset: update from gettext-runtime.
72019
72020 2003-12-03  Paul Eggert  <eggert@twinsun.com>
72021
72022         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
72023         Bug reported by Alfred M. Szmidt.
72024
72025 2003-12-03  Bruno Haible  <bruno@clisp.org>
72026
72027         * m4/gettext.m4: Upgrade from gettext-0.13.
72028         * m4/po.m4: Upgrade from gettext-0.13.
72029         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
72030         * m4/intmax.m4: New file, from gettext-0.13.
72031         * m4/printf-posix.m4: New file, from gettext-0.13.
72032
72033 2003-11-29  Karl Berry  <karl@gnu.org>
72034
72035         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
72036
72037 2003-11-25  Paul Eggert  <eggert@twinsun.com>
72038             Bruno Haible  <bruno@clisp.org>
72039
72040         * lib/printf-parse.h: Don't include sys/types.h.
72041         (ARG_NONE): New macro.
72042         (char_directive): Change type of *arg_index fields to size_t.
72043         * lib/printf-parse.c: Don't include sys/types.h.
72044         (SSIZE_MAX): Remove macro.
72045         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
72046         Remove unnecessary overflow check.
72047         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
72048         fields.
72049
72050 2003-11-25  Bruno Haible  <bruno@clisp.org>
72051
72052         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
72053
72054 2003-11-25  Bruno Haible  <bruno@clisp.org>
72055
72056         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
72057         gt_TYPE_SSIZE_T.
72058
72059 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72060
72061         * modules/alloca: Remove dependency on xalloc.
72062
72063 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72064
72065         * lib/alloca.c: Remove dependency on xalloc module.
72066         (xalloc_die): Remove.
72067         (memory_full) [!defined emacs]: New macro.
72068         [!defined emacs]: Don't include xalloc.h.
72069         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
72070         address arithmetic overflows.  Change datatypes a bit to avoid
72071         unnecessary casts.
72072
72073 2003-11-22  Jim Meyering  <jim@meyering.net>
72074
72075         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
72076         s/size/size_t/.
72077
72078 2003-11-21  Karl Berry  <karl@gnu.org>
72079
72080         * config/config.{sub,guess}: update from config.
72081
72082 2003-11-18  Karl Berry  <karl@gnu.org>
72083
72084         * config/config.{sub,guess}: update from config.
72085
72086         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
72087
72088 2003-11-17  Paul Eggert  <eggert@twinsun.com>
72089
72090         * README: Mention that S+T cannot overflow if S is the size of
72091         an existing object and T is sufficiently small.
72092
72093 2003-11-17  Jim Meyering  <jim@meyering.net>
72094
72095         On systems without utime and without a utimes function capable of
72096         dealing with a NULL struct utimbuf* argument, this utime replacement
72097         could -- in unusual circumstances -- leak a file descriptor.
72098         * lib/utime.c: Include <unistd.h> and <errno.h>.
72099         (utime_null): Be sure to close `fd' and to preserve errno.
72100         Reported by Geoff Collyer via Arnold Robbins.
72101
72102 2003-11-17  Bruno Haible  <bruno@clisp.org>
72103
72104         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
72105         (Depends-on): Add xsize.
72106
72107 2003-11-17  Bruno Haible  <bruno@clisp.org>
72108
72109         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
72110
72111 2003-11-17  Bruno Haible  <bruno@clisp.org>
72112
72113         * lib/vasnprintf.c (alloca): Remove fallback definition.
72114         (freea): Remove definition.
72115         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
72116         Reported by Paul Eggert.
72117
72118 2003-11-16  Paul Eggert  <eggert@twinsun.com>
72119             Bruno Haible  <bruno@clisp.org>
72120
72121         Protect against address arithmetic overflow.
72122         * lib/printf-args.h: Include stddef.h.
72123         (arguments): Change type of field 'count' to size_t.
72124         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
72125         'unsigned int' where appropriate.
72126         * lib/printf-parse.h: Include sys/types.h.
72127         (char_directive): Change type of *arg_index fields to ssize_t.
72128         (char_directives): Change type of fields 'count', max_*_length to
72129         size_t.
72130         * lib/printf-parse.c: Include sys/types.h and xsize.h.
72131         (SSIZE_MAX): Define fallback value.
72132         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
72133         instead of 'int' where appropriate. Check a_allocated, d_allocated
72134         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
72135         * lib/vasnprintf.c: Include xsize.h.
72136         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
72137         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
72138         overflow. Avoid wraparound when converting a width or precision from
72139         decimal to binary.
72140
72141 2003-11-16  Bruno Haible  <bruno@clisp.org>
72142
72143         Update from GNU gettext.
72144         * lib/printf-parse.c: Generalize to it can be compiled for wide
72145         strings.
72146         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
72147         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
72148         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
72149         SNPRINTF): New macros.
72150         Don't include <alloca.h> if the file is used inside libintl.
72151         (local_wcslen): New function, for Solaris 2.5.1.
72152         (VASNPRINTF): Use it instead of wcslen.
72153
72154 2003-11-16  Bruno Haible  <bruno@clisp.org>
72155
72156         * lib/xsize.h (xmax): New function.
72157         (xsum, xsum3, xsum4): Declare as "pure" functions.
72158
72159 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72160
72161         * modules/xalloc (Files): Undo latest change, since xalloc.h
72162         no longer needs SIZE_MAX or PTRDIFF_MAX.
72163
72164 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72165
72166         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
72167         gl_PTRDIFF_MAX.
72168
72169 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72170
72171         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
72172         "return", to pacify some unknown compiler.  Problem reported
72173         by Joerg Schilling.
72174
72175 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72176
72177         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
72178         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
72179         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
72180         heuristic is just as accurate as far as we know, and it removes a
72181         dependency on size_max.m4 and ptrdiff_max.m4.
72182
72183 2003-11-11  Bruno Haible  <bruno@clisp.org>
72184
72185         * modules/xsize (Files): Add m4/size_max.m4.
72186         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
72187
72188 2003-11-11  Bruno Haible  <bruno@clisp.org>
72189
72190         * m4/size_max.m4: New file.
72191         * m4/ptrdiff_max.m4: New file.
72192         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
72193         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
72194         (gl_XALLOC): Invoke it.
72195
72196 2003-11-11  Bruno Haible  <bruno@clisp.org>
72197
72198         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
72199         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
72200         defined.
72201
72202 2003-11-10  Paul Eggert  <eggert@twinsun.com>
72203
72204         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
72205         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
72206         rejected some allocations of exactly SIZE_MAX - 2 bytes.
72207         From Bruno Haible.
72208         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
72209         not (size_t) -1, since it's defined here.
72210
72211 2003-11-09  Karl Berry  <karl@gnu.org>
72212
72213         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
72214
72215 2003-11-06  Paul Eggert  <eggert@twinsun.com>
72216
72217         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
72218         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
72219         Reject sizes of exactly SIZE_MAX bytes.
72220         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
72221         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
72222
72223 2003-11-05  Bruno Haible  <bruno@clisp.org>
72224
72225         * lib/xsize.h: Include limits.h, to avoid a possible collision with
72226         SIZE_MAX defined in <limits.h> on Solaris.
72227
72228 2003-11-04  Jim Meyering  <jim@meyering.net>
72229
72230         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
72231         variable names, rather than @VAR@.
72232         * modules/poll: Likewise.
72233
72234 2003-11-04  Bruno Haible  <bruno@clisp.org>
72235
72236         * modules/xsize: New file.
72237         * modules/linebreak: Depend on xsize.
72238         * MODULES.html.sh (func_all_modules): Add xsize.
72239
72240 2003-11-04  Bruno Haible  <bruno@clisp.org>
72241
72242         * m4/xsize.m4: New file.
72243
72244 2003-11-04  Bruno Haible  <bruno@clisp.org>
72245
72246         * lib/xsize.h: New file.
72247         * lib/linebreak.c: Include xsize.h.
72248         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
72249         argument for overflow.
72250         Suggested by Paul Eggert.
72251
72252 2003-11-03  Karl Berry  <karl@gnu.org>
72253
72254         * config/config.{guess,sub}: update from config.
72255
72256 2003-11-03  Jim Meyering  <jim@meyering.net>
72257
72258         * modules/userspec (lib_SOURCES): Add userspec.h.
72259         (Include): Add "userspec.h".
72260         Improve description.
72261
72262 2003-11-03  Jim Meyering  <jim@meyering.net>
72263
72264         * lib/userspec.c: Include "userspec.h".
72265         * lib/userspec.h: New file.
72266
72267 2003-11-03  Bruno Haible  <bruno@clisp.org>
72268
72269         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
72270
72271 2003-11-03  Bruno Haible  <bruno@clisp.org>
72272
72273         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
72274         available, to avoid (extremely rare) race condition.
72275         Suggested by Paul Eggert.
72276
72277 2003-11-02  Karl Berry  <karl@gnu.org>
72278
72279         * config/srclist.txt (vasprintf.c): sync broken, sigh.
72280
72281 2003-10-31  Paul Eggert  <eggert@twinsun.com>
72282
72283         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
72284         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
72285         (read_filesystem_list): Set and use me_type_malloced.
72286         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
72287         whatever the type happens to be), for brevity and consistency.
72288         Check for size calculation overflow on Alphas running OSF/1.
72289
72290 2003-10-31  Jim Meyering  <jim@meyering.net>
72291
72292         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
72293
72294         * lib/linebuffer.c: Include <string.h> for declaration of memset.
72295
72296 2003-10-30  Paul Eggert  <eggert@twinsun.com>
72297             Bruno Haible  <bruno@clisp.org>
72298
72299         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
72300         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
72301
72302 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72303
72304         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
72305         netbsd*-gnu*.  Suggested by Robert Millan.
72306
72307 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72308
72309         * modules/group-member: Depend on stdbool.
72310
72311 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72312
72313         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
72314
72315 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72316
72317         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
72318         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
72319         after the 'gnu' in these cases.  This fixes some bugs in the
72320         previous change, and is based on suggestions by Robert Millan.
72321
72322 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72323
72324         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
72325         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
72326         no longer needed.
72327         * lib/quotearg.c (quotearg_n_options): Use it.
72328         * lib/group-member.c: Include <stdbool.h>.
72329         (free_group_info): Arg is now const *; don't free arg.
72330         (get_group_info): Now returns bool and accepts struct group_info *,
72331         rather than returning a malloc'ed struct group_info *.
72332         All uses changed.  Check for overflow in internal size calculation.
72333
72334         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
72335         rather than xmalloc/xrealloc.
72336         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
72337         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
72338         conformance bug: the old code used a pointer after freeing the
72339         storage that it addressed.
72340         * lib/hash.c (hash_initialize): Simplify the code by using
72341         xalloc_oversized rather than doing it by hand.
72342         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
72343         the buffer preserved.  Use free and xmalloc instead.
72344         * lib/quotearg.c (quotearg_n_options): Likewise.
72345         Use a simpler test for size overflow.  Don't use xalloc_oversized
72346         because unsigned int might be wider than size_t (!); this suggests
72347         that we should switch from unsigned int to size_t for slot numbers.
72348
72349 2003-10-28  Paul Eggert  <eggert@twinsun.com>
72350
72351         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
72352         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
72353         NetBSD kernels.  Requested by Richard Stallman.
72354
72355 2003-10-27  Paul Eggert  <eggert@twinsun.com>
72356
72357         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
72358         to allocate the returned structure.  Do not allocate a subarray,
72359         as x2nrealloc will do that.
72360         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
72361         instead of xnrealloc.
72362         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
72363
72364 2003-10-27  Bruno Haible  <bruno@clisp.org>
72365
72366         * lib/stdbool_.h: Better support for BeOS.
72367
72368 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72369
72370         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
72371         now uses inline.
72372
72373 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72374
72375         * lib/xalloc.h (xalloc_oversized): New static inline function, for
72376         callers that want to do their own size-overflow checking.  Include
72377         <stdbool.h>, since xalloc_oversized returns bool.
72378         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
72379         to use xalloc_oversized.
72380
72381         Add two functions x2realloc, x2nrealloc, for programs that grow
72382         arrays dynamically by doubling their sizes.
72383         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
72384         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
72385         New functions.
72386
72387         Port to C99 semantics for 'inline' of external functions.
72388         Bug reported by Bruno Haible.
72389         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
72390         with the old contents of xnmalloc.
72391         (xnmalloc, xmalloc): Use it.
72392         (xnrealloc_inline): New static inline function,
72393         with the old contents of xnrealloc.
72394         (xnrealloc, xrealloc): Use it.
72395
72396         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
72397         that.
72398
72399 2003-10-26  Karl Berry  <karl@gnu.org>
72400
72401         * config/srclist.txt (COPYING.DOC): no longer available from
72402         /gd/gnuorg; don't know where the ultimate source is.
72403
72404 2003-10-25  Paul Eggert  <eggert@twinsun.com>
72405
72406         Fix several address-calculation bugs in the hash modules,
72407         plus some minor code cleanup.
72408
72409         * lib/hash.h: Include <stdbool.h>, for bool.
72410         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
72411         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
72412         hash_get_n_entries, hash_get_max_bucket_length,
72413         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
72414         hash_rehash): Use size_t rather than unsigned.
72415         * lib/hash.c (struct hash_table, hash_get_n_buckets,
72416         hash_get_n_buckets_used, hash_get_n_entries,
72417         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
72418         hash_get_entries, hash_do_for_each, hash_string, is_prime,
72419         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
72420         Likewise.
72421         (SIZE_MAX): Define if not defined.
72422         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
72423         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
72424         hash_print):
72425         Use const * when possible.
72426         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
72427         (check_tuning): Fix bug: if tuning parameters were very close to
72428         0 or 1, rounding errors could have caused subscript violations.
72429         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
72430         (hash_initialize): Add 'fail:' label
72431         to free table and return NULL, and use it to simplify code.
72432         Use calloc rather than clearing the storage ourself.
72433         (hash_initialize, hash_rehash): Check for arithmetic overflow in
72434         buffer size calculations.
72435         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
72436         Include <stddef.h>, for size_t.
72437         * lib/hash-pjw.c (hash_pjw): Likewise.
72438         Switch to method described by Bruno Haible.
72439         Include <limits.h>, for CHAR_BIT.
72440         (SIZE_BITS): New macro.
72441
72442 2003-10-23  Paul Eggert  <eggert@twinsun.com>
72443
72444         * m4/getline.m4 (AM_FUNC_GETLINE):
72445         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
72446         hosts.  Problem reported by Derek Robert Price in
72447         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
72448         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
72449         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
72450
72451 2003-10-21  Paul Eggert  <eggert@twinsun.com>
72452
72453         * lib/getndelim2.c (getndelim2): When size calculation overflows,
72454         ceiling the allocation at NMAX bytes rather than silently
72455         discarding input bytes before NMAX is reached.  This makes
72456         a difference only if NMAX exceeds SIZE_MAX / 2.
72457
72458         * lib/obstack.c: Merge from glibc.
72459         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
72460         Add libc_hidden_def (_obstack_newchunk).
72461         (_obstack_free) [! defined _LIBC]: Remove.
72462         [defined _LIBC]: Make a strong alias from obstack_free, rather than
72463         a clone of the function body.
72464         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
72465         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
72466
72467         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
72468         glibc.
72469         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
72470         arg to memcpy.
72471
72472         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
72473         (obstack_ptr_grow_fast, obstack_int_grow_fast):
72474         Don't use lvalue casts, as GCC plans to remove support for them
72475         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
72476         was also present in the non-GCC version, indicating that this
72477         code had always been buggy and had never been widely used.
72478         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
72479         Use the fast variant of each macro, rather than copying the
72480         definiens of the fast variant; that way, we'll be more likely to
72481         catch future bugs in the fast variants.
72482
72483 2003-10-20  Bruno Haible  <bruno@clisp.org>
72484
72485         * modules/wait-process: New file.
72486         * MODULES.html.sh (func_all_modules): Add wait-process.
72487
72488 2003-10-20  Bruno Haible  <bruno@clisp.org>
72489
72490         * m4/wait-process.m4: New file.
72491
72492 2003-10-20  Bruno Haible  <bruno@clisp.org>
72493
72494         * lib/wait-process.h: New file, from GNU gettext.
72495         * lib/wait-process.c: New file, from GNU gettext.
72496
72497 2003-10-19  Jim Meyering  <jim@meyering.net>
72498
72499         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
72500         HPUX 10.20.
72501
72502 2003-10-18  Karl Berry  <karl@gnu.org>
72503
72504         * config/config.guess: update from config.
72505
72506 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72507
72508         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
72509         (getgroups): First arg is int, not size_t.
72510         Don't let 'free' mangle errno.
72511
72512 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72513
72514         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
72515
72516 2003-10-16  Karl Berry  <karl@gnu.org>
72517
72518         * config/config.{guess,sub}: update from config.
72519
72520 2003-10-16  Jim Meyering  <jim@meyering.net>
72521
72522         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
72523         memcpy.
72524
72525 2003-10-15  Paul Eggert  <eggert@twinsun.com>
72526
72527         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
72528         (SIZE_MAX): Remove.
72529         (new_exclude, add_exclude_file): Initial size no longer needs to
72530         be a power of 2.
72531         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
72532         our own address arithmetic overflow checking.
72533
72534         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
72535         (fnmatch): Do not alloca more than 2000 wide characters;
72536         instead, use malloc for large buffers.
72537         Check for address arithmetic overflow, and return -1
72538         with errno set to ENOMEM in that case.
72539         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
72540         (NEW_PATTERN): Do not alloca more than 8000 bytes;
72541         instead, return -1.  Check for address arithmetic overflow.
72542
72543 2003-10-14  Paul Eggert  <eggert@twinsun.com>
72544
72545         Handle invalid suffixes and overflow independently, so that
72546         callers can treat them independently as needed.  Fix some bugs in
72547         suffix handling, e.g., "100k@" was not diagnosed as an invalid
72548         suffix for a human-readable blocksize.  The major caller-visible
72549         change is the addition of a new
72550         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
72551         that both overflow and suffix chars were found.
72552
72553         * lib/human.c (humblock): Don't check separately for invalid suffix
72554         char; that is xstrtoumax's job (now that its bug is fixed).
72555         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
72556         INTMAX_MAX]: New macros.
72557         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
72558         TYPE_MAXIMUM): New macros.
72559         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
72560         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
72561         if overflow occurs, as it's what __strtol does and it's more useful
72562         in practice.
72563         (__xstrtol): If __strtol reports some error other than ERANGE,
72564         reflect it to the caller as LONGINT_INVALID.  If it reports
72565         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
72566         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
72567         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
72568         value.
72569         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
72570         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
72571         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
72572         [defined UINTMAX_MAX]: New macros.
72573
72574 2003-10-14  Bruno Haible  <bruno@clisp.org>
72575
72576         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
72577
72578 2003-10-14  Bruno Haible  <bruno@clisp.org>
72579
72580         * m4/sig_atomic_t: New file, from GNU gettext.
72581         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
72582
72583 2003-10-14  Bruno Haible  <bruno@clisp.org>
72584
72585         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
72586         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
72587         Also use volatile where needed.
72588
72589 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72590
72591         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
72592         Change maintainer from Bruno Haible to 'all'.
72593
72594 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72595
72596         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
72597
72598 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72599
72600         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
72601         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
72602         and define in terms of the other primitives.
72603         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
72604         (SIZE_MAX): Define if not already defined.
72605         (array_size_overflow): New function.
72606         (xalloc_die): Abort instead of exiting if 'error' returns.
72607         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
72608         (xmalloc, xrealloc): Use them.
72609         (xcalloc): Check for address arithmetic overflow.
72610         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
72611         a bit faster than strcpy.
72612
72613 2003-10-10  Simon Josefsson  <jas@extundo.com>
72614
72615         * modules/argp (Depends-on): Add restrict and strcase.
72616
72617 2003-10-10  Simon Josefsson  <jas@extundo.com>
72618
72619         * m4/argp.m4: Add AC_C_INLINE.
72620
72621 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72622
72623         Merge getpass from libc, plus a few fixes.
72624
72625         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
72626         Include <stdbool.h>.
72627         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
72628         __fsetlocking to empty.
72629         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
72630         do include <bits/libc-lock.h>.
72631         Do not include <fcntl.h>; not needed.
72632         [_LIBC]: Include <wchar.h>.
72633         (NOTCANCEL_MODE): New macro.
72634         (flockfile, funlockfile) [_LIBC]: New macros.
72635         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
72636         [!_LIBC]: New macros.
72637         (call_fclose): New function.
72638         (getpass): Use it.  Save tty stream separately; this simplifies the
72639         code and makes it more reliable if stdin happens to equal stdout.
72640         Invoke __fsetlocking on tty.
72641         Handle thread cancellation if needed.
72642         Namespace cleanup (use __tcgetattr, __getline).
72643         Use bool for Booleans.
72644         [USE_IN_LIBIO]: Handle wide streams.
72645         [!_LIBC]: Unconditionally do the fseek, since we don't know what
72646         stream might go where.
72647
72648         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
72649         doesn't have to include <stdio.h> before us.
72650         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
72651         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
72652         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
72653         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
72654         if not declared, so that we can use getpass.c code from libc without
72655         rewriting it.
72656         (flockfile, ftrylockfile, funlockfile): New macros.
72657
72658 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72659
72660         * modules/getpass: Depend on stdbool.
72661
72662 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72663
72664         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
72665
72666 2003-10-07  Karl Berry  <karl@gnu.org>
72667
72668         * config/config.{guess,sub}: update from config.
72669
72670 2003-10-06  Jim Meyering  <jim@meyering.net>
72671             Bruno Haible  <bruno@clisp.org>
72672
72673         This lets translators provide better translations for the
72674         "Written by ..." part of --version output.
72675         * lib/version-etc.h: Include stdarg.h.
72676         (version_etc_copyright): Declare as readonly.
72677         (version_etc): Make this function variadic with a NULL-terminated list
72678         of author name strings.
72679         (version_etc_va): New declaration.
72680         * lib/version-etc.c: Include stdarg.h, stdlib.h.
72681         (version_etc_copyright): Declare as readonly.
72682         (version_etc_va): New function. Provide a different translatable string
72683         for each possible number of authors < 10. Abbreviate when there are 10
72684         authors or more.
72685         (version_etc): Make this function variadic. Call version_etc_va.
72686         Suggestion from Gary V. Vaughan.
72687
72688         * lib/long-options.h (parse_long_options): Change prototype: the
72689         authors string is moved to the end and becomes variadic.
72690         * lib/long-options.c: Include stdarg.h.
72691         (parse_long_options): Make this function variadic, too.
72692         Call version_etc_va, not version_etc.
72693
72694 2003-10-06  Bruno Haible  <bruno@clisp.org>
72695
72696         * modules/version-etc-2: Remove file.
72697         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
72698
72699 2003-10-06  Bruno Haible  <bruno@clisp.org>
72700
72701         * modules/fatal-signal: New file.
72702         * MODULES.html.sh (func_all_modules): Add fatal-signal.
72703
72704 2003-10-06  Bruno Haible  <bruno@clisp.org>
72705
72706         * m4/fatal-signal.m4: New file.
72707         * m4/signalblocking.m4: New file, from GNU gettext.
72708
72709 2003-10-06  Bruno Haible  <bruno@clisp.org>
72710
72711         * lib/version-etc-2.h: Remove file.
72712         * lib/version-etc-2.c: Remove file.
72713
72714 2003-10-06  Bruno Haible  <bruno@clisp.org>
72715
72716         * lib/fatal-signal.h: New file, from GNU gettext.
72717         * lib/fatal-signal.c: New file, from GNU gettext.
72718
72719 2003-10-05  Paul Eggert  <eggert@twinsun.com>
72720
72721         * README: Rework advice for preventing empty .o files.
72722         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
72723         not <sys/types.h>.
72724
72725 2003-10-04  Karl Berry  <karl@gnu.org>
72726
72727         * lib/argp*: update from libc.
72728
72729 2003-10-04  Karl Berry  <karl@gnu.org>
72730
72731         * config/config.{guess,sub}: update from config.
72732
72733 2003-10-02  Bruno Haible  <bruno@clisp.org>
72734
72735         * modules/lchown (Include): Add lchown.h.
72736         * modules/time_r (Include): Use "..." syntax.
72737         * modules/xgetdomainname (Include): Add xgetdomainname.h.
72738
72739 2003-10-01  Simon Josefsson  <jas@extundo.com>
72740
72741         * MODULES.html.sh (func_all_modules): Move gethostname from section
72742         'based on' to section 'lacking' POSIX:2001.
72743
72744 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
72745
72746         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
72747         to output mode on the same stream.
72748
72749 2003-09-29  Paul Eggert  <eggert@twinsun.com>
72750
72751         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
72752         Fix arg typo in previous patch.
72753
72754 2003-09-28  Jim Meyering  <jim@meyering.net>
72755
72756         * lib/error.c: Correct cpp indentation.
72757
72758 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72759
72760         * modules/free: New file.
72761
72762 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72763
72764         * m4/free.m4: New file.
72765
72766 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72767
72768         * lib/minmax.h (MIN, MAX)
72769         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
72770         Omit the special code that used __typeof__, since we worry that
72771         it could be more trouble than it's worth.  See:
72772         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
72773         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
72774
72775         * lib/free.c: New file.
72776
72777 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
72778
72779         Trivial fixes to Makefile.am parts of module listings.
72780         * modules/strstr: Append strstr.h to lib_SOURCES.
72781         * modules/strcase: Likewise, for strcase.h.
72782
72783 2003-09-27  Karl Berry  <karl@gnu.org>
72784
72785         * config/mkinstalldirs: update from automake.
72786
72787 2003-09-26  Paul Eggert  <eggert@twinsun.com>
72788
72789         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
72790         (error_tail): Do not loop, reallocating temporary buffer, since
72791         the output cannot contain more wide characters than the input
72792         contains bytes, the size must be big enough already.  This avoids
72793         one potential size overflow calculation.  Check for size overflow
72794         when calculating temporary buffer size.  Free temporary buffer
72795         when done, if it was allocated with malloc; this plugs a memory
72796         leak.  Remove casts from void * to pointers, that are no longer
72797         needed now that we're assuming C89 or better.
72798
72799         Merge error changes from glibc.
72800
72801         * lib/error.c, error.h: Update copyright notice header to match glibc.
72802         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
72803         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
72804         Disable cancellation while printing error.
72805         * lib/error.h: Prepend __ to parameter names.
72806
72807 2003-09-26  Jim Meyering  <jim@meyering.net>
72808
72809         * lib/error.c (error_tail): Move some declarations
72810         into inner scope where the local variables are used.
72811
72812 2003-09-26  Bruno Haible  <bruno@clisp.org>
72813
72814         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
72815         stpncpy().
72816         Don't define stpncpy through config.h; it's now done through stpncpy.h.
72817
72818 2003-09-26  Bruno Haible  <bruno@clisp.org>
72819
72820         * lib/stpncpy.h (gnu_stpncpy): New declaration.
72821         (stpncpy): Define as alias for gnu_stpncpy.
72822         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
72823
72824 2003-09-25  Simon Josefsson  <jas@extundo.com>
72825
72826         * lib/xgetdomainname.h: New file.
72827         * lib/xgetdomainname.c: New file.
72828
72829 2003-09-25  Simon Josefsson  <jas@extundo.com>
72830             Bruno Haible  <bruno@clisp.org>
72831
72832         * modules/getdomainname: New file.
72833         * modules/xgetdomainname: New file.
72834         * MODULES.html.sh (func_all_modules): Add getdomainname,
72835         xgetdomainname.
72836
72837 2003-09-25  Simon Josefsson  <jas@extundo.com>
72838             Bruno Haible  <bruno@clisp.org>
72839
72840         * m4/getdomainname.m4: New file.
72841
72842 2003-09-25  Simon Josefsson  <jas@extundo.com>
72843             Bruno Haible  <bruno@clisp.org>
72844
72845         * lib/getdomainname.h: New file.
72846         * lib/getdomainname.c: New file.
72847
72848 2003-09-25  Karl Berry  <karl@gnu.org>
72849
72850         * lib/argp-fmtstream.c, argp-help.c: update from libc.
72851
72852 2003-09-25  Karl Berry  <karl@gnu.org>
72853
72854         * config/install-sh: update from automake.
72855
72856 2003-09-25  Bruno Haible  <bruno@clisp.org>
72857
72858         * modules/version-etc-2: New file, from modules/version-etc with
72859         modifications.
72860         * MODULES.html.sh (func_all_modules): Add version-etc-2.
72861
72862 2003-09-25  Bruno Haible  <bruno@clisp.org>
72863
72864         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
72865         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
72866
72867 2003-09-24  Simon Josefsson  <jas@extundo.com>
72868
72869         * modules/xgethostname: Add xgethostname.h.
72870
72871 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72872
72873         * lib/linebuffer.c (freebuffer): Don't free the argument, just
72874         the buffer associated with the argument.  Bug reported by
72875         Simon Josefsson.
72876
72877 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72878
72879         * README: Document assumptions that 'int' is at least 32 bits
72880         wide, that integer arithmetic is 2's complement without overflow,
72881         that there are no holes in integer values, that adding sizes of
72882         two nonoverlapping objects can't overflow, and that all-bits-zero
72883         yields scalar zero.  Fix spelling and capitalization typos.
72884
72885 2003-09-19  Karl Berry  <karl@gnu.org>
72886
72887         * lib/argp.h: update from libc.
72888
72889 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72890
72891         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
72892         to avoid spurious warnings like "AC_RUN_IFELSE was called before
72893         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
72894
72895 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72896
72897         * gnulib-tool: Use "test -h", not "test -L", for portability
72898         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
72899         (tags_regexp): Remove, since \| doesn't conform to POSIX.
72900         (sed_extract_prog): Issue s commands one-by-one, rather than
72901         using \| in one s command.
72902
72903 2003-09-16  Paul Eggert  <eggert@twinsun.com>
72904
72905         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
72906         input error, instead of returning NULL the next time we are called
72907         (and therefore losing track of errno).
72908
72909 2003-09-16  Bruno Haible  <bruno@clisp.org>
72910
72911         * gnulib-tool (func_create_testdir): Warn about duplicated
72912         dependencies.
72913
72914 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72915
72916         * modules/argmatch, modules/fatal, modules/obstack,
72917         modules/xalloc, modules/xgethostname: Sort dependencies by
72918         importance, not alphabetically.
72919
72920 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72921
72922         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
72923         fails, so that the caller gets the proper errno.
72924
72925         * lib/readutmp.c (read_utmp): Likewise.
72926         Check for fstat error.  Close stream and free storage
72927         when failing.
72928
72929 2003-09-14  Karl Berry  <karl@gnu.org>
72930
72931         * config/srclist.txt (strdup.c): disable for c89 changes.
72932
72933 2003-09-14  Jim Meyering  <jim@meyering.net>
72934
72935         * lib/getloadavg.c: Correct cpp indentation.
72936         * lib/strdup.c: Likewise.
72937         * lib/vasnprintf.c: Likewise.
72938
72939 2003-09-14  Bruno Haible  <bruno@clisp.org>
72940
72941         * modules/fwriteerror: New file.
72942         * MODULES.html.sh (func_all_modules): Add fwriteerror.
72943
72944 2003-09-14  Bruno Haible  <bruno@clisp.org>
72945
72946         * lib/fwriteerror.h: New file.
72947         * lib/fwriteerror.c: New file.
72948
72949 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72950
72951         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
72952         modules/xgethostname, modules/xalloc: Depend on exit.
72953
72954 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72955
72956         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
72957
72958         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
72959         and AC_MINIX, too, so that their extensions are available.
72960
72961         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
72962         This macro has been superseded by gl_BACKUPFILE.
72963
72964         More patches to assume C89 or better.
72965
72966         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
72967
72968         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
72969         unconditionally.
72970         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72971         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72972         Include <string.h>, <stdlib.h> unconditionally.
72973         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72974         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72975         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72976         headers or for string.h.
72977         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72978         or strtoul.
72979
72980         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72981         headers.
72982         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72983         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72984         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72985         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72986         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72987         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72988         memcpy, memset.
72989         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72990         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72991         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72992         strtol.
72993         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72994         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72995         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72996         strtoul.
72997
72998 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72999
73000         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
73001         * lib/obstack.c [!defined _LIBC]: Likewise.
73002         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
73003         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
73004         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
73005
73006         More changes to assume C89 or better.
73007
73008         * lib/error.c (error_tail): Assume vprintf.
73009
73010         * lib/argmatch.c (getenv): Remove decl.
73011         * lib/progreloc.c (get_full_program_name): Define via prototype.
73012         * lib/setenv.c (clearenv): Likewise.
73013         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
73014         needed.
73015         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
73016         (malloc, memcpy): Remove decls.
73017         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
73018         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
73019         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73020         (memcpy): Remove macro.
73021         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
73022         (__P): Remove.  All uses removed.
73023         (PTR): Remove.  All uses changed to void *.
73024         (CHAR_BIT, NULL): Remove.
73025         (spaces, zeros, memset_space, memset_zero)
73026         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
73027         Remove.
73028         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
73029         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
73030         Define with prototype.
73031         Remove now-unnecessary prototype decl.
73032         (extra_args_spec): Assume ANSI C.  All uses changed.
73033         (extra_args_spec_iso): Remove.
73034         (my_strftime, emacs_strftimeu): Define via prototype.
73035         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
73036         unconditionally.
73037         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
73038         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
73039         (strtoul, strtol): Remove decls.
73040         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
73041         LONG_MAX): Remove.
73042         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73043         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
73044         (LOCALE_PARAM_PROTO): New macro.
73045         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
73046         (INTERNAL (strtol), strtol): Define with a prototype.
73047         (PARAMS): Remove.  All uses removed.
73048         * lib/tempname.c: Include <string.h> unconditionally.
73049         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
73050         * lib/xgethostname.c (main): Define with a prototype.
73051         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
73052         Include <stdlib.h> unconditionally.
73053         (calloc, malloc, realloc, free): Remove decls.
73054         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
73055         Include <stdlib.h> unconditionally.  Sort include file names.
73056         (strtod): Remove.
73057         (xstrtod): Define with a prototype.
73058         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
73059         (strtol, strtoul): Remove decls.
73060
73061 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73062
73063         More patches to assume C89 or better.
73064         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
73065         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
73066         string.h, memchr, STDC_HEADERS.
73067
73068 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73069
73070         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
73071         Include <stdlib.h>, <string.h> unconditionally.
73072         Remove now-unnecessary cast to char *.
73073         * lib/strnlen.c: Include <string.h> unconditionally.
73074         * lib/yesno.c (yesno): Define with a prototype.
73075
73076 2003-09-11  Bruno Haible  <bruno@clisp.org>
73077
73078         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
73079
73080 2003-09-10  Jim Meyering  <jim@meyering.net>
73081
73082         * lib/error.c: Correct indentation of cpp directives.
73083
73084 2003-09-10  Bruno Haible  <bruno@clisp.org>
73085
73086         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
73087         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
73088         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
73089         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
73090         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
73091         <stdlib.h> and <string.h> checks.
73092         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
73093         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
73094
73095 2003-09-10  Bruno Haible  <bruno@clisp.org>
73096
73097         * lib/strcspn.c: Include <string.h> unconditionally.
73098         * lib/strpbrk.c: Include <string.h> unconditionally.
73099         * lib/strstr.c: Include <string.h> unconditionally.
73100         * lib/unicodeio.c: Include <string.h> unconditionally.
73101         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
73102         * lib/unsetenv.c: Likewise.
73103         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
73104         * lib/yesno.c: Include <stdlib.h> unconditionally.
73105         (rpmatch): Add prototype.
73106
73107 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73108
73109         More patches to assume C89 or better.
73110         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
73111         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
73112         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
73113         or for string.h.
73114         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
73115         stdlib.h.
73116         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
73117         C headers.
73118         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
73119         string.h.
73120         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
73121         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
73122         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
73123         or for string.h.
73124         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
73125         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
73126         C headers.
73127         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
73128         memcpy.
73129         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
73130         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
73131         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
73132         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
73133         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
73134         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
73135         string.h, free.
73136         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
73137         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
73138         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
73139         C headers, or for string.h.
73140         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
73141         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
73142         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
73143         headers, memory.h, stdlib.h, string.h, strings.h.
73144         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
73145         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
73146         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
73147         strchr.
73148         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
73149         headers, memory.h, string.h.
73150         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
73151         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
73152         free.
73153         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
73154         headers.
73155         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
73156         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
73157         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
73158         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
73159         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
73160
73161 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73162
73163         More K&R removal.
73164
73165         * lib/acosl.c (main): Use a prototype.
73166         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
73167         tanl.c: Likewise.
73168
73169         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
73170
73171         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
73172         (getopt, etopt_long, getopt_long_only, _getopt_internal)
73173         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
73174         with a prototype.
73175         * lib/getopt.c (const): Remove macro.
73176         Include <string.h> unconditionally.
73177         (my_index): Remove; all uses changed to strchr.
73178         (strlen): Remove decl.
73179         (exchange): Remove forward decl; no longer needed.
73180         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
73181         Define with prototype.
73182         * lib/getopt1.c (const): Remove macro.
73183         (getopt_long, getopt_long_only, main): Define with prototype.
73184
73185         * lib/getugroups.c: Include <string.h> unconditionally.
73186
73187         * lib/getusershell.c: Include <stdlib.h> unconditionally.
73188         (getusershell, setusershell, endusershell, readname, main):
73189         Define with prototypes.
73190
73191         * lib/group-member.c: Include group-member.h first.
73192         Include <stdlib.h> unconditionally.
73193
73194         * lib/hard-locale.c: Include hard-locale.h first.
73195         Include <stdlib.h>, <string.h> unconditionally.
73196
73197         * lib/hash.c (free, malloc): Remove decls.
73198         Include <stdlib.h> unconditionally.
73199
73200         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
73201         (getenv): Do not declare.
73202
73203         * lib/idcache.c: Include <string.h> unconditionally.
73204
73205         * lib/long-options.c: Include long-options.h first, to test interface.
73206         Include <stdlib.h> unconditionally.
73207
73208         * lib/makepath.c: Include makepath.h first, to test interface.
73209         Include <stdlib.h> and <string.h> unconditionally.
73210
73211         * lib/linebuffer.c: Include <stdlib.h>.
73212         (free): Remove decl.
73213
73214         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
73215         stddef.h. rpl_malloc returns void *, not char *.
73216         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
73217         prototype.
73218
73219         * lib/md5.h: Include <limits.h> unconditionally.
73220         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
73221         (__P): Remove; all uses removed.
73222         * lib/md5.c: Include "md5.h" first.
73223         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
73224         md5_buffer, md5_process_bytes, md5_process_block):
73225         Define with prototypes.
73226         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
73227         * lib/sha.c: Include "sha.h" first.
73228         Include <stdlib.h>, <string.h> unconditionally.
73229
73230         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
73231         * lib/memcmp.c (__ptr_t): Likewise.
73232         * lib/memrchr.c (__ptr_t): Likewise.
73233         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
73234         Include <string.h> unconditionally.
73235         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
73236         * lib/memchr.c: Include <stdlib.h> unconditionally.
73237         * lib/memchr.c (LONG_MAX): Remove.
73238         * lib/memrchr.c (LONG_MAX): Likewise.
73239         * lib/memchr.c (__memchr): Define via a prototype.
73240         * lib/memrchr.c (__memrchr): Likewise.
73241         * lib/memcmp.c (__P): Remove, and remove all uses.
73242         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
73243         Remove forward decls; no longer needed.
73244         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
73245         Use types required by C89 in prototype.
73246
73247         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
73248         * lib/savedir.c: Likewise.
73249         * lib/mkdir.c (free): Remove decl.
73250         * lib/rmdir.c (rmdir): Define with a prototype.
73251         * lib/savedir.c: Include savedir.h first, to test interface.
73252
73253         * lib/mktime.c (STDC_HEADERS): Remove.
73254         Include <stdlib.h>, <string.h> unconditionally.
73255
73256         * lib/modechange.c: Include <stdlib.h> unconditionally.
73257         (malloc): Remove decl.
73258
73259         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
73260         (free): Remove decl.
73261
73262         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
73263         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
73264         (This type really should be intptr_t, but that's a C99ism.)
73265         (_obstack_memcpy): Remove: all uses changed to memcpy.
73266         Include <string.h> unconditionally.
73267         (struct obstack): Assume __STDC__ for types of members
73268         chunkfun, freefun, extra_arg.
73269         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
73270         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
73271         obstack_begin, obstack_specify_allocation,
73272         obstack_specify_allocation_with_arg, obstack_chunkfun,
73273         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
73274         Remove unprototyped decls and the macros that use them.
73275         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
73276         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
73277         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
73278         (defined __STDC__ && __STDC__)]:
73279         Remove nonprototyped code.
73280         Include <stdlib.h> unconditionally.
73281         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
73282         _obstack_allocated_p, _obstack_free, obstack_free,
73283         _obstack_memory_used, print_and_abort):
73284         Define using prototypes.
73285         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
73286         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
73287         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
73288         obstack_next_free, obstack_object_size, obstack_room) [0]:
73289         Remove unused, unprototyped code.
73290
73291         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
73292
73293         * lib/physmem.c (physmem_total, physmem_available, main): Define
73294         with prototypes.
73295
73296         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
73297         (main): Define with a prototype.
73298
73299         * lib/posixver.c (getenv): Remove decl.
73300
73301         * lib/putenv.c (malloc): Returns void *, not char *.
73302         Include <string.h> unconditionally.
73303         (strchr, memcpy, NULL): Do not define.
73304
73305         * lib/readtokens.c: Include readtokens.h first, to test interface.
73306         Include <stdlib.h>, <string.h> unconditionally.
73307         (init_tokenbuffer): Define with a prototype.
73308
73309         * lib/regex.c (PARAMS): Remove.  All uses removed.
73310         All uses of _RE_ARGS removed, too.
73311         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
73312         unconditionally.
73313         (bzero): Assume memset exists.
73314         (memcmp, memcpy, NULL): Remove.
73315         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
73316         char, or assignments to local vars of type signed char.
73317         (init_syntax_once, PREFIX(extract_number_and_incr),
73318         PREFIX(print_partial_compiled_pattern),
73319         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
73320         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
73321         PREFIX(regex_grow_registers), PREFIX(regex_compile),
73322         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
73323         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
73324         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
73325         wcs_compile_range, byte_compile_range, truncate_wchar,
73326         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
73327         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
73328         count_mbs_length, wcs_re_match_2_internal,
73329         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
73330         PREFIX(alt_match_null_string_p),
73331         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
73332         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
73333         regfree, PREFIX(extract_number)): Define with prototype.  Remove
73334         now-unnecessary declaration, if any.
73335         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
73336         regcomp, regexec):
73337         Remove now-unnecessary casts among pointer types.
73338         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
73339
73340         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
73341         (free): Remove decl.
73342
73343         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
73344
73345         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
73346         (free): Remove decl.
73347
73348         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
73349         * lib/xgetcwd.c: Likewise.
73350
73351         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
73352         (free): Remove decl.
73353
73354         * lib/strchrnul.c (strchrnul): Define with a prototype.
73355         Fix bug: c_in was not converted to char before searching.
73356
73357         The following changes are not K&R related:
73358
73359         * lib/group-member.h: Include <sys/types.h>, so that this file is
73360         self-contained.
73361         * lib/makepath.h: Likewise.
73362
73363         * lib/getusershell.c (readname, default_index, line_size, readname):
73364         Use size_t, not int, for sizes.
73365         (readname): If the size overflows, report an error instead of
73366         looping forever.
73367
73368 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73369
73370         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
73371         libc.
73372
73373 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73374
73375         * README: New section: portability guidelines.
73376
73377 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73378
73379         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
73380         C89 spec.
73381
73382 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73383
73384         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
73385
73386 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73387
73388         Assume C89 or better; remove K&R cruft.
73389         A few of these changes were first proposed by Derek Robert Price
73390         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
73391
73392         * lib/addext.c: Include <string.h> unconditionally.
73393         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
73394         Don't declare getenv or malloc.
73395
73396         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
73397         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
73398         (NULL): Remove.
73399         (find_stack_direction, alloca): Use prototypes.
73400
73401         * lib/atexit.c (atexit): Define using a prototype.
73402
73403         * lib/basename.c, dirname.c, stripslash.c:
73404         Include <string.h> unconditionally.
73405
73406         * lib/bcopy.c: Include <stddef.h>.
73407         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
73408
73409         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
73410
73411         * lib/error.h (error, error_at_line, error_print_progname)
73412         [! (defined (__STDC__) && __STDC__)]: Remove decls.
73413         * lib/error.c: Include error.h first, to check interface.
73414         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73415         (VA_START): Remove; all uses changeed to va_start.
73416         (exit, strerror): Remove decls.
73417         (error_print_progname): Prototype uncondionally.
73418         Don't include <errno.h>; no longer needed.
73419         (private_strerror): Remove.
73420         (error_tail): Always define.
73421         (error, error_at_line): Assume C89 or better; always use prototypes.
73422         * lib/fatal.c: Include "fatal.h" first, to test interface.
73423         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73424         (VA_START): Remove; all uses changed to va_start.
73425         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
73426         this case.
73427         (exit): Remove decl.
73428         (fatal): Prototype unconditionally.  Assume va_start works.
73429         Abort at end, to pacify gcc.
73430
73431         * lib/euidaccess.c (main): Define with a prototype.
73432
73433         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
73434
73435         * lib/exitfail.c: Include <stdlib.h> unconditionally.
73436
73437         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
73438         prototypes.
73439         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
73440         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
73441         (getenv): Remove decl.
73442         (fnmatch): Define using a prototype.
73443         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
73444         (FCT): Define using a prototype.
73445
73446         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
73447
73448         * lib/gethostname.c: Include <stddef.h>.
73449         (gethostname): Define with prototype.  Length is size_t, not int.
73450
73451 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73452
73453         Assume C89 or better; remove K&R cruft.
73454         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
73455         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
73456         string.h, getenv, malloc.
73457         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
73458         headers.
73459         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
73460         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
73461         do not check for strerror.
73462         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
73463         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
73464         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
73465         do not check for doprnt or vprintf.
73466         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
73467         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
73468
73469 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73470
73471         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
73472         getversion.c should have been removed then, but was accidentally
73473         preserved.
73474
73475         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
73476         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
73477
73478 2003-09-08  Karl Berry  <karl@gnu.org>
73479
73480         * config/config.sub, config.guess, srclistvars.sh: update from savannah
73481                 config, forget about prep.
73482
73483         * config/depcomp, missing: update from automake.
73484
73485 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73486
73487         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
73488         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73489
73490 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73491
73492         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
73493         copy_tm_result.  Bug reported by Simon Josefsson in
73494         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73495
73496 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73497
73498         * m4/time_r.m4: New file.
73499         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
73500         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
73501         is. Check for timegm declaration.
73502         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
73503         Do not check for gmtime_r.
73504         Replace mktime if __mktime_internal does not exist and if mktime
73505         hasn't been replaced already.
73506
73507 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73508
73509         * lib/time_r.c, lib/time_r.h: New files.
73510
73511         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
73512         __localtime_r.
73513         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
73514         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
73515
73516         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
73517         __gmtime_r.
73518         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
73519         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
73520         Include <time_r.h>.
73521
73522         * lib/timegm.c: Switch to glibc implementation, with the following
73523         changes:
73524         [defined HAVE_CONFIG_H]: Include <config.h>.
73525         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
73526         (__mktime_internal) [!defined _LIBC]: New decl.
73527         (__gmtime_r) [!defined _LIBC]: New macro and function.
73528         (timegm): Use a prototype, since gnulib assumes C89.
73529         Do not bother declaring tmp to be const, as it's not really usefu.
73530         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
73531         (timegm): Declare only if HAVE_DECL_TIMEGM.
73532
73533 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73534
73535         * MODULES.html.sh (func_all_modules): Add time_r.
73536         * modules/time_r: New file.
73537         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
73538         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
73539
73540 2003-09-03  Paul Eggert  <eggert@twinsun.com>
73541
73542         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
73543         Bug reported by Lute Kamstra in
73544         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
73545
73546         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
73547         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
73548         course with correspondingly smaller numbers for tomorrow and
73549         yesterday.  From Tadayoshi Funaba.  Originally installed into
73550         sh-utils on 1999-08-07, but the patch got lost (I guess during the
73551         coreutils merge?).
73552
73553 2003-08-31  Simon Josefsson  <jas@extundo.com>
73554
73555         * modules/timegm: New file.
73556         * MODULES.html.sh (func_all_modules): Add timegm.
73557
73558 2003-08-31  Simon Josefsson  <jas@extundo.com>
73559
73560         * m4/timegm.m4: New file.
73561
73562 2003-08-31  Simon Josefsson  <jas@extundo.com>
73563
73564         * lib/timegm.h: New file.
73565         * lib/timegm.c: New file.  Based on
73566         wget-1.8.2/src/http.c:mktime_from_utc.
73567
73568 2003-08-31  Karl Berry  <karl@gnu.org>
73569
73570         * lib/argp.h: update from libc.
73571
73572 2003-08-28  Bruno Haible  <bruno@clisp.org>
73573
73574         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
73575         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
73576         followed by '#define fnmatch fnmatch_posix' gives an error.
73577
73578 2003-08-28  Bruno Haible  <bruno@clisp.org>
73579
73580         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
73581         warning on QNX, which defines O_BINARY to 000000.
73582
73583 2003-08-27  Jim Meyering  <jim@meyering.net>
73584
73585         * m4/mkstemp.m4: Require that the system mkstemp be able to create
73586         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
73587         would fail after 32.  Reported by Danny Levinson.  Details here:
73588         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
73589
73590 2003-08-24  Bruno Haible  <bruno@clisp.org>
73591
73592         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
73593         MSVC7 <stdio.h> is included later.
73594
73595 2003-08-22  Simon Josefsson  <jas@extundo.com>
73596
73597         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
73598
73599 2003-08-20  Karl Berry  <karl@gnu.org>
73600
73601         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
73602
73603 2003-08-20  Bruno Haible  <bruno@clisp.org>
73604
73605         * modules/progname: New file.
73606         * MODULES.html.sh (func_all_modules): Add progname.
73607
73608 2003-08-20  Bruno Haible  <bruno@clisp.org>
73609
73610         * lib/progname.h: New file, from GNU gettext.
73611         * lib/progname.c: New file, from GNU gettext.
73612         * lib/progreloc.c: New file, from GNU gettext.
73613
73614 2003-08-19  Jim Meyering  <jim@meyering.net>
73615
73616         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
73617         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
73618
73619 2003-08-19  Bruno Haible  <bruno@clisp.org>
73620
73621         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
73622         more.
73623
73624 2003-08-19  Bruno Haible  <bruno@clisp.org>
73625
73626         * lib/xstrdup.c: Assume <string.h> exists.
73627
73628 2003-08-18  Paul Eggert  <eggert@twinsun.com>
73629
73630         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
73631         in makefile rules.
73632
73633 2003-08-18  Jim Meyering  <jim@meyering.net>
73634
73635         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
73636         * m4/lib-ld.m4: Likewise.
73637
73638 2003-08-18  Jim Meyering  <jim@meyering.net>
73639
73640         * lib/setenv.h: Indent nested cpp directive.
73641         * lib/vasnprintf.c: Remove trailing blanks.
73642
73643 2003-08-17  Simon Josefsson  <jas@extundo.com>
73644
73645         * modules/xstrndup: New file.
73646         * MODULES.html.sh (func_all_modules): Add xstrndup.
73647
73648 2003-08-17  Simon Josefsson  <jas@extundo.com>
73649
73650         * modules/argp: Fix autoconf macro name. Add more dependencies.
73651
73652 2003-08-17  Simon Josefsson  <jas@extundo.com>
73653
73654         * m4/xstrndup.m4: New file.
73655
73656 2003-08-17  Simon Josefsson  <jas@extundo.com>
73657
73658         * m4/argp.m4: New file.
73659
73660 2003-08-17  Simon Josefsson  <jas@extundo.com>
73661             Bruno Haible  <bruno@clisp.org>
73662
73663         * lib/xstrndup.h: New file.
73664         * lib/xstrndup.c: New file.
73665
73666 2003-08-17  Bruno Haible  <bruno@clisp.org>
73667
73668         * modules/strndup (Files, Include): Add lib/strndup.h.
73669
73670 2003-08-17  Bruno Haible  <bruno@clisp.org>
73671
73672         * modules/euidaccess (Files): Add lib/euidaccess.h.
73673
73674 2003-08-17  Bruno Haible  <bruno@clisp.org>
73675
73676         * lib/strndup.h: New file.
73677
73678 2003-08-17  Bruno Haible  <bruno@clisp.org>
73679
73680         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
73681         like AC_GNU_SOURCE.
73682         * modules/extensions (configure.ac): Comment out the invocation of
73683         gl_USE_SYSTEM_EXTENSIONS.
73684
73685 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73686
73687         Merges from coreutils, etc.
73688         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
73689         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
73690         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
73691         fixing a typo.
73692         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
73693         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
73694
73695 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73696
73697         Document merge from coreutils.
73698         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
73699         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
73700         * modules/utime: Add m4/utimes-null.m4.
73701
73702 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73703
73704         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
73705         space, undoing this 2003-08-12 change:
73706         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73707
73708 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73709
73710         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
73711         strtoul.c from libc, undoing this 2003-08-12 change:
73712         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73713
73714 2003-08-16  Jim Meyering  <jim@meyering.net>
73715
73716         Merges from coreutils.
73717         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
73718         prefix.  Adjust cache variables similarly.  Create 500 rather than
73719         just 300 files, to exercise bug on Darwin6.5, too.
73720         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
73721         $missing_dir.
73722         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
73723         AM_SYS_POSIX_TERMIOS.
73724         Reported by mkc@mathdogs.com.
73725         Also change use of $am_cv_sys_posix_termios
73726         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
73727         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
73728         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
73729         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
73730         in /proc/mounts until it finds one with matching device number.  This
73731         is unnecessary when the FILE argument *is* a mount point.  No stat call
73732         is necessary in that case.  So, disable the statvfs-testing code on
73733         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
73734         as RedHat bug# 84846.
73735         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73736         to 1MB, so as not to render systems with no stack size limit (e.g.,
73737         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73738         Include <unistd.h>.  On some systems,
73739         it is required for the definition of _SC_PAGESIZE.
73740
73741 2003-08-16  Jim Meyering  <jim@meyering.net>
73742
73743         Merge from coreutils.
73744         * lib/xstrtoimax.c: #else #if -> #elif.
73745         * lib/xstrtoumax.c: Likewise.
73746
73747 2003-08-16  Jim Meyering  <jim@meyering.net>
73748
73749         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
73750         * m4/utimes.m4: Removed.
73751         * m4/utimes-null.m4: Renamed from utimes.m4.
73752
73753         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73754         to 1MB, so as not to render systems with no stack size limit (e.g.,
73755         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73756         Include <unistd.h>.  On some systems,
73757         it is required for the definition of _SC_PAGESIZE.
73758
73759 2003-08-16  Jim Meyering  <jim@meyering.net>
73760         and Paul Eggert  <eggert@cs.ucla.edu>
73761
73762         Merges from coreutils, etc.
73763
73764         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
73765         using the latest version from cvs.  This avoids problems with #line
73766         directives using a vendor (Sun) compiler.
73767         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
73768         Don't set GETGROUPS_LIB here; now it's
73769         done via getgroups.m4's wrapper function.
73770         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
73771         rather than just in sh-util/configure.in, so that the
73772         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
73773         same.
73774         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
73775         AC_FUNC_GETLOADAVG where to find getloadavg.c.
73776         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
73777         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
73778         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
73779         Remove code that is now done by the newly-required macros.
73780         Append $(EXEEXT) to DF_PROG.
73781         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
73782         Do not invoke or require the following here,
73783         since prereq.m4 or some gnulib .m4 now does this for us:
73784         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
73785         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
73786         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
73787         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
73788         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
73789         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
73790         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
73791         AC_FUNC_OBSTACK.
73792         Do not replace the following functions, as this is now the job
73793         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
73794         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
73795         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
73796         atexit getpass, strdup, getpagesize.
73797         Replace 'raise'.
73798         Do not check for the following functions, as this is now the job
73799         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
73800         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
73801         setregid.
73802         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
73803         Check for sys/sysctl.h.
73804         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
73805         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
73806         of checking for ssize_t ourselves.
73807
73808         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
73809         Require every macro that gnulib/modules/* suggests for us.
73810         (jm_PREREQ_ADDEXT): New macro.
73811         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
73812         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
73813
73814         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
73815         (gl_PHYSMEM): Use it.
73816         Also check for `table' function.
73817         Check for new headers and functions.
73818         Add check for sys/sysmp.h.
73819         With suggestions from Kaveh Ghazi.
73820         Ignore headers that are present but cannot be compiled.  This
73821         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
73822         C 5.4.
73823
73824 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73825
73826         Document merge from coreutils.
73827         * modules/userspec: Depend on posixver.
73828         * modules/strftime: Depend on tzset.
73829
73830 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73831
73832         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
73833         rather than tab, after '#' in shell-script copyright notices.
73834         Suggested by Bruno Haible.
73835
73836 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73837
73838         * config/srclist-update: Use three spaces, rather than tab, after '#'
73839         in shell-script copyright notices.  Suggested by Bruno Haible.
73840         Remove unnecessary parenthesization in regular expression.
73841
73842 2003-08-15  Jim Meyering  <jim@meyering.net>
73843
73844         Merge from coreutils.
73845         * lib/xgethostname.c: Include <stdlib.h>.
73846         (xghostname): Don't exit for anything other than memory-related
73847         failure; just return NULL.
73848         * lib/userspec.c: Include "posixver.h".
73849         (parse_user_spec): Accept `.' as a separator only
73850         in pre-POSIX-200112 mode.
73851         * lib/strtoimax.c: Use #elif rather than #else #if.
73852         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
73853         Remove function, now that we can rely on a working tzset function.
73854         [!_LIBC]: Ensure that the required autoconf test has been run.
73855         [!defined _NL_CURRENT && HAVE_STRFTIME]:
73856         Use underlying_strftime for %r.
73857         * lib/sha.c: Merge in some clean-up and optimization changes from
73858         glibc.
73859         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
73860         Ensure that it is a multiple of 64.
73861         Rearrange loop exit tests so as to avoid performing an
73862         additional fread after encountering an error or EOF.
73863         * lib/realloc.c: Update copyright date.
73864
73865 2003-08-15  Jim Meyering  <jim@meyering.net>
73866         and Paul Eggert  <eggert@twinsun.com>
73867
73868         Merge from coreutils.
73869         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
73870         member but strut utmpx does not.  Needed for AIX 4.3.3.
73871         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
73872
73873 2003-08-15  Jim Meyering  <jim@meyering.net>
73874         and Paul Eggert  <eggert@cs.ucla.edu>
73875
73876         Merges from coreutils, etc.
73877         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
73878         Require gl_FUNC_TZSET_CLOBBER.
73879         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
73880         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
73881         members.
73882
73883 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73884
73885         Help the merge from coreutils.
73886         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
73887         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
73888         * m4/tzset.m4: Use it too.
73889
73890 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73891
73892         * modules/tzset: New file.
73893
73894 2003-08-14  Jim Meyering  <jim@meyering.net>
73895
73896         Merges from coreutils.
73897         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
73898         variable names, rather than @FNMATCH_H@.
73899         * modules/alloca: Likewise for $(ALLOCA_H).
73900
73901         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
73902         the three copies of the literal target, `fnmatch.h'.
73903         * modules/alloca (alloca.h): Likewise.
73904
73905 2003-08-14  Jim Meyering  <jim@meyering.net>
73906
73907         Merge from coreutils.
73908         * m4/tzset.m4: New file.
73909         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
73910         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
73911         otherwise, AIX 5.1 systems would end up using the latter.
73912         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
73913         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
73914         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
73915         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
73916
73917 2003-08-14  Jim Meyering  <jim@meyering.net>
73918
73919         Merge from coreutils.
73920         * lib/obstack.h: Whitespace changes.
73921         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
73922         and xcalloc return values.
73923         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
73924         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
73925         hang on OSF/1 5.1 for DIR on both local and remote file systems.
73926         Reported by (and fix confirmed by) Nelson H. F. Beebe.
73927         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73928         error from mntctl.
73929         Use mntctl's return value to drive the entry-processing loop, since
73930         we can't rely on the value of the vmt_length member in the last
73931         entry.  On some systems doing so could result in exhausting
73932         virtual memory.  Based in part on a patch from Mike Jetzer.
73933
73934 2003-08-14  Jim Meyering  <jim@meyering.net>
73935         and Paul Eggert  <eggert@twinsun.com>
73936
73937         Merges from coreutils, plus other fixes.
73938         * lib/physmem.c: Merge in portability changes from gcc/libiberty
73939         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
73940         for credits and details.  Thanks to Kaveh Ghazi for helping
73941         to keep these files in sync.
73942         (ARRAY_SIZE): Define it.
73943         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
73944         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
73945         (memcasecmp): Don't assume size_t fits in unsigned int.
73946         Remove casts and duplicate code.
73947         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
73948         (memcpy): Remove definition.
73949         Merge in some clean-up and optimization changes from glibc.
73950         [BLOCKSIZE]: Move definition to top of file.
73951         Ensure that it is a multiple of 64.
73952         Rearrange loop exit tests so as to avoid performing an
73953         additional fread after encountering an error or EOF.
73954         * lib/md5.h (md5_uintptr): Define.
73955         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
73956         return to the initial working directory.  Preserve errno
73957         for caller.
73958         * lib/idcache.c: Include "xalloc.h".
73959         (xmalloc, xrealloc): Remove decls.
73960         (getuser): Remove casts no longer required in C89.
73961         * lib/human.c: Include stdio.h, for sprintf.
73962         * lib/group-member.c: Include "xalloc.h".
73963         (xmalloc, xrealloc): Remove decls.
73964         (get_group_info): Remove casts no longer required in C89.
73965         * lib/getusershell.c (readname): Remove casts no longer required in
73966         C89.
73967         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
73968         * lib/getline.c: Whitespace fix, from coreutils.
73969
73970 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73971
73972         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73973         Check for isascii.
73974
73975         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73976         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73977         Undo previous (whitespace-only) change.
73978
73979 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73980
73981         * lib/exclude.c: Include <ctype.h>
73982         (IN_CTYPE_DOMAIN): New macro.
73983         (is_space): New fn.
73984         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73985         and empty lines.
73986
73987         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73988         Undo previous (whitespace-only) change.
73989
73990 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73991
73992         * config/srclist-update: Change update back to the old behavior,
73993         leaving whitespace alone.  Use one 'sed' command rather than a
73994         pipeline.
73995         (fixlicense): Now a variable, not a function.
73996         (remove_trailing_blanks): Remove.
73997         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73998         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73999         Undo previous (whitespace-only) change.
74000
74001 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74002
74003         Merge from coreutils.
74004         * modules/euidaccess: Add lib_SOURCES, include for new
74005         file euidaccess.h
74006
74007 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74008
74009         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
74010         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
74011         Normalize leading white space and remove trailing white space.
74012
74013         Merge from coreutils
74014         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
74015
74016         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
74017         0.12.1.  These files are now being upgraded automatically by
74018         ../config/srclist-update.
74019
74020 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74021
74022         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
74023         Normalize leading white space and remove trailing white space.
74024         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
74025         notice, as per ../config/srclist-update.
74026
74027         Merge from coreutils.
74028         * lib/euidaccess.h: New file.
74029         * lib/euidaccess.c: Include it.
74030         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
74031         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
74032         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
74033
74034 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74035
74036         * config/srclist-update: Add copyright notice.
74037         (remove_id_lines, remove_trailing_blanks): New constants.
74038         (fixfile): Use them to normalize spacing a bit in copied files.
74039         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
74040         Normalize leading white space and remove trailing white space.
74041
74042         * config/texinfo.tex: Sync with texinfo.
74043
74044         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
74045         strtoul.c from libc, to merge coreutils whitespace changes.
74046
74047         * config/srclist.txt: Get the following m4 files from gettext:
74048         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
74049         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
74050         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
74051         wint_t.m4.
74052
74053 2003-08-12  Karl Berry  <karl@gnu.org>
74054
74055         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
74056         been made.
74057
74058 2003-08-11  Paul Eggert  <eggert@twinsun.com>
74059
74060         * modules/gnu-source, m4/gnu-source.m4:
74061         Remove; we're assuming Autoconf 2.54 or later now.
74062         Suggested by Bruno Haible.
74063         * MODULES.html.sh (func_all_modules): Remove gnu-source.
74064
74065 2003-08-11  Bruno Haible  <bruno@clisp.org>
74066
74067         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
74068
74069 2003-08-11  Bruno Haible  <bruno@clisp.org>
74070
74071         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
74072         (vasnprintf): Use it instead of wcslen.
74073
74074 2003-08-11  Bruno Haible  <bruno@clisp.org>
74075
74076         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
74077         value to ensure that _Bool promotes to int. Use #define for _Bool when
74078         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
74079
74080 2003-08-10  Karl Berry  <karl@gnu.org>
74081
74082         * lib/regex.h: update from libc (whitespace fix).
74083
74084 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74085
74086         Merge some files from coreutils.  These changes were
74087         originally made by Jim Meyering.
74088         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
74089         many older Unixes require this.
74090         * lib/alloca.c (alloca): Remove cast to argument of free;
74091         no longer needed in C89.
74092         * lib/alloca_.h, regex.h: Fix white space to match
74093         what GNU indent does.
74094
74095 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74096
74097         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
74098         apparently Emacs's Unicode mode got confused before my 2003-08-05
74099         checkin.
74100
74101 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74102
74103         * m4/extensions.m4: New file.
74104         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
74105         Require gl_USE_SYSTEM_EXTENSIONS.
74106         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
74107         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
74108
74109 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74110
74111         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
74112         * modules/extensions, modules/gnu-source: New files.
74113         * modules/timespec, modules/unlocked-io: Depend on extensions.
74114
74115 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74116
74117         * modules/restrict: New file.
74118         * MODULES.html.sh (func_all_modules): Add restrict.
74119         * modules/regex: Depend on restrict.
74120
74121 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74122
74123         * m4/restrict.m4: New file.
74124         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
74125
74126 2003-08-07  Bruno Haible  <bruno@clisp.org>
74127
74128         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
74129         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
74130
74131 2003-08-07  Bruno Haible  <bruno@clisp.org>
74132
74133         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
74134         makes the module 'getndelim2' compatible with the module 'getline'.
74135
74136 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74137
74138         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
74139         byte with "\201" to avoid glitches when editing that source file
74140         with multi-gnome-terminal.
74141
74142 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74143
74144         * lib/bumpalloc.h: Remove.
74145
74146 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74147
74148         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
74149         * modules/bumpalloc: Remove.
74150
74151 2003-08-04  Paul Eggert  <eggert@twinsun.com>
74152
74153         * lib/getloadavg.c: Change copyright notice and spacing to conform to
74154         GNU coding style.
74155
74156         Merge from coreutils.
74157         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
74158         1. From glibc.
74159         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
74160         from Karl Berry, implemented by Jim Meyering.
74161         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
74162         from Dmitry V. Levin.
74163         Remove anachronistic cast of xrealloc.
74164         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
74165         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
74166         type. Otherwise, it wouldn't compile with at least /bin/cc on
74167         ymp-cray-unicos9.0.2.X.
74168         Combine two mostly-identical uses of alloca into one.
74169         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
74170
74171 2003-08-04  Dave Love  <d.love@dl.ac.uk>
74172
74173         [From Emacs.]
74174
74175         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
74176         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
74177         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
74178         obsolete NLIST_NAME_UNION.
74179         [__GNU__]: Undef BSD and FSCALE.
74180         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
74181
74182 2003-08-03  Paul Eggert  <eggert@twinsun.com>
74183
74184         * lib/stdbool_.h (_Bool): Make it signed char, instead of
74185         an enum type, so that it's guaranteed to promote to int.  See:
74186         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
74187
74188 2003-08-03  Karl Berry  <karl@gnu.org>
74189
74190         * config/depcomp: update from automake.
74191
74192 2003-07-31  Paul Eggert  <eggert@twinsun.com>
74193
74194         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
74195         (strerror): Don't assume that a printable int fits in 14 bytes.
74196
74197 2003-07-31  Bruno Haible  <bruno@clisp.org>
74198
74199         * modules/getpass-gnu: New file.
74200         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
74201
74202 2003-07-31  Bruno Haible  <bruno@clisp.org>
74203
74204         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
74205
74206 2003-07-24  Karl Berry  <karl@gnu.org>
74207
74208         * config/missing: update from automake.
74209
74210 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
74211             Bruno Haible  <bruno@clisp.org>
74212
74213         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
74214         * lib/getline.c (getline, getdelim): Likewise.
74215         Remove _GNU_SOURCE define; now it's defined in config.h through
74216         m4/getline.m4.
74217
74218 2003-07-23  Karl Berry  <karl@gnu.org>
74219
74220         * config/config.sub: update from prep.
74221
74222 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74223
74224         * modules/xalloc (Depends-on): Add exitfail.
74225         * modules/xmemcoll: Likewise.
74226
74227 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74228
74229         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
74230         over-parenthesization in macros.
74231
74232         Sync with coreutils.
74233
74234         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
74235         required by C99.
74236
74237         Use `exit_failure' for xalloc and xmemcoll instead of their own
74238         private exit-failure variables.
74239         * lib/xalloc.h (xalloc_exit_failure): Remove.
74240         * lib/xmalloc.c: Likewise.  Include exitfail.h.
74241         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
74242         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
74243         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
74244         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
74245
74246 2003-07-20  Jim Meyering  <jim@meyering.net>
74247
74248         * modules/closeout (Depends-on): Add exitfail.
74249         Suggestion from Bruno Haible.
74250
74251 2003-07-19  Karl Berry  <karl@gnu.org>
74252
74253         * config/config.sub: update from prep.
74254
74255 2003-07-18  Paul Eggert  <eggert@twinsun.com>
74256
74257         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
74258         Remove.
74259         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
74260         to test that it can stand by itself.  Include "exitfail.h".
74261         Clients should set exit_failure instead.
74262         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
74263
74264 2003-07-18  Bruno Haible  <bruno@clisp.org>
74265
74266         * modules/getndelim2: New file.
74267         * modules/getline: Share files with module getndelim2.
74268         * modules/getnline: Depend on getndelim2 instead of sharing files with
74269         it. Add getnline.c to lib_SOURCES.
74270         * MODULES.html.sh (func_all_modules): Add getndelim2.
74271
74272 2003-07-18  Bruno Haible  <bruno@clisp.org>
74273
74274         * m4/getndelim2.m4: New file.
74275         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
74276         invoke gl_PREREQ_GETNDELIM2.
74277         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
74278         gl_PREREQ_GETNDELIM2.
74279         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
74280         gl_GETNDELIM2.
74281
74282 2003-07-18  Bruno Haible  <bruno@clisp.org>
74283
74284         * lib/getndelim2.h: New file.
74285         * lib/getndelim2.c: Make into a module of its own. Include config.h,
74286         getndelim2.h.
74287         (getndelim2): Make non-static. Change return type to ssize_t.
74288         * lib/getline.h: Change argument names.
74289         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
74290         * lib/getnline.c: Include getndelim2.h.
74291
74292 2003-07-18  Andreas Schwab  <schwab@suse.de>
74293
74294         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
74295
74296 2003-07-17  Karl Berry  <karl@gnu.org>
74297
74298         * config/config.sub: update from prep.
74299
74300 2003-07-17  Bruno Haible  <bruno@clisp.org>
74301
74302         * modules/getnline: New file.
74303         * modules/getline: Add lib/getndelim2.c to source file list.
74304         * MODULES.html.sh (func_all_modules): Add getnline.
74305
74306 2003-07-17  Bruno Haible  <bruno@clisp.org>
74307
74308         * m4/getnline.m4: New file.
74309
74310 2003-07-17  Bruno Haible  <bruno@clisp.org>
74311
74312         * m4/Makefile.am.in: Remove file.
74313         * m4/Makefile.am: Remove file.
74314         * m4/Makefile.in: Remove file.
74315
74316 2003-07-17  Bruno Haible  <bruno@clisp.org>
74317
74318         * lib/getnline.h: New file.
74319         * lib/getnline.c: New file.
74320         * lib/getndelim2.c: New file, extracted from getline.c.
74321         (getndelim2): Renamed from getdelim2, with added nmax argument.
74322         * lib/getline.c: Include getndelim2.c.
74323         (getdelim2): Moved out to getndelim2.c.
74324         (getline, getdelim): Update.
74325
74326 2003-07-17  Bruno Haible  <bruno@clisp.org>
74327
74328         * lib/Makefile.am: Remove file.
74329         * lib/Makefile.in: Remove file.
74330
74331 2003-07-17  Bruno Haible  <bruno@clisp.org>
74332
74333         * configure.in: Remove file.
74334         * Makefile.in: Remove file.
74335
74336 2003-07-17  Bruno Haible  <bruno@clisp.org>
74337
74338         * MODULES.html.sh: Put the </BODY> right before </HTML>.
74339
74340 2003-07-16  Karl Berry  <karl@gnu.org>
74341
74342         * config/srclist-update: was running fixlicense twice, which caused
74343                 texinfo.tex to be nullified for some reason.  Simplify,
74344                 $gplsrc is no longer needed as far as I can see?
74345
74346 2003-07-16  Jim Meyering  <jim@meyering.net>
74347
74348         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
74349
74350 2003-07-15  Paul Eggert  <eggert@twinsun.com>
74351
74352         * config/srclist.txt: Get the following files from gettext-runtime/intl
74353         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
74354         ref-del.sin.  From Bruno Haible.
74355         * config/srclist-update (fixfile): Change grep pattern again, since the
74356         previous fix didn't work (there was another trailing $).  Use
74357         '[$]' to escape the $s.
74358
74359 2003-07-15  Karl Berry  <karl@gnu.org>
74360
74361         * lib/vasnprintf.c: update from gettext.
74362
74363 2003-07-15  Karl Berry  <karl@gnu.org>
74364
74365         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
74366         gets expanded when surrounded by '$'.
74367
74368 2003-07-15  Jim Meyering  <jim@meyering.net>
74369
74370         * modules/save-cwd: Don't depend on error.  From Derek Price.
74371
74372 2003-07-15  Jim Meyering  <jim@meyering.net>
74373
74374         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
74375
74376 2003-07-14  Simon Josefsson  <jas@extundo.com>
74377
74378         * modules/mempcpy: New file.
74379         * MODULES.html.sh (func_all_modules): Add mempcpy.
74380
74381 2003-07-14  Simon Josefsson  <jas@extundo.com>
74382
74383         * m4/mempcpy.m4: New file.
74384
74385 2003-07-14  Simon Josefsson  <jas@extundo.com>
74386
74387         * lib/mempcpy.h: New file.
74388         * lib/mempcpy.c: New file.
74389
74390 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74391
74392         * modules/getdate, modules/posixtm: Depend on mktime.
74393
74394 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74395
74396         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
74397         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
74398         unicodeio.c, unicodeio.h, unlocked-io.h:
74399         Switch from LGPL to GPL.
74400
74401 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74402
74403         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
74404         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
74405         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
74406         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
74407         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
74408         updated automatically by ../config/srclist-update.  This changes
74409         their license from LPGL to GPL.
74410
74411 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74412
74413         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
74414         assumed to refer to the root of the most recent stable gettext version.
74415         * config/srclistvars.sh: Add defaults for eggert.
74416         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
74417         Match "This program" as well as "The program".  This is needed
74418         for gettext.
74419
74420 2003-07-14  Jim Meyering  <jim@meyering.net>
74421
74422         Don't emit diagnostics.  Let callers do that.
74423         * lib/save-cwd.c: Don't include "error.h".
74424         (save_cwd): Don't call error.  Ensure that errno is valid
74425         when returning nonzero.
74426
74427         * lib/save-cwd.h (restore_cwd): Update prototype.
74428         * lib/save-cwd.c (restore_cwd): Remove two parameters.
74429         Simplify.  Don't call error upon failure.  Let callers do that.
74430         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
74431         when auditing is enabled.  But don't bother updating the #if.
74432
74433 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
74434
74435         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
74436         it breaks C++ compilation.
74437         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
74438
74439 2003-07-10  Simon Josefsson  <jas@extundo.com>
74440
74441         * modules/strchrnul (Makefile.am): Add strchrnul.h.
74442
74443 2003-07-10  Jim Meyering  <jim@meyering.net>
74444
74445         * m4/clock_time.m4: Remove trailing blank.
74446         * m4/intmax_t.m4: Likewise.
74447
74448 2003-07-10  Jim Meyering  <jim@meyering.net>
74449
74450         * lib/vasnprintf.c: Remove trailing blanks.
74451         Make cpp indentation consistent.
74452
74453 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74454
74455         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
74456         posixver.c, strftime.c, strnlen.c, strverscmp.c:
74457         Switch from LGPL to GPL.
74458
74459 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74460
74461         * config/srclist.txt: Sort sublists.  Add
74462         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
74463         that differ from gnulib for one reason or another; we'd like this list
74464         to be smaller but for now let's document what we have.
74465
74466 2003-07-08  Paul Eggert  <eggert@twinsun.com>
74467
74468         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
74469         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
74470         and sweeter "eval x=$x".
74471         * config/srclist.txt: Get lib/argp* from glibc.
74472
74473 2003-07-07  Paul Eggert  <eggert@twinsun.com>
74474
74475         * lib/mktime.c: Fix some boundary cases and remove need for floating
74476         point.
74477
74478         Issue a compile-time diagnostic if time_t is floating point, or if
74479         two's complement arithmetic is not in effect, or if arithmetic
74480         right shift does not propagate the sign.  These assumptions were
74481         all in the original code but they weren't checked.
74482
74483         (TIME_T_MIDPOINT, verify): New macros.
74484         (__isleap): Remove; it has integer overflow problems.
74485         (leapyear): New function, without those problems.
74486         (ydhms_tm_diff): Remove; splitting into two parts.
74487         (ydhms_diff): New function, containing the arithmetic part of
74488         the old ydhms_tm_diff function.  Issue a compile-time
74489         diagnostic if we are not using C99 integer division.
74490         Avoid casts when possible.
74491         (guess_time_tm): New function, containing the checking part of
74492         the old ydhms_tm_diff function.  Return the new value, rather than
74493         the difference between it and the old.  Accept a new argument T
74494         so that *T specifies the old value.  Check for overflow in the result.
74495
74496         (__mktime_internal): Use a time_t offset, not a long int offset.
74497         This undoes the 2003-06-04 change, which is no longer needed now
74498         that we have better overflow checking.
74499         (localtime_offset): Likewise.
74500
74501         (__mktime_internal): Avoid harmful overflow on hosts where time_t
74502         and long are 64-bit but int is only 32-bit.
74503         (ydhms_diff): Use long int to store year1 and yday1.
74504         Issue a compile-time diagnostic if long int is not wide enough.
74505
74506         (__mktime_internal): Use long int to store adjusted year and yday.
74507         Use plain C rather than preprocessor commands, if that doesn't
74508         affect efficiency.
74509         Check for overflow (and try to repair) after each probe
74510         rather than checking only at the very end.  This avoids some bugs
74511         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
74512         does not equal GMT offset at maximum time).
74513         Use integer to check for overflow rather than floating point; this
74514         is more portable to non-IEEE hosts, and is a tad faster.
74515         When we detect that we are oscillating between two values,
74516         don't check whether tm_isdst has the requested value, since
74517         we already know the answer.  When tm_isdst has the wrong value,
74518         use a different heuristic to find the right one, based on the
74519         extreme values actually observed in practice in tz2003a,
74520         rather than the (overly optimistic) "previous 3 calendar quarters".
74521
74522         (not_equal_tm, print_tm, check_result): Use "const T" rather than
74523         "T const" to accommodate glibc style.
74524         (check_result): Use less-confusing report format.  "long" -> "long int.
74525         (main): Likewise.
74526         Don't loop if the iteration overflows time_t.
74527         Allow a negative step in the iteration.
74528
74529 2003-07-06  Karl Berry  <karl@gnu.org>
74530
74531         * config/depcomp: update from automake.
74532         * config/config.sub: update from prep.
74533
74534 2003-07-03  Karl Berry  <karl@gnu.org>
74535
74536         * config/config.guess: update from prep.
74537
74538 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74539
74540         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
74541         xreadlink.c now includes it unconditionally.
74542
74543 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74544
74545         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
74546         having it depend on HAVE_SYS_TYPES_H.
74547
74548 2003-07-01  Bruno Haible  <bruno@clisp.org>
74549
74550         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
74551         <sys/types.h> should be sufficient.
74552         Reported by Paul Eggert.
74553
74554 2003-06-26  Karl Berry  <karl@gnu.org>
74555
74556         * config/depcomp: update from automake.
74557
74558 2003-06-26  Bruno Haible  <bruno@clisp.org>
74559
74560         * modules/human: Depend on module stdbool.
74561
74562 2003-06-25  Bruno Haible  <bruno@clisp.org>
74563
74564         * modules/readlink: New file.
74565         * modules/xreadlink: Depend on it.
74566         * MODULES.html.sh (func_all_modules): Add readlink.
74567
74568 2003-06-25  Bruno Haible  <bruno@clisp.org>
74569
74570         * m4/readlink.m4: New file.
74571
74572 2003-06-25  Bruno Haible  <bruno@clisp.org>
74573
74574         * lib/readlink.c: New file.
74575
74576 2003-06-22  Karl Berry  <karl@gnu.org>
74577
74578         * config/srclist.txt: update mkinstalldirs from automake.
74579         * config/mkinstalldirs: update.
74580
74581 2003-06-22  Bruno Haible  <bruno@clisp.org>
74582
74583         Portability to mingw32.
74584         * m4/ssize_t.m4: New file, from GNU gettext.
74585         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
74586         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
74587
74588 2003-06-22  Bruno Haible  <bruno@clisp.org>
74589
74590         * modules/safe-read: Add m4/ssize_t.m4.
74591         * modules/xreadlink: Add m4/ssize_t.m4.
74592
74593 2003-06-20  Bruno Haible  <bruno@clisp.org>
74594
74595         Assume C89, so PARAMS isn't needed.
74596         * lib/unicodeio.h (PARAMS): Remove.
74597         * lib/unicodeio.c: Don't use PARAMS.
74598
74599 2003-06-18  Karl Berry  <karl@gnu.org>
74600
74601         * config/config.{guess,sub}: update from prep.
74602
74603 2003-06-18  Jim Meyering  <jim@meyering.net>
74604
74605         Merge changes from coreutils.
74606         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
74607         Remove explicit declarations of xmalloc and realloc.
74608         Include xalloc.h.
74609         (read_utmp): Remove anachronistic cast of xmalloc.
74610
74611 2003-06-17  Paul Eggert  <eggert@twinsun.com>
74612
74613         Assume C89, so PARAMS isn't needed.
74614         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
74615         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
74616         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
74617         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
74618         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
74619         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
74620         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
74621         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
74622         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
74623         lib/xstrtod.h, lib/xstrtol.h: Likewise.
74624         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
74625         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
74626         no longer needed. Anyway, config.h should always be included before any
74627         other file.
74628
74629 2003-06-11  Simon Josefsson  <jas@extundo.com>
74630
74631         * modules/sysexits: New file.
74632         * MODULES.html.sh (func_all_modules): Add sysexits.
74633
74634 2003-06-11  Simon Josefsson  <jas@extundo.com>
74635
74636         * lib/sysexit_.h: New file.
74637
74638 2003-06-11  Derek Price  <derek@ximbiot.com>
74639
74640         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
74641         necessary.
74642
74643 2003-06-11  Bruno Haible  <bruno@clisp.org>
74644
74645         * m4/sysexits.m4: New file.
74646
74647 2003-06-10  Simon Josefsson  <jas@extundo.com>
74648
74649         * lib/argp.h: New file, from glibc.
74650         * lib/argp-ba.c: New file, from glibc.
74651         * lib/argp-eexst.c: New file, from glibc.
74652         * lib/argp-fmtstream.c: New file, from glibc.
74653         * lib/argp-fmtstream.h: New file, from glibc.
74654         * lib/argp-fs-xinl.c: New file, from glibc.
74655         * lib/argp-help.c: New file, from glibc.
74656         * lib/argp-namefrob.h: New file, from glibc.
74657         * lib/argp-parse.c: New file, from glibc.
74658         * lib/argp-pv.c: New file, from glibc.
74659         * lib/argp-pvh.c: New file, from glibc.
74660         * lib/argp-xinl.c: New file, from glibc.
74661
74662 2003-06-10  Simon Josefsson  <jas@extundo.com>
74663
74664         * modules/strchrnul: New file.
74665
74666 2003-06-10  Simon Josefsson  <jas@extundo.com>
74667
74668         * modules/argp: New file.
74669
74670 2003-06-10  Simon Josefsson  <jas@extundo.com>
74671
74672         * m4/strchrnul.m4: New file.
74673
74674 2003-06-10  Simon Josefsson  <jas@extundo.com>
74675
74676         * lib/strchrnul.h: New file.
74677         * lib/strchrnul.c: New file.
74678
74679 2003-06-10  Bruno Haible  <bruno@clisp.org>
74680
74681         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
74682
74683 2003-06-07  Karl Berry  <karl@gnu.org>
74684
74685         * config/config.{guess,sub}: update from prep.
74686
74687 2003-06-07  Jim Meyering  <jim@meyering.net>
74688
74689         * modules/strtod: Use $(...) notation, not @...@ for
74690         AC_REPLACE'd variables.
74691         * modules/localcharset: Likewise.
74692
74693 2003-06-07  Jim Meyering  <jim@meyering.net>
74694
74695         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
74696         in place of my name in the copyright comment.
74697         Remove definition and uses of __P.
74698
74699         From coreutils.
74700         * lib/stat.c: Don't declare xmalloc explicitly.
74701         Instead, include "xalloc.h".
74702         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
74703         xrealloc, and xcalloc return values.
74704         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
74705         Improve comment.
74706         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
74707
74708 2003-06-07  Bruno Haible  <bruno@clisp.org>
74709
74710         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
74711         avoid AC_CONFIG_LINKS.
74712         * modules/fnmatch (Makefile.am): Use explicit creation rule for
74713         fnmatch.h, to avoid AC_CONFIG_LINKS.
74714         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
74715
74716 2003-06-07  Bruno Haible  <bruno@clisp.org>
74717
74718         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
74719         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
74720         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74721         directory.
74722         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
74723         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74724         directory.
74725
74726 2003-06-06  Jim Meyering  <jim@meyering.net>
74727
74728         Merge from coreutils.
74729         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
74730         Consolidate declarations and initializations of *_base* locals.
74731
74732         Merge from coreutils.
74733         This avoids a core dump on systems without GNU putenv,
74734         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
74735         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
74736         (unsetenv): New static function, from GNU libc.
74737         (rpl_putenv): Use it.
74738
74739         * lib/modechange.c: Remove trailing blanks.
74740
74741         Merge from coreutils.
74742         * lib/fsusage.c: Remove declaration of statfs.
74743         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
74744
74745         * lib/posixtm.c: Include <stdbool.h> unconditionally.
74746
74747 2003-06-06  Jim Meyering  <jim@meyering.net>
74748
74749         * lib/stdbool_.h: Renamed from stdbool.h.in.
74750
74751 2003-06-06  Jim Meyering  <jim@meyering.net>
74752             Bruno Haible  <bruno@clisp.org>
74753
74754         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
74755         Adjust Makefile.am snippet not to redirect directly to target.
74756         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
74757
74758 2003-06-05  Paul Eggert  <eggert@twinsun.com>
74759
74760         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
74761         mismatch, look in future quarters as well as past.  This fixes a
74762         bug when processing fall-backwards gaps immediately after a long
74763         period of daylight-saving time.
74764
74765         * lib/mktime.c: Assume freestanding C89 or better.
74766         (HAVE_LIMITS_H): Remove.  Assume it's 1.
74767         (__P): Remove; not used.
74768         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
74769         (mktime, not_equal_tm, print_tm, check_result,
74770         main): Use prototypes.  Use const * where appropriate.
74771         (main): Fix typo in testing code that uncovered by above changes.
74772         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
74773
74774 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74775
74776         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
74777         locale.h, localeconv.  This merges changes from coreutils.
74778
74779         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
74780         It can be removed after the next Autoconf is released.
74781         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
74782         needed.
74783
74784 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74785
74786         * lib/mktime.c: Fix Debian bug 177940
74787         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
74788         (localtime_offset): Now long int, not time_t, because we want it
74789         to be guaranteed to be signed.  All uses changed.
74790         (__mktime_internal): If overflow would occur when adding offset,
74791         don't add it.
74792
74793         Merge 'human' changes from coreutils.  Rewrite to support
74794         locale-specific notations like thousands separators.
74795         * lib/human.c: Simplify authorship notice.
74796         Include human.h immediately after config.h.
74797         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
74798         <limits.h>: Do not include, since human.h does.
74799         (SIZE_MAX, UINTMAX_MAX): New macros.
74800         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
74801         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
74802         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
74803         (power_letter): Renamed from suffixes.
74804         (generate_suffix_backwards): Remove.
74805         (adjust_value): Now takes int style (because of human.h changes)
74806         and long double value (for greater precision on some platforms).
74807         (group_number): New function.
74808         (human_readable): Use it.  Use integer options, not enum.
74809         Put the options before the sizes in the arg list.
74810         Support all the new options.
74811         The old human_readable function has been removed;
74812         use inttostr.h instead.
74813         (human_readable, default_block_size, humblock):
74814         Use uintmax_t, not int, for block sizes.
74815         (human_readable_inexact, block_size_types): Remove.
74816         (block_size_opts): New constant.
74817         (human_options): Renamed from human_block_size, with new signature
74818         that allows block sizes up to UINTMAX_MAX.  All callers changed.
74819         * lib/human.h: Add copyright and authorship notice.
74820         Include <limits.h> and <stdbool.h> unconditionally.
74821         (PARAMS): Remove.  All uses removed.
74822         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
74823         (enum human_inexact_style): Remove tag; now a nameless enum.
74824         (human_floor, human_ceiling, human_round_to_even): Now have
74825         values 2, 0, 1 rather than -1, 1, 0.
74826         (human_group_digits, human_suppress_point_zero, human_autoscale,
74827         human_base_1024, human_SI, human_B): New constants.
74828         (human_readable_inexact, human_block_size): Remove.
74829         (human_readable): Size args are now uintmax_t, not int.
74830         (human_options): New decl.
74831
74832         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
74833         unnecessary now that we assume C89 or better.  This change
74834         imported from coreutils.
74835
74836         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74837         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
74838         in the 2003-05-30 sync from glibc.
74839
74840         .h files should stand alone, but we shouldn't include <sys/types.h>
74841         if we can get away with just <stddef.h>.
74842
74843         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
74844         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
74845         rather than <sys/types.h>, as we merely need size_t.
74846         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
74847         to get size_t.
74848         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
74849         Include <stdio.h>, to get FILE.
74850         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
74851         memcasecmp.h has included <stddef.h> and all we need is size_t.
74852         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
74853         our interface, instead of including <sys/types.h>
74854
74855 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74856
74857         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
74858         now, as glibc mktime is buggy on non-glibc systems.
74859
74860 2003-06-03  Karl Berry  <karl@gnu.org>
74861
74862         * config/config.sub: update from prep.
74863
74864 2003-06-02  Paul Eggert  <eggert@twinsun.com>
74865
74866         [from coreutils]
74867         Fix some minor time-related bugs with POSIX time arguments.
74868         Some valid time stamps were being rejected (notably -1, and
74869         time stamps before 1900 on 64-bit hosts).  And some invalid
74870         time stamps were being accepted, e.g. September 31.
74871
74872         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
74873         that we can return (time_t) -1 successfully.
74874         * lib/posixtm.c: Likewise.
74875         [HAVE_STDBOOL_H]: Include <stdbool.h>.
74876         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
74877         (t): Remove static var.
74878         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
74879         of static var.  All uses changed.
74880         (year): Do not reject years before 1900; they can occur with
74881         64-bit time_t.
74882         (posix_time_parse): Do not check for out-of-range components;
74883         that is now the caller's responsibility, since our checks were
74884         only approximations.
74885         (posixtime): Use mktime to check for out-of-range components,
74886         since it knows them exactly.
74887         If mktime returns (time_t) -1, check whether an error actually occurred
74888         by invoking localtime on -1.
74889         (main) [TEST_POSIXTIME]: Check for input data errors, and report
74890         posixtime failures better.
74891         Improve the test data (in comments only).
74892
74893 2003-06-02  Karl Berry  <karl@gnu.org>
74894
74895         * config/mkinstalldirs (version): new variable.
74896         (--version): new option.
74897         (usage): improve message.
74898
74899 2003-05-30  Karl Berry  <karl@gnu.org>
74900
74901         * lib/mktime.c: update from libc.
74902
74903 2003-05-30  Bruno Haible  <bruno@clisp.org>
74904
74905         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
74906         * config/config.rpath: Upgrade to gettext-0.12.1.
74907
74908 2003-05-30  Bruno Haible  <bruno@clisp.org>
74909
74910         * m4/gettext.m4: Upgrade to gettext-0.12.1.
74911         * m4/nls.m4: New file, from gettext-0.12.1.
74912         * m4/po.m4: New file, from gettext-0.12.1.
74913         * m4/progtest.m4: Upgrade to gettext-0.12.1.
74914
74915 2003-05-30  Bruno Haible  <bruno@clisp.org>
74916
74917         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
74918         * lib/localcharset.h: Likewise.
74919         * lib/localcharset.c: Likewise.
74920
74921 2003-05-29  Karl Berry  <karl@gnu.org>
74922
74923         * config/config.rpath: update from gettext.
74924
74925 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74926
74927         Assume the headers required for C89 freestanding compilers.
74928         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
74929         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
74930         * m4/human.m4 (gl_HUMAN): Likewise.
74931         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
74932         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
74933         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74934         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
74935         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74936         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
74937
74938 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74939
74940         Assume the headers required for C89 freestanding compilers.
74941         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
74942         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
74943         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
74944         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
74945         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
74946         define, since <limits.h> is guaranteed to do that.
74947         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
74948         * lib/exclude.c: Include <stdbool.h> unconditionally.
74949         * lib/tempname.c: Include <stddef.h> unconditionally.
74950         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
74951         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
74952         <stddef.h> does that.
74953         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
74954         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
74955         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
74956         needed.
74957         * lib/xstrtol.c: Likewise.
74958         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
74959         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
74960
74961         * lib/addext.c (addext): Use assignment rather than cast, to avoid
74962         warnings on some platforms.
74963
74964         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74965         arbitrarily.
74966
74967 2003-05-26  Jim Meyering  <jim@meyering.net>
74968
74969         Merge in a change from coreutils:
74970         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74971         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74972         that condition, rather than `-1' which is slightly misleading.
74973         Change the name of the cache variable to have the gl_ prefix.
74974         Prompted by a patch from Richard Dawe for DJGPP.
74975
74976 2003-05-24  Karl Berry  <karl@gnu.org>
74977
74978         * config/config.guess: update from prep.
74979
74980 2003-05-22  Karl Berry  <karl@gnu.org>
74981
74982         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74983
74984 2003-05-20  Karl Berry  <karl@gnu.org>
74985
74986         * config/config.guess: update from prep.
74987
74988 2003-05-18  Karl Berry  <karl@gnu.org>
74989
74990         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74991         might actually be set by the user.
74992
74993         * config/depcomp, install-sh, mdate-sh: update from automake.
74994
74995 2003-05-17  Bruno Haible  <bruno@clisp.org>
74996
74997         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74998         invalid expansion for AC_EGREP_CPP.
74999         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
75000         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
75001         Suggested by Akim Demaille <akim@epita.fr> in
75002         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
75003
75004 2003-05-12  Jim Meyering  <jim@meyering.net>
75005
75006         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
75007         the space-padded-by-default conversion specifiers, %e, %k, %l.
75008
75009 2003-05-12  Bruno Haible  <bruno@clisp.org>
75010
75011         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
75012         the string is longer than 4 KB.
75013
75014 2003-05-11  Karl Berry  <karl@gnu.org>
75015
75016         * config/config.{guess,sub}: update from prep.
75017
75018 2003-05-09  Bruno Haible  <bruno@clisp.org>
75019
75020         * modules/error: Add m4/strerror_r.m4 to file list.
75021
75022 2003-05-03  Bruno Haible  <bruno@clisp.org>
75023
75024         Upgrade to Unicode-4.0.
75025         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
75026         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
75027         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
75028         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
75029         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
75030         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
75031         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
75032         Change width of U+E0100..U+E01EF from 1 to 0.
75033
75034 2003-04-25  Jim Meyering  <jim@meyering.net>
75035
75036         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
75037         of type size_t, not int.
75038
75039 2003-04-25  Bruno Haible  <bruno@clisp.org>
75040
75041         * lib/copy-file.c: Include <stddef.h>, for size_t.
75042
75043 2003-04-21  Paul Eggert  <eggert@twinsun.com>
75044
75045         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
75046         code which expansion is under static control.  Patch imported from
75047         Akim Demaille's patch to Bison; see
75048         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
75049
75050 2003-04-14  Bruno Haible  <bruno@clisp.org>
75051
75052         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
75053
75054 2003-04-11  Jim Meyering  <jim@meyering.net>
75055
75056         Merge changes from Coreutils.
75057
75058         2003-03-22  Jim Meyering  <jim@meyering.net>
75059
75060         * lib/strftime.c (widen): Cast alloca return value to proper type.
75061
75062         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
75063
75064         From GNU libc.
75065         * lib/strftime.c (my_strftime): Handle very large width
75066         specifications for numeric values correctly.  Improve checks for
75067         overflow.
75068
75069         2003-01-19  Jim Meyering  <jim@meyering.net>
75070
75071         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
75072         definitions.
75073         (nl_get_alt_digit) [! defined my_strftime]: Define.
75074         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
75075         _nl_get_alt_digit and _nl_get_walt_digit.
75076
75077         * lib/strftime.c (my_strftime): Merge in locale-related changes from
75078         libc. These changes have no effect outside of _LIBC.
75079
75080 2003-04-10  Bruno Haible  <bruno@clisp.org>
75081
75082         * modules/findprog: New file.
75083         * MODULES.html.sh (func_all_modules): Add it.
75084
75085 2003-04-10  Bruno Haible  <bruno@clisp.org>
75086
75087         * m4/findprog.m4: New file.
75088         * m4/eaccess.m4: New file.
75089
75090 2003-04-10  Bruno Haible  <bruno@clisp.org>
75091
75092         * lib/findprog.h: New file, from GNU gettext.
75093         * lib/findprog.c: New file, from GNU gettext.
75094
75095 2003-04-05  Jim Meyering  <jim@meyering.net>
75096
75097         Merge changes from Coreutils.
75098
75099         * lib/exclude.h (PARAMS): Remove definition and uses.
75100         * lib/exclude.c: Remove uses of `PARAMS'.
75101
75102         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
75103         Add test-cases for DOS filenames. Declare program_name.
75104         (main): Set up program_name.  Patch by Rich Dawe.
75105
75106         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75107         error from mntctl.
75108         Use mntctl's return value to drive the entry-processing loop, since
75109         we can't rely on the value of the vmt_length member in the last
75110         entry.  On some systems doing so could result in exhausting
75111         virtual memory.  Based in part on a patch from Mike Jetzer.
75112
75113 2003-04-04  Bruno Haible  <bruno@clisp.org>
75114
75115         * modules/linebreak: New file.
75116         * MODULES.html.sh (func_all_modules): Add it.
75117
75118 2003-04-04  Bruno Haible  <bruno@clisp.org>
75119
75120         * m4/linebreak.m4: New file.
75121
75122 2003-04-04  Bruno Haible  <bruno@clisp.org>
75123
75124         * lib/linebreak.h: New file, from GNU gettext.
75125         * lib/linebreak.c: New file, from GNU gettext with slight
75126         modifications.
75127         * lib/lbrkprop.h: New file, from GNU gettext.
75128
75129 2003-04-03  Bruno Haible  <bruno@clisp.org>
75130
75131         * modules/utf8-ucs4: New file.
75132         * modules/utf16-ucs4: New file.
75133         * modules/ucs4-utf8: New file.
75134         * modules/ucs4-utf16: New file.
75135         * MODULES.html.sh (func_all_modules): Add them.
75136
75137 2003-04-03  Bruno Haible  <bruno@clisp.org>
75138
75139         * m4/utf-ucs4.m4: New file.
75140         * m4/ucs4-utf.m4: New file.
75141
75142 2003-04-03  Bruno Haible  <bruno@clisp.org>
75143
75144         * lib/utf8-ucs4.h: New file, from GNU gettext.
75145         * lib/utf16-ucs4.h: New file, from GNU gettext.
75146         * lib/ucs4-utf8.h: New file, from GNU gettext.
75147         * lib/ucs4-utf16.h: New file, from GNU gettext.
75148
75149 2003-04-02  Bruno Haible  <bruno@clisp.org>
75150
75151         * modules/binary-io: New file.
75152         * MODULES.html.sh (func_all_modules): Add it.
75153
75154 2003-04-02  Bruno Haible  <bruno@clisp.org>
75155
75156         * lib/binary-io.h: New file, from GNU gettext.
75157
75158 2003-04-01  Bruno Haible  <bruno@clisp.org>
75159
75160         * modules/pathname: New file.
75161         * MODULES.html.sh (func_all_modules): Add it.
75162
75163 2003-04-01  Bruno Haible  <bruno@clisp.org>
75164
75165         * lib/pathname.h: New file, from GNU gettext.
75166         * lib/concatpath.c: New file, from GNU gettext.
75167
75168 2003-03-30  Bruno Haible  <bruno@clisp.org>
75169
75170         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
75171
75172 2003-03-30  Bruno Haible  <bruno@clisp.org>
75173
75174         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
75175         function chown() doesn't exist.
75176
75177 2003-03-28  Bruno Haible  <bruno@clisp.org>
75178
75179         * modules/copy-file: New file.
75180         * MODULES.html.sh (func_all_modules): Add it.
75181
75182 2003-03-28  Bruno Haible  <bruno@clisp.org>
75183
75184         * m4/copy-file.m4: New file.
75185
75186 2003-03-28  Bruno Haible  <bruno@clisp.org>
75187
75188         * lib/copy-file.h: New file, from GNU gettext.
75189         * lib/copy-file.c: New file, from GNU gettext.
75190
75191 2003-03-18  Jim Meyering  <jim@meyering.net>
75192
75193         * lib/quote.c (quote_n): Fix typo in comment.
75194
75195 2003-03-18  Bruno Haible  <bruno@clisp.org>
75196
75197         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
75198         checking.
75199         * m4/onceonly_2_57.m4: Likewise.
75200
75201 2003-03-17  Bruno Haible  <bruno@clisp.org>
75202
75203         * m4/onceonly.m4: Require autoconf 2.54 or newer.
75204         (m4_quote): Remove macro.
75205         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
75206
75207 2003-03-14  Jim Meyering  <jim@meyering.net>
75208
75209         Merge changes from Coreutils.
75210         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
75211         to be const, in order to avoid warnings.
75212         (obstack_room): Likewise.
75213         (obstack_empty_p): Likewise.
75214
75215 2003-03-14  Bruno Haible  <bruno@clisp.org>
75216
75217         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
75218         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
75219
75220 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75221
75222         Merge changes from Bison.
75223         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
75224         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
75225         when compiling Bison 1.875's `bitset bset = obstack_alloc
75226         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
75227         * lib/hash.c: Include <stdbool.h> unconditionally.
75228
75229 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75230
75231         * m4/onceonly.m4 (m4_quote): New macro.
75232         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
75233         Quote AC_FOREACH variable-expansions properly.
75234
75235 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75236
75237         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
75238
75239 2003-03-09  Paul Eggert  <eggert@twinsun.com>
75240
75241         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
75242         Reported by Bruce Becker; see:
75243         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
75244
75245 2003-03-03  Paul Eggert  <eggert@twinsun.com>
75246             Bruno Haible  <bruno@clisp.org>
75247
75248         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
75249         Reported by John Hughes, see
75250         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
75251
75252 2003-02-20  Bruno Haible  <bruno@clisp.org>
75253
75254         * MODULES.html.sh (func_all_modules): Add poll.
75255
75256 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75257
75258         * modules/poll: New file.
75259
75260 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75261
75262         * lib/poll_.h: New file.
75263         * lib/poll.c: New file.
75264
75265 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75266
75267         * m4/poll.m4: New file.
75268
75269 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75270
75271         * modules/mathl: New file.
75272
75273 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75274
75275         * lib/mathl.h: New file.
75276         * lib/acosl.c: New file.
75277         * lib/asinl.c: New file.
75278         * lib/atanl.c: New file.
75279         * lib/ceill.c: New file.
75280         * lib/cosl.c: New file.
75281         * lib/expl.c: New file.
75282         * lib/floorl.c: New file.
75283         * lib/frexpl.c: New file.
75284         * lib/ldexpl.c: New file.
75285         * lib/logl.c: New file.
75286         * lib/sincosl.c: New file.
75287         * lib/sinl.c: New file.
75288         * lib/sqrtl.c: New file.
75289         * lib/tanl.c: New file.
75290         * lib/trigl.c: New file.
75291         * lib/trigl.h: New file.
75292
75293 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75294
75295         * m4/mathl.m4: New file.
75296
75297 2003-02-18  Bruno Haible  <bruno@clisp.org>
75298
75299         * MODULES.html.sh (func_all_modules): Add mathl.
75300
75301 2003-02-17  Bruno Haible  <bruno@clisp.org>
75302
75303         * modules/mkdtemp: New module.
75304         * MODULES.html.sh (func_all_modules): Add it.
75305
75306 2003-02-17  Bruno Haible  <bruno@clisp.org>
75307
75308         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
75309
75310 2003-02-17  Bruno Haible  <bruno@clisp.org>
75311
75312         * lib/mkdtemp.h: New file, from GNU gettext.
75313         * lib/mkdtemp.c: New file, from GNU gettext.
75314
75315 2003-02-02  Jim Meyering  <jim@meyering.net>
75316
75317         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
75318         e.g. glibc-2.2.93.
75319
75320 2003-01-31  Bruno Haible  <bruno@clisp.org>
75321
75322         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
75323         'rpl_rename'.
75324         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
75325         'rpl_strnlen'.
75326         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
75327         'rpl_strtod'.
75328         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
75329         'rpl_utime'.
75330
75331 2003-01-31  Bruno Haible  <bruno@clisp.org>
75332
75333         * lib/rename.c: #undef rename before defining rpl_rename.
75334         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
75335
75336 2003-01-30  Bruno Haible  <bruno@clisp.org>
75337
75338         * modules/vasnprintf, modules/vasprintf: New modules.
75339         * MODULES.html.sh (func_all_modules): Add them.
75340
75341 2003-01-30  Bruno Haible  <bruno@clisp.org>
75342
75343         * m4/signed.m4: New file, from GNU gettext.
75344         * m4/longdouble.m4: New file, from GNU gettext.
75345         * m4/wchar_t.m4: New file, from GNU gettext.
75346         * m4/wint_t.m4: New file, from GNU gettext.
75347         * m4/vasnprintf.m4: New file.
75348         * m4/vasprintf.m4: New file.
75349
75350 2003-01-30  Bruno Haible  <bruno@clisp.org>
75351
75352         * lib/printf-args.h: New file, from GNU gettext.
75353         * lib/printf-args.c: New file, from GNU gettext.
75354         * lib/printf-parse.h: New file, from GNU gettext.
75355         * lib/printf-parse.c: New file, from GNU gettext.
75356         * lib/vasnprintf.h: New file, from GNU gettext.
75357         * lib/vasnprintf.c: New file, from GNU gettext.
75358         * lib/asnprintf.c: New file, from GNU gettext.
75359         * lib/vasprintf.h: New file, from GNU gettext with modifications.
75360         * lib/vasprintf.c: New file, from GNU gettext.
75361         * lib/asprintf.c: New file, from GNU gettext.
75362
75363 2003-01-29  Bruno Haible  <bruno@clisp.org>
75364
75365         * modules/stpncpy: New module.
75366         * MODULES.html.sh (func_all_modules): Add it.
75367
75368 2003-01-29  Bruno Haible  <bruno@clisp.org>
75369
75370         * m4/stpncpy.m4: New file.
75371
75372 2003-01-29  Bruno Haible  <bruno@clisp.org>
75373
75374         * lib/stpncpy.h: New file, from GNU gettext with modifications.
75375         * lib/stpncpy.c: New file, from GNU gettext with modifications.
75376
75377 2003-01-28  Bruno Haible  <bruno@clisp.org>
75378
75379         * modules/c-ctype: New module.
75380         * MODULES.html.sh (func_all_modules): Add it.
75381
75382 2003-01-28  Bruno Haible  <bruno@clisp.org>
75383
75384         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
75385         Paul Eggert.
75386         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
75387         Paul Eggert.
75388
75389 2003-01-27  Bruno Haible  <bruno@clisp.org>
75390
75391         * modules/xsetenv: New module.
75392         * MODULES.html.sh (func_all_modules): Add it.
75393
75394 2003-01-27  Bruno Haible  <bruno@clisp.org>
75395
75396         * lib/xsetenv.h: New file, from GNU gettext.
75397         * lib/xsetenv.c: New file, from GNU gettext.
75398
75399 2003-01-23  Jim Meyering  <jim@meyering.net>
75400
75401         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
75402         from working on systems without dirfd (at least Irix and OSF1/Tru64).
75403
75404 2003-01-23  Bruno Haible  <bruno@clisp.org>
75405
75406         * modules/minmax: New module.
75407         * MODULES.html.sh (func_all_modules): Add it.
75408
75409 2003-01-23  Bruno Haible  <bruno@clisp.org>
75410
75411         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
75412         Eggert.
75413
75414 2003-01-22  Bruno Haible  <bruno@clisp.org>
75415
75416         * modules/exit: New module.
75417         * MODULES.html.sh (func_all_modules): Add it.
75418
75419 2003-01-22  Bruno Haible  <bruno@clisp.org>
75420
75421         * lib/exit.h: New file, from GNU gettext.
75422
75423 2003-01-19  Bruno Haible  <bruno@clisp.org>
75424
75425         * gnulib-tool: Recognize option --extract-maintainer.
75426         (func_get_maintainer): New function.
75427         * modules/*: Add Maintainer entry.
75428
75429 2003-01-16  Jim Meyering  <jim@meyering.net>
75430
75431         * m4/regex.m4: The `regex' struct is both input and output.
75432         Initialize it before each use.  Patch by Tim Waugh.
75433
75434 2003-01-16  Bruno Haible  <bruno@clisp.org>
75435
75436         * MODULES.html.sh: Add a table of contents. Add the module name as
75437         leftmost column. Add hyperlinks.
75438
75439 2003-01-15  Bruno Haible  <bruno@clisp.org>
75440
75441         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
75442
75443 2003-01-15  Bruno Haible  <bruno@clisp.org>
75444
75445         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
75446         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
75447         suffix.
75448
75449 2003-01-15  Bruno Haible  <bruno@clisp.org>
75450
75451         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
75452
75453 2003-01-15  Bruno Haible  <bruno@clisp.org>
75454
75455         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
75456         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
75457
75458 2003-01-14  Jim Meyering  <jim@meyering.net>
75459
75460         * lib/same.c (same_name): Tweak a comment.
75461
75462 2003-01-14  Bruno Haible  <bruno@clisp.org>
75463
75464         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
75465         when a string comparison is sufficient.
75466
75467 2003-01-14  Bruno Haible  <bruno@clisp.org>
75468
75469         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
75470         'unsigned int'.
75471
75472 2003-01-14  Bruno Haible  <bruno@clisp.org>
75473
75474         * lib/hash-pjw.c: Add comment about low quality of this function.
75475
75476 2003-01-13  Bruno Haible  <bruno@clisp.org>
75477
75478         * modules/stpcpy: Distribute lib/stpcpy.h.
75479         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
75480
75481 2003-01-13  Bruno Haible  <bruno@clisp.org>
75482
75483         * modules/*: Add a description.
75484         * modules/strpbrk: Fix Makefile.am snippet.
75485         * modules/strtoimax: Fix dependencies.
75486         * modules/strtoumax: Likewise.
75487
75488 2003-01-13  Bruno Haible  <bruno@clisp.org>
75489
75490         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
75491         * modules/alloca (Makefile.am): All object files depend on alloca.h.
75492         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
75493
75494 2003-01-13  Bruno Haible  <bruno@clisp.org>
75495
75496         * gnulib-tool (func_create_testdir): Store config/* files in the main
75497         directory.
75498         * config.rpath: Move to ...
75499         * config/config.rpath: ... here.
75500         * modules/gettext: Contains config/config.rpath, not config.rpath.
75501         * modules/iconv: Likewise.
75502
75503 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75504
75505         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75506         to avoid collisions with libcurses and libreadline.
75507
75508         * m4/getstr.m4: Remove.
75509         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
75510
75511 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75512
75513         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75514         to avoid collisions with libcurses and libreadline.
75515
75516         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
75517         * lib/getstr.h, getstr.c: Remove.
75518         * lib/getline.c: Include "getline.h", to check interface.
75519         Move body of old getstr.c here: this defines MIN_CHUNK and
75520         declares getdelim2, which is renamed from getstr.
75521         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
75522
75523         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
75524         All uses changed.
75525         * lib/linebuffer.h: Likewise.
75526         (readline): Remove backward-compatibility macro.
75527
75528 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75529
75530         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75531         to avoid collisions with libcurses and libreadline.
75532         * getstr: Remove.
75533         * MODULES.html.sh: Remove getstr.
75534         * modules/getline: Depend on unlocked-io, not getstr.
75535
75536 2003-01-12  Jim Meyering  <jim@meyering.net>
75537
75538         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
75539
75540 2003-01-10  Bruno Haible  <bruno@clisp.org>
75541
75542         * modules/alloca: Change Makefile.am requirements. Simplify Include
75543         requirements. Add lib/alloca_.h to file list.
75544
75545 2003-01-10  Bruno Haible  <bruno@clisp.org>
75546
75547         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
75548
75549 2003-01-10  Bruno Haible  <bruno@clisp.org>
75550
75551         * lib/alloca_.h: New file.
75552         * lib/getdate.y: Unconditionally include alloca.h.
75553         * lib/makepath.c: Likewise.
75554         * lib/setenv.c: Likewise.
75555         * lib/userspec.c: Likewise.
75556
75557 2003-01-09  Karl Berry  <karl@gnu.org>
75558
75559         * MODULES.html.sh: include `dirname $0` in PATH, to find
75560         gnulib-tool.
75561
75562 2003-01-09  Bruno Haible  <bruno@clisp.org>
75563
75564         * modules/stdbool: Change configure.ac, Makefile.am requirements.
75565         Simplify Include requirements. Add lib/stdbool.h.in to file list.
75566
75567 2003-01-09  Bruno Haible  <bruno@clisp.org>
75568
75569         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
75570
75571 2003-01-09  Bruno Haible  <bruno@clisp.org>
75572
75573         * lib/stdbool.h.in: New file.
75574
75575 2003-01-09  Bruno Haible  <bruno@clisp.org>
75576
75577         * gnulib-tool (func_all_modules): Ignore files ending in ~.
75578         * MODULES.html.sh: Likewise.
75579
75580 2003-01-08  Jim Meyering  <jim@meyering.net>
75581
75582         * lib/full-write.c: Undefine and define-away `const' after inclusion
75583         of errno.h, not before.  Suggestion from Bruno Haible.
75584
75585 2003-01-08  Bruno Haible  <bruno@clisp.org>
75586
75587         * modules/full-read: Depend on full-write.
75588
75589 2003-01-08  Bruno Haible  <bruno@clisp.org>
75590
75591         * lib/safe-read.c: Include specification header first, to ensure its
75592         selfcontainedness.
75593         * lib/full-write.c: Likewise.
75594
75595 2003-01-07  Jim Meyering  <jim@meyering.net>
75596
75597         * lib/full-write.c: Rework so that it may serve to define full_read,
75598         too.
75599         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
75600
75601 2003-01-07  Bruno Haible  <bruno@clisp.org>
75602
75603         * lib/strtoimax.c: Include <stdint.h> as an alternative to
75604         <inttypes.h>.
75605         * lib/xstrtol.h: Likewise.
75606         * lib/xstrtoimax.c: Likewise.
75607         * lib/xstrtoumax.c: Likewise.
75608         * lib/human.h: Likewise.
75609
75610         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
75611         on systems that have <inttypes.h> but not <stdint.h>.
75612
75613 2003-01-07  Bruno Haible  <bruno@clisp.org>
75614
75615         * MODULES.html.sh: Add copyright notice.
75616         (missed_files): Omit CVS directory entries.
75617         (func_module): Make it work with sed-3.02.
75618         * MODULES.txt: Remove file.
75619
75620 2003-01-06  Jim Meyering  <jim@meyering.net>
75621
75622         * lib/version-etc.c: Update year in translatable copyright string.
75623
75624 2003-01-03  Karl Berry  <karl@gnu.org>
75625
75626         * config/config.{guess,sub}: update from prep.
75627
75628 2003-01-02  Karl Berry  <karl@gnu.org>
75629
75630         * doc/COPYING.DOC: belatedly updated to 1.2.
75631
75632 2003-01-01  Karl Berry  <karl@gnu.org>
75633
75634         * gnulib-tool (func_verify_module): report module name $module in
75635         error message, not $1.
75636         * gnulib-tool (create-testdir): don't complain if destdir couldn't
75637         be created, only if it doesn't exist.
75638         * gnulib-tool (last_checkin_date): don't expand the $Date here.
75639
75640 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75641
75642         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
75643
75644 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75645
75646         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
75647         memcmp if strcoll doesn't work.
75648
75649 2002-12-31  Bruno Haible  <bruno@clisp.org>
75650
75651         * lib/utime.c (utime_null): No need to call ftruncate if the file was
75652         nonempty.
75653
75654 2002-12-31  Bruno Haible  <bruno@clisp.org>
75655
75656         * lib/memcoll.c (STRCOLL): New macro.
75657         (memcoll): Use it.
75658
75659 2002-12-31  Bruno Haible  <bruno@clisp.org>
75660
75661         * lib/localcharset.h: New file.
75662         * lib/localcharset.c: Include it.
75663         * lib/unicodeio.c: Likewise.
75664
75665 2002-12-31  Bruno Haible  <bruno@clisp.org>
75666
75667         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
75668         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
75669
75670 2002-12-31  Bruno Haible  <bruno@clisp.org>
75671
75672         * lib/getline.h: Include <stddef.h>, for size_t.
75673
75674         * lib/unicodeio.h: Include <stddef.h>, for size_t.
75675         * lib/unicodeio.c: Don't include <stddef.h>.
75676
75677 2002-12-31  Bruno Haible  <bruno@clisp.org>
75678
75679         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
75680         HAVE_TM_ZONE.
75681
75682 2002-12-24  Karl Berry  <karl@gnu.org>
75683
75684         * config/config.guess: update from prep.
75685
75686 2002-12-24  Bruno Haible  <bruno@clisp.org>
75687
75688         General infrasructure.
75689         * m4/README: Rewritten.
75690         * m4/onceonly.m4: New file.
75691         * m4/onceonly_2_57.m4: New file.
75692
75693         Module atexit.
75694         * m4/atexit.m4: New file.
75695
75696         Module strtod.
75697         * m4/strtod.m4: New file.
75698
75699         Module strtol.
75700         * m4/strtol.m4: New file.
75701
75702         Module strtoul.
75703         * m4/strtoul.m4: New file.
75704
75705         Module memchr.
75706         * m4/memchr.m4: New file.
75707
75708         Module memcmp.
75709         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
75710         (jm_FUNC_MEMCMP): Invoke it.
75711
75712         Module memcpy.
75713         * m4/memcpy.m4: New file.
75714
75715         Module memmove.
75716         * m4/memmove.m4: New file.
75717
75718         Module memset.
75719         * m4/memset.m4: New file.
75720
75721         Module strcspn.
75722         * m4/strcspn.m4: New file.
75723
75724         Module strpbrk.
75725         * m4/strpbrk.m4: New file.
75726
75727         Module strstr.
75728         * m4/strstr.m4: New file.
75729
75730         Module strerror.
75731         * m4/strerror.m4: New file.
75732
75733         Module mktime.
75734         * m4/mktime.m4: Renamed from jm-mktime.m4.
75735         (gl_PREREQ_MKTIME): New macro.
75736         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
75737
75738         Module malloc.
75739         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
75740         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
75741         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
75742
75743         Module realloc.
75744         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
75745         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
75746         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
75747
75748         Module strftime.
75749         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
75750         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
75751         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
75752         gl_TM_GMTOFF.
75753         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
75754
75755         Module xalloc.
75756         * m4/xalloc.m4: New file.
75757
75758         Module alloca.
75759         * m4/alloca.m4: New file.
75760
75761         Module putenv.
75762         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
75763         (jm_FUNC_PUTENV): Invoke it.
75764
75765         Module setenv.
75766         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
75767         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
75768         when invoked twice.
75769         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
75770         gt_FUNC_SETENV.
75771
75772         Module memrchr.
75773         * m4/memrchr.m4: New file.
75774
75775         Module stpcpy.
75776         * m4/stpcpy.m4: New file.
75777
75778         Module strcase.
75779         * m4/strcase.m4: New file.
75780
75781         Module strdup.
75782         * m4/strdup.m4: New file.
75783
75784         Module strnlen.
75785         * m4/strnlen.m4: New file.
75786
75787         Module strndup.
75788         * m4/strndup.m4: New file.
75789
75790         Module xstrtod.
75791         * m4/xstrtod.m4: New file.
75792
75793         Module xstrtol.
75794         * m4/xstrtol.m4: New file.
75795
75796         Module getdate.
75797         * m4/getdate.m4: New file.
75798
75799         Module unlocked-io.
75800         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
75801         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
75802         * m4/jm-glibc-io.m4n: Remove file.
75803
75804         Module long-options.
75805         * m4/long-options.m4: New file.
75806
75807         Module md5.
75808         * m4/md5.m4: New file.
75809
75810         Module sha.
75811         * m4/sha.m4: New file.
75812
75813         Module getstr.
75814         * m4/getstr.m4: New file.
75815
75816         Module getline.
75817         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
75818         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
75819         <sys/types.h>, for size_t. Use the function name gnu_getline, not
75820         simply getline. Infoke gl_PREREQ_GETLINE.
75821
75822         Module obstack.
75823         * m4/obstack.m4: New file.
75824
75825         Module hash.
75826         * m4/hash.m4: New file.
75827
75828         Module readtokens.
75829         * m4/readtokens.m4: New file.
75830
75831         Module strverscmp.
75832         * m4/strverscmp.m4: New file.
75833
75834         Module stdbool.
75835         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
75836         OSF/1.
75837
75838         Module strtoll.
75839         * m4/strtoll.m4: New file.
75840
75841         Module strtoull.
75842         * m4/strtoull.m4: New file.
75843
75844         Module strtoimax.
75845         * m4/strtoimax.m4: New file.
75846
75847         Module strtoumax.
75848         * m4/strtoumax.m4: New file.
75849
75850         Module xstrtoimax.
75851         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
75852         jm_AC_PREREQ_XSTRTOIMAX.
75853         Moved the strtol prerequisites to strtol.m4.
75854         Moved the strtoll prerequisites to strtoll.m4.
75855         Moved the strtoimax prerequisites to strtoimax.m4.
75856
75857         Module xstrtoumax.
75858         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
75859         jm_AC_PREREQ_XSTRTOUMAX.
75860         Moved the strtoul prerequisites to strtoul.m4.
75861         Moved the strtoull prerequisites to strtoull.m4.
75862         Moved the strtoumax prerequisites to strtoumax.m4.
75863
75864         Module chown.
75865         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
75866         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
75867
75868         Module dup2.
75869         * m4/dup2.m4: New file.
75870
75871         Module ftruncate.
75872         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
75873         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
75874
75875         Module getgroups.
75876         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
75877         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
75878
75879         Module gettimeofday.
75880         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
75881         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
75882         gl_PREREQ_GETTIMEOFDAY.
75883
75884         Module mkdir.
75885         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
75886         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
75887
75888         Module mkstemp.
75889         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
75890         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
75891         jm_AC_TYPE_UINTMAX_T.
75892         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
75893
75894         Module stat.
75895         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
75896         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
75897
75898         Module lstat.
75899         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
75900         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
75901
75902         Module timespec.
75903         * m4/timespec.m4 (gl_TIMESPEC): New macro.
75904         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
75905         * m4/st_mtim.m4: Indentation.
75906
75907         Module nanosleep.
75908         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
75909         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
75910         gl_PREREQ_NANOSLEEP.
75911
75912         Module regex.
75913         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
75914         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
75915         (gl_REGEX): New macro.
75916
75917         Module rename.
75918         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
75919         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
75920
75921         Module rmdir.
75922         * m4/rmdir.m4: New file.
75923
75924         Module utime.
75925         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
75926         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
75927         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
75928
75929         Module dirname.
75930         * m4/dirname.m4: New file.
75931
75932         Module getopt.
75933         * m4/getopt.m4: New file.
75934
75935         Module unistd-safer.
75936         * m4/unistd-safer.m4: New file.
75937
75938         Module fnmatch.
75939         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
75940         declaration.
75941         (gl_PREREQ_FNMATCH_EXTRA): New macro.
75942         (gl_FUNC_FNMATCH_POSIX): New macro.
75943         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
75944         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
75945         simply fnmatch.
75946
75947         Module exclude.
75948         * m4/exclude.m4: New file.
75949
75950         Module human.
75951         * m4/human.m4: New file.
75952
75953         Module acl.
75954         * m4/acl.m4: Nop.
75955
75956         Module backupfile.
75957         * m4/backupfile.m4: New file.
75958         * m4/d-ino.m4: Indentation.
75959
75960         Module fsusage.
75961         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
75962         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
75963         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
75964
75965         Module dirfd.
75966         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
75967         requirements.
75968
75969         Module euidaccess.
75970         * m4/euidaccess.m4: New file.
75971
75972         Module file-type.
75973         * m4/file-type.m4: New file.
75974
75975         Module fileblocks.
75976         * m4/fileblocks.m4: New file.
75977
75978         Module filemode.
75979         * m4/filemode.m4: New file.
75980
75981         Module isdir.
75982         * m4/isdir.m4: New file.
75983
75984         Module lchown.
75985         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75986         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75987
75988         Module makepath.
75989         * m4/makepath.m4: New file.
75990
75991         Module modechange.
75992         * m4/modechange.m4: New file.
75993
75994         Module mountlist.
75995         * m4/mountlist.m4: New file.
75996         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75997         Indentation.
75998
75999         Module path-concat.
76000         * m4/path-concat.m4: New file.
76001
76002         Module pathmax.
76003         * m4/pathmax.m4: New file.
76004
76005         Module same.
76006         * m4/same.m4: New file.
76007
76008         Module save-cwd.
76009         * m4/save-cwd.m4: New file.
76010
76011         Module savedir.
76012         * m4/savedir.m4: New file.
76013
76014         Module xgetcwd.
76015         * m4/xgetcwd.m4: New file.
76016         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
76017
76018         Module xreadlink.
76019         * m4/xreadlink.m4: New file.
76020
76021         Module safe-read.
76022         * m4/safe-read.m4: New file.
76023
76024         Module safe-write.
76025         * m4/safe-write.m4: New file.
76026
76027         Module closeout.
76028         * m4/closeout.m4: New file.
76029
76030         Module stdio-safer.
76031         * m4/stdio-safer.m4: New file.
76032
76033         Module getpass.
76034         * m4/getpass.m4: New file.
76035
76036         Module getugroups.
76037         * m4/getugroups.m4: New file.
76038
76039         Module group-member.
76040         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
76041         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
76042
76043         Module idcache.
76044         * m4/idcache.m4: New file.
76045
76046         Module userspec.
76047         * m4/userspec.m4: New file.
76048
76049         Module gettime.
76050         * m4/clock_time.m4: New file.
76051         * m4/gettime.m4: New file.
76052
76053         Module settime.
76054         * m4/settime.m4: New file.
76055
76056         Module posixtm.
76057         * m4/posixtm.m4: New file.
76058
76059         Module gethostname.
76060         * m4/gethostname.m4: New file.
76061
76062         Module canon-host.
76063         * m4/canon-host.m4: New file.
76064
76065         Module gettext.
76066         * m4/codeset.m4: New file, from gettext-0.11.5.
76067         * m4/gettext.m4: New file, from gettext-0.11.5.
76068         * m4/glibc21.m4: New file, from gettext-0.11.5.
76069         * m4/iconv.m4: New file, from gettext-0.11.5.
76070         * m4/intdiv0.m4: New file, from gettext-0.11.5.
76071         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
76072         * m4/inttypes.m4: New file, from gettext-0.11.5.
76073         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
76074         * m4/isc-posix.m4: New file, from gettext-0.11.5.
76075         * m4/lcmessage.m4: New file, from gettext-0.11.5.
76076         * m4/lib-ld.m4: New file, from gettext-0.11.5.
76077         * m4/lib-link.m4: New file, from gettext-0.11.5.
76078         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
76079         * m4/progtest.m4: New file, from gettext-0.11.5.
76080         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
76081         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
76082         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
76083
76084         Module localcharset.
76085         * m4/localcharset.m4: New file.
76086
76087         Module hard-locale.
76088         * m4/hard-locale.m4: New file.
76089
76090         Module mbswidth.
76091         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
76092         onceonly macros.
76093         * m4/mbrtowc.m4: Add comment.
76094
76095         Module memcasecmp.
76096         * m4/memcasecmp.m4: New file.
76097
76098         Module memcoll.
76099         * m4/memcoll.m4: New file.
76100
76101         Module unicodeio.
76102         * m4/unicodeio.m4: New file.
76103
76104         Module rpmatch.
76105         * m4/rpmatch.m4: New file.
76106
76107         Module yesno.
76108         * m4/yesno.m4: New file.
76109
76110         Module exitfail.
76111         * m4/exitfail.m4: New file.
76112
76113         Module c-stack.
76114         * m4/c-stack.m4 (gl_C_STACK): New macro.
76115         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
76116
76117         Module error.
76118         * m4/error.m4 (gl_ERROR): New macro.
76119         (jm_PREREQ_ERROR): Use onceonly macros.
76120
76121         Module fatal.
76122         * m4/fatal.m4: New file.
76123
76124         Module getloadavg.
76125         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
76126         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
76127
76128         Module getpagesize.
76129         * m4/getpagesize.m4: New file.
76130
76131         Module getusershell.
76132         * m4/getusershell.m4: New file.
76133
76134         Module physmem.
76135         * m4/physmem.m4: New file.
76136
76137         Module posixver.
76138         * m4/posixver.m4: New file.
76139
76140         Module quotearg.
76141         * m4/quotearg.m4: New file.
76142
76143         Module quote.
76144         * m4/quote.m4: New file.
76145
76146         Module readutmp.
76147         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
76148
76149         Module sig2str.
76150         * m4/sig2str.m4: New file.
76151
76152         Other.
76153         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
76154         ulonglong.m4.
76155         * m4/intmax_t.m4: New file.
76156         * m4/d-type.m4: Indentation.
76157         * m4/jm-macros.m4: Update.
76158         * m4/prereq.m4 (jm_PREREQ): Update.
76159         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
76160         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
76161         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
76162         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
76163         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
76164         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
76165         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
76166         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
76167         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
76168         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
76169         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
76170         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
76171         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
76172         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
76173         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
76174         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
76175         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
76176         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
76177         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
76178
76179 2002-12-24  Bruno Haible  <bruno@clisp.org>
76180
76181         * MODULES.txt: Update according to m4/ changes.
76182
76183         Module gettext.
76184         * config.rpath: New file, from gettext-0.11.5.
76185
76186         * modules/*: New module descriptions.
76187         * gnulib-tool: New file.
76188         * MODULES.html.sh: New file.
76189
76190 2002-12-21  Karl Berry  <karl@gnu.org>
76191
76192         * doc/fdl.texi: update to version 1.2.
76193
76194 2002-12-19  Karl Berry  <karl@gnu.org>
76195
76196         * config/config.guess: update from prep.
76197
76198 2002-12-18  Bruno Haible  <bruno@clisp.org>
76199
76200         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
76201         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
76202
76203 2002-12-17  Bruno Haible  <bruno@clisp.org>
76204
76205         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
76206         stdlib.h, string.h.
76207
76208 2002-12-17  Bruno Haible  <bruno@clisp.org>
76209
76210         * lib/canon-host.c (strdup): Remove unused declaration.
76211
76212         * lib/fsusage.c: Include full_read.h.
76213         (get_fs_usage): Use full_read instead of safe_read.
76214
76215         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
76216
76217 2002-12-12  Karl Berry  <karl@gnu.org>
76218
76219         * config/config.guess: update from prep.
76220
76221 2002-12-11  Bruno Haible  <bruno@clisp.org>
76222
76223         * m4/setenv.m4: New file, from gettext-0.11.5.
76224
76225 2002-12-11  Bruno Haible  <bruno@clisp.org>
76226
76227         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
76228         not unsetenv().
76229         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
76230         modifications:
76231
76232         2002-12-11  Bruno Haible  <bruno@clisp.org>
76233
76234                 * setenv.c (alloca): Fall back to malloc.
76235                 (freea): New macro.
76236                 (setenv): Use freea() to free memory allocated with alloca().
76237
76238         2002-11-13  Bruno Haible  <bruno@clisp.org>
76239
76240                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
76241                 function declarations.
76242                 * unsetenv.c (unsetenv): Likewise.
76243
76244         2002-03-04  Bruno Haible  <bruno@clisp.org>
76245
76246                 Portability to AIX 4.3.3.
76247                 * unsetenv.c: New file, extracted from setenv.c.
76248                 * setenv.c: Move the unsetenv() function to unsetenv.c.
76249
76250         2001-12-20  Bruno Haible  <bruno@clisp.org>
76251
76252                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
76253                 use malloc instead. For SunOS 4.
76254
76255         2001-12-11  Bruno Haible  <bruno@clisp.org>
76256
76257                 * setenv.c: Declare alloca.
76258                 (compar_fn_t): New typedef.
76259                 (KNOWN_VALUE, STORE_VALUE): Use it.
76260
76261         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
76262         setenv.h.
76263
76264 2002-12-10  Paul Eggert  <eggert@twinsun.com>
76265
76266         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
76267         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
76268         Choose values that are less likely to collide with system fnmatch
76269         options.
76270         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
76271         defined (e.g., a pure POSIX system).
76272         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
76273         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
76274
76275 2002-12-06  Paul Eggert  <eggert@twinsun.com>
76276
76277         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
76278         a pain in practice to deal with generated m4 files.  This change
76279         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
76280
76281         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
76282         and jm-glibc-io.m4, as they are no longer a special case.
76283         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
76284         kludge and the auto-generation stuff.  Check only whether the
76285         functions are declared, not whether they exist, since older hosts
76286         that don't declare the functions can't use the optimization anyway.
76287
76288 2002-12-06  Jim Meyering  <jim@meyering.net>
76289
76290         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
76291
76292         Merge in changes from libc's misc/error.c, in preparation
76293         for the merge of gnulib's changes back into libc.
76294
76295         * lib/error.c (_): Define only if not already defined.
76296         Move definition to follow all #include directives.
76297         Include unlocked-io.h only if !_LIBC.
76298         [_LIBC]: Include <libio/libioP.h>.
76299         [USE_IN_LIBIO]: Include <libio/iolibio.h>
76300         (fflush): Tweak definition to use INTUSE.
76301         (putc): Define.
76302
76303 2002-12-05  Paul Eggert  <eggert@twinsun.com>
76304
76305         * lib/alloca.c [defined emacs]: Include "lisp.h".
76306         (xalloc_die) [defined emacs]: New macro.
76307         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
76308         [! defined emacs]: Include <xalloc.h>.
76309         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
76310         (pointer): Typedef to POINTER_TYPE *.
76311         (malloc): Remove decl; we now always use xmalloc.
76312         (alloca): Use old-style definition, since Emacs needs this.
76313         Check for arithmetic overflow when computing combined size.
76314
76315 2002-12-04  Paul Eggert  <eggert@twinsun.com>
76316
76317         Do not generate unlocked-io.h automatically, since it's easier to
76318         maintain it by hand.
76319
76320         * lib/unlocked-io.h: New file, from GNU diffutils,
76321         but with proper copyright notice and attribution.
76322         * lib/gen-uio: Remove.
76323         * lib/Makefile.am: Add copyright notice.
76324         (libfetish_a_SOURCES): Add unlocked-io.h.
76325         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
76326         (DISTCLEANFILES, io_functions): Remove macros.
76327         (EXTRA_DIST): Remove gen_uio.
76328         (unlocked-io.h): Remove rule.
76329
76330 2002-12-04  Jim Meyering  <jim@meyering.net>
76331
76332         Reflect the fact that stat.c and lstat.c are no longer generated.
76333         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
76334         (DISTCLEANFILES): Likewise.
76335         (EXTRA_DIST): Likewise.
76336         (all_local): Don't depend on stat.c or lstat.c.
76337         (stat.c, lstat.c): Remove rules.
76338         (EXTRA_DIST): Remove xstat.in.
76339
76340         * lib/xstat.in: Remove file.  Contents moved into stat.c.
76341         * lib/stat.c: New file.  Contents mostly from xstat.in.
76342         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
76343         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
76344
76345         * lib/safe-read.c: Rework so that it may serve to define safe_write,
76346         too.
76347         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
76348
76349 2002-12-03  Jim Meyering  <jim@meyering.net>
76350
76351         * lib/safe-read.c, safe-write.c: Change variable names and comments,
76352         but not semantics, to minimize the differences between these two files.
76353         (safe_read): Change comment to mention SAFE_READ_ERROR.
76354
76355         * lib/safe-read.c (IS_EINTR): Define.
76356         (safe_read): Use IS_EINTR in place of in-function cpp directives.
76357
76358 2002-12-02  Jim Meyering  <jim@meyering.net>
76359
76360         * lib/safe-read.c (EINTR): Define.
76361         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76362         (INT_MAX): Provide fallback.
76363         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
76364
76365         * lib/safe-read.h (SAFE_READ_ERROR): Define.
76366
76367 2002-12-02  Bruno Haible  <bruno@clisp.org>
76368
76369         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
76370         Define, taken from safe-read.c.
76371         (INT_MAX): Provide fallback.
76372         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
76373         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
76374
76375         * lib/safe-read.c (EINTR): Remove definition.
76376         (safe_read): Don't use EINTR if it is absent.
76377
76378 2002-12-01  Jim Meyering  <jim@meyering.net>
76379
76380         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
76381         zero.
76382         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
76383
76384 2002-11-27  Paul Eggert  <eggert@twinsun.com>
76385
76386         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
76387         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
76388         with `if (! (value < limit)) abort ();', for readability.
76389
76390 2002-11-26  Karl Berry  <karl@gnu.org>
76391
76392         * lib/strdup.c: copy from libc again, with jim's ok.
76393         * lib/.cppi-disable: re-add strdup.c
76394
76395 2002-11-25  Karl Berry  <karl@gnu.org>
76396
76397         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
76398         instead of "strtol.c".
76399
76400 2002-11-25  Karl Berry  <karl@gnu.org>
76401
76402         * config/install-sh: update from automake for variable quoting, $0 in
76403         error msgs, etc.
76404
76405         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
76406         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
76407         entry.
76408
76409 2002-11-25  Jim Meyering  <jim@meyering.net>
76410
76411         * lib/mktime.c: Sync from libc, now that it has the latest fix.
76412
76413 2002-11-24  Karl Berry  <karl@gnu.org>
76414
76415         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
76416         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
76417
76418 2002-11-24  Jim Meyering  <jim@meyering.net>
76419
76420         Update from coreutils:
76421
76422         * lib/mktime.c: Merge in changes from libc.
76423
76424         Avoid a link-time failure on some Linux systems.
76425         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
76426         (otherwise).
76427         (__mon_yday): Declare with the STATIC attribute.
76428         (__mktime_internal): Likewise.
76429         Based on a report from Greg Schafer.
76430
76431 2002-11-23  Jim Meyering  <jim@meyering.net>
76432
76433         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
76434         Use `unsigned', not `int', as type of index.
76435
76436         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
76437
76438         * lib/fsusage.c: Remove unneeded parentheses around operands of
76439         `defined'.
76440
76441 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76442
76443         * lib/quotearg.h: Allow multiple inclusion by surrounding with
76444         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
76445         so that we can be included first.
76446         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
76447         * lib/quotearg.c: Include quotearg.h immediately after config.h.
76448         No need to include stddef.h or sys/types.h any more.
76449         Surround local include files with "", not "<>".
76450         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
76451         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
76452         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
76453         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
76454         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
76455         (ISPRINT): Remove; no longer needed now that we assume C89.
76456
76457         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
76458         Preserve errno.
76459
76460         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
76461         quotearg_char): Use SIZE_MAX rather than
76462         (size_t) -1 when we are talking about "infinity".
76463
76464         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
76465
76466 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76467
76468         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
76469         hint that one should use `if (! x) abort ();' rather than `assert
76470         (x);', and anyway it's one less thing to worry about configuring.
76471         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
76472         hash_rehash, hash_insert): Use abort rather than assert.
76473
76474 2002-11-22  Bruno Haible  <bruno@clisp.org>
76475
76476         * lib/safe-read.h: Assume C89. Add comments.
76477         (safe_read): Change return type to size_t.
76478         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
76479         byte counts > SSIZE_MAX correctly.
76480         * lib/safe-write.h: New file.
76481         * lib/safe-write.c: New file.
76482         * lib/full-read.h: New file.
76483         * lib/full-read.c: New file.
76484         * lib/full-write.h: Assume C89. Add comments.
76485         * lib/full-write.c: Include safe-write.h.
76486         (full_write): Rewritten to use safe_write.
76487         Suggested by Jim Meyering and Paul Eggert.
76488
76489 2002-11-21  Jim Meyering  <jim@meyering.net>
76490
76491         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
76492
76493         Merge in changes from the coreutils.
76494
76495         2002-09-25  Paul Eggert  <eggert@twinsun.com>
76496         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
76497         <stdint.h>.
76498         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
76499         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
76500         int.  Work more efficiently if X is the same width as uintmax_t.
76501         Do not compare X to -1, to avoid bogus compiler warning.
76502         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
76503         Don't assume that f_frsize and f_bsize are the same type.
76504
76505         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
76506         warning on FreeBSD.
76507
76508         * lib/makepath.c (make_path): Restore umask *before* creating the final
76509         component.
76510         (make_path): Minor reformatting.
76511
76512         * lib/xmalloc.c: Adjust to work with new autoconf macros,
76513         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
76514         HAVE_MALLOC/HAVE_REALLOC.
76515
76516         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
76517         dummy ones.  At least on GNU/Linux systems, `auto' means something
76518         else.
76519         From Michael Stone.
76520
76521 2002-11-21  Bruno Haible  <bruno@clisp.org>
76522
76523         Remove case insensitive option matching.
76524         * lib/argmatch.h (argcasematch): Remove declaration.
76525         (ARGCASEMATCH): Remove macro.
76526         (__xargmatch_internal): Remove case_sensitive argument.
76527         (XARGMATCH): Update.
76528         (XARGCASEMATCH): Remove macro.
76529         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
76530         case_sensitive argument.
76531         (argcasematch): Remove function.
76532         (__xargmatch_internal): Remove case_sensitive argument.
76533         (main): Use XARGMATCH instead of XARGCASEMATCH.
76534
76535         * lib/xmalloc.c: Change compile-time error message. Add comment about
76536         required autoconf version.
76537
76538 2002-11-20  Paul Eggert  <eggert@twinsun.com>
76539
76540         Merge argmatch cleanups from Bison.  Assume C89.
76541
76542         * lib/argmatch.c: Include config.h here, not in argmatch.h.
76543         Include stdlib.h, for EXIT_FAILURE.
76544         Always include <string.h>, since we assume C89.
76545         (EXIT_FAILURE): Remove pre-C89 bug workaround.
76546         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
76547         Include <stddef.h> instead, since it's all we need for size_t.
76548         (PARAMS): Remove.  All uses removed.
76549         (ARRAY_CARDINALITY): Do not bother to #undef.
76550         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
76551         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76552         Remove unnecessary parentheses.
76553         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76554         Insert necessary parentheses.
76555         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
76556         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
76557
76558 2002-11-19  Bruno Haible  <bruno@clisp.org>
76559
76560         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
76561         * lib/mbswidth.h: Include <stddef.h>, for size_t.
76562
76563         * lib/mbswidth.h (PARAMS): Remove macro.
76564         (mbswidth, mbsnwidth): Use ANSI C function declarations.
76565         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
76566
76567         * lib/gcd.h (PARAMS): Remove macro.
76568         (gcd): Use ANSI C function declarations.
76569         * lib/gcd.c (gcd): Likewise.
76570
76571 2002-11-15  Bruno Haible  <bruno@clisp.org>
76572
76573         * lib/strcspn.c: Include <stddef.h>.
76574         (strcspn): Use ANSI C function declaration. Change return type to
76575         size_t. Use NULL.
76576         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
76577         (strpbrk): Use NULL.
76578         * lib/strpbrk.h (PARAMS): Remove macro.
76579         (strpbrk): Use ANSI C function declaration.
76580         * lib/strstr.c: Don't include <sys/types.h>.
76581         * lib/strstr.h (PARAMS): Remove macro.
76582         (strstr): Use ANSI C function declarations.
76583
76584 2002-11-14  Karl Berry  <karl@gnu.org>
76585
76586         * config/mkinstalldirs: `do' on separate line, instead of
76587         `for var; do'.
76588
76589 2002-11-06  Bruno Haible  <bruno@clisp.org>
76590
76591         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
76592         * lib/gcd.c (gcd): Likewise.
76593
76594 2002-11-05  Bruno Haible  <bruno@clisp.org>
76595
76596         * lib/gcd.h: New file, from gettext-0.11.5.
76597         * lib/gcd.c: New file, from gettext-0.11.5.
76598
76599 2002-11-05  Bruno Haible  <bruno@clisp.org>
76600
76601         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76602         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76603         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76604         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76605
76606         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
76607         <libintl.h>.
76608         * lib/makepath.c: Include gettext.h instead of <locale.h> and
76609         <libintl.h>.
76610
76611         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
76612         * lib/human.c: Include gettext.h instead of <libintl.h>.
76613         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
76614         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
76615         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
76616         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
76617         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
76618         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
76619         (textdomain): Remove definition.
76620         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
76621
76622         * lib/long-options.c: Remove include of <libintl.h> and definition of
76623         _.
76624         * lib/same.c: Remove include of <libintl.h> and definition of _.
76625
76626 2002-11-04  Owen Taylor  <otaylor@redhat.com>
76627
76628         * lib/config.charset: A few additions for Solaris.
76629
76630 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76631
76632         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
76633         * lib/localcharset.c (locale_charset): Declare as extern "C".
76634
76635 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76636
76637         * lib/config.charset: msdos in uk_UA uses CP1125.
76638
76639 2002-11-04  Bruno Haible  <bruno@clisp.org>
76640
76641         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
76642         * lib/strcase.h: New file, from GNU gettext-0.11.5.
76643         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
76644         * lib/strstr.h: New file, from GNU gettext-0.11.5.
76645         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
76646
76647 2002-11-04  Bruno Haible  <bruno@clisp.org>
76648
76649         * lib/localcharset.c (locale_charset): Don't return an empty string.
76650
76651 2002-11-04  Bruno Haible  <bruno@clisp.org>
76652
76653         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
76654         aliases.
76655
76656 2002-11-04  Bruno Haible  <bruno@clisp.org>
76657
76658         * lib/config.charset: Update for newest glibc. Add canonical names
76659         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
76660
76661 2002-11-04  Bruno Haible  <bruno@clisp.org>
76662
76663         * lib/config.charset: Add support for NetBSD.
76664
76665 2002-11-04  Bruno Haible  <bruno@clisp.org>
76666
76667         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
76668
76669 2002-11-01  Bruno Haible  <bruno@clisp.org>
76670
76671         * configure.in: Add AC_CONFIG_AUX_DIR call.
76672         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
76673         test/Makefile.
76674         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
76675
76676 2002-09-28  Karl Berry  <karl@gnu.org>
76677
76678         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
76679         installed automake until the next release, since changes have been
76680         made.
76681
76682 2002-09-25  Karl Berry  <karl@gnu.org>
76683
76684         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
76685         * lib/getopt*: copy from libc/posix.
76686         * lib/gettext.h: copy from gettext.
76687         * lib/.cppi-disable: add strdup.c, gettext.h.
76688
76689 2002-09-25  Karl Berry  <karl@gnu.org>
76690
76691         * config/srclist.txt: enable gettext.h check.
76692         * config/config.{guess,sub}: update from prep.
76693         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
76694                 from automake 1.6.3.
76695         See srclist*.
76696
76697 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
76698
76699         * regex.c (PATFETCH): Remove the translating fetch.
76700         (PATFETCH_RAW): Rename to PATFETCH.
76701         (set_image_of_range): New fun.
76702         (SET_RANGE_TABLE_WORK_AREA): Use it.
76703         (regex_compile): Don't translate the pattern chars so eagerly.
76704         Only do it when inserting an `exactn' bytecode or when handling
76705         a char-range.
76706         (mutually_exclusive_p): Avoid empty statement.
76707
76708 2002-07-06  Jim Meyering  <meyering@lucent.com>
76709
76710         * m4/README: Don't mention Makefile.am.in.
76711         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
76712
76713 2002-07-01  Jim Meyering  <meyering@lucent.com>
76714
76715         * lib/c-stack.c: Include sys/time.h.
76716         From Volker Borchert.
76717
76718 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76719
76720         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
76721
76722 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76723
76724         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
76725         New macro.  Use it uniformly instead of
76726         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
76727         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
76728         reported by Vin Shelton.
76729
76730 2002-06-22  Paul Eggert  <eggert@twinsun.com>
76731
76732         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
76733         Do not assume SA_SIGINFO behavior.
76734         Bug reported by Jim Meyering on NetBSD 1.5.2.
76735
76736 2002-06-22  Jim Meyering  <meyering@lucent.com>
76737
76738         * m4/c-stack.m4: New file, from diffutils-2.8.2.
76739         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
76740
76741         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
76742         now that configure.ac uses AC_GNU_SOURCE.
76743         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
76744         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
76745
76746         Update to latest tools.  Suggestions from Paul Eggert.
76747         * m4/stdbool.m4: New file, from diffutils-2.8.2.
76748         * m4/gnu-source.m4: Update from diffutils-2.8.2.
76749         * m4/fnmatch.m4: Likewise.
76750         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
76751         to AC_HEADER_STDBOOL
76752
76753 2002-06-22  Jim Meyering  <meyering@lucent.com>
76754
76755         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
76756         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
76757
76758 2002-06-22  Jim Meyering  <meyering@lucent.com>
76759
76760         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
76761
76762         * lib/exitfail.c, exitfail.h: Likewise.
76763         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
76764
76765         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
76766         of fnmatch.h.
76767         (EXTRA_DIST): Add fnmatch_loop.c.
76768         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
76769
76770         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
76771         * lib/fnmatch.c: Update from diffutils-2.8.2.
76772         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
76773         * lib/fnmatch.h: Remove file.
76774
76775 2002-06-21  Jim Meyering  <meyering@lucent.com>
76776
76777         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
76778         * m4/mbrtowc.m4: Likewise.
76779
76780         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
76781         * m4/mbswidth.m4: Reflect name change:
76782         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
76783         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76784
76785         * m4/lib-link.m4: Update from gettext-0.11.2.
76786         * m4/gettext.m4: Likewise.
76787
76788         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
76789         From Alfred M. Szmidt.
76790
76791 2002-06-18  Paul Eggert  <eggert@twinsun.com>
76792
76793         * lib/file-type.h: Report an error if neither S_ISREG nor
76794         S_IFREG is defined, instead of using a test specific to glibc
76795         2.2.  This should be safe, since POSIX requires S_ISREG and
76796         Unix Version 7 had S_IFREG.  We don't need to check for
76797         <sys/types.h> since we don't use any symbols that it defines.
76798
76799 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
76800
76801         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
76802         $@-t, so that each temporary file name is unique and valid in the first
76803         8 characters, for operation under DOS.
76804
76805 2002-06-15  Paul Eggert  <eggert@twinsun.com>
76806
76807         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
76808
76809 2002-06-15  Jim Meyering  <meyering@lucent.com>
76810
76811         Work even with DJGPP 2.03, which lacks support for symlinks.
76812         From Richard Dawe.
76813         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
76814         is defined.
76815         * lib/lchown.c (S_ISLNK): Likewise.
76816
76817 2002-06-15  Jim Meyering  <meyering@lucent.com>
76818
76819         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
76820         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
76821         have been included before this file.
76822
76823 2002-06-14  Jim Meyering  <meyering@lucent.com>
76824
76825         * lib/file-type.h: Use the version from diffutils-2.8.2.
76826         * lib/file-type.c: Likewise.
76827
76828 2002-06-07  Jim Meyering  <meyering@lucent.com>
76829
76830         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
76831         They're needed at least for NetBSD 1.5.2.
76832         ($statxfs_includes): Include those same headers.
76833         ($statxfs_includes): Include sys/vfs.h if available.
76834         ($statxfs_includes): Likewise for sys/statvfs.h.
76835         Check for the following members in both structs statfs and statvfs:
76836         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
76837
76838 2002-06-01  Jim Meyering  <meyering@lucent.com>
76839
76840         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
76841         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
76842
76843 2002-05-28  Jim Meyering  <meyering@lucent.com>
76844
76845         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
76846         Reported by Volker Borchert.
76847
76848 2002-05-27  Jim Meyering  <meyering@lucent.com>
76849
76850         Fix a problem seen only on nonconforming systems whereby ls.c's
76851         use of localtime, and then of gettimeofday would cause trouble:
76852         the localtime call used to initialize rpl_gettimeofday's save
76853         mechanism would clobber ls's current local time information so
76854         that in any long listing the first file would always be listed
76855         with date 1970-01-01.  Analysis by Volker Borchert.
76856
76857         * lib/gettimeofday.c (localtime): Undefine.
76858         (rpl_localtime): New function.
76859
76860 2002-05-27  Jim Meyering  <meyering@lucent.com>
76861
76862         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
76863         localtime.
76864
76865         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
76866         use the replacement function; it wouldn't resolve at link time.
76867         Reported by Volker Borchert.
76868
76869 2002-05-22  Jim Meyering  <meyering@lucent.com>
76870
76871         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
76872         file-type.h.
76873         * lib/file-type.h: New file.
76874         * lib/file-type.c (file_type): New file/function.  Extracted from
76875         diffutils.
76876
76877 2002-04-30  Jim Meyering  <meyering@lucent.com>
76878
76879         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
76880
76881 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76882
76883         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
76884
76885 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76886
76887         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
76888         Do not check for alloca.h (no longer used) or stdbool.h (was never
76889         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
76890
76891 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76892
76893         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
76894
76895 2002-04-29  Jim Meyering  <meyering@lucent.com>
76896
76897         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
76898         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
76899         Use AC_FUNC_STRNLEN here instead.
76900
76901         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
76902         With autoconf-2.53a, it's part of AC_PROG_CC.
76903
76904 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76905
76906         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
76907         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
76908
76909 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76910
76911         * lib/sig2str.h, lib/sig2str.c: New files.
76912         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
76913
76914 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76915
76916         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
76917         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
76918         of 127, since 64 is the largest conceivable number for ancient
76919         nonstandard hosts.
76920         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
76921
76922 2002-04-28  Jim Meyering  <meyering@lucent.com>
76923
76924         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
76925
76926 2002-04-24  Jim Meyering  <meyering@lucent.com>
76927
76928         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
76929         (jm_PREREQ): Use it.
76930
76931         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
76932         mach/mach.h fcntl.h.
76933         Check for this function: setlocale.
76934
76935 2002-04-24  Jim Meyering  <meyering@lucent.com>
76936
76937         * lib/gettext.h: New file, from Gettext.
76938         * lib/Makefile.am (INCLUDES): Remove -I../intl.
76939         (libfetish_a_SOURCES): Add gettext.h.
76940
76941 2002-04-16  Jim Meyering  <meyering@lucent.com>
76942
76943         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
76944         ut_pid, ut_id, ut_exit.
76945
76946 2002-04-16  Jim Meyering  <meyering@lucent.com>
76947
76948         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
76949         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
76950         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76951
76952 2002-04-12  Jim Meyering  <meyering@lucent.com>
76953
76954         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
76955         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
76956         existence of the getmntinfo function.  Needed for Darwin 5.3.
76957
76958         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
76959         This is necessary at least on Darwin 5.3.
76960
76961         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
76962         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
76963         strnlen.o in the library, and that makes some versions of ranlib
76964         object.
76965
76966 2002-04-12  Jim Meyering  <meyering@lucent.com>
76967
76968         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
76969
76970 2002-04-09  Jim Meyering  <meyering@lucent.com>
76971
76972         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76973         to be more precise.  Rather than saying we're checking whether the
76974         function `works', say what we're testing.
76975         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76976         Reported by Bruno Haible.
76977
76978 2002-03-10  Jim Meyering  <meyering@lucent.com>
76979
76980         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76981         Suggestion from Santiago Vila.
76982
76983 2002-03-08  Jim Meyering  <meyering@lucent.com>
76984
76985         * lib/rename.c: Mention that this wrapper is needed also on
76986         mips-dec-ultrix4.4 systems.
76987
76988 2002-03-02  Jim Meyering  <meyering@lucent.com>
76989
76990         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76991         not HAVE_CLOCK_SETTIME.
76992
76993 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76994
76995         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76996         Check for clock_settime.
76997
76998 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76999
77000         * lib/nanosleep.h: Rename to....
77001         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
77002
77003         * lib/gettime.c: New file.
77004         * lib/settime.c: New file.
77005         * lib/stime.c: Remove.
77006
77007         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
77008         timespec.h.  Remove nanosleep.h.
77009
77010 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77011
77012         * m4/acl.m4: New file.
77013         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
77014         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
77015
77016 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77017
77018         * lib/acl.c, lib/acl.h: New files.
77019         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
77020
77021 2002-02-24  Jim Meyering  <meyering@lucent.com>
77022
77023         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
77024         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
77025         cause trouble.  Reported by Nelson Beebe.
77026
77027 2002-02-23  Paul Eggert  <eggert@twinsun.com>
77028
77029         * lib/path-concat.c (xpath_concat): Reorder code to pacify
77030         compilers that don't know that xalloc_die never returns.
77031
77032 2002-02-20  Jim Meyering  <meyering@lucent.com>
77033
77034         * lib/getdate.c: Regenerate using bison-1.33.
77035
77036 2002-02-17  Jim Meyering  <meyering@lucent.com>
77037
77038         * config/config.guess (main): Don't use `head -1'; it's no longer
77039         portable. Use `sed 1q' instead.
77040
77041 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
77042
77043         * m4/codeset.m4: Upgrade to gettext-0.11.
77044         * m4/gettext.m4: Upgrade to gettext-0.11.
77045         * m4/glibc21.m4: Upgrade to gettext-0.11.
77046         * m4/iconv.m4: Upgrade to gettext-0.11.
77047         * m4/isc-posix.m4: Upgrade to gettext-0.11.
77048         * m4/lcmessage.m4: Upgrade to gettext-0.11.
77049         * m4/lib-ld.m4: New file, from gettext-0.11.
77050         * m4/lib-link.m4: New file, from gettext-0.11.
77051         * m4/lib-prefix.m4: New file, from gettext-0.11.
77052         * m4/progtest.m4: Upgrade to gettext-0.11.
77053
77054 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77055
77056         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
77057         (jm_PREREQ): Use it.
77058
77059 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77060
77061         * lib/posixver.c, lib/posixver.h: New files.
77062         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77063
77064 2002-02-02  Paul Eggert  <eggert@twinsun.com>
77065             Bruno Haible  <bruno@clisp.org>
77066
77067         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
77068         (fwrite_success_callback): New declaration.
77069         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
77070         print_unicode_char. Call failure callback instead of error.
77071         (fwrite_success_callback): New function.
77072         (exit_failure_callback): New function.
77073         (fallback_failure_callback): New function.
77074         (print_unicode_char): Call unicode_to_mb.
77075
77076 2002-01-26  Jim Meyering  <meyering@lucent.com>
77077
77078         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
77079         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
77080
77081 2002-01-26  Jim Meyering  <meyering@lucent.com>
77082
77083         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
77084
77085 2002-01-22  Paul Eggert  <eggert@twinsun.com>
77086
77087         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
77088
77089 2002-01-22  Jim Meyering  <meyering@lucent.com>
77090
77091         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
77092         Otherwise, some versions of automake would omit the rule that makes
77093         Makefile from Makefile.in.
77094
77095 2002-01-21  Paul Eggert  <eggert@twinsun.com>
77096
77097         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
77098         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77099         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
77100         (memcoll): Set errno to zero if there is no error.
77101
77102         * lib/quotearg.c (quotearg_buffer_restyled):
77103         Fix bug with quoting buffers containing NUL when backslashing escapes.
77104         This bug was exposed by the other changes in this patch.
77105         (quotearg_n_options): New arg ARGSIZE.
77106         All callers changed.
77107         (quoting_options_from_style): New function.
77108         (quotearg_n_style): Use it.
77109         (quotearg_n_style_mem): New function.
77110
77111         * lib/quotearg.h (quotearg_n_style_mem): New function.
77112
77113 2002-01-19  Jim Meyering  <meyering@lucent.com>
77114
77115         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
77116         Remove useless quotes: DF_PROG="df".
77117         * m4/strnlen.m4: New file.
77118
77119 2002-01-16  Paul Eggert  <eggert@twinsun.com>
77120
77121         * lib/backupfile.c (ISDIGIT): Comment fix.
77122         * lib/getdate.y (ISDIGIT): Likewise.
77123         * lib/posixtm.c (ISDIGIT, year): Likewise.
77124         * lib/strverscmp.c (ISDIGIT): Likewise.
77125         * lib/userspec.c (ISDIGIT): Likewise.
77126
77127 2002-01-16  Jim Meyering  <meyering@lucent.com>
77128
77129         * lib/getdate.y: Add three semicolons, each just before a closing
77130         brace. Bison (as of version 1.31) no longer papers over that mistake.
77131
77132 2002-01-05  Jim Meyering  <meyering@lucent.com>
77133
77134         * lib/version-etc.c (version_etc_copyright): Update copyright year.
77135
77136 2001-12-19  Paul Eggert  <eggert@twinsun.com>
77137
77138         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
77139         not silently exit merely because the output buffer happens to
77140         have nothing pending.
77141
77142 2001-12-18  Paul Eggert  <eggert@twinsun.com>
77143
77144         See the big note in ../ChangeLog.
77145         * lib/human.c (suffixes): Prefer K to k for 1024.
77146         (generate_suffix_backwards): New function.
77147         (human_readable_inexact): Use it.
77148         * lib/xstrtol.c (__xstrtol): If there is no number but there
77149         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
77150         Accept 'K' as well as 'k'.
77151
77152 2001-12-15  Jim Meyering  <meyering@lucent.com>
77153
77154         * lib/regex.h (__restrict_arr): Update from libc.
77155
77156         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
77157         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
77158         (STREQ): Define.
77159
77160 2001-12-14  Jim Meyering  <meyering@lucent.com>
77161
77162         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
77163         Suggestion from Bruno Haible.
77164
77165 2001-12-10  Jim Meyering  <meyering@lucent.com>
77166
77167         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
77168         xrealloc, Instead, include "xalloc.h".
77169         (initbuffer): Don't cast xmalloc return value to char*.
77170         (readline): Reword comment.
77171         Don't cast xrealloc return value to char*
77172         Return NULL, not 0.
77173
77174 2001-12-09  Jim Meyering  <meyering@lucent.com>
77175
77176         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
77177         about `signed and unsigned type in conditional expression'.
77178         * lib/posixtm.c (posix_time_parse): Likewise.
77179
77180         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
77181
77182         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
77183         to avoid a pedantic warning.
77184
77185         * lib/getstr.c: Don't include assert.h.
77186         (getstr): Remove warning-evoking assertions.
77187         Return -1 if offset parameter is out of bounds.
77188         Change the type of a local from int to size_t.
77189
77190         * lib/strftime.c (my_strftime_localtime_r): Include this function
77191         definition in the `#if ! HAVE_TM_GMTOFF' block.
77192
77193         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
77194         Include xalloc.h instead.
77195
77196 2001-12-02  Jim Meyering  <meyering@lucent.com>
77197
77198         * lib/tempname.c: Don't declare getenv, thus reverting the change of
77199         2001-11-18.  It's no longer necessary, now that stdlib.h is always
77200         included.
77201
77202         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
77203         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
77204
77205 2001-11-30  Akim Demaille  <akim@epita.fr>
77206
77207         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
77208         before being defined.
77209
77210 2001-11-27  Paul Eggert  <eggert@twinsun.com>
77211
77212         * lib/quotearg.h (quotearg_n, quotearg_n_style):
77213         First arg is int, not unsigned.
77214         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
77215         (SIZE_MAX, UINT_MAX): New macros.
77216         (quotearg_n_options): Abort if N is negative.
77217         Avoid overflow check on hosts where size_t is 64 bits and int
77218         is 32 bits, as overflow is impossible there.
77219         Fix off-by-one typo that caused unnecessary reallocation.
77220
77221 2001-11-27  Jim Meyering  <meyering@lucent.com>
77222
77223         * lib/tempname.c: Merge with version from libc.
77224         * lib/regex.c: Likewise.
77225
77226         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
77227         systems for which STDC_HEADERS is 0, it was not included, resulting in
77228         a warning about an integer-to-pointer conversion problem with getenv.
77229         Reported by Volker Borchert.
77230
77231 2001-11-26  Jim Meyering  <meyering@lucent.com>
77232
77233         * lib/gtod.h: Remove file.
77234         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
77235         * lib/gettimeofday.c: Don't include gtod.h.
77236         (GTOD_init): Remove function.
77237         (rpl_gettimeofday): Do its job here instead, rather than aborting.
77238         Suggestion from Volker Borchert.
77239
77240 2001-11-23  Jim Meyering  <meyering@lucent.com>
77241
77242         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
77243         it.
77244         * lib/hash.c (struct hash_table): Define it here instead.
77245
77246 2001-11-22  Jim Meyering  <meyering@lucent.com>
77247
77248         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
77249
77250 2001-11-20  Jim Meyering  <meyering@lucent.com>
77251
77252         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
77253         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
77254
77255 2001-11-19  Jim Meyering  <meyering@lucent.com>
77256
77257         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
77258         directory.  Use "conftestXXXXXX" as the template.
77259         Suggestion from Paul Eggert.
77260
77261         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
77262         immediately, so the test doesn't mistakenly hit the max-open-files
77263         limit.
77264
77265 2001-11-18  Paul Eggert  <eggert@twinsun.com>
77266
77267         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
77268         (TEMPORARIES): New macro.
77269         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
77270         removes an artificial limitation (e.g. HP-UX 10.20, where
77271         TMP_MAX is 17576).
77272
77273 2001-11-18  Jim Meyering  <meyering@lucent.com>
77274
77275         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
77276
77277 2001-11-18  Jim Meyering  <meyering@lucent.com>
77278
77279         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
77280         on SunOS 4.
77281
77282         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
77283         files will be created before anything else.
77284
77285 2001-11-17  Paul Eggert  <eggert@twinsun.com>
77286
77287         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
77288         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
77289
77290 2001-11-17  Jim Meyering  <meyering@lucent.com>
77291
77292         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
77293         Prompted by a report from Bob Proulx.
77294
77295         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
77296         Instead, require UTILS_FUNC_MKSTEMP.
77297
77298 2001-11-17  Jim Meyering  <meyering@lucent.com>
77299
77300         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
77301         Now, that's done as part of AC_FUNC_STRTOD.
77302
77303 2001-11-17  Jim Meyering  <meyering@lucent.com>
77304
77305         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
77306         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
77307         rather than group writable.  Patch by Juan F. Codagnone.
77308
77309         * lib/readtokens.c: Remove explicit declarations of xmalloc and
77310         xrealloc, Instead, include "xalloc.h".
77311
77312         * lib/mountlist.c: Include unlocked-io.h after all system headers.
77313         Remove explicit declarations of xmalloc, xrealloc,
77314         and xstrdup.  Instead, include "xalloc.h".
77315
77316         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
77317         unlocked-io.h.
77318         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
77319         Likewise.
77320         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
77321
77322         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
77323         Reported by Padraig Brady.
77324
77325         * lib/mkstemp.c: #undef mkstemp.
77326         Include config.h.
77327         (rpl_mkstemp): Rename from mkstemp.
77328         Protoize.
77329
77330 2001-11-16  Jim Meyering  <meyering@lucent.com>
77331
77332         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
77333         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
77334         determine the amount of total physical memory, use pstat_getstatic.
77335         HPUX-11 doesn't define _SC_PHYS_PAGES.
77336         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
77337         If sysconf couldn't be used to determine the amount of available
77338         physical memory, use both pstat_getstatic and pstat_getdynamic.
77339         Based on a patch from Bob Proulx.
77340
77341 2001-11-10  Jim Meyering  <meyering@lucent.com>
77342
77343         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
77344         (jm_PREREQ): Use it.
77345
77346 2001-11-09  Jim Meyering  <meyering@lucent.com>
77347
77348         * m4/jm-macros.m4: Require autoconf-2.52f.
77349         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
77350         Use these AC_-prefixed names, not the AM_-prefixed ones.
77351
77352         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
77353
77354 2001-11-05  Jim Meyering  <meyering@lucent.com>
77355
77356         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
77357
77358 2001-11-04  Jim Meyering  <meyering@lucent.com>
77359
77360         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
77361         $DEFS.
77362
77363 2001-11-03  Jim Meyering  <meyering@lucent.com>
77364
77365         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
77366         of AC_DEFUN.
77367
77368         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
77369         know the name of the variable in the macro definition.
77370
77371 2001-11-03  Jim Meyering  <meyering@lucent.com>
77372
77373         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
77374         in argmatch_to_argument call.
77375
77376         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
77377         argument.
77378
77379         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
77380         e.g., a fault due to an attempt to free a NULL pointer.
77381
77382 2001-11-01  Jim Meyering  <meyering@lucent.com>
77383
77384         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
77385         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
77386
77387 2001-11-01  Jim Meyering  <meyering@lucent.com>
77388
77389         * lib/dirfd.c, lib/dirfd.h: New files.
77390         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
77391
77392         * lib/hash.c (hash_print) [TESTING]: Clean up.
77393
77394 2001-10-22  Paul Eggert  <eggert@twinsun.com>
77395
77396         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
77397         to avoid a warning if -Wall.
77398
77399 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
77400
77401         * README: New file
77402         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
77403         (per RMS's instructions, this is now the canonical source)
77404         * lgpl/, gpl/: New directories.
77405
77406 2001-10-21  Paul Eggert  <eggert@twinsun.com>
77407
77408         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
77409
77410 2001-10-21  Jim Meyering  <meyering@lucent.com>
77411
77412         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
77413         this code would end up calling gettext even in packages built
77414         with --disable-nls.
77415         * lib/getopt.c (_): Likewise.
77416         * lib/regex.c (_): Likewise.
77417
77418 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77419
77420         * m4/error.m4 (jm_PREREQ_ERROR):
77421         Do not invoke AC_CHECK_FUNCS with strerror_r, as
77422         AC_FUNC_STRERROR_R does that.
77423         Check for strerror declaration.
77424
77425         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
77426         are supposed to have them these days.
77427         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
77428         Merge changes from latest Autoconf CVS.
77429         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
77430         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
77431         POSIX decided to standardize on the int flavor of strerror_r.
77432
77433 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77434
77435         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
77436         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
77437         Use strerror_r that is only a macro, even if it is not a function.
77438         (strerror): Check for HAVE_DECL_STRERROR before declaring.
77439         (private_strerror): Use prototypes, not old-style function definition.
77440         (print_errno_message): New function.
77441         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
77442         char*-flavored one.
77443         (error_tail, error, error_at_line): Use it.
77444
77445 2001-10-11  Jim Meyering  <meyering@lucent.com>
77446
77447         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
77448         and quote_n (1, ... to avoid clobbering a buffer.
77449
77450 2001-10-05  Jim Meyering  <meyering@lucent.com>
77451
77452         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
77453         hash-pjw.h.
77454         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
77455         * lib/hash-pjw.h: New file.
77456
77457 2001-09-30  Jim Meyering  <meyering@lucent.com>
77458
77459         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
77460         `struct fsstat' has the `f_fstypename' member.
77461         Use that to define FS_TYPE, which is now used to make
77462         the getfsstat link test tighter.
77463
77464 2001-09-30  Jim Meyering  <meyering@lucent.com>
77465
77466         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
77467         Include <sys/ucred.h>, for Apple Darwin.
77468         Include sys/mount.h and sys/fs_types.h only if available.
77469         (FS_TYPE): Define.
77470         (read_filesystem_list): Use FS_TYPE.
77471
77472 2001-09-29  Paul Eggert  <eggert@twinsun.com>
77473
77474         * lib/exclude.c (excluded_filename): 0 -> false, since it's
77475         a boolean context.
77476
77477 2001-09-29  Jim Meyering  <meyering@lucent.com>
77478
77479         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77480         [one-argument getmntent function]): Include stdio.h before mntent.h.
77481         SunOS 4.1.x needs it for the declaration of `FILE'.
77482         Patch by Volker Borchert.
77483
77484         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77485         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
77486         sys/fs_types.h, and make the link-test for getfsstat guard #include
77487         directives with appropriate #if HAVE_*_H tests so that we can
77488         detect getfsstat on Apple Darwin1.3.7 systems.
77489         Reported by Nelson Beebe.
77490         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
77491
77492 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77493
77494         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77495         #defines strtoimax.  Also treat the other strto* functions
77496         like strtoimax.
77497
77498         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77499         Check for strtoul and strtoumax,
77500         as those declarations are made even in the signed case.
77501         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
77502         Likewise, for strtol and strtoimax.
77503
77504 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77505
77506         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77507         #defines strtoimax.  Also treat the other strto* functions
77508         like strtoimax.
77509
77510         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
77511         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
77512         (strtoimax, strtoumax): Do not declare if already defined as a macro.
77513
77514 2001-09-26  Jim Meyering  <meyering@lucent.com>
77515
77516         Most macros in unlocked-io.h had the wrong number of arguments.
77517         * lib/gen-uio: New script.
77518         (USE_UNLOCKED_IO): Define to 1 if not already defined.
77519         * lib/unlocked-io.hin: Remove file.
77520         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
77521         rather than trying to embed it here.
77522         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
77523         Reported by Padraig Brady.
77524
77525 2001-09-25  Volker Borchert  <bt@teknon.de>
77526
77527         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
77528         `result'.
77529
77530 2001-09-24  Jim Meyering  <meyering@lucent.com>
77531
77532         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
77533
77534 2001-09-23  Jim Meyering  <meyering@lucent.com>
77535
77536         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
77537         instead of the mere test for existence of mntent.h.  The latter
77538         would get a false-positive on AIX 3.4 systems.
77539         In the outer getmntent if-block, don't die if neither of the getmntent
77540         tests succeeds.  Instead, just fall through and continue with the
77541         remaining tests.
77542
77543 2001-09-23  Jim Meyering  <meyering@lucent.com>
77544
77545         * lib/mountlist.c: Remove useless parentheses in #if directives.
77546         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
77547         the deprecated MOUNTED symbol is no longer defined in mntent.h.
77548
77549 2001-09-22  Jim Meyering  <meyering@lucent.com>
77550
77551         * m4/gettext.m4: New file.  From gettext.
77552         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
77553         * m4/progtest.m4: Likewise
77554         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
77555         * m4/glibc21.m4: Likewise.
77556
77557         * m4/libintl.m4: Remove.  No longer used.
77558
77559 2001-09-22  Jim Meyering  <meyering@lucent.com>
77560
77561         * lib/localcharset.c: Update from latest gettext.
77562         * lib/config.charset: Likewise.
77563
77564 2001-09-20  Jim Meyering  <meyering@lucent.com>
77565
77566         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
77567         strtoimax.
77568         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
77569         strtoumax.
77570
77571 2001-09-20  Jim Meyering  <meyering@lucent.com>
77572
77573         * lib/xstrtol.c (strtoimax): Guard declaration with
77574         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
77575         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
77576         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
77577         (strtoumax): Likewise, for completeness (it wasn't necessary).
77578
77579 2001-09-17  Paul Eggert  <eggert@twinsun.com>
77580
77581         * lib/strtoimax.c (HAVE_LONG_LONG):
77582         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
77583         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
77584         to work around bug in IBM C compiler.
77585
77586 2001-09-17  Jim Meyering  <meyering@lucent.com>
77587
77588         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
77589         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
77590         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
77591         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
77592         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
77593         whenever the right hand side need not be expanded by the shell.
77594
77595 2001-09-16  Paul Eggert  <eggert@twinsun.com>
77596
77597         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
77598         library.  It's not correct, as some older glibcs are buggy.
77599         fnmatch wasn't fixed until glibc 2.2.
77600
77601         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
77602         special shell magic here.
77603
77604 2001-09-16  Jim Meyering  <meyering@lucent.com>
77605
77606         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
77607         * m4/jm-macros.m4: Require it.
77608
77609 2001-09-16  Jim Meyering  <meyering@lucent.com>
77610
77611         * lib/mkdir.c: New file.
77612
77613 2001-09-15  Jim Meyering  <meyering@lucent.com>
77614
77615         * m4/jm-macros.m4: Check for help2man.
77616
77617 2001-09-11  Jim Meyering  <meyering@lucent.com>
77618
77619         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
77620         The body, by Paul Eggert, was moved here from configure.in.
77621         * m4/jm-macros.m4: Require UTILS_HOST_OS.
77622
77623 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77624
77625         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
77626         (jm_PREREQ): Use it.
77627
77628 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77629
77630         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
77631         Use ssize_t, not int, to store result of readlink.
77632         Check for ssize_t overflow as well as size_t overflow,
77633         as POSIX says the result of readlink is implementation-defined
77634         when ssize_t overflows.
77635         Remove unnecessary cast to char*.
77636         Use free+malloc instead of realloc, as the storage doesn't need
77637         to be preserved and it's clearer and can be more efficient that way.
77638         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
77639         * lib/xreadlink.h (xreadlink): Update prototype.
77640
77641 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77642
77643         * lib/xgetcwd.c: Revert some of the previous change; intead,
77644         fix the HAVE_GETCWD_NULL code to behave more like the
77645         !HAVE_GETCWD_NULL code used to.
77646
77647         Include "xalloc.h".
77648         (xgetcwd): Do not return NULL when memory is exhausted; instead,
77649         invoke xalloc_die.
77650
77651 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77652
77653         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
77654         sys/param.h, as pathmax.h includes them.
77655
77656 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77657
77658         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
77659         (jm_PREREQ_XGETCWD): New macro.
77660
77661         * m4/getcwd.m4: New file.
77662
77663 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77664
77665         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
77666         like the HAVE_GETCWD_NULL code.
77667         Include pathmax.h if not HAVE_GETCWD.
77668         Do not include xalloc.h.
77669         (INITIAL_BUFFER_SIZE): New symbol.
77670         Do not use xmalloc / xrealloc, since the caller is responsible for
77671         handling errors.  Preserve errno around `free' during failure.
77672         Do not overrun buffer when using getwd.
77673
77674 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77675
77676         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
77677         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
77678         getcwd (NULL, 0).
77679
77680 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77681
77682         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
77683         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
77684         spotted by Jim Meyering.
77685
77686 2001-09-03  Jim Meyering  <meyering@lucent.com>
77687
77688         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
77689         failure.
77690
77691 2001-09-02  Jim Meyering  <meyering@lucent.com>
77692
77693         * lib/error.c: Update from GNU libc.
77694
77695 2001-09-01  Jim Meyering  <meyering@lucent.com>
77696
77697         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
77698         Used by df.
77699
77700 2001-09-01  Jim Meyering  <meyering@lucent.com>
77701
77702         * lib/xreadlink.c: New file.
77703         * lib/xreadlink.h: New file.
77704         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
77705         xreadlink.h.
77706
77707         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
77708         doesn't conflict with sparc Solaris 7's definition in
77709         /usr/include/sys/int_types.h.
77710
77711         * lib/exclude.c: Use `""', not `<>' to #include non-system header
77712         files.
77713         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
77714         and strncasecmp as r-values.  Unixware didn't have declarations.
77715
77716 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77717
77718         * lib/xstrtol.h: Add copyright notice.
77719         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
77720         LONGINT_INVALID_SUFFIX_CHAR.
77721
77722 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77723
77724         * lib/xstrtol.c (strtoimax): New decl.
77725
77726 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77727
77728         * lib/xgetcwd.c: Don't include pathmax.h.
77729         Include stdlib.h and unistd.h if available.
77730         Include xalloc.h.
77731         (xmalloc, xstrdup, free): Remove decls.
77732         (xgetcwd): Don't assume sizes fit in unsigned.
77733         Check for overflow when computing sizes.
77734         Simplify reallocation code.
77735
77736 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77737
77738         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
77739         a directory's st_size can have an arbitrary value, so the old
77740         usage could waste an arbitrary amount of memory.  All uses
77741         changed.
77742         * lib/savedir.h: Update prototype.
77743
77744 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77745
77746         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
77747
77748         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
77749         old strtoimax.c.
77750
77751         Also, make the following further changes to make this file's
77752         configuration more similar to that of strtol.c:
77753         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
77754         (strtoumax, uintmax_t, strtoull, strtol): Remove.
77755         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
77756         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
77757         changed to signed values.
77758
77759         And make the following changes as well:
77760         Fix copyright notice, as 1999 was missing.
77761         (verify): New macro.
77762         (strtoimax): Check sizes at compile-time, not run-time.
77763         Prefer strtol to strtoll if both work.
77764         (main): Remove; it was not that useful and was a pain to maintain.
77765
77766         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
77767
77768 2001-08-31  Jim Meyering  <meyering@lucent.com>
77769
77770         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
77771         Use an initial, malloc'd, buffer of length 128 rather than
77772         a statically allocated one of length 1024.
77773
77774 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77775
77776         Simplify code, partly by assuming autoconf 2.52 semantics.
77777
77778         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
77779
77780         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
77781         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
77782         All uses removed.
77783         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
77784         Move AC_REQUIRE to next-to-top level, to avoid confusion.
77785         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
77786         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
77787         jm_AC_HEADER_INTTYPES_H.
77788         * m4/jm-macros.m4 (jm_MACROS): Likewise.
77789
77790         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
77791
77792         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77793         Quote first arg of AC_DEFUN.
77794         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
77795         since they are needed to parse the include file even if we need
77796         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
77797         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
77798         but with opposite signedness.
77799
77800 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77801
77802         Merge 'exclude' changes from tar 1.13.22.
77803         This fixes one or two unlikely storage allocation overflow bugs,
77804         but doesn't change user-visible behavior otherwise.
77805
77806 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77807
77808         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
77809         (jm_PREREQ_EXCLUDE): New macro.
77810
77811 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77812
77813         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
77814         tm to be declared.
77815
77816 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77817
77818         * lib/hash.c: Remove '2001' from copyright notice.
77819
77820 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77821
77822         * lib/full-write.h: New file.
77823         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
77824         * lib/full-write.c: Correct credits, as cccp.c no longer
77825         exists and anyway it was so heavily changed from the old cccp
77826         code as to be unrecognizable.  Include full-write.h.
77827         (full_write): Return size_t, with short writes meaning failure.
77828         All callers changed.  This fixes a bug with large buffers
77829         on 64-bit hosts.
77830         * lib/utime.c: Include full-write.h.
77831
77832 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77833
77834         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
77835         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
77836         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
77837         Include if available.
77838         (<xalloc.h>): Include
77839         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
77840         (verify): New macro.  Use it to verify that EXCLUDE macros do not
77841         collide with FNM macros.
77842         (struct patopts): New struct.
77843         (struct exclude): Use it, as exclude patterns now come with options.
77844         (new_exclude): Support above changes.
77845         (new_exclude, add_exclude_file):
77846         Initial size must now be a power of two to simplify overflow checking.
77847         (free_exclude, fnmatch_no_wildcards): New function.
77848         (excluded_filename): No longer requires options arg, as the options
77849         are determined by add_exclude.  Now returns bool, not int.
77850         (excluded_filename, add_exclude):
77851         Add support for the fancy new exclusion options.
77852         (add_exclude, add_exclude_file): Now takes int options arg.
77853         Check for arithmetic overflow when computing sizes.
77854         (add_exclude_file): xrealloc might modify errno, so don't
77855         realloc until after errno might be used.
77856
77857         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
77858         New macros.
77859         (free_exclude): New decl.
77860         (add_exclude, add_exclude_file): Now takes int options arg.
77861         (excluded_filename): No longer requires options arg, as the options
77862         are determined by add_exclude.  Now returns bool, not int.
77863
77864 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77865
77866         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
77867
77868 2001-08-27  Jim Meyering  <meyering@lucent.com>
77869
77870         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
77871
77872         * lib/version-etc.c (N_): Remove definition.
77873         Revert most of last change.
77874         Instead, simply don't mark the `Copyright...' string for translation.
77875         Based on advice from Paul Eggert.
77876
77877         * lib/strtoxmax.c: Tweak comment.
77878
77879 2001-08-26  Jim Meyering  <meyering@lucent.com>
77880
77881         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
77882
77883         * m4/xstrtoimax.m4: New file.
77884         * m4/xstrtoumax.m4: Add comments explaining why we
77885         AC_REPLACE_FUNCS(strtol).
77886
77887 2001-08-26  Jim Meyering  <meyering@lucent.com>
77888
77889         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
77890         of copyright with `%s' so translators don't get an untranslated
77891         message in 2002.
77892         (COPYRIGHT_YEAR): Define.
77893         (version_etc): Use fprintf rather than fputs.
77894         Suggestion from Ulrich Drepper.
77895
77896         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
77897
77898         * lib/strtoll.c: New file, from GNU libc.
77899         * lib/xstrtoimax.c: New file.
77900
77901         * lib/xstrtol.h: Add xstrtoimax.
77902         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
77903         * lib/strtoimax.c: New file.  Likewise, but first define
77904         STRTOUXMAX_SIGNED.
77905
77906         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
77907         ...
77908         * lib/strtoxmax.c: ... then renamed to this.
77909
77910 2001-08-18  Paul Eggert  <eggert@twinsun.com>
77911
77912         * m4/inttypes.m4: Add AC_PREREQ(2.13).
77913         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
77914         (jm_AC_TYPE_INTMAX_T): New macro.
77915         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
77916
77917         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
77918
77919         * m4/longlong.m4: Renamed from ulonglong.m4.
77920         * m4/inttypes.m4: Renamed from inttypes_h.m4.
77921         * m4/uintmax_t.m4: Removed.
77922
77923 2001-08-13  Paul Eggert  <eggert@twinsun.com>
77924
77925         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
77926         Port to Solaris 8, where 'sed' requires a space after the 'r'
77927         command, and where sh dislikes "$/".  Clean up the spacing a bit.
77928         Redirect output to $tmp just once.
77929
77930 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
77931
77932         * lib/addext.c (<errno.h>): Include.
77933         (errno): Declare if not defined.
77934         (addext): Work correctly when pathconf returns -1 and leaves
77935         errno alone because there is no limit.  Also, work even if
77936         pathconf returns a value greater than SIZE_MAX.
77937
77938 2001-08-12  Jim Meyering  <meyering@lucent.com>
77939
77940         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
77941         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
77942         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
77943         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
77944         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
77945         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
77946         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
77947         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
77948         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
77949         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
77950         utime.m4, utimes.m4, xstrtoumax.m4:
77951         Quote the first argument in each use of AC_DEFUN.
77952
77953 2001-08-12  Jim Meyering  <meyering@lucent.com>
77954
77955         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
77956         Simply `return getcwd (NULL, 0);'.
77957         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
77958         Use 1300 as initial value for length, not PATH_MAX.
77959
77960         * lib/pathmax.h: Clean up cpp syntax.
77961
77962 2001-08-12  Jim Meyering  <meyering@lucent.com>
77963
77964         * lib/gettimeofday.c: New file.
77965         * lib/gtod.h: New file.
77966         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
77967
77968 2001-08-05  Jim Meyering  <meyering@lucent.com>
77969
77970         * m4/jm-macros.m4: Require autoconf-2.52.
77971
77972 2001-08-04  Jim Meyering  <meyering@lucent.com>
77973
77974         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77975         stmt, to get in sync with glibc.
77976
77977 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77978
77979         The following changes are from gettext 0.10.39 as maintained by
77980         Bruno Haible.
77981
77982         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77983         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77984         with inverted sense.  All uses changed.
77985
77986         * lib/mbswidth.c: Don't include <limits.h>.
77987         Include <stdlib.h> and <string.h> unconditionally.
77988         (iswcntrl, mbsinit, ISCNTRL): New macros.
77989         (mbsnwidth): Use K&R style function declarations.
77990         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77991         can optimize it when MB_CUR_MAX == 1.
77992         The width of control characters is zero, not 1.
77993
77994 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77995
77996         The following changes are from gettext 0.10.39 as maintained by
77997         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
77998
77999         * m4/codeset.m4: Upgrade to serial AM1.
78000         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
78001         all uses changed.  Quote first arg of AC_DEFUN.
78002         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
78003
78004         * m4/iconv.m4: Upgrade to serial AM2.
78005         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
78006         Add --with-libconv-prefix.
78007         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
78008         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
78009         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
78010         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
78011         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
78012
78013         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
78014         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
78015         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
78016         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
78017         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
78018         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
78019         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
78020         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
78021         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78022
78023         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
78024         string.h any more.
78025
78026         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
78027         not the default value.
78028
78029         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
78030         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
78031         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
78032         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
78033         Also check for iswcntrl, used for wcwidth fallback.
78034         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
78035         to Autoconf 2.13.
78036
78037 2001-08-03  Jim Meyering  <meyering@lucent.com>
78038
78039         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
78040         as it was in the original.  Reported by Paul Eggert.
78041
78042 2001-07-16  Jim Meyering  <meyering@lucent.com>
78043
78044         * m4/gettimeofday.m4: New file.
78045         Prompted by a report from Bernhard Baehr.
78046
78047 2001-07-15  Jim Meyering  <meyering@lucent.com>
78048
78049         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
78050         stuff. Now it's in ../Makefile.cfg.
78051
78052 2001-07-15  Jim Meyering  <meyering@lucent.com>
78053
78054         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
78055         (BUILT_SOURCES): Add unlocked-io.h.
78056         (io_functions): Define.
78057         (unlocked-io.h): New rule.
78058         (DISTCLEANFILES): Add unlocked-io.h.
78059         (all-local): Depend on unlocked-io.h, to ensure it is created.
78060
78061         * lib/unlocked-io.hin: New file
78062
78063         * lib/regex.c: Update from glibc.
78064
78065 2001-07-05  Jim Meyering  <meyering@lucent.com>
78066
78067         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
78068         recommendation.
78069         (libfetish_a_SOURCES): Put all .h files here instead.
78070         Remove a thus-exposed (better checks in automake) duplicate and
78071         two unnecessary .h files.
78072
78073 2001-07-04  Jim Meyering  <meyering@lucent.com>
78074
78075         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
78076         that generates jm-glibc-io.m4 so that it doesn't trigger any make
78077         distcheck failure.
78078
78079 2001-07-02  Jim Meyering  <meyering@lucent.com>
78080
78081         The following changes were prompted by suggestions from Bruno Haible.
78082
78083         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
78084         is now generated.
78085         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
78086         definition of EXTRA_DIST.
78087         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
78088         ensure that the generated file is created/updated whenever the list
78089         of $(unlocked_functions) is changed.
78090         (jm-glibc-io.m4): New rule.
78091         (unlocked-io.h): New rule -- currently unused.
78092
78093 2001-06-24  Jim Meyering  <meyering@lucent.com>
78094
78095         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
78096         unmatched right bracket, rather than kludging it with an extra,
78097         falsely-matching quote in a comment.  Patch by Akim Demaille.
78098
78099 2001-06-11  Jim Meyering  <meyering@lucent.com>
78100
78101         * lib/regex.c: Update from GNU libc.
78102
78103 2001-05-27  Jim Meyering  <meyering@lucent.com>
78104
78105         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
78106         Check for ut_type in struct utmp.
78107
78108 2001-05-27  Jim Meyering  <meyering@lucent.com>
78109
78110         * lib/readutmp.h (UT_TYPE): Define.
78111
78112 2001-05-24  Jim Meyering  <meyering@lucent.com>
78113
78114         * lib/argmatch.c: Include "quote.h".
78115         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
78116         quote function.  Reported by Göran Uddeborg.
78117
78118 2001-05-22  Jim Meyering  <meyering@lucent.com>
78119
78120         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
78121         now that we use the package-supplied version unconditionally.
78122         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
78123
78124 2001-05-21  Jim Meyering  <meyering@lucent.com>
78125
78126         * m4/regex.m4: Change a couple backticks to single quotes to avoid
78127         shell syntax errors.
78128
78129 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78130
78131         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
78132
78133 2001-05-20  Paul Eggert  <eggert@twinsun.com>
78134
78135         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
78136         Don't bother to check library strftime, since
78137         we'll be using our own my_strftime function anyway.
78138         Define my_strftime instead of strftime.
78139
78140 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
78141
78142         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
78143         which is not yet declared.
78144
78145 2001-05-15  Jim Meyering  <meyering@lucent.com>
78146
78147         * m4/regex.m4: Use proper quoting so brackets appear in the test
78148         program.
78149         Reported by, and with help from, Bruno Haible.
78150
78151 2001-05-13  Jim Meyering  <meyering@lucent.com>
78152
78153         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
78154         undefined.
78155
78156 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78157
78158         dirname code cleanup.  base_name now behaves more compatibly
78159         with POSIX basename when given file names that have trailing
78160         slashes, and similarly for dir_name.  Add new primitives
78161         base_len and dir_len.  Put the directory-name-related decls
78162         into dirname.h.
78163
78164         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
78165         * lib/backupfile.c (base_name): Likewise.
78166         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
78167         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
78168         * lib/makepath.c (strip_trailing_slashes): Likewise.
78169         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
78170         ISSLASH): Likewise.
78171         * lib/rename.c (strip_trailing_slashes): Likewise.
78172         * lib/same.c (base_name): Likewise.
78173         * lib/stripslash.c (ISSLASH): Likewise.
78174
78175         * lib/addext.c: Include <dirname.h> after size_t is defined.
78176         * lib/backupfile.c: Likewise.
78177
78178         * lib/addext.c (addext): Use base_len to trim redundant
78179         trailing slashes instead of doing it ourselves.
78180         But do not trim the last slash if it is not redundant.
78181
78182         * lib/backupfile.c (find_backup_file_name,
78183         max_backup_version): Use base_len instead of rolling it ourselves.
78184         Handle the case of "" and (on DOS) "C:" correctly.
78185
78186         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
78187         needed. Include <string.h>, <dirname.h>.
78188         (base_name): Allow file names ending in slashes, other than names
78189         that are all slashes.  In this case, return the basename followed
78190         by the slashes.  This is more general, and can be used in places
78191         where the original base_name purposely had an assertion failure.
78192         (base_len): New function.
78193
78194         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
78195         Do not include <assert.h>; no longer needed.
78196         Include xalloc.h.
78197         (memrchr): Remove decl.
78198         (dir_name_r): Remove.
78199         (dir_len): Renamed from dirlen.  All callers changed.
78200         Rewrite in terms of base_name, for simplicity and consistency.
78201         (dir_name): Never return NULL.  All callers changed.
78202         Do not include <stdlib.h> in test program; no longer needed.
78203         return 0; is fine for test program.
78204
78205         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
78206         New macros.
78207         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
78208
78209         * lib/path-concat.c (path_concat): Use base_len to compute
78210         base length, not strlen; this means we cannot rely on memcpy
78211         to null-terminate.
78212
78213         * lib/same.c (STREQ): Remove.
78214         (same_name): Handle the case where the basename ends in trailing '/'.
78215
78216         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
78217         a slash was stripped.  Do not strip the last slash after a
78218         file system prefix.
78219
78220 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78221
78222         * lib/Makefile.am (libfetish_a_SOURCES):
78223         Add strftime.c, since we now compile it on all hosts.
78224
78225         * lib/strftime.c (my_strftime):
78226         Define to nstrftime if emacs, but only if my_strftime is not defined.
78227         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
78228         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
78229         Add one more extra argument: a nanoseconds value.
78230         All uses changed.
78231         (ns): New macro.
78232         (my_strftime function): Add %N format.
78233         (emacs_strftimeu): Renamed from emacs_strftime,
78234         with extra ut argument.
78235
78236 2001-05-09  Paul Eggert  <eggert@twinsun.com>
78237
78238         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
78239
78240 2001-04-21  Jim Meyering  <meyering@lucent.com>
78241
78242         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
78243         doesn't interfere.
78244
78245 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78246
78247         * m4/ftruncate.m4: Check for chsize.
78248         Link with ftruncate.o unconditionally if ftruncate is missing.
78249         This was required when cross-compiling to i586-mingw32msvc.
78250
78251 2001-04-08  Jim Meyering  <meyering@lucent.com>
78252
78253         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
78254         recomputed; that's necessary when the offset spans a DST transition.
78255         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
78256
78257 2001-04-02  Jim Meyering  <meyering@lucent.com>
78258
78259         * lib/regex.h, regex.c: Update from GNU libc.
78260
78261 2001-03-24  Jim Meyering  <meyering@lucent.com>
78262
78263         * m4/jm-macros.m4: Require autoconf-2.49d.
78264
78265 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
78266
78267         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
78268
78269 2001-03-19  Paul Eggert  <eggert@twinsun.com>
78270
78271         * lib/version-etc.c (version_etc_copyright): Update to 2001.
78272
78273 2001-03-17  Jim Meyering  <meyering@lucent.com>
78274
78275         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
78276         now that the version in autoconf is equivalent.
78277         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
78278
78279         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
78280         Suggestion from Akim Demaille.
78281
78282         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
78283         (jm_PREREQ_TEMPNAME): New function.
78284
78285 2001-03-16  Paul Eggert  <eggert@twinsun.com>
78286
78287         * lib/tempname.c (uint64_t): Define to uintmax_t if
78288         not defined, and if UINT64_MAX is not defined.
78289         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
78290         Reported by John David Anglin.
78291
78292 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
78293
78294         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
78295         resolve alias if codeset is empty.
78296         * lib/config.charset (BeOS): Use wildcard syntax.
78297
78298 2001-03-13  Jim Meyering  <meyering@lucent.com>
78299
78300         * lib/path-concat.c (path_concat)
78301         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
78302         concatenating e.g., `C:' and `foo'.
78303         From Bruno Haible.
78304
78305 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
78306
78307         * lib/localcharset.c (locale_charset): Don't use
78308         setlocale(LC_CTYPE,NULL). Don't return NULL.
78309         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
78310
78311 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
78312
78313         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
78314         support for DOS/DJGPP.
78315
78316 2001-03-01  Paul Eggert  <eggert@twinsun.com>
78317
78318         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
78319         lacks mkstemp.  Compile our own tempname.c if we compile our own
78320         mkstemp.c, as mkstemp relies on tempname.
78321
78322 2001-03-01  Jim Meyering  <meyering@lucent.com>
78323
78324         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
78325         AH_VERBATIM really does output its argument verbatim.
78326
78327 2001-02-28  Paul Eggert  <eggert@twinsun.com>
78328
78329         * lib/Makefile.am (libfetish_a_SOURCES):
78330         Add dup-safer.c, fopen-safer.c.
78331         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
78332
78333         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
78334         * lib/unistd-safer.h: New files.
78335
78336 2001-02-25  Paul Eggert  <eggert@twinsun.com>
78337
78338         The mkstemp replacement is taken from glibc 2.2.2, with some
78339         portability fixes for use outside glibc, as follows:
78340
78341         * lib/tempname.c (struct_stat64): New macro.
78342         (direxists, __gen_tempname): Use it.
78343         This avoids a portability problem with Solaris 8.
78344
78345         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
78346         (<stddef.h>, <stdint.h>, <string.h>):
78347         Include only if STDC_HEADERS || _LIBC.
78348         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
78349         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
78350         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
78351         (__set_errno): Define this macro if <errno.h> doesn't.
78352         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
78353         Define these macros if <stdio.h> doesn't.
78354         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
78355         Define these macros if <sys/stat.h>
78356         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
78357         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
78358         __xstat64): Define if not _LIBC.
78359         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
78360         (__gen_tempname): Invoke gettimeofday only if
78361         HAVE_GETTIMEOFDAY || _LIBC;
78362         otherwise, fall back on plain "time".
78363         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
78364
78365         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
78366
78367         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
78368
78369 2001-02-18  Paul Eggert  <eggert@twinsun.com>
78370
78371         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
78372
78373 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78374
78375         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
78376         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
78377         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
78378         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78379
78380 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78381
78382         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
78383         Remove workaround macros for hosts that have mbrtowc but not
78384         mbstate_t, as we now insist on proper declarations for both
78385         before using mbrtowc.
78386
78387 2001-02-17  Jim Meyering  <meyering@lucent.com>
78388
78389         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
78390         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
78391         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
78392         UnixWare 7.1.1.
78393
78394         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
78395         rather than AC_CACHE_VAL.
78396
78397 2001-02-17  Jim Meyering  <meyering@lucent.com>
78398
78399         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
78400         around included file name.
78401
78402         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
78403
78404         * lib/strftime.c: Update from GNU libc (the only changes were to
78405         comments).
78406
78407 2001-02-17  Jim Meyering  <meyering@lucent.com>
78408
78409         * lib/regex.c: Update from libc.
78410
78411 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
78412
78413         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
78414         clash.
78415
78416 2001-02-16  Paul Eggert  <eggert@twinsun.com>
78417
78418         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
78419         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
78420         Reported by Mark Hounschell via Paul Eggert.
78421
78422 2001-02-07  Jim Meyering  <meyering@lucent.com>
78423
78424         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
78425
78426 2001-02-05  Jim Meyering  <meyering@lucent.com>
78427
78428         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
78429         it includes the patch required for `large file' support with at least
78430         HP-UX's 10.20 /bin/cc.
78431
78432 2001-02-03  Jim Meyering  <meyering@lucent.com>
78433
78434         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
78435         AS_IF, now that it works once again (mysteriously).
78436         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78437
78438 2001-01-30  Jim Meyering  <meyering@lucent.com>
78439
78440         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
78441         * m4/chown.m4: Rename conftestchown to conftest.chown.
78442         * m4/rename.m4: s/conftestdir/conftest.d1/ and
78443         s/conftestdir2/conftest.d2/.
78444         * m4/utimes.m4: s/conftestdata/conftest.data/
78445         Inspired by Pavel Roskin's change in autoconf.
78446
78447 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
78448
78449         * lib/config.charset: Update for FreeBSD 4.2.
78450
78451 2001-01-27  Jim Meyering  <meyering@lucent.com>
78452
78453         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
78454         a use of AS_IF.
78455         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78456
78457 2001-01-26  Jim Meyering  <meyering@lucent.com>
78458
78459         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
78460         quotearg.c includes it.
78461
78462 2001-01-26  Jim Meyering  <meyering@lucent.com>
78463
78464         * lib/quotearg.c: Include stddef.h.
78465         * lib/quote.c: Include stddef.h.
78466         Reported by Axel Kittenberger.
78467
78468         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
78469         line in double quotes so that it evokes a better diagnostic.
78470         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
78471         Reported by Axel Kittenberger.
78472
78473 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
78474
78475         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
78476         as if it was a `charset'.
78477
78478 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78479
78480         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
78481         has const.
78482
78483 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78484
78485         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
78486         to avoid a warning.  Add back 'const' to inptr.
78487
78488 2001-01-20  Jim Meyering  <meyering@lucent.com>
78489
78490         Be sure that headers are checked before used in code compiled
78491         for the type checks.
78492         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
78493         In place of that, invoke jm_CHECK_ALL_TYPES.
78494         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
78495         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
78496         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
78497         The check for ssize_t was mistakenly run before the test for unistd.h.
78498
78499         The configure-time check for stdbool.h was missing.
78500         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
78501         (jm_PREREQ_HASH): New function.
78502
78503 2001-01-17  Jim Meyering  <meyering@lucent.com>
78504
78505         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
78506         for autoconf-2.49c.
78507         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
78508
78509 2001-01-16  Jim Meyering  <meyering@lucent.com>
78510
78511         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
78512         From Bruno Haible.
78513
78514 2001-01-14  Jim Meyering  <meyering@lucent.com>
78515
78516         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
78517         foo and bar.  Create conftestdir/ in the script, not in the C code.
78518         Remove directories in the script, not in the C code.
78519         Remove conftestdir{,2} before trying to create the directory.
78520         Make the entire configure script fail if the mkdir fails.
78521
78522 2001-01-14  Jim Meyering  <meyering@lucent.com>
78523
78524         * lib/rename.c: New file.  From Volker Borchert.
78525         Include stdlib.h, string.h or strings.h, and xalloc.h.
78526         Use strip_trailing_slashes rather than open-coding it.
78527
78528 2001-01-03  Paul Eggert  <eggert@twinsun.com>
78529
78530         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
78531
78532 2001-01-03  Jim Meyering  <meyering@lucent.com>
78533
78534         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
78535         of local `inptr' to avoid warning with some system declarations of
78536         iconv.
78537
78538 2001-01-02  Volker Borchert  <bt@teknon.de>
78539
78540         * m4/rename.m4: New file.
78541         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
78542
78543 2001-01-01  Jim Meyering  <meyering@lucent.com>
78544
78545         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
78546         even on systems with utmpx.h.  It's necessary for the declaration of
78547         utmp's ut_user member.  Reported by Andreas Jaeger.
78548
78549         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
78550         available. They are required for the declarations of getgrgid and
78551         getpwuid resp.
78552         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
78553         Reported by Andreas Jaeger.
78554
78555 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
78556
78557         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
78558         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
78559         so `make install' also works in VPATH builds.
78560
78561 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
78562
78563         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
78564         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
78565         can be used in subdirectories.
78566
78567 2000-12-29  Paul Eggert  <eggert@twinsun.com>
78568
78569         * lib/modechange.c: Do not assume that mode_t uses the
78570         traditional octal encoding.  E.g. "chmod 1 FOO" should set
78571         the other-execute bit of FOO even if S_IXOTH != 1.
78572
78573         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
78574         WOTH, XOTH, ALLM): New macros.
78575         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
78576          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
78577         Use them.
78578         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
78579         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
78580         (mode_compile):
78581         No need to use uintmax_t; unsigned long is long enough.
78582         Don't bother to get suffix since we don't use it.
78583
78584 2000-12-26  Jim Meyering  <meyering@lucent.com>
78585
78586         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
78587         better with autoheader.
78588
78589 2000-12-24  Jim Meyering  <meyering@lucent.com>
78590
78591         * lib/hash.c (is_prime): Return explicit boolean values.
78592         (hash_get_first): Return NULL to appease Irix5.6's 89.
78593         Reported by Nelson Beebe.
78594
78595 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
78596
78597         * lib/localcharset.c (locale_charset): Add support for Win32.
78598
78599 2000-12-18  Paul Eggert  <eggert@twinsun.com>
78600
78601         * lib/physmem.h, lib/physmem.c: New files.
78602
78603         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
78604         (noinst_HEADERS): Add physmem.h.
78605
78606         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
78607         't' for compatibility with Solaris 8 sort.
78608
78609 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
78610
78611         * lib/config.charset: Add support for BeOS.
78612
78613 2000-12-17  Jim Meyering  <meyering@lucent.com>
78614
78615         * m4/dos.m4 (jm_AC_DOS): New file and macro.
78616         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
78617
78618 2000-12-16  Jim Meyering  <meyering@lucent.com>
78619
78620         This bug had a serious impact on chown: `chown N:M FILE' (for integer
78621         N and M) would have treated it like `chown N:N FILE'.
78622
78623         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
78624
78625 2000-12-16  Jim Meyering  <meyering@lucent.com>
78626
78627         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
78628         SHELLS_FILE to a file name that's useful on djgpp systems.
78629         Include stdlib.h.
78630         (ADDITIONAL_DEFAULT_SHELLS): Define.
78631         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
78632         Based mostly on a patch from Prashant TR.
78633
78634 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
78635
78636         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
78637         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
78638         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
78639
78640 2000-12-08  Andreas Schwab  <schwab@suse.de>
78641
78642         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
78643         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
78644
78645 2000-12-07  Jim Meyering  <meyering@lucent.com>
78646
78647         * lib/stripslash.c (ISSLASH): Define.
78648         (strip_trailing_slashes): Use ISSLASH rather than comparing against
78649         `/'.
78650         From Prashant TR.
78651
78652         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
78653         (dir_name_r): Declare this function as static.
78654         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78655         manifest itself on a name containing a mix of slashes and
78656         backslashes.
78657         Make this function work with names starting with a DOS-style
78658         drive letter and colon prefix.
78659         (dir_name): Append `.' if necessary.
78660         Based mostly on patches from Prashant TR and Eli Zaretskii.
78661
78662         * lib/dirname.h (dir_name_r): Remove prototype.
78663
78664 2000-12-06  Paul Eggert  <eggert@twinsun.com>
78665
78666         * m4/off_t-format.m4: Remove this file.
78667         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
78668
78669 2000-12-06  Jim Meyering  <meyering@lucent.com>
78670
78671         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
78672         replacement strtoull, we may well need the replacement strtoul, too.
78673         Check for declarations of strtoul and strtoull.
78674         Check for strtol.  Mainly as a cue to cause automake to include
78675         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
78676         Check for limits.h -- strtol.c needs it.
78677
78678 2000-12-05  Jim Meyering  <meyering@lucent.com>
78679
78680         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
78681
78682 2000-12-04  Jim Meyering  <meyering@lucent.com>
78683
78684         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
78685         Also include memory.h, stdlib.h, unistd.h if appropriate.
78686         Reported by Andreas Jaeger (conflicting declaration of malloc).
78687
78688 2000-12-02  Jim Meyering  <meyering@lucent.com>
78689
78690         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
78691         * m4/jm-macros.m4 (jm_MACROS): require it.
78692
78693 2000-12-02  Jim Meyering  <meyering@lucent.com>
78694
78695         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
78696
78697 2000-12-01  Paul Eggert  <eggert@twinsun.com>
78698
78699         * lib/memrchr.c: Include <config.h> before any system include file.
78700
78701 2000-11-30  Jim Meyering  <meyering@lucent.com>
78702
78703         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
78704
78705 2000-11-30  Jim Meyering  <meyering@lucent.com>
78706
78707         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
78708
78709 2000-11-29  Paul Eggert  <eggert@twinsun.com>
78710
78711         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
78712
78713 2000-11-26  Jim Meyering  <meyering@lucent.com>
78714
78715         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
78716
78717 2000-11-22  Paul Eggert  <eggert@twinsun.com>
78718
78719         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
78720         size of (size_t) -1; it's not portable.
78721
78722 2000-11-17  Jim Meyering  <meyering@lucent.com>
78723
78724         * lib/strstr.c: Update from GNU libc.
78725
78726 2000-11-17  Akim Demaille  <akim@epita.fr>
78727
78728         * lib/obstack.h: Formatting changes.
78729         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
78730         prevent type checking.
78731         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
78732         cast the value to (void *): assigning a `foo *' to a `void *'
78733         variable is valid.
78734         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
78735
78736 2000-11-16  Jim Meyering  <meyering@lucent.com>
78737
78738         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
78739
78740 2000-11-11  Jim Meyering  <meyering@lucent.com>
78741
78742         * lib/error.c: Add a couple #includes, merging from GNU libc version.
78743
78744 2000-11-10  Jim Meyering  <meyering@lucent.com>
78745
78746         * lib/obstack.h: Update from GNU libc.
78747         * lib/obstack.c: Likewise.
78748
78749 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
78750
78751         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
78752
78753 2000-11-06  Paul Eggert  <eggert@twinsun.com>
78754
78755         * lib/getusershell.c (setusershell): Use rewind rather than
78756         fseek/fseeko, to avoid configuration hassles with fseeko.
78757         Don't bother opening SHELLS_FILE if shellstream is NULL;
78758         it's not necessary.
78759
78760 2000-11-05  Jim Meyering  <meyering@lucent.com>
78761
78762         * lib/makepath.h (make_dir): Declare.
78763         * lib/makepath.c (make_dir): Remove `static' attribute.
78764         Tweak a comment.
78765
78766 2000-11-04  Jim Meyering  <meyering@lucent.com>
78767
78768         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
78769
78770 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
78771
78772         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
78773         last one in a bucket, advance to the next bucket.
78774
78775 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78776
78777         * lib/fnmatch.c: Do not comment out all the code if we are using
78778         the GNU C library, because in some cases we are replacing buggy
78779         code in the GNU C library itself.
78780
78781 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
78782
78783         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
78784         (regex_compile): Catch bogus \(\1\).
78785
78786 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78787
78788         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
78789         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
78790         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
78791
78792 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78793
78794         * lib/error.h, getline.h, modechange.h:
78795         Remove "2000" from Copyright line, as the file hasn't been
78796         changed this year other than in the copyright notice.
78797
78798         * lib/xalloc.h: Add "2000" to Copyright line, as this file
78799         was changed this year.
78800
78801 2000-10-29  Jim Meyering  <meyering@lucent.com>
78802
78803         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
78804         renaming.
78805         * m4/ls-mntd-fs.m4: Likewise
78806
78807 2000-10-29  Jim Meyering  <meyering@lucent.com>
78808
78809         * lib/xstat.in: Fix grammar in comment.
78810
78811 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
78812
78813         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
78814         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
78815         doesn't define __restrict_arr.
78816
78817 2000-10-28  Jim Meyering  <meyering@lucent.com>
78818
78819         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
78820         (jm_PREREQ_MEMCHR): New function.
78821
78822 2000-10-28  Jim Meyering  <meyering@lucent.com>
78823
78824         * lib/memchr.c: Update from libc.
78825         Adjust for portability:
78826         [HAVE_STDLIB_H]: Include stdlib.h.
78827         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
78828         Undef __memchr, too.
78829         [!weak_alias]: Define __memchr to memchr.
78830
78831         * lib/regex.c: Update from libc.
78832         * lib/regex.h: Likewise.
78833         * lib/getopt1.c: Likewise.
78834         * lib/memcmp.c: Likewise.
78835
78836         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78837         Avoid using fseek, when possible -- it's broken by design.
78838         Patch by Ulrich Drepper.
78839
78840 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
78841
78842         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
78843         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
78844         Giving in to popular pressure to shut up the compiler with casts.
78845
78846 2000-10-26  Jim Meyering  <meyering@lucent.com>
78847
78848         * lib/strftime.c: Update from libc.
78849
78850 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
78851
78852         * regex.c: More `unsigned char' -> `re_char' changes.
78853         Also change several `int' into `re_wchar_t'.
78854         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
78855         (PUSH_FAILURE_POINTER): Don't cast any more.
78856         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
78857         We want GCC to complain, since this piece of code makes
78858         re_match non-reentrant, which *should* be fixed.
78859         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
78860         (EXTEND_BUFFER): Use RETALLOC.
78861         (SET_LIST_BIT): Don't cast.
78862         (re_wchar_t): New type.
78863         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
78864         that those two functions will always properly return.
78865         (IMMEDIATE_QUIT_CHECK): Cast to void.
78866         (analyse_first): Use recursion rather than an explicit stack.
78867         (re_compile_fastmap): Can't fail anymore.
78868         (re_search_2): Don't check re_compile_fastmap for failure.
78869         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
78870         Now also sets the new value (passed in a new argument).
78871         (re_match_2_internal): Use it.
78872         Also, use a new var `reg' of type size_t when looping through regs
78873         rather than reuse the inappropriate `mcnt'.
78874
78875 2000-10-25  Jim Meyering  <meyering@lucent.com>
78876
78877         * lib/obstack.c: Update from libc.
78878
78879 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
78880
78881         * regex.c (regex_compile): Change the way of handling a range from
78882         a char less than 256 to a char not less than 256.
78883
78884 2000-10-24  Andrew Innes  <andrewi@gnu.org>
78885
78886         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
78887         NT-Emacs only.
78888         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
78889         so that re_search functions only quit when callers expect them to.
78890
78891 2000-10-23  Jim Meyering  <meyering@lucent.com>
78892
78893         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
78894         wrong.  That set_locale call must not have any side effects.
78895         From Paul Eggert.
78896
78897 2000-10-22  Jim Meyering  <meyering@lucent.com>
78898
78899         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
78900         [CYCLIC]: Remove now-unused definition.
78901
78902         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
78903         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
78904         Suggestion from Ulrich Drepper.
78905
78906 2000-10-21  Jim Meyering  <meyering@lucent.com>
78907
78908         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
78909         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
78910         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
78911
78912 2000-10-21  Jim Meyering  <meyering@lucent.com>
78913
78914         * lib/dirname.c (memrchr): Declare if necessary.
78915         (dir_name): Remove the restriction that there be no
78916         trailing slashes.  Now, this code skips past them, effectively
78917         ignoring them.
78918         [TEST_DIRNAME] (main): New unit tests.
78919
78920         * lib/memrchr.c: New file from GNU libc.
78921         Undef __memrchr, too.
78922         [!weak_alias]: Define __memrchr to memrchr.
78923         Guard weak_alias use with `#ifdef weak_alias'.
78924
78925 2000-10-21  Jim Meyering  <meyering@lucent.com>
78926
78927         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
78928         (dir_name): Use dir_name_r.
78929         * lib/dirname.h (dir_name_r): Declare it.
78930
78931 2000-10-17  Jim Meyering  <meyering@lucent.com>
78932
78933         * lib/quote.h (PARAMS): Define and use.
78934         Reported by Akim Demaille.
78935
78936         * lib/getopt.c: Update from libc.
78937
78938 2000-10-16  Jim Meyering  <meyering@lucent.com>
78939
78940         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
78941         setlocale.
78942         From Jan Fedak.
78943
78944 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
78945
78946         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
78947
78948 2000-09-25  Jim Meyering  <meyering@lucent.com>
78949
78950         * lib/md5.h (rol): Define (from GnuPG).
78951
78952         * lib/sha.c: Give credit (GnuPG) where due.
78953         (M): Use rol rather than open-coding it.
78954         Add a FIXME comment.
78955
78956 2000-09-21  Jim Meyering  <meyering@lucent.com>
78957
78958         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
78959         Reported by Michael Stone.
78960
78961 2000-09-20  Jim Meyering  <meyering@lucent.com>
78962
78963         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
78964         (noinst_HEADERS): Add sha.h.
78965         Based on code from Scott G. Miller and from GnuPG.
78966
78967 2000-09-18  Jim Meyering  <meyering@lucent.com>
78968
78969         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
78970         LIBS. Otherwise, everyone ends up linking with -lelf for some
78971         configurations.
78972         Reported by Mike Stone.
78973
78974 2000-09-15  Jim Meyering  <meyering@lucent.com>
78975
78976         * lib/regex.c: Update from libc.
78977
78978 2000-09-10  Jim Meyering  <meyering@lucent.com>
78979
78980         * lib/getopt.c (_getopt_internal): Update from glibc.
78981
78982 2000-09-09  Jim Meyering  <meyering@lucent.com>
78983
78984         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78985         think it should be used as a general replacement for isascii.
78986         * lib/fnmatch.c: Likewise.
78987         * lib/mbswidth.c: Likewise
78988         * lib/regex.c: Likewise.
78989
78990         Don't use atoi.
78991         * lib/userspec.c: Include sys/param.h and limits.h.
78992         Include xstrtol.h.
78993         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78994         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78995         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78996         UID, GID.  Check range.
78997
78998 2000-09-06  Jim Meyering  <meyering@lucent.com>
78999
79000         * lib/getopt.c (_getopt_internal): Update from glibc.
79001
79002 2000-08-30  Jim Meyering  <meyering@lucent.com>
79003
79004         * lib/strftime.c: Merge in changes from GNU libc.
79005
79006 2000-08-26  Jim Meyering  <meyering@lucent.com>
79007
79008         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
79009         * m4/fpending.m4: New file.
79010
79011 2000-08-26  Jim Meyering  <meyering@lucent.com>
79012
79013         * lib/closeout.c: Include "__fpending.h".
79014         (close_stdout_status): Return right away if there's nothing to flush.
79015
79016         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
79017         * lib/__fpending.c: New file.
79018         * lib/__fpending.h: New file.
79019
79020 2000-08-20  Jim Meyering  <meyering@lucent.com>
79021
79022         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
79023         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
79024         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
79025
79026 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
79027
79028         Improve fileutils installation on systems where running
79029         programs (like install) can't be unlinked.
79030         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
79031         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
79032
79033 2000-08-07  Paul Eggert  <eggert@twinsun.com>
79034
79035         Standardize on "memory exhausted" instead of "Memory exhausted"
79036         or "virtual memory exhausted".
79037         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
79038         "virtual memory exhausted".
79039         * lib/same.c (same_name): Invoke xalloc_die instead of printing
79040         our own message.
79041         * lib/userspec.c (parse_user_spec): Likewise.
79042         * lib/bumpalloc.h: comment fix
79043         * lib/same.c, userspec.c: Include xalloc.h.
79044
79045         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
79046         not char *const and pointing to a constant array.
79047         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
79048         (xrealloc): Comment fix.
79049
79050         * lib/userspec.c (parse_user_spec):
79051         Don't translate a message until just before returning,
79052         to avoid unnecessary translation.
79053
79054 2000-08-07  Jim Meyering  <meyering@lucent.com>
79055
79056         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
79057         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
79058         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
79059         getgroups.c, gethostname.c, getopt.h, group-member.c,
79060         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
79061         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
79062         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
79063         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
79064         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
79065         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
79066         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
79067         yesno.c: Back out Copyright date changes for each file with no change
79068         this year.  This eases coordination with other programs using the same
79069         source code modules.  From Paul Eggert.
79070
79071 2000-08-06  Paul Eggert  <eggert@twinsun.com>
79072
79073         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
79074         not char, for compatibility with glibc 2.1.3 strftime.c.
79075
79076 2000-08-03  Greg McGary  <greg@mcgary.org>
79077
79078         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
79079         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
79080         (EXTEND_BUFFER): Use them.
79081
79082 2000-08-01  Jim Meyering  <meyering@lucent.com>
79083
79084         * lib/dirname.c (ISSLASH): Define.
79085         (BACKSLASH_IS_PATH_SEPARATOR): Define.
79086         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
79087         both `\' and `/' may be use as path separators.
79088         Based on a patch from Prashant TR.
79089
79090 2000-07-31  Paul Eggert  <eggert@twinsun.com>
79091
79092         * lib/quotearg.c (quotearg_n_options): Don't make the initial
79093         slot vector a constant, since it might get modified.
79094
79095 2000-07-31  Jim Meyering  <meyering@lucent.com>
79096
79097         * lib/xmalloc.c: Use `virtual memory exhausted', not
79098         `Memory exhausted'.
79099         * lib/obstack.c (print_and_abort): Likewise.
79100
79101 2000-07-30  Paul Eggert  <eggert@twinsun.com>
79102
79103         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
79104         buffer, so that the caller can always quote one small
79105         component of a "memory exhausted" message in slot 0.
79106         From a suggestion by Jim Meyering.
79107
79108 2000-07-30  Jim Meyering  <meyering@lucent.com>
79109
79110         * lib/makepath.c (make_path): Quote the other instance, too.
79111
79112         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
79113         (STATIC_BUF_SIZE): Define.
79114         (quotearg_n_options): Use only statically allocated storage when
79115         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
79116         than STATIC_BUF_SIZE.
79117
79118 2000-07-29  Jim Meyering  <meyering@lucent.com>
79119
79120         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
79121         * lib/dirname.c (dir_name): Likewise.
79122
79123         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
79124         `/'.
79125
79126         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
79127         (dir_name): Assert that there are no trailing slashes.
79128
79129 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
79130
79131         * lib/mbswidth.h (mbswidth): Add a flags argument.
79132         (mbswidth): New declaration.
79133         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
79134         * lib/mbswidth.c (mbswidth): Add a flags argument.
79135         (mbsnwidth): New function.
79136
79137 2000-07-24  Jim Meyering  <meyering@lucent.com>
79138
79139         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
79140
79141 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79142
79143         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
79144
79145 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79146
79147         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
79148         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
79149         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
79150         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
79151         invoke multibyte primitives.
79152
79153 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79154
79155         * lib/quotearg.c:
79156         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
79157         so that mbstate_t is always defined.
79158
79159         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
79160         be 1 in at least one GCC installation, and this configuration
79161         error is likely to be common.  Ignoring MB_LEN_MAX hurts
79162         performance on hosts that have mbrtowc but have only unibyte
79163         locales, but I assume these hosts are rare.
79164
79165 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79166
79167         * lib/mbswidth.c (_XOPEN_SOURCE):
79168         Don't define; this causes problems on Solaris 7.
79169         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
79170
79171 2000-07-23  Jim Meyering  <meyering@lucent.com>
79172
79173         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
79174         too: getgrgid, getpwuid, getuid.
79175
79176 2000-07-23  Jim Meyering  <meyering@lucent.com>
79177
79178         * lib/basename.c (base_name): Add an assertion.
79179
79180 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
79181
79182         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
79183         shadow its mbsinit function.
79184
79185 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79186
79187         * lib/mbswidth.h: New file.
79188         * lib/mbswidth.c: New file.
79189         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
79190         (noinst_HEADERS): Add mbswidth.h.
79191
79192 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79193
79194         * lib/config.charset: Add support for FreeBSD. Improve support for
79195         HP-UX and IRIX 6.
79196
79197 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
79198
79199         * m4/mbswidth.m4: New file.
79200         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
79201
79202 2000-07-15  Jim Meyering  <meyering@lucent.com>
79203
79204         * lib/makepath.c: Include quote.h.
79205         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
79206         corresponding argument in a `quote (...)' call.
79207         Give better diagnostics.
79208
79209         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
79210         (noinst_HEADERS): Add quote.h.
79211
79212         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
79213         from tar's src/misc.c.
79214         * lib/quote.h: New file.  Prototypes for same.
79215
79216 2000-07-14  Paul Eggert  <eggert@twinsun.com>
79217
79218         From a suggestion by Bruno Haible.
79219         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
79220         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
79221         to decide whether to define the BeOS workaround macro;
79222         this adjusts to the change to AC_MBSTATE_T.
79223
79224 2000-07-14  Jim Meyering  <meyering@lucent.com>
79225
79226         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
79227         jm_AC_TYPE_UINTMAX_T.
79228
79229 2000-07-13  Paul Eggert  <eggert@twinsun.com>
79230
79231         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
79232
79233         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
79234         quotearg_buffer_restyled): Add support for
79235         clocale_quoting_style.  Undo previous change to
79236         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
79237         and "{RIGHT QUOTATION MARK}" msgids.
79238
79239 2000-07-10  Paul Eggert  <eggert@twinsun.com>
79240
79241         From a suggestion by Bruno Haible.
79242         * m4/mbstate_t.m4 (AC_MBSTATE_T):
79243         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
79244         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
79245         and mbstate_t, to a single-part test that simply defines mbstate_t.
79246         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
79247         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
79248
79249 2000-07-10  Jim Meyering  <meyering@lucent.com>
79250
79251         * m4/strerror_r.m4: Mirror the correction made in autoconf.
79252
79253         * m4/gnu-source.m4: Output to confdefs.h directly.
79254         Suggestion from Akim Demaille.
79255
79256 2000-07-09  Paul Eggert  <eggert@twinsun.com>
79257
79258         The old behavior of quoting `like this' doesn't look good with
79259         newer, ISO-style fonts.  See:
79260         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
79261
79262         Instead, quote "like this" by default.  Let the translator
79263         tailor the locale-specific quoting behavior by providing
79264         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
79265
79266         * lib/quotearg.c (N_): New macro.
79267         (gettext_default): New function.
79268         (quotearg_buffer_restyled): Use
79269         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
79270         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
79271
79272 2000-07-09  Jim Meyering  <meyering@lucent.com>
79273
79274         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
79275         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
79276
79277         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
79278         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
79279
79280 2000-07-09  Jim Meyering  <meyering@lucent.com>
79281
79282         * lib/Most files: Update copyright dates to include 2000.
79283
79284 2000-07-08  Jim Meyering  <meyering@lucent.com>
79285
79286         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
79287         if not defined.
79288         (xgethostname): Remove now-unnecessary #ifdef.
79289         Move declaration of `err' into loop where it's used.
79290
79291 2000-07-05  Paul Eggert  <eggert@twinsun.com>
79292         and Bruno Haible  <haible@clisp.cons.org>
79293
79294         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
79295         only if the test for an object-type mbstate_t fails.  This
79296         prevents us from mistakenly reporting that mbstate_t is a
79297         system object type after we "#define mbstate_t int" to work
79298         around its lack.
79299
79300 2000-07-05  Paul Eggert  <eggert@twinsun.com>
79301         and Bruno Haible  <haible@clisp.cons.org>
79302
79303         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
79304
79305 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79306
79307         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
79308         to strerror_r.
79309         Include <ctype.h> for use of isalpha.
79310
79311 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79312
79313         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
79314         by allocating a larger buffer. Test the gethostname return value for
79315         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
79316         returns an error and ENAMETOOLONG isn't defined.
79317
79318 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79319
79320         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
79321         dimension.
79322
79323 2000-07-04  Jim Meyering  <meyering@lucent.com>
79324
79325         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
79326         of the deprecated AC_CHECKING.
79327
79328 2000-07-04  Jim Meyering  <meyering@lucent.com>
79329
79330         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
79331         Reported by Bruno Haible.
79332
79333 2000-07-04  Jim Meyering  <meyering@lucent.com>
79334
79335         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
79336         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
79337         lacks mbrtowc.
79338
79339 2000-07-03  Paul Eggert  <eggert@twinsun.com>
79340
79341         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
79342         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
79343
79344 2000-07-03  Paul Eggert  <eggert@twinsun.com>
79345         and Bruno Haible  <haible@clisp.cons.org>
79346
79347         * lib/quotearg.c (mbrtowc):
79348         Assign to *pwc, and return 1 only if result is nonzero.
79349         (iswprint): Use ISPRINT when substituting our own mbrtowc.
79350
79351 2000-07-03  Jim Meyering  <meyering@lucent.com>
79352
79353         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
79354
79355 2000-07-03  Jim Meyering  <meyering@lucent.com>
79356
79357         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
79358         This is necessary to get a definition of e.g., UTMP_FILE on
79359         HP-UX 10.20.
79360         From Bob Proulx.
79361
79362 2000-07-02  Jim Meyering  <meyering@lucent.com>
79363
79364         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
79365
79366         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
79367         AC_LIBOBJ(function_name).
79368         * m4/chown.m4: Likewise.
79369         * m4/fnmatch.m4: Likewise.
79370         * m4/ftruncate.m4: Likewise.
79371         * m4/getgroups.m4: Likewise.
79372         * m4/getline.m4: Likewise.
79373         * m4/group-member.m4: Likewise.
79374         * m4/jm-macros.m4: Likewise.
79375         * m4/lstat.m4: Likewise.
79376         * m4/malloc.m4: Likewise.
79377         * m4/memcmp.m4: Likewise.
79378         * m4/nanosleep.m4: Likewise.
79379         * m4/putenv.m4: Likewise.
79380         * m4/realloc.m4: Likewise.
79381         * m4/regex.m4: Likewise.
79382         * m4/stat.m4: Likewise.
79383         * m4/strftime.m4: Likewise.
79384
79385 2000-07-02  Jim Meyering  <meyering@lucent.com>
79386
79387         * lib/quotearg.c (mbstate_t): Don't define here.
79388
79389 2000-07-02  Jim Meyering  <meyering@lucent.com>
79390
79391         * lib/nanosleep.c (SIGCONT): Define if not already defined.
79392
79393 2000-07-01  Jim Meyering  <meyering@lucent.com>
79394
79395         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
79396
79397 2000-07-01  Jim Meyering  <meyering@lucent.com>
79398
79399         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
79400         problem.
79401
79402 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79403
79404         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
79405         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
79406
79407 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79408
79409         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
79410         per change in ../m4/ls-mntd-fs.m4.
79411         (read_filesystem_list): Ignore symbolic links.
79412
79413 2000-06-29  Jim Meyering  <meyering@lucent.com>
79414
79415         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
79416         for declaration of strcmp.
79417
79418         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
79419
79420         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
79421         Avoid warning by casting result to `char *' to remove `const'.
79422
79423 2000-06-28  Jim Meyering  <meyering@lucent.com>
79424
79425         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
79426         included by quotearg.c, for which we perform this test.  From
79427         Bruno Haible.
79428
79429 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79430
79431         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
79432         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
79433         <utmpx.h> exists, put readutmp.o into LIBOBJS.
79434
79435 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79436
79437         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
79438
79439 2000-06-26  Paul Eggert  <eggert@twinsun.com>
79440
79441         savedir now sets errno on failure and invokes xmalloc to get memory.
79442         Fix a couple of other minor bugs while we're at it.
79443
79444         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
79445         (NAMLEN): Remove macro.
79446         (malloc, realloc): Remove decls.
79447         (stpcpy): Likewise.
79448         ("xalloc.h"): Include.
79449         (NAME_SIZE_DEFAULT): New macro.
79450         (savedir): Use xmalloc / xrealloc to allocate memory.
79451         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
79452         Skip "" directory entries.
79453         Use strlen to calculate directory entry length, since the old method
79454         is rarely used these days and isn't worth supporting.
79455         Don't use a pointer after freeing it.
79456         Check for integer overflow when calculating allocation size.
79457         Use memcpy to copy entries, instead of stpcpy.
79458         Set errno properly when returning NULL.
79459         Check for readdir error.
79460
79461 2000-06-26  Jim Meyering  <meyering@lucent.com>
79462
79463         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
79464
79465 2000-06-25  Jim Meyering  <meyering@lucent.com>
79466
79467         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
79468         Linux header bug when _XOPEN_SOURCE is defined to 500.
79469
79470 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79471
79472         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
79473         deficiency.
79474
79475 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79476
79477         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
79478         Include xalloc.h.
79479         Don't include <stdlib.h>.  Don't declare malloc, realloc.
79480
79481 2000-06-24  Jim Meyering  <meyering@lucent.com>
79482
79483         * m4/strerror_r.m4: Revive this file -- to try out an experimental
79484         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
79485         for which strerror does return char*, but which lacks a conveniently
79486         accessible declaration of the function.  If the compile-test says
79487         strerror_r doesn't work, then resort to a `run'-test that works on
79488         BeOS and segfaults on DEC Unix.
79489
79490 2000-06-24  Jim Meyering  <meyering@lucent.com>
79491
79492         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
79493
79494 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79495
79496         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
79497         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
79498
79499 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79500
79501         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
79502         (mbrtowc, mbstate_t): Define substitutes if
79503         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
79504         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
79505         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
79506
79507 2000-06-23  Jim Meyering  <meyering@lucent.com>
79508
79509         * m4/afs.m4: Add missing AC_MSG_RESULT.
79510         Reported by Bruno Haible.
79511
79512         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
79513         Suggestion from Bruno Haible.
79514
79515 2000-06-23  Jim Meyering  <meyering@lucent.com>
79516
79517         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
79518
79519 2000-06-21  Jim Meyering  <meyering@lucent.com>
79520
79521         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
79522
79523 2000-06-21  Jim Meyering  <meyering@lucent.com>
79524
79525         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
79526         (noinst_HEADERS): Add getstr.h.
79527
79528         * lib/getline.c (getstr): Move into a separate file.
79529         * lib/getstr.c (getstr): New file, extracted from getline.c, with
79530         the following changes: new parameter, delim2; both delim[12]
79531         parameters have type `int', not `char'.  The latter would lose
79532         with 8-bit delimiters.
79533         * lib/getstr.h: New file.
79534
79535 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79536
79537         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
79538         than 1024, return a memory chunk of least possible size, instead
79539         of size PATH_MAX + 2. In the loop, increment the size proportionally.
79540         Use free/xmalloc instead of xrealloc to avoid copying for very long
79541         paths.
79542
79543 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79544
79545         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
79546         the empty string.
79547
79548 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79549
79550         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
79551         address, not strdup.  Include <stdlib.h> and don't declare free().
79552
79553 2000-06-19  Jim Meyering  <meyering@lucent.com>
79554
79555         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
79556
79557 2000-06-18  Jim Meyering  <meyering@lucent.com>
79558
79559         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
79560
79561         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
79562         `checking whether...' message to be consistent with that of the
79563         lstat test.
79564
79565 2000-06-18  Jim Meyering  <meyering@lucent.com>
79566
79567         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
79568         Besides, these days every porting target provides a mkdir function.
79569
79570         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
79571         needed. (this snippet comes from src/system.h).
79572
79573 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
79574
79575         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
79576
79577 2000-06-15  Paul Eggert  <eggert@twinsun.com>
79578
79579         * lib/human.c (adjust_value): New function.
79580         (human_readable_inexact): Apply rounding style even when
79581         printing approximate values.
79582
79583 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79584
79585         * lib/human.c (human_readable_inexact): Allow an input block
79586         size that is not a multiple of the output block size, and vice versa.
79587         Reported by Piergiorgio Sartor.
79588
79589 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79590
79591         * lib/getdate.y (get_date): Apply relative times after time
79592         zone indicator, not before.  Reported by Todd A. Jacobs.
79593
79594 2000-06-13  Jim Meyering  <meyering@lucent.com>
79595
79596         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
79597
79598         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
79599
79600 2000-06-12  Paul Eggert  <eggert@twinsun.com>
79601
79602         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
79603
79604 2000-06-12  Jim Meyering  <meyering@lucent.com>
79605
79606         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
79607         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
79608         optional argument.
79609         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
79610         the optional argument, `lib'.
79611
79612 2000-06-08  Jim Meyering  <meyering@lucent.com>
79613
79614         * m4/largefile.m4: Remove file (now that it's part of autoconf).
79615
79616 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79617
79618         Rewrite largefile configuration so that we don't need to run
79619         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
79620         AC_CANONICAL_HOST in configure.in -- jmm]
79621
79622         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
79623         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
79624         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
79625         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
79626         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
79627         All uses changed.
79628         Instead of inspecting the output of getconf, try to compile the
79629         test program without and with the macro definition.
79630         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
79631         for getconf.  Instead, check for the needed flags by compiling
79632         test programs.
79633
79634 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79635
79636         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
79637
79638 2000-06-04  Jim Meyering  <meyering@lucent.com>
79639
79640         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
79641         SunOS 4.1.4 for which gid_t is an unsigned type.
79642
79643 2000-06-03  Jim Meyering  <meyering@lucent.com>
79644
79645         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
79646         now that autoconf requires that.
79647
79648         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
79649         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
79650         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
79651
79652 2000-06-03  Jim Meyering  <meyering@lucent.com>
79653
79654         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
79655
79656 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79657
79658         * m4/glibc21.m4: New file.
79659         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
79660
79661 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79662
79663         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
79664         newer, don't install charset.alias.
79665         * lib/config.charset: Change the Linux/glibc rules so they become empty
79666         on glibc-2.1 or newer.
79667
79668 2000-06-02  Jim Meyering  <meyering@lucent.com>
79669
79670         * lib/mountlist.c: Back out last change.  Instead, do this...
79671         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
79672         me_dummy member using the same `ignore'-testing code.
79673         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
79674         fs_type strings.
79675         From Mark D. Roth.
79676
79677 2000-05-29  Jim Meyering  <meyering@lucent.com>
79678
79679         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
79680         mounts with the `ignore' attribute.  Based on a patch from
79681         Mark D. Roth.
79682
79683 2000-05-28  Jim Meyering  <meyering@lucent.com>
79684
79685         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
79686         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79687         * m4/stat.m4: Likewise.
79688         * m4/lstat.m4: Likewise.
79689         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
79690
79691         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
79692         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
79693
79694 2000-05-26  Jim Meyering  <meyering@lucent.com>
79695
79696         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
79697
79698 2000-05-24  Jim Meyering  <meyering@lucent.com>
79699
79700         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
79701         autoconf requires that.
79702         * m4/lib-check.m4: Likewise.
79703         * m4/jm-macros.m4: Likewise.
79704         * m4/strftime.m4: Likewise.
79705
79706         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
79707         AC_CHECK_DECLS, now that autoconf requires that.
79708
79709 2000-05-22  Jim Meyering  <meyering@lucent.com>
79710
79711         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79712         * m4/lstat.m4: Likewise.
79713
79714 2000-05-22  Jim Meyering  <meyering@lucent.com>
79715
79716         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
79717
79718 2000-05-20  Jim Meyering  <meyering@lucent.com>
79719
79720         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
79721         (jm_PREREQ): Use it.
79722
79723 2000-05-18  Jim Meyering  <meyering@lucent.com>
79724
79725         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
79726         back, too, since it may have been modified by allocate_entry.
79727         (hash_delete): Rewrite to use neither the assignment operator
79728         nor the comma operator in an if-expression.
79729
79730 2000-05-15  Paul Eggert  <eggert@twinsun.com>
79731
79732         * lib/closeout.c:
79733         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
79734         Remove; no longer needed.
79735         "quotearg.h": Add include.
79736         (file_name): Do not bother to explicitly initialize to NULL; it's less
79737         efficient on some hosts.
79738         (close_stdout_status): Remove test as to whether stdout was already
79739         closed; it breaks for the case "echo x | sort >&-".
79740         Quote file name colons.
79741         Do not assume that _("write error") lacks format strings.
79742
79743 2000-05-15  Jim Meyering  <meyering@lucent.com>
79744
79745         * lib/version-etc.c (version_etc_copyright): Update the copyright
79746         string used in all --version output.
79747
79748 2000-05-14  Jim Meyering  <meyering@lucent.com>
79749
79750         * lib/closeout.c (close_stdout_set_file_name): New function.
79751         (close_stdout_status): Use new file-scoped global.
79752         Return right away if fstat says the stdout file descriptor is invalid.
79753         * lib/closeout.h (close_stdout_set_file_name): Declare.
79754
79755 2000-05-10  Jim Meyering  <meyering@lucent.com>
79756
79757         * lib/closeout.c [default_exit_status]: New file-scoped variable.
79758         (close_stdout_set_status): New function.
79759         * lib/closeout.h (close_stdout_set_status): Declare.
79760
79761 2000-05-09  Jim Meyering  <meyering@lucent.com>
79762
79763         * m4/gettext.m4: Rename this...
79764         * m4/libintl.m4: ...to this.
79765
79766 2000-05-08  Jim Meyering  <meyering@lucent.com>
79767
79768         * lib/long-options.c: Don't include closeout.h.
79769         (parse_long_options): Don't call close_stdout for --version.
79770
79771 2000-05-06  Paul Eggert  <eggert@twinsun.com>
79772
79773         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
79774         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
79775         2.1.3 bug.  This avoids a clash when files like regex.c define
79776         _GNU_SOURCE.
79777
79778 2000-05-06  Jim Meyering  <meyering@lucent.com>
79779
79780         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
79781         (AC_REPLACE_FUNCS): Add strnlen.
79782
79783         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
79784         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
79785
79786         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
79787         AC_SEARCH_LIBS call for nanosleep.
79788         (LIB_NANOSLEEP): Set and AC_SUBST.
79789
79790 2000-05-06  Jim Meyering  <meyering@lucent.com>
79791
79792         * lib/strnlen.c: Undefine __strnlen and strnlen.
79793         [!weak_alias]: Define __strnlen to strnlen.
79794
79795         * lib/atexit.c: New file, from libiberty.
79796
79797 2000-05-06  Jim Meyering  <meyering@lucent.com>
79798
79799         * lib/closeout.c (close_stdout_status): Also check for errors on the
79800         stderr stream.
79801
79802 2000-05-05  Jim Meyering  <meyering@lucent.com>
79803
79804         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
79805         AC_SEARCH_LIBS call for clock_gettime.
79806         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
79807
79808         * m4/search-libs.m4: Update from autoconf.
79809
79810         su doesn't work on Solaris 2.6.
79811         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
79812         <shadow.h>.  Reported by Dragos Harabor.
79813
79814 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
79815
79816         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
79817         memcpy instead of xmalloc, xrealloc, path_concat.
79818         (locale_charset): Treat empty environment variables as absent.
79819         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
79820
79821 2000-05-04  Jim Meyering  <meyering@lucent.com>
79822
79823         * lib/getopt.c: Update from glibc.
79824         * lib/obstack.c: Likewise.
79825         * lib/obstack.h: Likewise.
79826         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
79827         file
79828
79829         * lib/regex.h: Likewise.
79830         * lib/strndup.c: Likewise.
79831         * lib/strnlen.c: New file, from glibc.
79832
79833 2000-05-03  Jim Meyering  <meyering@lucent.com>
79834
79835         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
79836
79837 2000-05-02  Paul Eggert  <eggert@twinsun.com>
79838
79839         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
79840         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
79841         compile-time test, rather than inspecting host and OS, to
79842         decide whether to define _LARGEFILE_SOURCE.
79843
79844 2000-05-01  Jim Meyering  <meyering@lucent.com>
79845
79846         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
79847
79848         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
79849         Based on a patch from Bruno Haible.
79850
79851 2000-05-01  Jim Meyering  <meyering@lucent.com>
79852
79853         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
79854
79855 2000-04-29  Jim Meyering  <meyering@lucent.com>
79856
79857         * lib/path-concat.c: Declare strdup only if it's not defined.
79858         * lib/canon-host.c: Likewise.
79859
79860 2000-04-28  Jim Meyering  <meyering@lucent.com>
79861
79862         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
79863         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
79864         is included first, then limits.h is included by locale.h by libintl.h.
79865         From John David Anglin.
79866
79867 2000-04-25  Jim Meyering  <meyering@lucent.com>
79868
79869         * lib/makepath.c (S_IRWXUGO): Define.
79870         (make_path): Always perform explicit chmod if MODE specifies any
79871         of the `special' permission bits.  Prompted by a bug report against
79872         install from Mate Wierdl and Joost van Baal.
79873
79874 2000-04-18  Jim Meyering  <meyering@lucent.com>
79875
79876         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
79877         (jm_PREREQ): Use it.
79878
79879 2000-04-18  Jim Meyering  <meyering@lucent.com>
79880
79881         * lib/README: New file.
79882
79883         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
79884         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
79885
79886 2000-04-17  Jim Meyering  <meyering@lucent.com>
79887
79888         Get it right :-)
79889         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
79890         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
79891         Suggestion from Akim Demaille.
79892
79893 2000-04-17  Jim Meyering  <meyering@lucent.com>
79894
79895         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
79896         the definition of it to rpl_strftime also defined-away the system's
79897         declaration.
79898
79899 2000-04-15  Jim Meyering  <meyering@lucent.com>
79900
79901         Use `C' to denote so-called `contiguous' files, the same way
79902         that tar does.
79903         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
79904         (ftypelet): Use S_ISCTG.
79905         From Michael Deutschmann.
79906
79907 2000-04-14  Jim Meyering  <meyering@lucent.com>
79908
79909         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
79910         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
79911         clobbered.
79912
79913 2000-04-14  Jim Meyering  <meyering@lucent.com>
79914
79915         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
79916
79917 2000-04-13  Jim Meyering  <meyering@lucent.com>
79918
79919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
79920         AH_VERBATIM to insert required #ifndef into config.h.in.
79921         Suggestion from Akim Demaille.
79922
79923 2000-04-12  Jim Meyering  <meyering@lucent.com>
79924
79925         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
79926         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
79927         Christian Krackowizer.
79928
79929         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
79930         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
79931         (AC_SYS_LARGEFILE): Require.
79932         (AM_C_PROTOTYPES): Require.
79933
79934 2000-04-08  Jim Meyering  <meyering@lucent.com>
79935
79936         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
79937         names don't conflict.  Reported by Eli Zaretskii.
79938
79939 2000-04-07  Jim Meyering  <meyering@lucent.com>
79940
79941         * lib/putenv.c: Move inclusion of errno.h so it follows that of
79942         sys/types.h, to work around system header problems on AIX 3.2.5.
79943         From Bruno Haible.
79944
79945 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
79946
79947         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
79948         bug.  Deal with the different error behavior of Irix iconv.
79949
79950 2000-04-05  Paul Eggert  <eggert@twinsun.com>
79951
79952         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
79953         IRIX if the installer said otherwise.
79954
79955 2000-04-05  Jim Meyering  <meyering@lucent.com>
79956
79957         Portability tweaks required for ultrix4.3.
79958         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
79959         (jm_CHECK_DECLS): Add getutent to the list of functions.
79960         (_jm_DECL_HEADERS): Add utmpx.h.
79961         From John David Anglin.
79962
79963         * m4/strftime.m4: Back out the 2000-04-02 change.
79964         Instead of that change, simply undefine putenv in the test program.
79965
79966 2000-04-05  Jim Meyering  <meyering@lucent.com>
79967
79968         Portability tweaks required for ultrix4.3.
79969         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
79970         getutent.
79971         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79972         * lib/canon-host.c: Declare strdup.
79973         * lib/path-concat.c: Likewise.
79974         From John David Anglin.
79975
79976 2000-04-04  Jim Meyering  <meyering@lucent.com>
79977
79978         Be more DOS 8.3-friendly.
79979         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79980         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79981         * lib/Makefile.am: Reflect renaming.
79982         Reported by Eli Zaretskii.
79983
79984         Use a temporary file name that won't clash with `charset.alias'
79985         in the DOS 8.3 name space.
79986         * lib/Makefile.am (charset_tmp): Define.
79987         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79988         (uninstall-local): Likewise.
79989         Reported by Eli Zaretskii.
79990
79991 2000-04-03  Jim Meyering  <meyering@lucent.com>
79992
79993         * m4/gettext.m4: Fix typo in comment.
79994
79995         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79996         textutils/configure.in).  Suggestion from Paul Eggert.
79997         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79998
79999 2000-04-02  Paul Eggert  <eggert@twinsun.com>
80000
80001         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
80002         variable in the shell rather than using putenv, which isn't
80003         portable.  This avoids the configure-time inter-test dependency
80004         on the potentially-renamed putenv function.
80005
80006 2000-03-30  Paul Eggert  <eggert@twinsun.com>
80007
80008         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
80009         before checking struct stat.st_blksize, so that
80010         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
80011
80012 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80013
80014         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
80015         since strftime.c uses HAVE_STRFTIME to decide whether to use
80016         the underlying strftime.
80017
80018 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80019
80020         * lib/time/strftime.c (my_strftime): Make sure we call the system
80021         strftime, not ourselves, when invoking the underlying strftime.
80022
80023 2000-03-24  Jim Meyering  <meyering@lucent.com>
80024
80025         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
80026         (charset_alias): Define.
80027         (install-exec-local): Factor out common code.
80028         (uninstall-local): Split lines longer than 80.
80029         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
80030         (SUFFIXES): Define.
80031         (.sed.in.sed): New rule.  Don't redirect directly to $@.
80032         (CLEANFILES): Add ref-add.sed and ref-del.sed.
80033
80034 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
80035
80036         * lib/config.charset: Output a line containing "Packages using this
80037         file".
80038         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
80039         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
80040         ref-del.sed): New rules.
80041
80042 2000-03-17  Jim Meyering  <meyering@lucent.com>
80043
80044         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
80045         Otherwise, include <strings.h>
80046
80047 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
80048
80049         * lib/unicodeio.c (utf8_wctomb): New function.
80050         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
80051         format instead of in UCS-4 with platform dependent endianness.
80052
80053 2000-03-10  Jim Meyering  <meyering@lucent.com>
80054
80055         * m4/lib-check.m4: Look for getspnam in -lgen, too.
80056         From Marco Franzen.
80057
80058 2000-03-07  Paul Eggert  <eggert@twinsun.com>
80059
80060         * lib/savedir.c (savedir): Work even if directory size is
80061         negative; this can happen with some screwy NFS configurations.
80062
80063 2000-03-06  Jim Meyering  <meyering@lucent.com>
80064
80065         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
80066         if it's NULL (because we ran out of memory).  From Bruno Haible.
80067
80068 2000-03-05  Jim Meyering  <meyering@lucent.com>
80069
80070         * lib/localcharset.c ("path-concat.h"): Include.
80071         (get_charset_aliases): Use path_concat instead of ANSI string
80072         concatenation.
80073
80074         * lib/unicodeio.h (PARAMS): Define.
80075         Use it to guard prototype.
80076
80077 2000-03-04  Jim Meyering  <meyering@lucent.com>
80078
80079         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
80080         for lib/localcharset.c.
80081
80082 2000-03-04  Jim Meyering  <meyering@lucent.com>
80083
80084         * lib/Makefile.am (install-exec-local): Create $(libdir) before
80085         installing into it.
80086         (uninstall-local): Uncomment this rule so `make distcheck' works
80087         once again.
80088
80089         * lib/unicodeio.c (<errno.h>): Include it.
80090         (errno): Declare if not defined.
80091
80092         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
80093
80094         * lib/config.charset: New version, incorporating remarks from a linux
80095         i18n mailing list.  From Bruno Haible.
80096
80097 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
80098
80099         * m4/codeset.m4: New file.
80100         * m4/iconv.m4: New file.
80101         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
80102
80103 2000-03-03  Jim Meyering  <meyering@lucent.com>
80104
80105         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
80106
80107 2000-03-02  Jim Meyering  <meyering@lucent.com>
80108
80109         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
80110         the messages come out on separate lines.
80111
80112         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
80113         rather than jm_CHECK_DECLARATIONS.
80114         * m4/decl.m4: Remove now-unused file.
80115
80116         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
80117         geteuid.
80118
80119 2000-03-02  Jim Meyering  <meyering@lucent.com>
80120
80121         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
80122
80123 2000-03-01  Jim Meyering  <meyering@lucent.com>
80124
80125         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
80126         * lib/unicodeio.c: Likewise.
80127
80128 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
80129
80130         * lib/config.charset: New file.
80131         * lib/localcharset.c: New file.
80132         * lib/unicodeio.h, lib/unicodeio.c: New files.
80133         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
80134         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
80135         (noinst_HEADERS): Add unicodeio.h.
80136         (all-local, install-exec-local, charset.alias): New targets.
80137
80138 2000-02-28  Paul Eggert  <eggert@twinsun.com>
80139
80140         * lib/quotearg.c (ALERT_CHAR): New macro.
80141         (quotearg_buffer_restyled): Use it.
80142
80143 2000-02-27  Jim Meyering  <meyering@lucent.com>
80144
80145         * m4/check-decl.m4: Add getenv to the list.
80146
80147 2000-02-27  Jim Meyering  <meyering@lucent.com>
80148
80149         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
80150         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
80151
80152         * lib/backupfile.c: Guard inclusion of stdlib.h with
80153         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
80154         Declare malloc if needed.
80155
80156         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
80157         `#ifndef HAVE_DECL..'
80158         now that autoconf always defines the HAVE_DECL_ symbols.
80159         * lib/human.c: Likewise.
80160         * lib/same.c: Likewise.
80161         * lib/strtoumax.c: Likewise.
80162
80163         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
80164         declaration check was not run.
80165         * lib/hash.c: Likewise.
80166         * lib/human.c: Likewise.
80167         * lib/same.c: Likewise.
80168         * lib/strtoumax.c: Likewise.
80169
80170         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
80171         `.', then first look up the entire `.'-containing string as a login
80172         name.
80173
80174 2000-02-23  Jim Meyering  <meyering@lucent.com>
80175
80176         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
80177         in place of my hack.
80178
80179 2000-02-18  Paul Eggert  <eggert@twinsun.com>
80180
80181         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
80182         (textint): New typedef.
80183         (parser_control): Member year changed from int to textint.
80184         All uses changed.
80185         (YYSTYPE): Removed; replaced by %union with int and textint members.
80186         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
80187         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
80188         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
80189         (tSNUMBER, tUNUMBER): Now of type <textintval>.
80190         (date, number, to_year): Use width of number in digits, not its value,
80191         to determine whether it's a 2-digit year, or a 2-digit time.
80192         (yylex): Store number of digits of numeric tokens.
80193         Reported by John Kendall.
80194
80195         (parser_control): Changed from struct parser_control to typedef (for
80196         consistency).  All uses changed.
80197
80198         (tID): Removed; not used.
80199         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
80200
80201 2000-02-14  Paul Eggert  <eggert@twinsun.com>
80202
80203         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
80204         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
80205
80206 2000-02-12  Jim Meyering  <meyering@lucent.com>
80207
80208         * lib/userspec.c (ISDIGIT): Define it.
80209         (isdigit): Remove definition.
80210         (is_number): Use ISDIGIT, not isdigit.
80211         <libintl.h>: Include.
80212         (_ and N_): Define.
80213         (parse_user_spec): Mark translatable strings.
80214
80215 2000-02-10  Jim Meyering  <meyering@lucent.com>
80216
80217         With these changes, nanosleep.[ch] are finally enough like the other
80218         lib/* replacement files to compile on a few more losing systems.
80219
80220         * lib/nanosleep.h: Don't include config.h.
80221         Remove prototype from declaration of nanosleep.
80222         (PARAMS): Remove now-unneeded definition.
80223         * lib/nanosleep.c: #undef nanosleep.
80224         (rpl_nanosleep): Rename from nanosleep.
80225
80226 2000-02-10  Jim Meyering  <meyering@lucent.com>
80227
80228         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
80229         gnu_nanosleep to rpl_nanosleep.
80230
80231 2000-02-09  Jim Meyering  <meyering@lucent.com>
80232
80233         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
80234         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
80235
80236 2000-02-08  Akim Demaille  <akim@epita.fr>
80237
80238         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
80239         `[' and `]' and remove uses of `changequote'.
80240         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
80241         (AC_SYS_LARGEFILE): Likewise.
80242         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
80243         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
80244         of changequote.
80245         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
80246         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
80247         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
80248         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
80249
80250 2000-02-05  Jim Meyering  <meyering@lucent.com>
80251
80252         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
80253         Remove explicit use of AC_HEADER_TIME.  It is required by
80254         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
80255         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
80256         in autoconf whereby the expansion of the latter ended up preceding
80257         the expansion of its prerequisite, AC_HEADER_TIME.
80258         Reported by Volker Borchert.
80259
80260 2000-02-03  Jim Meyering  <meyering@lucent.com>
80261
80262         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
80263
80264 2000-02-03  Jim Meyering  <meyering@lucent.com>
80265
80266         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
80267         rather than with `#if HAVE_UTMPNAME'.
80268
80269 2000-02-02  Jim Meyering  <meyering@lucent.com>
80270
80271         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
80272         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
80273         Reported by Eli Zaretskii.
80274
80275 2000-02-01  Jim Meyering  <meyering@lucent.com>
80276
80277         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
80278
80279 2000-01-31  Jim Meyering  <meyering@lucent.com>
80280
80281         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
80282         functions.  Add the time.h and sys/time.h headers along with the
80283         AC_REQUIRE'ment of AC_HEADER_TIME.
80284
80285 2000-01-31  Jim Meyering  <meyering@lucent.com>
80286
80287         * lib/nanosleep.h (nanosleep): Guard declaration with
80288         `#if ! HAVE_DECL_NANOSLEEP'.
80289         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
80290         the declaration in that vendor's sys/timers.h.
80291         Reported by Christian Krackowizer.
80292
80293         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
80294         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
80295         (ISPRINT): Likewise.
80296         Reported by Tom Tromey.
80297
80298 2000-01-30  Jim Meyering  <meyering@lucent.com>
80299
80300         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
80301
80302         * m4/prereq.m4 (utmp_includes): Define.
80303         Check for ut_user and ut_name members in both struct utmpx
80304         and struct utmp.
80305
80306 2000-01-30  Jim Meyering  <meyering@lucent.com>
80307
80308         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
80309         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
80310         header files where only utmpx.ut_user is declared.
80311
80312         * lib/readutmp.h (UT_USER): Define.
80313
80314 2000-01-29  Jim Meyering  <meyering@lucent.com>
80315
80316         * m4/lib-check.m4: New file containing library-related checks from
80317         fileutils and sh-utils (textutils had none).
80318
80319 2000-01-28  Jim Meyering  <meyering@lucent.com>
80320
80321         * m4/perl.m4: Change format of warning message to look more like that
80322         from the missing script.  Suggestion from François Pinard.
80323
80324 2000-01-25  Jim Meyering  <meyering@lucent.com>
80325
80326         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
80327         well as time.h in the compile check.
80328         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
80329         Fix typo in cross-compiling case: s/yes/no/.
80330
80331 2000-01-23  Jim Meyering  <meyering@lucent.com>
80332
80333         * m4/jm-macros.m4: Move df-related tests here from
80334         fileutils/configure.in
80335
80336         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
80337         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
80338
80339         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
80340         s/space/ac_fsusage_space/.
80341         (jm_FILE_SYSTEM_USAGE): Take two parameters.
80342
80343         * m4/ftruncate.m4: New file (derived from part of
80344         fileutils/configure.in).
80345         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
80346         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
80347
80348         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
80349         AC_SUBST these here, rather than just in sh-util/configure.in, so
80350         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
80351         all the same.
80352         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
80353         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
80354         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
80355         (AC_SUBST(POW_LIBM)): Likewise.
80356         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
80357
80358 2000-01-23  Jim Meyering  <meyering@lucent.com>
80359
80360         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
80361         obstack.c.
80362
80363 2000-01-22  Jim Meyering  <meyering@lucent.com>
80364
80365         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
80366
80367         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
80368
80369         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
80370         configure.in
80371         (AC_CHECK_HEADERS): Likewise for sh-utils.
80372         (AC_CHECK_HEADERS): Likewise for textutils.
80373         Merge the three lists of headers.
80374
80375         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
80376         from fileutils' configure.in.
80377
80378         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
80379         code. Moved tests into their own function (_jm_DECL_HEADERS) in
80380         check-decl.m4.
80381
80382         * m4/check-decl.m4: Use #if rather than #ifdef.
80383         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
80384         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
80385         (_jm_DECL_HEADERS): Define new function.
80386         (jm_CHECK_DECLARATIONS): Require it.
80387
80388 2000-01-22  Jim Meyering  <meyering@lucent.com>
80389
80390         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
80391         [! HAVE_DECL_STRTOULL]: Declare strtoull.
80392         Required for some AIX systems.  Reported by Christian Krackowizer.
80393         [TESTING] (main): New function.
80394
80395         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
80396         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
80397         letters.
80398
80399         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
80400         iswprint.
80401
80402         * lib/strverscmp.c (ISDIGIT): Define.
80403         (strverscmp): Use ISDIGIT, not isdigit.
80404
80405 2000-01-19  Jim Meyering  <meyering@lucent.com>
80406
80407         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
80408         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
80409         defines `struct timespec' in <sys/time.h>
80410
80411         * m4/c-bs-a.m4: Remove uses of changequote altogether.
80412         Thanks to Akim for explaining.
80413
80414 2000-01-17  Paul Eggert  <eggert@twinsun.com>
80415
80416         * lib/nanosleep.c (nanosleep):
80417         Don't use SA_INTERRUPT to decide whether to call sigaction, as
80418         POSIX.1 doesn't require SA_INTERRUPT and some systems
80419         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
80420         it's been part of POSIX.1 since day 1 (in 1988).
80421
80422 2000-01-17  Jim Meyering  <meyering@lucent.com>
80423
80424         * lib/interlock: Remove unused file.  Reported by François Pinard.
80425
80426 2000-01-16  Paul Eggert  <eggert@twinsun.com>
80427
80428         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
80429         alert, backslash, formfeed, and vertical tab unnecessarily in
80430         shell quoting style.
80431
80432 2000-01-16  Jim Meyering  <meyering@lucent.com>
80433
80434         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
80435         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
80436         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
80437         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
80438
80439 2000-01-16  Jim Meyering  <meyering@lucent.com>
80440
80441         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
80442         because the latter didn't work.
80443
80444 2000-01-15  Jim Meyering  <meyering@lucent.com>
80445
80446         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
80447         (AC_REPLACE_FUNCS): Add memcpy and memset.
80448         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
80449         Add strpbrk.
80450         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
80451
80452 2000-01-12  Jim Meyering  <meyering@lucent.com>
80453
80454         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
80455         (jm_PREREQ): Use it.
80456         (jm_PREREQ_READUTMP): New macro.
80457         (jm_PREREQ): Use it.
80458
80459 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80460
80461         Quote multibyte characters correctly.
80462         * m4/c-bs-a.m4: New file.
80463         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
80464         (jm_PREREQ): Use it.
80465
80466 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80467
80468         * m4/uintmax_t.m4: Port to autoconf 2.13.
80469
80470 2000-01-08  Jim Meyering  <meyering@ascend.com>
80471
80472         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
80473         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
80474
80475 2000-01-04  Jim Meyering  <meyering@ascend.com>
80476
80477         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
80478         jm_STRUCT_DIRENT_D_TYPE.
80479         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
80480         jm_STRUCT_DIRENT_D_INO.
80481         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
80482         jm_STRUCT_UTIMBUF.
80483         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
80484         renamings.
80485         * m4/utime.m4: Likewise.
80486
80487         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
80488         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
80489
80490 2000-01-03  Paul Eggert  <eggert@twinsun.com>
80491
80492         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
80493         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
80494
80495 2000-01-02  Jim Meyering  <meyering@ascend.com>
80496
80497         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
80498         remember if this is necessary.
80499
80500 1999-12-26  Jim Meyering  <meyering@ascend.com>
80501
80502         * m4/jm-macros.m4: Use it here.
80503         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
80504
80505 1999-12-23  Jim Meyering  <meyering@ascend.com>
80506
80507         * m4/jm-macros.m4: Check for clock_gettime (moved from
80508         fileutils/configure.in)
80509         Check for gettimeofday.
80510
80511 1999-12-20  Jim Meyering  <meyering@ascend.com>
80512
80513         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
80514         autoconf-2.14a-1999-12-20.
80515
80516 1999-12-19  Jim Meyering  <meyering@ascend.com>
80517
80518         * m4/lstat-slash.m4: New file.
80519         * m4/jm-macros.m4: Use the new macro:
80520         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80521
80522 1999-12-07  Jim Meyering  <meyering@ascend.com>
80523
80524         * m4/perl.m4: Require that File::Compare be available, too.
80525         Too many systems seem to lack it.
80526
80527         * m4/strftime.m4: Add checks for most of the cpp macros tested in
80528         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
80529
80530 1999-11-18  Paul Eggert  <eggert@twinsun.com>
80531
80532         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
80533         problem with the QNX 4.25 shell, which doesn't propagate exit
80534         status of failed commands inside shell assignments.
80535
80536 1999-11-17  Jim Meyering  <meyering@ascend.com>
80537
80538         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
80539
80540 1999-11-07  Jim Meyering  <meyering@ascend.com>
80541
80542         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
80543
80544 1999-11-06  Jim Meyering  <meyering@ascend.com>
80545
80546         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
80547         * m4/jm-macros.m4 (jm_MACROS): Use it here.
80548
80549 1999-11-05  Jim Meyering  <meyering@ascend.com>
80550
80551         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
80552         configure.in of textutils, fileutils, and sh-utils into this one
80553         (shared between those packages) file.
80554         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
80555         AC_STRUCT_ST_BLKSIZE.
80556
80557 1999-11-03  Jim Meyering  <meyering@ascend.com>
80558
80559         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
80560         of AC_CHECK_TYPE checks includes unistd.h.
80561         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
80562         Suggestion from Akim Demaille.
80563
80564 1999-10-30  Jim Meyering  <meyering@ascend.com>
80565
80566         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
80567         m4-quoted string.
80568         * m4/ls-mntd-fs.m4: Likewise.
80569         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
80570         * m4/jm-winsz1.m4: Likewise.
80571
80572         * m4/const.m4: Remove file, since the fix made it into the experimental
80573         version of autoconf.
80574         * m4/mktime.m4: Likewise.
80575
80576         * m4/check-type.m4: Remove file, now that the latest version of
80577         AC_CHECK_TYPE takes a third arg to specify additional #includes.
80578
80579         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
80580         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
80581         AC_CHECK_TYPE.
80582
80583 1999-10-04  Jim Meyering  <meyering@ascend.com>
80584
80585         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
80586
80587 1999-09-22  Paul Eggert  <eggert@twinsun.com>
80588
80589         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
80590         2.95.1 bug with HP-UX 10.20.
80591
80592 1999-09-17  Jim Meyering  <meyering@ascend.com>
80593
80594         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
80595         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
80596         due to missing strdup (against sh-utils-2.0).
80597
80598 1999-08-29  Jim Meyering  <meyering@ascend.com>
80599
80600         * m4/jm-macros.m4: Require jm_BISON.
80601         * m4/bison.m4: New file.
80602
80603 1999-08-17  Paul Eggert  <eggert@twinsun.com>
80604
80605         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
80606         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
80607
80608 1999-08-05  Jim Meyering  <meyering@ascend.com>
80609
80610         * m4/getline.m4: Rename test file from conftestdata to conftest.data
80611         to avoid conflicts with `conftest' on 8+3 filesystems.
80612         Suggestion from Eli Zaretskii.
80613
80614 1999-08-04  Jim Meyering  <meyering@ascend.com>
80615
80616         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
80617         fileutils and sh-utils (textutils's getline test was inadequate).
80618         (AM_FUNC_GETLINE): Run this test.
80619         (AC_CHECK_FUNCS): Check for getdelim.
80620         Reported by Bob Proulx.
80621
80622 1999-08-02  Jim Meyering  <meyering@ascend.com>
80623
80624         * m4/jm-macros.m4: Add a comment.
80625
80626 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80627
80628         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
80629         <inttypes.h> defines strtoumax as a macro (and not as a
80630         function).
80631
80632 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80633
80634         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
80635         that we can shift, multiply and divide unsigned long long
80636         values; Ultrix cc can't do it.
80637
80638 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80639
80640         * m4/mktime.m4: New file, which is a preview of what should appear
80641         in the next public autoconf release.
80642
80643 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80644
80645         * m4/lfs.m4: Remove this file.
80646         * m4/largefile.m4: New file.  It contains the old contents of
80647         lfs.m4, except that all names with prefix AC_LFS have been
80648         changed to use the prefix AC_SYS_LARGEFILE instead, to be
80649         compatible with future autoconf versions.  Also, some minor m4
80650         quoting problems have been fixed.
80651
80652 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80653
80654         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
80655         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
80656         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
80657         and simplify the shell code.
80658
80659 1999-08-01  Jim Meyering  <meyering@ascend.com>
80660
80661         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
80662         m4.
80663
80664 1999-07-20  Jim Meyering  <meyering@ascend.com>
80665
80666         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
80667
80668 1999-07-15  Jim Meyering  <meyering@ascend.com>
80669
80670         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
80671
80672 1999-05-22  Jim Meyering  <meyering@ascend.com>
80673
80674         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
80675
80676 1999-05-20  Jim Meyering  <meyering@ascend.com>
80677
80678         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
80679         Add a colon after each `then' in case $4 is empty.
80680
80681 1999-05-16  Jim Meyering  <meyering@ascend.com>
80682
80683         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
80684
80685 1999-05-10  Jim Meyering  <meyering@ascend.com>
80686
80687         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
80688
80689         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
80690         AC_FUNC_MKTIME.
80691
80692 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
80693
80694         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
80695
80696 1999-05-04  Paul Eggert  <eggert@twinsun.com>
80697
80698         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
80699         not CPPFLAGS, so that linking works correctly in IRIX.
80700
80701 1999-04-30  Paul Eggert  <eggert@twinsun.com>
80702
80703         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
80704
80705 1999-04-20  Paul Eggert  <eggert@twinsun.com>
80706
80707         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
80708         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
80709         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
80710         jm_AC_TYPE_UNSIGNED_LONG_LONG.
80711         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
80712
80713         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
80714
80715 1999-04-20  Jim Meyering  <meyering@ascend.com>
80716
80717         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
80718         AC_REPLACE xstroull if necessary.  From Paul Eggert.
80719         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
80720
80721 1999-04-18  Jim Meyering  <meyering@ascend.com>
80722
80723         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
80724         * m4/jm-macros.m4: Use it.
80725
80726 1999-04-06  Jim Meyering  <meyering@ascend.com>
80727
80728         * m4/strftime.m4: Remove test for %f.
80729
80730 1999-03-29  Jim Meyering  <meyering@ascend.com>
80731
80732         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
80733         superset of the AC_TYPE_* checks in the textutils, fileutils,
80734         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
80735         AC_TYPE_PID_T.
80736
80737 1999-03-28  Jim Meyering  <meyering@ascend.com>
80738
80739         * m4/jm-macros.m4: Define GNU_PACKAGE here.
80740         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
80741         replaced e.g., in the *.sh files of the sh-utils.
80742
80743 1999-03-20  Jim Meyering  <meyering@ascend.com>
80744
80745         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
80746         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
80747         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
80748
80749 1999-03-19  Jim Meyering  <meyering@ascend.com>
80750
80751         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
80752
80753 1999-03-12  Jim Meyering  <meyering@ascend.com>
80754
80755         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
80756
80757 1999-03-07  Jim Meyering  <meyering@ascend.com>
80758
80759         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
80760         declared.
80761
80762 1999-02-17  Jim Meyering  <meyering@ascend.com>
80763
80764         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
80765         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
80766
80767 1999-02-07  Jim Meyering  <meyering@ascend.com>
80768
80769         * m4/group-member.m4: New file -- extracted from sh-utils'
80770         configure.in.
80771
80772         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
80773         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
80774
80775 1999-02-06  Jim Meyering  <meyering@ascend.com>
80776
80777         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
80778         * m4/fnmatch.m4: Likewise.
80779         * m4/getgroups.m4: Likewise.
80780         * m4/lstat.m4: Likewise.
80781         * m4/malloc.m4: Likewise.
80782         * m4/putenv.m4: Likewise.
80783         * m4/realloc.m4: Likewise.
80784         * m4/regex.m4: Likewise.
80785         * m4/stat.m4: Likewise.
80786         * m4/strftime.m4: Likewise.
80787         Suggestion from Alain Magloire.
80788
80789         * m4/chown.m4: Use `.$ac_objext', not `.o'.
80790         * m4/fnmatch.m4: Likewise.
80791         * m4/getgroups.m4: Likewise.
80792         * m4/getline.m4: Likewise.
80793         * m4/lstat.m4: Likewise.
80794         * m4/malloc.m4: Likewise.
80795         * m4/memcmp.m4: Likewise.
80796         * m4/putenv.m4: Likewise.
80797         * m4/realloc.m4: Likewise.
80798         * m4/regex.m4: Likewise.
80799         * m4/stat.m4: Likewise.
80800         * m4/strftime.m4: Likewise.
80801         Suggestion from Alain Magloire.
80802
80803         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
80804         an argument.
80805
80806         * m4/regex.m4: Add a run-time Test for proper operation of
80807         re_compile_pattern.
80808
80809 1999-01-31  Jim Meyering  <meyering@ascend.com>
80810
80811         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
80812
80813 1999-01-30  Jim Meyering  <meyering@ascend.com>
80814
80815         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
80816
80817         * m4/jm-mktime.m4: Make this a wrapper around the official
80818         AM_FUNC_MKTIME rather than my private copy, now that the official one
80819         is up to date.
80820         * m4/mktime.m4: Remove file.
80821
80822         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
80823         * m4/uptime.m4: Likewise.
80824         * m4/uintmax_t.m4: Likewise.
80825
80826 1999-01-28  Jim Meyering  <meyering@ascend.com>
80827
80828         * m4/jm-macros.m4: Use jm_AFS.
80829         * m4/afs.m4: New file (from fileutils' configure.in).
80830
80831         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
80832         * m4/chown.m4: Likewise.
80833         * m4/d-ino.m4: Likewise.
80834         * m4/d-type.m4: Likewise.
80835         * m4/fnmatch.m4: Likewise.
80836         * m4/getgroups.m4: Likewise.
80837         * m4/gettext.m4: Likewise.
80838         * m4/jm-mktime.m4: Likewise.
80839         * m4/jm-winsz2.m4: Likewise.
80840         * m4/lcmessage.m4: Likewise.
80841         * m4/ls-mntd-fs.m4: Likewise.
80842         * m4/malloc.m4: Likewise.
80843         * m4/memcmp.m4: Likewise.
80844         * m4/putenv.m4: Likewise.
80845         * m4/realloc.m4: Likewise.
80846         * m4/st_mtim.m4: Likewise.
80847         * m4/strftime.m4: Likewise.
80848
80849 1999-01-16  Jim Meyering  <meyering@ascend.com>
80850
80851         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
80852         (ARGMATCH_DIE_DECL): Define.
80853
80854 1999-01-12  Jim Meyering  <meyering@ascend.com>
80855
80856         * m4/Makefile.am.in: Rewrite to avoid using fmt.
80857         Reported by Lars Hecking.
80858
80859 1999-01-10  Jim Meyering  <meyering@ascend.com>
80860
80861         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
80862         gross kludge.
80863         * m4/inttypes_h.m4: Likewise.
80864         * m4/lstat.m4: Likewise.
80865         * m4/malloc.m4: Likewise.
80866         * m4/readdir.m4: Likewise.
80867         * m4/realloc.m4: Likewise.
80868         * m4/st_dm_mode.m4: Likewise.
80869         * m4/stat.m4: Likewise.
80870         * m4/utimbuf.m4: Likewise.
80871         * m4/utimes.m4: Likewise.
80872
80873         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
80874         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
80875         comments in config.h.in are meaningful.
80876
80877         * m4/jm-macros.m4: Require autoconf-2.13 here.
80878
80879         * m4/regex.m4: By default, don't use the included regex.c on systems
80880         with glibc 2.  Suggestion from Uli Drepper.
80881
80882 1999-01-02  Jim Meyering  <meyering@ascend.com>
80883
80884         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
80885
80886 1998-12-18  Jim Meyering  <meyering@ascend.com>
80887
80888         * m4/Makefile.am.in (Makefile.am): Simplify rule.
80889         Based on a suggestion from Lars Hecking.
80890
80891 1998-11-16  Paul Eggert  <eggert@twinsun.com>
80892
80893         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
80894
80895 1998-11-16  Jim Meyering  <meyering@ascend.com>
80896
80897         * m4/lfs.m4: Double-quote the `uname...` expression.
80898
80899 1998-11-14  Jim Meyering  <meyering@ascend.com>
80900
80901         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
80902         * m4/stat.m4: Likewise.
80903
80904 1998-11-03  Jim Meyering  <meyering@ascend.com>
80905
80906         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
80907         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
80908
80909 1998-10-18  Jim Meyering  <meyering@ascend.com>
80910
80911         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
80912
80913 1998-10-17  Jim Meyering  <meyering@ascend.com>
80914
80915         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
80916         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
80917         calls for those previously hard-coded headers.  Instead, take a new
80918         parameter.
80919         (jm_CHECK_DECLARATIONS): Reflect interface change.
80920         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
80921         (jm_CHECK_DECL_LOCALTIME_R): New macro.
80922
80923         * m4/mktime.m4: Test for spring-forward gap before long-running test.
80924
80925 1998-10-14  Jim Meyering  <meyering@ascend.com>
80926
80927         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
80928         instead of "TZ=America/Vancouver".  From Paul Eggert.
80929
80930 1998-10-11  Jim Meyering  <meyering@ascend.com>
80931
80932         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
80933         This adds a test for a recently added compatibility fix for mktime.c.
80934         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
80935
80936 1998-09-27  Jim Meyering  <meyering@ascend.com>
80937
80938         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
80939
80940         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
80941         ../configure.in, including a change from Gordon Matzigkeit to allow
80942         cross-compiling for the Hurd.
80943
80944         * m4/glibc.m4: New file/macro to test for the GNU C Library
80945         versions 1 and 2.  From Gordon Matzigkeit.
80946         Indent.
80947
80948 1998-09-21  Jim Meyering  <meyering@ascend.com>
80949
80950         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
80951
80952 1998-08-18  Paul Eggert  <eggert@twinsun.com>
80953
80954         Port nanosecond-resolution times to UnixWare 2.1.2 and
80955         pedantic Solaris 2.6.
80956
80957         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
80958         AC_STRUCT_ST_MTIM.
80959         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
80960         Generate name of ns member, instead of just 1 or undef.
80961         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
80962
80963 1998-08-15  Jim Meyering  <meyering@ascend.com>
80964
80965         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
80966         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
80967         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
80968         instead of jm_TYPE_SSIZE_T.
80969
80970 1998-08-12  Jim Meyering  <meyering@ascend.com>
80971
80972         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80973
80974 1998-08-02  Jim Meyering  <meyering@ascend.com>
80975
80976         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80977         in acconfig.h manually.
80978
80979 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80980
80981         * m4/st_mtim.m4: New file.
80982
80983 1998-07-28  Jim Meyering  <meyering@ascend.com>
80984
80985         * m4/utimes.m4: Undef stat.
80986
80987 1998-07-25  Jim Meyering  <meyering@ascend.com>
80988
80989         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80990         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80991
80992 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80993
80994         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80995         uid and gid actually remain unchanged.
80996
80997 1998-07-07  Jim Meyering  <meyering@ascend.com>
80998
80999         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
81000
81001 1998-07-04  Jim Meyering  <meyering@ascend.com>
81002
81003         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
81004         to prove that this macro can be used in packages without regex.c.
81005
81006 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
81007
81008         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
81009         is to be used.
81010
81011 1998-07-03  Jim Meyering  <meyering@ascend.com>
81012
81013         * m4/gettext.m4: Add -lintl if it's found to be necessary.
81014
81015         * m4/gettext.m4: New file -- from gettext-0.10.35.
81016         * m4/lcmessage.m4: Likewise.
81017         * m4/progtest.m4: Likewise.
81018
81019         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
81020         * m4/jm-macros.m4: Require the new macro.
81021
81022 1998-06-29  Jim Meyering  <meyering@ascend.com>
81023
81024         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
81025         for the definition of NGROUPS (used in a system header included
81026         by sys/mount.h).
81027
81028 1998-06-28  Jim Meyering  <meyering@ascend.com>
81029
81030         * m4/ls-mntd-fs.m4: New file.
81031         * m4/fstypename.m4: New file.
81032
81033         * m4/jm-macros.m4: Require the new macro.
81034         * m4/jm-glibc-io.m4: New file.
81035
81036 1998-05-19  Jim Meyering  <meyering@ascend.com>
81037
81038         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
81039         * m4/lchown.m4: New file.
81040
81041         * m4/Makefile.am.in: New file.
81042         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
81043
81044 1998-05-14  Jim Meyering  <meyering@ascend.com>
81045
81046         * m4/Makefile.am (EXTRA_DIST): Add them.
81047         * m4/jm-macros.m4: New file.
81048         * m4/utimbuf.m4: New file.
81049
81050 1998-05-12  Jim Meyering  <meyering@ascend.com>
81051
81052         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
81053
81054 1998-05-11  Jim Meyering  <meyering@ascend.com>
81055
81056         * m4/isc-posix.m4: New file.
81057
81058 1998-05-10  Jim Meyering  <meyering@ascend.com>
81059
81060         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
81061
81062 1998-05-09  Jim Meyering  <meyering@ascend.com>
81063
81064         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
81065         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
81066         with automake.
81067
81068         * m4/ssize_t.m4: New file.
81069         * m4/mktime.m4: Remove file -- the new automake has this now.
81070
81071 1998-04-26  Jim Meyering  <meyering@ascend.com>
81072
81073         * m4/assert.m4: New file.
81074         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
81075
81076 1998-04-05  Jim Meyering  <meyering@ascend.com>
81077
81078         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
81079         (jm_PREREQ): Use it here.
81080
81081 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
81082
81083         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
81084         in acconfig.h.
81085
81086 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
81087
81088         * m4/prereq.m4: New file.
81089         * m4/error.m4: New file.
81090         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
81091
81092 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
81093
81094         * m4/getline.m4: Don't set am_cv_func_working_getline before the
81095         cache-check for the same variable -- that defeated the purpose of
81096         the test; the test program was never run.  This was a problem only
81097         on systems with losing getline functions -- HP-UX 10.20 is one.
81098         Reported by Bjorn Helgaas.
81099
81100 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
81101
81102         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
81103
81104 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
81105
81106         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
81107
81108         * m4/const.m4: New file.  Use an initializer in this declaration
81109         typedef int charset[2]; const charset x;
81110         Reported by Bob Glickstein.
81111
81112 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
81113
81114         * m4/chown.m4: Fix reversed types on -1 args to chown.
81115         From Kaveh Ghazi.
81116
81117 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
81118
81119         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
81120         Add lseek and memchr.
81121
81122         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
81123         T.E.Dickey <dickey@clark.net> said that some older preprocessors
81124         have a 20-character limit on names.
81125
81126 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
81127
81128         * m4/inttypes_h.m4: New file.
81129         * m4/uintmax_t.m4: New file.
81130         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
81131
81132
81133         -----
81134
81135         Local Variables:
81136         coding: utf-8
81137         End:
81138
81139         Copyright (C) 1997-2011 Free Software Foundation, Inc.
81140
81141         Copying and distribution of this file, with or without
81142         modification, are permitted provided the copyright notice
81143         and this notice are preserved.